<?xml version="1.0" encoding="UTF-8"?>
 <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://pinboard.in">
    <title>Pinboard (jm)</title>
    <link>https://pinboard.in/u:jm/public/</link>
    <description>recent bookmarks from jm</description>
    <items>
      <rdf:Seq>	<rdf:li rdf:resource="https://boyter.org/posts/my-list-of-useful-command-line-tools/"/>
	<rdf:li rdf:resource="https://www.olivetin.app/"/>
	<rdf:li rdf:resource="https://butterfi.sh/"/>
	<rdf:li rdf:resource="https://github.com/ellie/atuin"/>
	<rdf:li rdf:resource="http://inthesetimes.com/article/22193/quite-divorced-from-reality-climate-scientist-activists-call-out-shell-exec"/>
	<rdf:li rdf:resource="https://www.theguardian.com/environment/2019/oct/09/revealed-20-firms-third-carbon-emissions"/>
	<rdf:li rdf:resource="https://console.cloud.google.com/cloudshell/editor?pli=1&amp;supportedpurview=project&amp;shellonly=true"/>
	<rdf:li rdf:resource="https://github.com/course-hero/slacktee"/>
	<rdf:li rdf:resource="https://explainshell.com/explain?cmd=sudo+iptables+-t+nat+-L+PREROUTING+-n+%7C+tr+-s+%27+%27+%7C+cut+-d+%27+%27+-f7-"/>
	<rdf:li rdf:resource="https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/"/>
	<rdf:li rdf:resource="https://cloud.google.com/cloud-shell/"/>
	<rdf:li rdf:resource="https://github.com/peco/peco"/>
	<rdf:li rdf:resource="http://www.shellcheck.net"/>
	<rdf:li rdf:resource="http://vincebuffalo.com/2013/08/08/the-mighty-named-pipe.html"/>
	<rdf:li rdf:resource="http://www.dwheeler.com/essays/shellshock.html"/>
	<rdf:li rdf:resource="https://github.com/Russell91/sshrc"/>
	<rdf:li rdf:resource="http://joeyh.name/code/moreutils/"/>
	<rdf:li rdf:resource="http://skife.org/java/unix/2011/06/20/really_executable_jars.html"/>
	<rdf:li rdf:resource="https://github.com/mjdominus/spark/blob/master/spark"/>
	<rdf:li rdf:resource="http://strugglers.net/~andy/blog/2011/03/13/copying-block-devices-between-machines/"/>
	<rdf:li rdf:resource="https://gist.github.com/782263"/>
	<rdf:li rdf:resource="http://mdm.berlios.de/usage.html"/>
	<rdf:li rdf:resource="http://savannah.gnu.org/projects/parallel"/>
	<rdf:li rdf:resource="http://wiki.github.com/joelthelion/autojump/"/>
	<rdf:li rdf:resource="http://superuser.com/questions/52483/terminal-tips-and-tricks-for-mac-os-x"/>
	<rdf:li rdf:resource="http://www.zlib.net/pigz/"/>
      </rdf:Seq>
    </items>
  </channel><item rdf:about="https://boyter.org/posts/my-list-of-useful-command-line-tools/">
    <title>My list of useful command line tools</title>
    <dc:date>2025-03-25T09:43:29+00:00</dc:date>
    <link>https://boyter.org/posts/my-list-of-useful-command-line-tools/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Here's a bunch of fantastic recent CLI tools I hadn't seen before; loads are by one guy, https://github.com/sharkdp , who seems very productive :)]]></description>
<dc:subject>terminal bash shell tools cli linux unix sharkdp</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:2d9f2a12f5af/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:terminal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sharkdp"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://www.olivetin.app/">
    <title>OliveTin</title>
    <dc:date>2024-07-15T18:37:17+00:00</dc:date>
    <link>https://www.olivetin.app/</link>
    <dc:creator>jm</dc:creator><description><![CDATA["Give safe and simple access to predefined shell commands from a web interface."

This is great; my home server has a small set of hacky CGI scripts to run things like df(1), nice to have a nicer UI for this purpose
]]></description>
<dc:subject>ui cli shell self-hosted home unix linux web</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:7f6eef7c7bdb/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ui"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:self-hosted"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:home"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:web"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://butterfi.sh/">
    <title>Butterfish</title>
    <dc:date>2023-08-28T21:19:41+00:00</dc:date>
    <link>https://butterfi.sh/</link>
    <dc:creator>jm</dc:creator><description><![CDATA["CLI Tools for LLMs". It's a UNIX bash/zsh shell, with integration with ChatGPT built-in; run UNIX commands, then ask ChatGPT questions about their output and suggestions on what to do next.  Nice, but I'd prefer to use a locally-hosted LLM model]]></description>
