# ls

Published articles for ls.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## GNU Coreutils 9.12 Released With Performance Optimizations, New uname Option

DevFeed: [GNU Coreutils 9.12 Released With Performance Optimizations, New uname Option](<https://devfeed.tech/articles/gnu-coreutils-9-12-released-with-performance-optimizations-new-uname-option-17444.md>)

Original publisher: [Read original article](<https://www.phoronix.com/news/GNU-Coreutils-9.12>)

Author: Michael Larabel

Published: 2026-09-14T17:45:05Z

Content type: news

Language: en

Sources: [Phoronix](<https://devfeed.tech/sources/phoronix.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [bug](<https://devfeed.tech/topics/bug.md>), [chmod](<https://devfeed.tech/topics/chmod.md>), [ls](<https://devfeed.tech/topics/ls.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [chmod](<https://devfeed.tech/tags/chmod.md>), [core](<https://devfeed.tech/tags/core.md>), [desktop-linux](<https://devfeed.tech/tags/desktop-linux.md>), [linux-benchmarking](<https://devfeed.tech/tags/linux-benchmarking.md>), [linux-hardware-benchmarks](<https://devfeed.tech/tags/linux-hardware-benchmarks.md>), [linux-hardware-reviews](<https://devfeed.tech/tags/linux-hardware-reviews.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [linux-performance](<https://devfeed.tech/tags/linux-performance.md>), [linux-server-benchmarks](<https://devfeed.tech/tags/linux-server-benchmarks.md>), [ls](<https://devfeed.tech/tags/ls.md>), [open-source-graphics](<https://devfeed.tech/tags/open-source-graphics.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [phoronix](<https://devfeed.tech/tags/phoronix.md>), [phoronix-test-suite](<https://devfeed.tech/tags/phoronix-test-suite.md>), [release](<https://devfeed.tech/tags/release.md>), [systems](<https://devfeed.tech/tags/systems.md>), [ubuntu-benchmarks](<https://devfeed.tech/tags/ubuntu-benchmarks.md>), [ubuntu-hardware](<https://devfeed.tech/tags/ubuntu-hardware.md>)

### AI overview

GNU Coreutils 9.12 fixes recursive traversal failures when files are removed concurrently, adds FailFS and NULLFS support to stat and tail, and introduces new uname labeling options. It also improves performance in cut, uniq, and sort, adds a copy fallback for cp, install, and mv, and includes additional bug fixes and warnings.

### Source excerpt

GNU Coreutils 9.12 released today with a mix of fixes, some new options, and various performance improvements to these widely-used set of core system utilities...

## Manage Vercel Flags targeting rules from the CLI

DevFeed: [Manage Vercel Flags targeting rules from the CLI](<https://devfeed.tech/articles/manage-vercel-flags-targeting-rules-from-the-cli-1007.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/manage-vercel-flags-targeting-rules-from-the-cli>)

Author: Chris Widmaier

Published: 2026-07-13T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [JSON](<https://devfeed.tech/topics/json.md>), [ls](<https://devfeed.tech/topics/ls.md>), [Script](<https://devfeed.tech/topics/script.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [checkout](<https://devfeed.tech/tags/checkout.md>), [cli](<https://devfeed.tech/tags/cli.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [json](<https://devfeed.tech/tags/json.md>), [ls](<https://devfeed.tech/tags/ls.md>), [production](<https://devfeed.tech/tags/production.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [update](<https://devfeed.tech/tags/update.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel CLI now supports managing Vercel Flags targeting rules from the terminal. Users and agents can add, reorder, and inspect rules, including entity or segment conditions and single-variant, weighted, or progressive rollout outcomes. The CLI also supports JSON output and handles configuration inheritance when rules are changed in an inheriting environment.

### Source excerpt

You can now manage targeting rules for Vercel Flags through the Vercel CLI. With the vercel flags rules command, you and your agents can add new rules, move existing ones, and inspect the current ordering without leaving your terminal. Rules you create from the CLI use the same model as the dashboard. Conditions can target entities or reusable segments, outcomes can serve a single variant, a weighted split, or a progressive rollout, and rules evaluate top to bottom. For scripts and agents, vercel flags rules ls --json prints the full rule set. An environment can inherit its flag configuration from another environment. When you add or update a rule in an inheriting environment, the CLI switches that environment to its own configuration, so your rule applies there without changing the environment it inherited from. Update to the latest Vercel CLI version and run vercel flags rules to get started. Learn more in the Vercel Flags CLI documentation. Read more

## Build a Repository Harness for Claude Code Coding Agents

DevFeed: [Build a Repository Harness for Claude Code Coding Agents](<https://devfeed.tech/articles/stop-tuning-prompts-build-a-harness-19029.md>)

Original publisher: [Read original article](<https://www.pulumi.com/blog/stop-tuning-prompts-build-a-harness/>)

Author: Engin Diri

Published: 2026-05-26T00:00:00Z

Content type: opinion

Language: en

Sources: [Pulumi](<https://devfeed.tech/sources/pulumi.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Code](<https://devfeed.tech/topics/code.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [MCP](<https://devfeed.tech/topics/mcp.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [devops](<https://devfeed.tech/tags/devops.md>), [extension](<https://devfeed.tech/tags/extension.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [ls](<https://devfeed.tech/tags/ls.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [perspectives](<https://devfeed.tech/tags/perspectives.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [skills](<https://devfeed.tech/tags/skills.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

The article argues that, in real codebases, the context and tooling surrounding Claude Code can matter more to performance than the underlying model version. It presents a repository-level AI harness built from seven components, including CLAUDE.md, hooks, skills, plugins, LSP, MCP, and subagents, and discusses agentic navigation without a separately maintained codebase index.

### Source excerpt

Anthropic shipped a piece earlier this month called How Claude Code Works in Large Codebases. I have not read anything more useful about coding agents this year. The core claim, in their words: "the ecosystem built around the model--the harness--determines how Claude Code performs more than the model alone." In my phrasing: in a real codebase, the model is the smaller variable. The layer of context and tooling you wire around the agent matters more than which version of Sonnet or Opus is behind it. The post stays high-level, which is the right move for a launch piece. What I want to do here is land it. Same seven pieces, but with the wiring you would actually put in a repo, in the order I would put it. How Claude Code navigates without an index Anthropic's writeup says Claude Code works from the live codebase and does not require a codebase index to be built, maintained, or uploaded. The agent navigates the way an engineer would, with grep, find, ls, file reads, and reference-following. Anthropic calls this agentic search, and the upside is obvious: no separate index exists for you to keep fresh. The downside is also obvious. An engineer who has never seen your repo and only has shell tools will flounder if you drop them in the root with no map. That is your agent on day one. Everything that follows is about giving it the map. The AI layer in seven pieces Every codebase used to have two artifacts engineers cared about: the code and the tests. A third exists now. Call it the AI layer, or the harness, or whatever you want. This layer is the set of context and tools you give your coding agent to operate in this specific repo. Anthropic breaks it into seven pieces, and each one solves a different scaling problem. Anthropic gives each piece a role: CLAUDE.md is the foundation, hooks do self-improvement, skills are progressive disclosure, plugins handle distribution, LSP gives navigation, MCP is extension, subagents split exploration from editing. They are not equal in usag

## Vercel CLI commands now scoped to local directory

DevFeed: [Vercel CLI commands now scoped to local directory](<https://devfeed.tech/articles/vercel-cli-commands-now-scoped-to-local-directory-1131.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/vercel-cli-commands-now-scope-to-the-local-directory>)

Author: Melkey Moksyakov

Published: 2026-04-06T07:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [local](<https://devfeed.tech/tags/local.md>), [ls](<https://devfeed.tech/tags/ls.md>), [projects](<https://devfeed.tech/tags/projects.md>), [scope](<https://devfeed.tech/tags/scope.md>), [update](<https://devfeed.tech/tags/update.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel CLI commands such as vc project ls and vc domains ls now use the scope of the linked local directory by default instead of the global team. Users can still override the target team with the --scope flag, and the update requires Vercel CLI v50.40.0 or later.

### Source excerpt

Commands like vc project ls and vc domains ls now automatically use the scope of your linked local directory instead of defaulting to your global team. Previously, querying projects or domains inside a linked repository would return global results, creating an unexpected disconnect between your immediate working environment and the CLI output. This update aligns read-only commands with your local context, though you can still manually override the target team by passing the --scope flag. Run pnpm i -g vercel@latest to update to the latest Vercel CLI (at least v50.40.0). Read more

## What Is SELinux?

DevFeed: [What Is SELinux?](<https://devfeed.tech/articles/what-is-selinux-4516.md>)

Original publisher: [Read original article](<https://feeds.feedblitz.com/~/919939004/0/baeldung/linux~What-Is-SELinux>)

Author: Zachary Bouhannana

Published: 2025-06-09T04:53:08Z

Content type: tutorial

Language: en

Sources: [Baeldung - Linux](<https://devfeed.tech/sources/baeldung-linux.md>)

Topics: [SELinux](<https://devfeed.tech/topics/selinux.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Security](<https://devfeed.tech/topics/security.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [administration](<https://devfeed.tech/tags/administration.md>), [administration-security-chmod-ls-selinux](<https://devfeed.tech/tags/administration-security-chmod-ls-selinux.md>), [chmod](<https://devfeed.tech/tags/chmod.md>), [linux](<https://devfeed.tech/tags/linux.md>), [ls](<https://devfeed.tech/tags/ls.md>), [processes](<https://devfeed.tech/tags/processes.md>), [security](<https://devfeed.tech/tags/security.md>), [selinux](<https://devfeed.tech/tags/selinux.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial explains SELinux, a security module built into the Linux kernel that adds mandatory access control beyond traditional Unix-style permissions. It describes how SELinux policies govern interactions between processes, users, and system resources, including limiting actions by root, and contrasts this model with discretionary access control.

### Source excerpt

Learn what SELinux is, how it works, and the way it can provide better security when paired with the common discretionary access control. The post What Is SELinux? first appeared on Baeldung on Linux. Related Stories Sending a Password via SSH or SCP Using subprocess.Popen in Linux Resolving the Reverse Tunnel Remote port forwarding failed for listen port SSH Error How to Fix USB Sticks Mounted as Read-Only

## What's involved in getting a "modern" terminal setup?

DevFeed: [What's involved in getting a "modern" terminal setup?](<https://devfeed.tech/articles/what-s-involved-in-getting-a-modern-terminal-setup-21116.md>)

Original publisher: [Read original article](<https://jvns.ca/blog/2025/01/11/getting-a-modern-terminal-setup/>)

Author: Julia Evans

Published: 2025-01-11T09:46:01Z

Content type: opinion

Language: en

Sources: [Julia Evans](<https://devfeed.tech/sources/julia-evans.md>)

Topics: [Terminal](<https://devfeed.tech/topics/terminal.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Neovim](<https://devfeed.tech/topics/neovim.md>), [Vim](<https://devfeed.tech/topics/vim.md>), [Git](<https://devfeed.tech/topics/git.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>)

Tags: [autocomplete](<https://devfeed.tech/tags/autocomplete.md>), [commands](<https://devfeed.tech/tags/commands.md>), [config](<https://devfeed.tech/tags/config.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [git](<https://devfeed.tech/tags/git.md>), [history](<https://devfeed.tech/tags/history.md>), [ls](<https://devfeed.tech/tags/ls.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [vim](<https://devfeed.tech/tags/vim.md>)

### AI overview

The article discusses what a modern terminal setup means to the author, including safe multiline paste, persistent shell history, useful prompts, 24-bit color, clipboard integration, command-specific autocomplete, shell colors, synchronized themes, automatic terminal recovery, keybindings, and scroll-wheel support. It emphasizes that achieving these conveniences requires coordinating the shell, terminal emulator, text editor, operating system, and applications.

### Source excerpt

Hello! Recently I ran a terminal survey and I asked people what frustrated them. One person commented: There are so many pieces to having a modern terminal experience. I wish it all came out of the box. My immediate reaction was "oh, getting a modern terminal experience isn't that hard, you just need to....", but the more I thought about it, the longer the "you just need to..." list got, and I kept thinking about more and more caveats. So I thought I would write down some notes about what it means to me personally to have a "modern" terminal experience and what I think can make it hard for people to get there. what is a "modern terminal experience"? Here are a few things that are important to me, with which part of the system is responsible for them: multiline support for copy and paste: if you paste 3 commands in your shell, it should not immediately run them all! That's scary! (shell, terminal emulator) infinite shell history: if I run a command in my shell, it should be saved forever, not deleted after 500 history entries or whatever. Also I want commands to be saved to the history immediately when I run them, not only when I exit the shell session (shell) a useful prompt: I can't live without having my current directory and current git branch in my prompt (shell) 24-bit colour: this is important to me because I find it MUCH easier to theme neovim with 24-bit colour support than in a terminal with only 256 colours (terminal emulator) clipboard integration between vim and my operating system so that when I copy in Firefox, I can just press p in vim to paste (text editor, maybe the OS/terminal emulator too) good autocomplete: for example commands like git should have command-specific autocomplete (shell) having colours in ls (shell config) a terminal theme I like: I spend a lot of time in my terminal, I want it to look nice and I want its theme to match my terminal editor's theme. (terminal emulator, text editor) automatic terminal fixing: If a programs prints out some

## Integrating the Snyk Language Server with IntelliJ IDEs

DevFeed: [Integrating the Snyk Language Server with IntelliJ IDEs](<https://devfeed.tech/articles/integrating-the-snyk-language-server-with-intellij-ides-7980.md>)

Original publisher: [Read original article](<https://snyk.io/blog/integrating-snyk-language-server-with-intellij-ide/>)

Author: Arvyd Paeglit

Published: 2024-06-17T05:00:00Z

Content type: article

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Security](<https://devfeed.tech/topics/security.md>), [snyk-learn](<https://devfeed.tech/topics/snyk-learn.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [application-security](<https://devfeed.tech/tags/application-security.md>), [awareness](<https://devfeed.tech/tags/awareness.md>), [blog](<https://devfeed.tech/tags/blog.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [developer](<https://devfeed.tech/tags/developer.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [enterprise](<https://devfeed.tech/tags/enterprise.md>), [ide](<https://devfeed.tech/tags/ide.md>), [integration](<https://devfeed.tech/tags/integration.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [large-language-model](<https://devfeed.tech/tags/large-language-model.md>), [ls](<https://devfeed.tech/tags/ls.md>), [security](<https://devfeed.tech/tags/security.md>), [snyk](<https://devfeed.tech/tags/snyk.md>), [snyk-learn](<https://devfeed.tech/tags/snyk-learn.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

Snyk announces that its Language Server can be integrated with IntelliJ IDEs. The integration reduces code duplication, supports automatic scanning after startup and file saves, connects vulnerability findings to Snyk Learn lessons, and offers early-access automatic vulnerability fixes for eligible Enterprise plans.

### Source excerpt

We're excited to announce that the Snyk Language Server (LS for short) can now be integrated with your existing IntelliJ IDEs.

## Peeking at command-line ANSI escape sequences

DevFeed: [Peeking at command-line ANSI escape sequences](<https://devfeed.tech/articles/peeking-at-command-line-ansi-escape-sequences-20951.md>)

Original publisher: [Read original article](<https://jakewharton.com/peeking-at-colorful-command-line-output/>)

Published: 2020-10-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [ls](<https://devfeed.tech/topics/ls.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [commands](<https://devfeed.tech/tags/commands.md>), [compare](<https://devfeed.tech/tags/compare.md>), [display](<https://devfeed.tech/tags/display.md>), [examples](<https://devfeed.tech/tags/examples.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ls](<https://devfeed.tech/tags/ls.md>), [techniques](<https://devfeed.tech/tags/techniques.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

This tutorial explains how command-line programs use ANSI escape sequences to add color, bold formatting, cursor movement, and dynamic output. It demonstrates these effects with ls and docker-compose, then shows how to inspect escape sequences by replacing the escape character before piping output.

### Source excerpt

Command-line programs use color to convey additional information and to look pretty. For example, compare the output of ls with and without the --color flag: The color helps convey information in this compact output that would otherwise only be available in more verbose forms (-l). In addition to color, a program may update existing output. You can see this when updating images with docker-compose: Both of these effects are created using something called ANSI escape sequences. ANSI escape crash course Reading the Wikipedia entry on ANSI escapes is a great starting point for learning how to recreate these examples. Each escape sequence starts with a 0x1B (escape) character followed usually by [ and then one or more commands using letters or numbers. The ls example above uses green and blue text as well as making the colored entries bold which we can recreate. echo -e "\e[1;32mbinary\e[0m file \e[1;34mfolder\e[0m" Let's break down the interesting parts: echo -e - Adding the -e flag to echo instructs it to enable backslash escapes. \e[1;32m - \e is a backslash escape for the 0x1B escape character and the [ starts a sequence. 1 enables bold and 32 is the color green. Numbers are separated by ; and terminated by m. Anything that follows will now be displayed as bold and green. \e[0m - Once again \e[ starts a sequence and m terminates it. The 0 clears all previous formatting. \e[1;34m - Nearly identical to the sequence from before except it uses 34 for a blue color. The docker-compose example moves the cursor to rewrite previous output which we can begin to recreate. echo "Pulling zulu-jdk-15 ... downloading" && \ echo "Pulling zulu-jdk-11 ... downloading" && \ echo "Pulling zulu-jdk-8 ... downloading" && \ sleep 2 && \ echo -e "\e[2A\e[24C\e[32mdone\e[0m\e[K" && \ sleep 1 && \ echo -e "\e[24C\e[32mdone\e[0m\e[K" && \ sleep 1 && \ echo -e "\e[3A\e[24C\e[32mdone\e[0m\e[K\n\n" Let's break down the interesting parts for this example: \e[2A - Each echo emits a trailing newlin

## A Shorty But a Goody, Sorting mdfind Results by Date or Size

DevFeed: [A Shorty But a Goody, Sorting mdfind Results by Date or Size](<https://devfeed.tech/articles/a-shorty-but-a-goody-sorting-mdfind-results-by-date-or-size-28213.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/osx/2020/08/12/a-shorty-but-a-goody-sorting-mdfind-results-by-date.html>)

Author: Fuzzygroup

Published: 2020-08-12T05:48:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [ls](<https://devfeed.tech/topics/ls.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [command](<https://devfeed.tech/tags/command.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [files](<https://devfeed.tech/tags/files.md>), [hacks](<https://devfeed.tech/tags/hacks.md>), [ls](<https://devfeed.tech/tags/ls.md>), [mdfind](<https://devfeed.tech/tags/mdfind.md>), [osx](<https://devfeed.tech/tags/osx.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [unix](<https://devfeed.tech/tags/unix.md>)

### AI overview

A short tutorial showing how to pipe mdfind results through xargs to list files sorted by modification date or calculate and sort file sizes.

### Source excerpt

mdfind is an OSX executable which taps into the underlying spotlight index to find files quickly. However if you want to quickly sort results you need to pipe its output (the symbol i.e. shift key + forward slash) into another program. The program we are going to send its results to is xargs which then handles integrating the results from mdfind with another command and organizing the results. Note: I regard xargs as "Unix Dark Magic"; I've never fully understood it but it is one of those things that when I need a powerful command line incantation, I tend to think "Hm.... Needs Me Some xargs Here". Sorting by File Date To sort files by name, make a variant of this: mdfind -name url_common.rb -0 | xargs -0 ls -lt Sorting by File Size To sort files by file size, make a variant of this: mdfind -name url_common.rb -0 | xargs -0 du -hc | sort -g This one is interesting because it pipes from mdfind to xargs running du -hc and then to sort. See Also Apple.com Hacks for Macs

## How to Find the Latest Version of a File on OSX Using mdfind

DevFeed: [How to Find the Latest Version of a File on OSX Using mdfind](<https://devfeed.tech/articles/how-to-find-the-latest-version-of-a-file-on-osx-using-mdfind-28210.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/osx/2020/04/26/how-to-find-the-latest-version-of-a-file-on-osx-using-mdfind.html>)

Author: Fuzzygroup

Published: 2020-04-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [osx](<https://devfeed.tech/topics/osx.md>), [ls](<https://devfeed.tech/topics/ls.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [library](<https://devfeed.tech/tags/library.md>), [ls](<https://devfeed.tech/tags/ls.md>), [mdfind](<https://devfeed.tech/tags/mdfind.md>), [osx](<https://devfeed.tech/tags/osx.md>)

### AI overview

A brief macOS how-to showing how to use mdfind, xargs, and ls -t to locate the latest version of a file, illustrated with a library file.

### Source excerpt

"""< HEAD ======= 4cbbc577cf49ce99e5aaf8b73f0396e50651d3a9 I recently wanted to find the latest version of a library I wrote and I started by using mdfind: mdfind -name select_page_parser.rb I then added xargs per this article: mdfind -name select_page_parser.rb -0 | xargs -0 ls -t

## Fixing TextMate 2 When It Goes Insane

DevFeed: [Fixing TextMate 2 When It Goes Insane](<https://devfeed.tech/articles/fixing-textmate-2-when-it-goes-insane-28352.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/textmate/2020/01/15/fixing-textmate-2-when-it-goes-insane.html>)

Author: Fuzzygroup

Published: 2020-01-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [ls](<https://devfeed.tech/topics/ls.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [commands](<https://devfeed.tech/tags/commands.md>), [location](<https://devfeed.tech/tags/location.md>), [ls](<https://devfeed.tech/tags/ls.md>), [plist](<https://devfeed.tech/tags/plist.md>), [process](<https://devfeed.tech/tags/process.md>), [startup](<https://devfeed.tech/tags/startup.md>), [textmate](<https://devfeed.tech/tags/textmate.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

A troubleshooting guide for TextMate 2 when it will not start, accept typing, or respond to commands. It recommends locating the session directory, moving its contents into a new directory, terminating the TextMate process, and relaunching the application.

### Source excerpt

If you find that TextMate won't start up or if it does that you can't type and it won't respond to commands then this is a sign that TextMate's startup data has gotten hosed. What you need to do is: Locate where TextMate stores its unsaved documents. For me this is ls -l /Users/sjohnson/Library/Application\ Support/TextMate/Session/ Change to this directory using cd. Create a new directory in this location such as temp1. Do a mv of everything into the new directory. Kill off the TextMate process. Relaunch it. Here's what the end result of this should be: ls -l /Users/sjohnson/Library/Application\ Support/TextMate/Session/ total 536 -rw-r--r-- 1 sjohnson staff 90428 Jan 16 04:19 Info.plist drwxr-xr-x 74 sjohnson staff 2368 Dec 10 09:40 temp1 -rw-r--r--@ 1 sjohnson staff 4 Dec 26 10:51 untitled 10.txt -rw-r--r--@ 1 sjohnson staff 6921 Dec 26 11:31 untitled 11.txt -rw-r--r--@ 1 sjohnson staff 79 Dec 26 14:19 untitled 12.txt -rw-r--r--@ 1 sjohnson staff 647 Dec 27 08:07 untitled 13.txt -rw-r--r--@ 1 sjohnson staff 741 Dec 30 12:21 untitled 14.txt -rw-r--r--@ 1 sjohnson staff 226 Dec 30 14:09 untitled 15.txt -rw-r--r--@ 1 sjohnson staff 85 Dec 30 14:08 untitled 16.txt -rw-r--r--@ 1 sjohnson staff 635 Dec 30 21:03 untitled 17.txt -rw-r--r--@ 1 sjohnson staff 776 Jan 7 05:22 untitled 18.txt -rw-r--r--@ 1 sjohnson staff 5125 Jan 7 05:28 untitled 19.txt -rw-r--r--@ 1 sjohnson staff 803 Dec 12 23:30 untitled 2.txt -rw-r--r--@ 1 sjohnson staff 1949 Jan 7 13:05 untitled 20.txt -rw-r--r--@ 1 sjohnson staff 5367 Jan 7 13:20 untitled 21.txt -rw-r--r--@ 1 sjohnson staff 326 Jan 7 15:24 untitled 22.txt -rw-r--r--@ 1 sjohnson staff 16 Jan 8 01:43 untitled 23.txt -rw-r--r--@ 1 sjohnson staff 44 Jan 9 14:22 untitled 24.txt -rw-r--r--@ 1 sjohnson staff 3635 Jan 10 00:28 untitled 25.txt -rw-r--r--@ 1 sjohnson staff 8 Jan 10 15:10 untitled 26.txt -rw-r--r--@ 1 sjohnson staff 7245 Jan 10 17:26 untitled 27.txt -rw-r--r--@ 1 sjohnson staff 277 Jan 11 05:22 untitled 28.txt -rw-r--r--@ 1 sjohn

## \[Linux\] Simplest possible snapshot-style backups using rsync

DevFeed: [\[Linux\] Simplest possible snapshot-style backups using rsync](<https://devfeed.tech/articles/linux-simplest-possible-snapshot-style-backups-using-rsync-20554.md>)

Original publisher: [Read original article](<https://yurichev.com/blog/bak/>)

Published: 2019-10-15T22:00:00Z

Content type: tutorial

Language: en

Sources: [Dennis Yurichev](<https://devfeed.tech/sources/dennis-yurichev.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [rsync](<https://devfeed.tech/topics/rsync.md>), [Script](<https://devfeed.tech/topics/script.md>), [ransomware](<https://devfeed.tech/topics/ransomware.md>)

Tags: [backup](<https://devfeed.tech/tags/backup.md>), [backups](<https://devfeed.tech/tags/backups.md>), [linux](<https://devfeed.tech/tags/linux.md>), [ls](<https://devfeed.tech/tags/ls.md>), [malware](<https://devfeed.tech/tags/malware.md>), [ransomware](<https://devfeed.tech/tags/ransomware.md>), [rsync](<https://devfeed.tech/tags/rsync.md>), [script](<https://devfeed.tech/tags/script.md>)

### AI overview

A tutorial for creating snapshot-style backups on Linux with rsync, hard links, and dated directories. It explains how snapshots preserve file history, conserve disk space by storing unchanged files only once, and allow older versions to remain available after deletion or ransomware encryption.

### Source excerpt

[Linux] Simplest possible snapshot-style backups using rsync

## localStorage and sessionStorage in Safari's private mode

DevFeed: [localStorage and sessionStorage in Safari's private mode](<https://devfeed.tech/articles/localstorage-and-sessionstorage-in-safari-s-private-mode-37306.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/localstorage-and-sessionstorage-in-safaris-private-mode/>)

Author: Stanko

Published: 2017-08-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [LocalStorage](<https://devfeed.tech/topics/localstorage.md>), [Code](<https://devfeed.tech/topics/code.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [error](<https://devfeed.tech/tags/error.md>), [export](<https://devfeed.tech/tags/export.md>), [ls](<https://devfeed.tech/tags/ls.md>), [null](<https://devfeed.tech/tags/null.md>), [object](<https://devfeed.tech/tags/object.md>), [qa](<https://devfeed.tech/tags/qa.md>), [quota](<https://devfeed.tech/tags/quota.md>), [return](<https://devfeed.tech/tags/return.md>), [safari](<https://devfeed.tech/tags/safari.md>), [storage](<https://devfeed.tech/tags/storage.md>), [test](<https://devfeed.tech/tags/test.md>), [value](<https://devfeed.tech/tags/value.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

This article explains that Safari private mode sets localStorage and sessionStorage limits to zero, preventing writes. It presents a localStorage facade that silently ignores storage operations when storage is unavailable, avoiding application errors.

### Source excerpt

If you didn't know, in Safari's private mode both localStorage and sessionStorage are not working. To be exact, Safari sets storage's limit to 0, so you can't write anything to it. I keep forgetting this, until QA people report it at some point. So I quickly wrote a small facade for it, which fails silently in this case. That means it still doesn't work but it won't throw an error and break your application. This is the version for localStorage, just replace it with sessionStorage if you need it. const LS_TEST_KEY = 'ls-test'; let isLocalStorageSupported = typeof localStorage === 'object'; // Try to try { localStorage.setItem(LS_TEST_KEY, 'test'); localStorage.removeItem(LS_TEST_KEY); } catch (e) { isLocalStorageSupported = false; // If we get error that we exceeded storage's quota // but storage is still empty we are in private mode if (e.code === DOMException.QUOTA_EXCEEDED_ERR && localStorage.length === 0) { // Private mode } else { throw e; } } const LocalStorage = { getItem: (key) => { if (isLocalStorageSupported) { return localStorage.getItem(key); } return null; }, setItem: (key, value) => { if (isLocalStorageSupported) { localStorage.setItem(key, value); } }, removeItem: (key) => { if (isLocalStorageSupported) { localStorage.removeItem(key); } }, }; export default LocalStorage;

## Look before you paste from a website to terminal

DevFeed: [Look before you paste from a website to terminal](<https://devfeed.tech/articles/look-before-you-paste-from-a-website-to-terminal-21528.md>)

Original publisher: [Read original article](<http://lifepluslinux.blogspot.com/2017/01/look-before-you-paste-from-website-to.html>)

Author: Suresh Alse (noreply@blogger.com)

Published: 2017-01-19T21:32:00Z

Content type: tutorial

Language: en

Sources: [Life Plus Linux](<https://devfeed.tech/sources/life-plus-linux.md>)

Topics: [Terminal](<https://devfeed.tech/topics/terminal.md>), [Malware](<https://devfeed.tech/topics/malware.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Code](<https://devfeed.tech/topics/code.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Hacking](<https://devfeed.tech/topics/hacking.md>), [ls](<https://devfeed.tech/topics/ls.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [code](<https://devfeed.tech/tags/code.md>), [computer](<https://devfeed.tech/tags/computer.md>), [gui](<https://devfeed.tech/tags/gui.md>), [hacking](<https://devfeed.tech/tags/hacking.md>), [install](<https://devfeed.tech/tags/install.md>), [ls](<https://devfeed.tech/tags/ls.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [view](<https://devfeed.tech/tags/view.md>)

### AI overview

This article warns that code copied directly from websites can contain hidden malicious commands. It demonstrates how browser-rendered snippets may conceal code through styling and recommends pasting snippets into a text editor for inspection before executing them.

### Source excerpt

Most of the time when we see a code snippet online to do something, we often blindly copy paste it to the terminal. Even the tech savy ones just see it on the website before copy pasting. Here is why you shouldn't do this. Try pasting the following line to your terminal (SFW) ls ; clear; echo 'Haha! You gave me access to your computer with sudo!'; echo -ne 'h4cking ## (10%)\r'; sleep 0.3; echo -ne 'h4cking ### (20%)\r'; sleep 0.3; echo -ne 'h4cking ##### (33%)\r'; sleep 0.3; echo -ne 'h4cking ####### (40%)\r'; sleep 0.3; echo -ne 'h4cking ########## (50%)\r'; sleep 0.3; echo -ne 'h4cking ############# (66%)\r'; sleep 0.3; echo -ne 'h4cking ##################### (99%)\r'; sleep 0.3; echo -ne 'h4cking ####################### (100%)\r'; echo -ne '\n'; echo 'Hacking complete.'; echo 'Use GUI interface using visual basic to track my IP' ls -lat It should look something like this once it is pasted onto your terminal. View post on imgur.com You probably guessed it. There is some malicious code between ls and -lat that is hidden from the user Malicious code's color is set to that of the background, it's font size is set to 0, it is moved away from rest of the code and it is made un-selectable (that blue color thing doesn't reveal it); to make sure that it works in all possible OSes, browsers and screen sizes. This can be worse. If the code snippet had a command with sudo for instance, the malicious code will have sudo access too. Or, it can silently install a keylogger on your machine; possibilities are endless. So, the lesson here is, make sure that you paste code snippets from untrusted sources onto a text editor before executing it. Thanks for reading!