<dc:subject>llms gpt cli command-line unix shell bash zsh</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:6679c8ee4978/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:llms"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gpt"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:command-line"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:zsh"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/ellie/atuin">
    <title>ellie/atuin</title>
    <dc:date>2023-05-08T11:27:25+00:00</dc:date>
    <link>https://github.com/ellie/atuin</link>
    <dc:creator>jm</dc:creator><description><![CDATA["Magical shell history":

<blockquote>Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.</blockquote>

(via Nelson)
]]></description>
<dc:subject>cli history shell unix atuin terminals</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:3a04ccec01e0/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:atuin"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:terminals"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://inthesetimes.com/article/22193/quite-divorced-from-reality-climate-scientist-activists-call-out-shell-exec">
    <title>“Quite Divorced From Reality”: Climate Scientist, Activists Call Out Shell Exec at UN Conference - In These Times</title>
    <dc:date>2019-12-06T10:47:29+00:00</dc:date>
    <link>http://inthesetimes.com/article/22193/quite-divorced-from-reality-climate-scientist-activists-call-out-shell-exec</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>“This is quite divorced from reality, what you are all discussing,” Simon Lewis, a climate science professor at University College London, told the oil executives during a Q+A. Lewis went on to explain to the audience that even if polluters invested in every nature conservation, sustainability agriculture or other “natural climate solution” in the world, those projects would only offset about 20% of global greenhouse gas emissions; the vast majority of cuts would still have to come about through actual reductions in fossil fuel use. Given this, Lewis asked them to explain how the initiative was any different from other corporate schemes put forth in past decades—good PR that doesn’t actually tackle the problem.

In addition, carbon offset trading—which has been going on at smaller scales for decades—is no silver bullet. It has had mixed results to date, including failed projects, outright fraud, and human rights abuses against rural, indigenous and other vulnerable communities, prompting fierce opposition from grassroots climate organizations against including carbon trading in the Paris Accord. The carbon trading question is one of the remaining thorny issues country negotiators are supposed to iron out during this two-week climate conference, which ends December 13. The rules for such “market-based solutions” (included in what is technically known as Article 6 of Paris Agreement) were supposed to be decided at last year’s meeting, but countries remain far apart; in fact, some observers wonder if it won’t be punted off again until next year.

Meanwhile, the oil majors have yet to unveil a plan for reducing their own company emissions in line with the Paris Agreement, which calls for dramatically reducing fossil fuel use to prevent climate catastrophe.</blockquote>

]]></description>
<dc:subject>shell offsets climate-change climate simon-lewis</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:c2233beb4834/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:offsets"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:climate-change"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:climate"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:simon-lewis"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://www.theguardian.com/environment/2019/oct/09/revealed-20-firms-third-carbon-emissions">
    <title>Revealed: the 20 firms behind a third of all carbon emissions</title>
    <dc:date>2019-10-09T16:16:54+00:00</dc:date>
    <link>https://www.theguardian.com/environment/2019/oct/09/revealed-20-firms-third-carbon-emissions</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>The top 20 companies on the list have contributed to 35% of all energy-related carbon dioxide and methane worldwide, totalling 480bn tonnes of carbon dioxide equivalent (GtCO2e) since 1965.

Those identified range from investor-owned firms – household names such as Chevron, Exxon, BP and Shell – to state-owned companies including Saudi Aramco and Gazprom.  Chevron topped the list of the eight investor-owned corporations, followed closely by Exxon, BP and Shell. Together these four global businesses are behind more than 10% of the world’s carbon emissions since 1965.</blockquote>

]]></description>
<dc:subject>coal emissions business gas oil fossil-fuels climate-change co2 carbon chevron exxon bp shell</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:1c0a4dbf4a15/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:emissions"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:business"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gas"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:oil"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:fossil-fuels"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:climate-change"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:co2"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:carbon"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:chevron"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:exxon"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://console.cloud.google.com/cloudshell/editor?pli=1&amp;supportedpurview=project&amp;shellonly=true">
    <title>Cloud Shell - Google Cloud Platform</title>
    <dc:date>2019-03-25T21:42:53+00:00</dc:date>
    <link>https://console.cloud.google.com/cloudshell/editor?pli=1&amp;supportedpurview=project&amp;shellonly=true</link>
    <dc:creator>jm</dc:creator><description><![CDATA[I had no idea about this -- every google user has instant in-browser shell access to a Linux VM with 1.7GB of RAM]]></description>
<dc:subject>shell servers linux google gcp cloudshell</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:b1154a01a4bd/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:servers"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:google"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gcp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cloudshell"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/course-hero/slacktee">
    <title>course-hero/slacktee</title>
    <dc:date>2018-05-22T12:36:48+00:00</dc:date>
    <link>https://github.com/course-hero/slacktee</link>
    <dc:creator>jm</dc:creator><description><![CDATA['a bash script that works like tee command. Instead of writing the standard input to files, slacktee posts it to Slack.'

(via Ardi)]]></description>
<dc:subject>via:ardi shell slack ops hacks notification</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:002933914b9d/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:ardi"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:slack"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:notification"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://explainshell.com/explain?cmd=sudo+iptables+-t+nat+-L+PREROUTING+-n+%7C+tr+-s+%27+%27+%7C+cut+-d+%27+%27+-f7-">
    <title>explainshell.com</title>
    <dc:date>2017-05-02T10:01:01+00:00</dc:date>
    <link>https://explainshell.com/explain?cmd=sudo+iptables+-t+nat+-L+PREROUTING+-n+%7C+tr+-s+%27+%27+%7C+cut+-d+%27+%27+-f7-</link>
    <dc:creator>jm</dc:creator><description><![CDATA[This is pretty excellent work -- paste a UNIX command line and it'll contextually inline manual page snippets to match, highlighting the matching part of the command line.]]></description>
<dc:subject>cli unix documentation explainshell shell scripting syntax manual-pages</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:0b452affc49f/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:documentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:explainshell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:scripting"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:syntax"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:manual-pages"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/">
    <title>Detecting the use of &quot;curl | bash&quot; server side</title>
    <dc:date>2016-04-20T11:32:52+00:00</dc:date>
    <link>https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[tl;dr: <blockquote>The better solution is never to pipe untrusted data streams into bash. If you still want to run untrusted bash scripts a better approach is to pipe the contents of URL into a file, review the contents on disk and only then execute it.</blockquote>

]]></description>
<dc:subject>bash security shell unix curl tcp buffers</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:5c0b66a8a0ff/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:security"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:curl"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tcp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:buffers"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://cloud.google.com/cloud-shell/">
    <title>Google Cloud Shell</title>
    <dc:date>2015-10-05T11:14:03+00:00</dc:date>
    <link>https://cloud.google.com/cloud-shell/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>your command line environment in the [Google] Cloud. This feature enables you to connect to a shell environment on a virtual machine, pre-loaded with the tools you need to easily run commands to develop, deploy and manage your projects.  Currently, Cloud Shell is an f1-micro Google Compute Engine machine that exposes a Debian-based development environment. You are also assigned 5 GB of standard persistent disk space as the home disk so you can store files between sessions.</blockquote>

It's also free.  This is a great idea -- handy both for beginners getting to grips with GoogCloud and for experts looking for a quite dev env to hack with. I wish AWS had something similar.]]></description>
<dc:subject>google cloud shell google-cloud gcs gce cli tools</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:44019468c716/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:google"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cloud"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:google-cloud"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gcs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gce"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/peco/peco">
    <title>peco</title>
    <dc:date>2015-06-25T16:58:21+00:00</dc:date>
    <link>https://github.com/peco/peco</link>
    <dc:creator>jm</dc:creator><description><![CDATA['Simplistic interactive filtering tool' -- live incremental-search filtering in a terminal window]]></description>
<dc:subject>cli shell terminal tools go peco interactive incremental-search search ui unix</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:38e61b147a67/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:terminal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:go"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:peco"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:interactive"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:incremental-search"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:search"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ui"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.shellcheck.net">
    <title>ShellCheck</title>
    <dc:date>2015-04-28T11:07:53+00:00</dc:date>
    <link>http://www.shellcheck.net</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Static code analysis for shell scripts (via Tony Finch)]]></description>
<dc:subject>bash cli sh linux shell coding static-analysis lint</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:a306ee94be02/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sh"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:static-analysis"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:lint"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://vincebuffalo.com/2013/08/08/the-mighty-named-pipe.html">
    <title>Using Named Pipes and Process Substitution in Bioinformatics</title>
    <dc:date>2015-03-16T16:15:52+00:00</dc:date>
    <link>http://vincebuffalo.com/2013/08/08/the-mighty-named-pipe.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Wow. I've been using bash for nigh on 14 years and I didn't know about process substitution.  Nifty trick]]></description>
<dc:subject>bash linux pipes shell unix via:igrigorik cli named-pipes process-substitution</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:40515335523b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:pipes"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:igrigorik"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:named-pipes"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:process-substitution"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.dwheeler.com/essays/shellshock.html">
    <title>Shellshock</title>
    <dc:date>2014-10-08T22:50:43+00:00</dc:date>
    <link>http://www.dwheeler.com/essays/shellshock.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[An _extremely_ detailed resource about the bash bug]]></description>
<dc:subject>bash hacking security shell exploits reference shellshock</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:4c6375bae57a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:security"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:exploits"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:reference"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shellshock"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/Russell91/sshrc">
    <title>Russell91/sshrc</title>
    <dc:date>2014-09-17T16:33:55+00:00</dc:date>
    <link>https://github.com/Russell91/sshrc</link>
    <dc:creator>jm</dc:creator><description><![CDATA['bring your .bashrc, .vimrc, etc. with you when you ssh'.  A really nice implementation of this idea (much nicer than my own version!)]]></description>
<dc:subject>hacks productivity ssh remote shell sh bash via:johnke home-directory unix</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:e0c0aea5f108/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:productivity"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ssh"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:remote"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sh"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:johnke"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:home-directory"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://joeyh.name/code/moreutils/">
    <title>moreutils</title>
    <dc:date>2013-03-06T22:24:10+00:00</dc:date>
    <link>http://joeyh.name/code/moreutils/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Some really cool-looking UNIX command line utils, packaged in Debian (and therefore in Ubuntu too).  A few of these I've reimplemented separately, but it's always good to replace a hack with a more widely available "official" tool. Thanks, Joey Hess!

<blockquote>sponge: accept input, wait til EOF, then rewrite a file;
chronic: runs a command quietly unless it fails;
combine: combine the lines in two files using boolean operations;
ifdata: get network interface info without parsing ifconfig output;
ifne: run a program if the standard input is not empty;
isutf8: check if a file or standard input is utf-8;
lckdo: execute a program with a lock held;
mispipe: pipe two commands, returning the exit status of the first;
parallel: run multiple jobs at once;
pee: tee standard input to pipes;
sponge: soak up standard input and write to a file;
ts: timestamp standard input;
vidir: edit a directory in your text editor;
vipe: insert a text editor into a pipe;
zrun: automatically uncompress arguments to command</blockquote>

]]></description>
<dc:subject>bash shell cli unix scripting via:peakscale joey-hess debian ubuntu tools command-line commands</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:7972b7dff6c4/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:scripting"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:peakscale"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:joey-hess"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debian"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ubuntu"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:command-line"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:commands"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://skife.org/java/unix/2011/06/20/really_executable_jars.html">
    <title>Making Really Executable Jars</title>
    <dc:date>2013-03-01T22:36:52+00:00</dc:date>
    <link>http://skife.org/java/unix/2011/06/20/really_executable_jars.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Who knew? you can make a runnable JAR file!

<blockquote>There has long been a hack known in some circles, but not widely known, to make jars really executable, in the chmod +x sense. The hack takes advantage of the fact that jar files are zip files, and zip files allow arbitrary cruft to be prepended to the zip file itself (this is how self-extracting zip files work).</blockquote>

]]></description>
<dc:subject>jars via:netflix shell java executable chmod zip hacks command-line cli</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:706bb7fc507a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jars"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:netflix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:java"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:executable"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:chmod"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:zip"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:command-line"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/mjdominus/spark/blob/master/spark">
    <title>spark</title>
    <dc:date>2011-12-08T23:24:15+00:00</dc:date>
    <link>https://github.com/mjdominus/spark/blob/master/spark</link>
    <dc:creator>jm</dc:creator><description><![CDATA[sparklines in your terminal window.  Simply give it a comma or space-separated list of data values, and it'll generate an ANSI-graphics sparkline chart.  Brilliant!  (via mjd)]]></description>
<dc:subject>via:mjdominus sparklines charts graphs bash shell terminal cli ansi</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:8ffb8057c9fa/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:mjdominus"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sparklines"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:charts"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:graphs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:terminal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ansi"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://strugglers.net/~andy/blog/2011/03/13/copying-block-devices-between-machines/">
    <title>Copying block devices between machines</title>
    <dc:date>2011-03-14T21:21:42+00:00</dc:date>
    <link>http://strugglers.net/~andy/blog/2011/03/13/copying-block-devices-between-machines/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[a very hairy hack to perform a block-level rsync-like "send just the changes" algorithm between two very large files (think /dev/sda block devices).  Crazy, but it'd work alright!]]></description>
<dc:subject>devices hairy hacks shell perl networking ssh rsync lvm snapshots</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:ad70e0c35cf0/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:devices"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hairy"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:perl"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:networking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ssh"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:rsync"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:lvm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:snapshots"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://gist.github.com/782263">
    <title>gist: 782263 - How to redirect a running process' output to a file and logout</title>
    <dc:date>2011-01-17T13:32:01+00:00</dc:date>
    <link>https://gist.github.com/782263</link>
    <dc:creator>jm</dc:creator><description><![CDATA[a nifty gdb hack; essentially dup()s a couple of files in /tmp in place of fd 1 and 2, then uses the bashism "detach" to nohup the running process]]></description>
<dc:subject>gdb hacks linux process shell unix via:hn nifty dup detach bash</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:97a2995c12ff/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gdb"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:process"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:hn"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:nifty"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dup"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:detach"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://mdm.berlios.de/usage.html">
    <title>Project Middleman</title>
    <dc:date>2010-10-19T20:12:17+00:00</dc:date>
    <link>http://mdm.berlios.de/usage.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[another concurrency shell command; interesting approach to dashboarding the results, with the "mdm.screen" utility provided]]></description>
<dc:subject>mdm unix concurrency shell linux forking background xargs parallelism</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:0868e2c3b4d8/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mdm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:concurrency"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:forking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:background"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:xargs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:parallelism"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://savannah.gnu.org/projects/parallel">
    <title>GNU Parallel - build and execute command lines from standard input in parallel</title>
    <dc:date>2010-10-19T20:10:05+00:00</dc:date>
    <link>http://savannah.gnu.org/projects/parallel</link>
    <dc:creator>jm</dc:creator><description><![CDATA[by Ole Tange.  pretty extensive, if inscrutable (via Tony Finch)]]></description>
<dc:subject>via:fanf unix concurrency gnu linux job parallel scripting shell</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:603200e22e92/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:fanf"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:concurrency"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gnu"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:job"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:parallel"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:scripting"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://wiki.github.com/joelthelion/autojump/">
    <title>autojump</title>
    <dc:date>2010-07-26T10:04:20+00:00</dc:date>
    <link>http://wiki.github.com/joelthelion/autojump/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[interesting idea; extend "cd" to track which directories you cd to most frequently, then add a command to "jump" to the most-frequently used one which matches a substring you specify]]></description>
<dc:subject>autojump cli bash command-line navigation terminal shell directory cd</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:898589dadc0b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:autojump"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:command-line"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:navigation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:terminal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:directory"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cd"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://superuser.com/questions/52483/terminal-tips-and-tricks-for-mac-os-x">
    <title>Mac OS X command-line tricks</title>
    <dc:date>2010-07-26T09:58:29+00:00</dc:date>
    <link>http://superuser.com/questions/52483/terminal-tips-and-tricks-for-mac-os-x</link>
    <dc:creator>jm</dc:creator><description><![CDATA[not quite up to par with modern Ubuntu, but still a few interesting ones here for when I'm stuck using the missus' laptop ;)]]></description>
<dc:subject>apple bash cli osx mac sysadmin shell tricks command-line</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:54f099613595/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:apple"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bash"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:osx"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mac"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sysadmin"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tricks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:command-line"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.zlib.net/pigz/">
    <title>pigz</title>
    <dc:date>2009-10-21T10:09:18+00:00</dc:date>
    <link>http://www.zlib.net/pigz/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['A parallel implementation of gzip for modern multi-processor, multi-core machines', by Mark Adler, no less]]></description>
<dc:subject>adler pigz gzip compression performance concurrency shell parallel multicore zip software</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:3488243c8811/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:adler"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:pigz"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gzip"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:compression"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:performance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:concurrency"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:shell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:parallel"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:multicore"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:zip"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:software"/>
</rdf:Bag></taxo:topics>
</item>
</rdf:RDF>