<?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://github.com/PeonPing/peon-ping"/>
	<rdf:li rdf:resource="https://patrickmccanna.net/a-better-way-to-limit-claude-code-and-other-coding-agents-access-to-secrets/"/>
	<rdf:li rdf:resource="https://hpjansson.org/chafa/"/>
	<rdf:li rdf:resource="https://github.com/Mic92/strace-macos"/>
	<rdf:li rdf:resource="https://github.com/Orange-OpenSource/hurl"/>
	<rdf:li rdf:resource="https://thisdavej.com/share-python-scripts-like-a-pro-uv-and-pep-723-for-easy-deployment/"/>
	<rdf:li rdf:resource="https://boyter.org/posts/my-list-of-useful-command-line-tools/"/>
	<rdf:li rdf:resource="https://rmoff.net/2025/03/14/kicking-the-tyres-on-the-new-duckdb-ui/"/>
	<rdf:li rdf:resource="https://github.com/amarlearning/spot-optimizer"/>
	<rdf:li rdf:resource="https://rmoff.net/2021/03/04/quick-profiling-of-data-in-apache-kafka-using-kafkacat-and-visidata/"/>
	<rdf:li rdf:resource="https://tracker.debian.org/news/1584883/accepted-util-linux-2402-11-source-into-unstable/"/>
	<rdf:li rdf:resource="https://www.olivetin.app/"/>
	<rdf:li rdf:resource="https://www.pgrs.net/2024/03/21/duckdb-as-the-new-jq/"/>
	<rdf:li rdf:resource="https://butterfi.sh/"/>
	<rdf:li rdf:resource="https://github.com/ellie/atuin"/>
	<rdf:li rdf:resource="https://hypecycles.com/2023/01/25/hello-dynamodb-shell/?ck_subscriber_id=512829374"/>
	<rdf:li rdf:resource="https://github.com/manojkarthick/pqrs"/>
	<rdf:li rdf:resource="https://buildkite.com/docs/pipelines/managing-log-output#collapsing-output"/>
	<rdf:li rdf:resource="https://dropbox.tech/infrastructure/boosting-dropbox-upload-speed"/>
	<rdf:li rdf:resource="https://tabula.technology/"/>
	<rdf:li rdf:resource="http://harelba.github.io/q/"/>
	<rdf:li rdf:resource="https://github.com/BurntSushi/xsv"/>
	<rdf:li rdf:resource="https://ulsoy.org/blog/experiencing-wsl-as-a-linux-veteran-part-1/"/>
	<rdf:li rdf:resource="https://github.com/dannyob/mblaze-much/blob/master/MANIFESTO.md"/>
	<rdf:li rdf:resource="https://medium.com/@airbagmoments/is-your-macos-wifi-groggy-after-sleep-ebf510011dd5"/>
	<rdf:li rdf:resource="http://kevinkuchta.com/_site/2018/06/scarr/"/>
	<rdf:li rdf:resource="https://confluence.atlassian.com/kb/how-to-change-jvm-arguments-at-runtime-to-avoid-application-restart-816682109.html"/>
	<rdf:li rdf:resource="https://aws.amazon.com/blogs/opensource/parallelizing-s3-workloads-s5cmd/?__s=gf36pf8g1gjugcqh6ppo"/>
	<rdf:li rdf:resource="https://github.com/tomnomnom/gron"/>
	<rdf:li rdf:resource="http://rr-project.org/"/>
	<rdf:li rdf:resource="https://github.com/99designs/aws-vault"/>
	<rdf:li rdf:resource="https://github.com/jorgebastida/awslogs"/>
	<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://github.com/saitoha/libsixel"/>
	<rdf:li rdf:resource="http://www.brendangregg.com/USEmethod/use-linux.html"/>
	<rdf:li rdf:resource="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394"/>
	<rdf:li rdf:resource="https://github.com/plainas/tq"/>
	<rdf:li rdf:resource="https://github.com/raboof/nethogs"/>
	<rdf:li rdf:resource="http://lbzip2.org/"/>
	<rdf:li rdf:resource="https://github.com/mooz/percol"/>
	<rdf:li rdf:resource="https://blog.cloudflare.com/tools-for-debugging-testing-and-using-http-2/"/>
	<rdf:li rdf:resource="http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_tutorial.html#ECS_CLI_tutorial_compose_service"/>
	<rdf:li rdf:resource="https://github.com/AdRoll/hologram"/>
	<rdf:li rdf:resource="https://cloud.google.com/cloud-shell/"/>
	<rdf:li rdf:resource="http://stackoverflow.com/questions/8180525/what-is-the-fastest-way-to-clone-a-git-repository-over-a-fast-network-connection/8180903#8180903"/>
	<rdf:li rdf:resource="https://github.com/yudai/gotty"/>
	<rdf:li rdf:resource="http://johnkerl.org/miller/doc/index.html"/>
	<rdf:li rdf:resource="https://github.com/peco/peco"/>
	<rdf:li rdf:resource="https://github.com/garnaat/kappa"/>
	<rdf:li rdf:resource="http://www.shellcheck.net"/>
	<rdf:li rdf:resource="http://alestic.com/2015/04/aws-cli-sns-lambda"/>
	<rdf:li rdf:resource="https://github.com/ggreer/the_silver_searcher"/>
	<rdf:li rdf:resource="http://vincebuffalo.com/2013/08/08/the-mighty-named-pipe.html"/>
	<rdf:li rdf:resource="https://github.com/knsv/mermaid"/>
	<rdf:li rdf:resource="https://github.com/giltene/wrk2"/>
	<rdf:li rdf:resource="https://github.com/sferik/t"/>
	<rdf:li rdf:resource="http://www.sysdig.org/"/>
	<rdf:li rdf:resource="https://github.com/htcat/htcat"/>
	<rdf:li rdf:resource="http://www.mlsec.org/harry/"/>
	<rdf:li rdf:resource="https://github.com/joewalnes/websocketd"/>
	<rdf:li rdf:resource="http://www.percona.com/doc/percona-toolkit/2.1/pt-summary.html"/>
	<rdf:li rdf:resource="http://alestic.com/2013/08/awscli"/>
	<rdf:li rdf:resource="http://packetpushers.net/pull-my-strings-im-your-puppet-juniper-bringing-devops-to-networking/"/>
	<rdf:li rdf:resource="http://filipivianna.blogspot.ie/2011/11/more-trickery-with-gnuplot-dumb.html"/>
	<rdf:li rdf:resource="https://github.com/d2fn/shades-rb"/>
	<rdf:li rdf:resource="http://stedolan.github.io/jq/"/>
	<rdf:li rdf:resource="http://knoopx.net/2011/10/28/os-x-lion-tweaks"/>
	<rdf:li rdf:resource="http://twobitlabs.com/2011/08/install-diffmerge-git-mac-os-x/"/>
	<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:Seq>
    </items>
  </channel><item rdf:about="https://github.com/PeonPing/peon-ping">
    <title>peon-ping</title>
    <dc:date>2026-02-13T15:03:19+00:00</dc:date>
    <link>https://github.com/PeonPing/peon-ping</link>
    <dc:creator>jm</dc:creator><description><![CDATA["AI coding agents don't notify you when they finish or need permission. You tab away, lose focus, and waste 15 minutes getting back into flow. peon-ping fixes this with voice lines from Warcraft, StarCraft, Portal, Zelda, and more — works with Claude Code, Codex, Cursor, OpenCode, Kiro, and Google Antigravity."

This is genius. I never realised how much my CLI interactions could be improved with a little bit of SFX from classic 90's games....
]]></description>
<dc:subject>gaming games warcraft sfx sounds cli claude coding ux funny</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:68bdc204a261/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gaming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:games"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:warcraft"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sfx"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sounds"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:claude"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:funny"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://patrickmccanna.net/a-better-way-to-limit-claude-code-and-other-coding-agents-access-to-secrets/">
    <title>A better way to limit Claude Code (and other coding agents!) access to Secrets</title>
    <dc:date>2026-01-15T09:55:40+00:00</dc:date>
    <link>https://patrickmccanna.net/a-better-way-to-limit-claude-code-and-other-coding-agents-access-to-secrets/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Bubblewrap, a Linux CLI tool which uses namespaces to sandbox a specific command (and its subprocesses):

<blockquote>
Bubblewrap lets you run untrusted or semi-trusted code without risking your host system. We’re not trying to build a reproducible deployment artifact. We’re creating a jail where coding agents can work on your project while being unable to touch  ~/.aws, your browser profiles, your ~/Photos library or anything else sensitive.
</blockquote>

Very nice, I hadn't heard of this tool before.  The rest of the blog post details how to use it to isolate Claude Code specifically.]]></description>
<dc:subject>claude llms sandboxing linux cli namespaces security infosec trust unix</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:40eee427987f/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:claude"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:llms"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sandboxing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:namespaces"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:security"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:infosec"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:trust"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://hpjansson.org/chafa/">
    <title>Chafa: Terminal Graphics for the 21st Century</title>
    <dc:date>2025-12-16T11:05:13+00:00</dc:date>
    <link>https://hpjansson.org/chafa/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Chafa is a very impressive image renderer for modern text terminal apps. It blows my mind that there's a direct line from my own gif320 tool ( https://github.com/jmason/gif320 , now 33 years old) to this!]]></description>
<dc:subject>gif images terminal video graphics cli</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:e48f83178cc3/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gif"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:images"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:terminal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:video"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:graphics"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/Mic92/strace-macos">
    <title>Mic92/strace-macos</title>
    <dc:date>2025-11-19T11:49:32+00:00</dc:date>
    <link>https://github.com/Mic92/strace-macos</link>
    <dc:creator>jm</dc:creator><description><![CDATA["A clone of the strace command for macOS" -- yayyyy, I've been lamenting this loss for years]]></description>
<dc:subject>osx tools strace tracing debugging macos cli unix</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:43bae9d5408c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:osx"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:strace"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tracing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debugging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:macos"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/Orange-OpenSource/hurl">
    <title>Orange-OpenSource/hurl</title>
    <dc:date>2025-06-20T09:42:49+00:00</dc:date>
    <link>https://github.com/Orange-OpenSource/hurl</link>
    <dc:creator>jm</dc:creator><description><![CDATA["Hurl; run and test HTTP requests with plain text".  This is pretty nice; a really simple plain-text file format to describe making a HTTP request or set of requests, and performing assertions on their results.  The only thing I can spot missing is builtin support for OAuth]]></description>
<dc:subject>cli rust tools unix testing linux json curl http tests</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:d9655d2dcc54/</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:rust"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:testing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:json"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:curl"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tests"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://thisdavej.com/share-python-scripts-like-a-pro-uv-and-pep-723-for-easy-deployment/">
    <title>uv and PEP 723 for Easy Deployment</title>
    <dc:date>2025-03-28T10:00:08+00:00</dc:date>
    <link>https://thisdavej.com/share-python-scripts-like-a-pro-uv-and-pep-723-for-easy-deployment/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[By adding metadata comments at the top of the script like this:

<pre>
#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.13"
# dependencies = [
#     "httpx>=0.28.1",
# ]
# ///
</pre>

uv(1) will automatically handle downloading dependency modules at runtime etc., obviating the need for a requirements.txt file. Fairly neat]]></description>
<dc:subject>python uv tools cli unix dependencies</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:6c174b7417f8/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:python"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:uv"/>
	<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:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dependencies"/>
</rdf:Bag></taxo:topics>
</item>
<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://rmoff.net/2025/03/14/kicking-the-tyres-on-the-new-duckdb-ui/">
    <title>Kicking the tyres on the new DuckDB UI</title>
    <dc:date>2025-03-14T14:55:22+00:00</dc:date>
    <link>https://rmoff.net/2025/03/14/kicking-the-tyres-on-the-new-duckdb-ui/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[DuckDB now has a built-in web notebook UI -- very nice]]></description>
<dc:subject>duckdb databases data notebooks graphing tools cli</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:5e68c7a5a821/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:duckdb"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:databases"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:notebooks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:graphing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/amarlearning/spot-optimizer">
    <title>amarlearning/spot-optimizer</title>
    <dc:date>2025-03-14T10:51:20+00:00</dc:date>
    <link>https://github.com/amarlearning/spot-optimizer</link>
    <dc:creator>jm</dc:creator><description><![CDATA["Spot Optimizer is a Python library that helps users select the best AWS spot instances based on their resource requirements, including cores, RAM, storage type (SSD), instance architecture (x86 or ARM), AWS region, EMR version compatibility, and instance family preferences.

It replaces complex, in-house logic for finding the best spot instances with a simple and powerful abstraction. No more manual guesswork — just the right instances at the right time."

Implemented as a Python lib and CLI tool.]]></description>
<dc:subject>aws spot-instances python ops cli tools</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:62552770139c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:spot-instances"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:python"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<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://rmoff.net/2021/03/04/quick-profiling-of-data-in-apache-kafka-using-kafkacat-and-visidata/">
    <title>kafkacat and visidata</title>
    <dc:date>2025-03-04T11:44:29+00:00</dc:date>
    <link>https://rmoff.net/2021/03/04/quick-profiling-of-data-in-apache-kafka-using-kafkacat-and-visidata/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Two excellent tools in one blog post.

Visidata "is a commandline tool to work with data in all sorts of formats, including from stdin"; in this example it's taking lines of JSONL and producing an instant histogram of values from the stream:

<blockquote>
Once visidata is open, use the arrow keys to move to the column on which you want to build a histogram and press Shift-F. Since it works with pipes if you leave the -e off the kafkacat argument you get a live stream of messages from the Kafka topic and the visidata will continue to update as messages arrive (although I think you need to replot the histogram if you want it to refresh).
</blockquote>

On top of that, there's kcat, "netcat for Kafka”, "a swiss-army knife of tools for inspecting and creating data in Kafka", even supporting on-the-fly decode of Avro messages. https://github.com/edenhill/kcat]]></description>
<dc:subject>kcat kafka streams visidata tools cli avro debugging</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:649ff04bd089/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:kcat"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:kafka"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:streams"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:visidata"/>
	<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:avro"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debugging"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://tracker.debian.org/news/1584883/accepted-util-linux-2402-11-source-into-unstable/">
    <title>write(1) no longer part of util-linux</title>
    <dc:date>2024-11-18T09:39:22+00:00</dc:date>
    <link>https://tracker.debian.org/news/1584883/accepted-util-linux-2402-11-source-into-unstable/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[util-linux (2.40.2-11) unstable; urgency=medium

  * The mesg(1) and write(1) programs are no longer provided.
    It is believed chatting between users is nowadays done using more
    secure facilities.

 -- Chris Hofstaedtler <zeha@debian.org>  Wed, 13 Nov 2024 12:58:06 +0100

Sic transit gloria mundi.

(via Doug on ITC Slack)]]></description>
<dc:subject>via:itc write mesg unix linux bsd util-linux cli debian</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:136cfd2e5846/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:itc"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:write"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mesg"/>
	<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:bsd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:util-linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debian"/>
</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://www.pgrs.net/2024/03/21/duckdb-as-the-new-jq/">
    <title>DuckDB as the New jq - Paul Gross’s Blog</title>
    <dc:date>2024-03-22T09:59:27+00:00</dc:date>
    <link>https://www.pgrs.net/2024/03/21/duckdb-as-the-new-jq/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[tl;dr: this works:

<pre>
% duckdb -c \
  "select license->>'key' as license, count(*) as count \
  from 'repos.json' \
  group by 1 \
  order by count desc"
</pre>

This is very cool.  I need to start looking into using `duckdb` as a go-to CLI tool.]]></description>
<dc:subject>duckdb cli linux unix json csv data sql querying</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:cd7c4f54c76b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:duckdb"/>
	<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:json"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:csv"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sql"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:querying"/>
</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="https://hypecycles.com/2023/01/25/hello-dynamodb-shell/?ck_subscriber_id=512829374">
    <title>ddbsh</title>
    <dc:date>2023-01-30T16:08:20+00:00</dc:date>
    <link>https://hypecycles.com/2023/01/25/hello-dynamodb-shell/?ck_subscriber_id=512829374</link>
    <dc:creator>jm</dc:creator><description><![CDATA['DynamoDB Shell (ddbsh) is an interactive CLI for Amazon DynamoDB', emulating an SQL-like command syntax, from AWS Labs]]></description>
<dc:subject>aws dynamodb cli tools unix sql</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:ab7f3bc25bcd/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dynamodb"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sql"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/manojkarthick/pqrs">
    <title>manojkarthick/pqrs</title>
    <dc:date>2023-01-10T11:00:01+00:00</dc:date>
    <link>https://github.com/manojkarthick/pqrs</link>
    <dc:creator>jm</dc:creator><description><![CDATA["Command line tool for inspecting Parquet files", replacement for parquet-tools, written in Rust. Now do Orc!]]></description>
<dc:subject>parquet tools cli unix rust</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:277d516385d4/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:parquet"/>
	<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:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:rust"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://buildkite.com/docs/pipelines/managing-log-output#collapsing-output">
    <title>Managing Log Output in Buildkite</title>
    <dc:date>2021-09-23T14:35:26+00:00</dc:date>
    <link>https://buildkite.com/docs/pipelines/managing-log-output#collapsing-output</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Nice, simple way to collapse long log streams into collapsable/hidable sections, from BuildKite]]></description>
<dc:subject>logging cli hacks buildkite streams</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:a1a18fc1571c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:logging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:buildkite"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:streams"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://dropbox.tech/infrastructure/boosting-dropbox-upload-speed">
    <title>Boosting Dropbox upload speed—and making Windows’ TCP stack resilient to network reordering - Dropbox</title>
    <dc:date>2021-05-18T22:04:37+00:00</dc:date>
    <link>https://dropbox.tech/infrastructure/boosting-dropbox-upload-speed</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Featuring an interesting dig into the current state of Windows system and network-level diagnostic tools:

<blockquote>netsh trace [...] correlates events on the wire with events that happen on the TCP layer, timers, buffer management, socket layer, and even the Windows asyncio subsystem (IOCP).</blockquote>

]]></description>
<dc:subject>windows tools cli networking dropbox iocp tcp ip internet kernel</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:9b45779da44f/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:windows"/>
	<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:networking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dropbox"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:iocp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tcp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ip"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:internet"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:kernel"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://tabula.technology/">
    <title>Tabula</title>
    <dc:date>2021-05-17T13:54:11+00:00</dc:date>
    <link>https://tabula.technology/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['Extract Tables from PDFs - If you’ve ever tried to do anything with data provided to you in PDFs, you know how painful it is — there's no easy way to copy-and-paste rows of data out of PDF files. Tabula allows you to extract that data into a CSV or Microsoft Excel spreadsheet using a simple, easy-to-use interface. Tabula works on Mac, Windows and Linux.']]></description>
<dc:subject>converter data pdf tools cli tabula tables csv extraction</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:d5b17972558b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:converter"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:pdf"/>
	<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:tabula"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tables"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:csv"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:extraction"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://harelba.github.io/q/">
    <title>q - Text as Data</title>
    <dc:date>2020-10-21T09:56:28+00:00</dc:date>
    <link>http://harelba.github.io/q/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['a command line tool that allows direct execution of SQL-like queries on CSVs/TSVs (and any other tabular text files). q treats ordinary files as database tables, and supports all SQL constructs, such as WHERE, GROUP BY, JOINs etc. It supports automatic column name and column type detection, and provides full support for multiple encodings.' Awesome!]]></description>
<dc:subject>csv database sql cli data tools unix tsv</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:bbf7da485984/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:csv"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:database"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sql"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tsv"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/BurntSushi/xsv">
    <title>BurntSushi/xsv</title>
    <dc:date>2020-01-23T14:23:37+00:00</dc:date>
    <link>https://github.com/BurntSushi/xsv</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>a command line program for indexing, slicing, analyzing, splitting and joining CSV files. Commands should be simple, fast and composable:

Simple tasks should be easy.
Performance trade offs should be exposed in the CLI interface.
Composition should not come at the expense of performance.</blockquote>

]]></description>
<dc:subject>rust csv cli tools data xsv command-line unix</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:222359044ad8/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:rust"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:csv"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:xsv"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:command-line"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://ulsoy.org/blog/experiencing-wsl-as-a-linux-veteran-part-1/">
    <title>Experiencing WSL as a Linux Veteran</title>
    <dc:date>2020-01-20T10:22:54+00:00</dc:date>
    <link>https://ulsoy.org/blog/experiencing-wsl-as-a-linux-veteran-part-1/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Sounds like they've done a great job at integration]]></description>
<dc:subject>linux windows wsl desktop unix cli</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:993f5487a928/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:windows"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:wsl"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:desktop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/dannyob/mblaze-much/blob/master/MANIFESTO.md">
    <title>mblaze-much/MANIFESTO.md</title>
    <dc:date>2018-09-17T10:22:05+00:00</dc:date>
    <link>https://github.com/dannyob/mblaze-much/blob/master/MANIFESTO.md</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Danny O'Brien's manifesto for an update of his notmuch-based mail setup.  watching with interest]]></description>
<dc:subject>email mail notmuch sup muas hacking unix cli mh</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:8c4b56acb5d7/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:email"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mail"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:notmuch"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sup"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:muas"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mh"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://medium.com/@airbagmoments/is-your-macos-wifi-groggy-after-sleep-ebf510011dd5">
    <title>Fixing Slow Macbook WIFI Reconnect after sleep – airbag moments</title>
    <dc:date>2018-08-26T21:36:14+00:00</dc:date>
    <link>https://medium.com/@airbagmoments/is-your-macos-wifi-groggy-after-sleep-ebf510011dd5</link>
    <dc:creator>jm</dc:creator><description><![CDATA[A command line hack to fix the common Macbook wifi problem where wifi won't reconnect after opening the lid without a manual reconnect]]></description>
<dc:subject>wifi macbooks mbp hardware apple hacks cli sleep</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:bc5211d141c6/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:wifi"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:macbooks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mbp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hardware"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:apple"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sleep"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://kevinkuchta.com/_site/2018/06/scarr/">
    <title>Scarr</title>
    <dc:date>2018-07-10T08:38:00+00:00</dc:date>
    <link>http://kevinkuchta.com/_site/2018/06/scarr/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[S3 + Cloudfront + ACM + Route53, automated.

<blockquote>There are a bunch of free/cheap options for hosting static sites (just html/css/js) out there: github pages, netlify, firebase hosting - but when I want to build a bulletproof static site "for real", my go-to toolset is S3 for hosting with Cloudfront caching in front of it.  I figured that after a few times doing this, I'd automate it. There are a few pre-existing tools for parts of this, but none I could find that did the whole thing from registration through uploading and Cloudfront invalidation.</blockquote>

]]></description>
<dc:subject>cli acm aws s3 cloudfront route53 static-sites web html hosting</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:70af85c43c37/</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:acm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:s3"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cloudfront"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:route53"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:static-sites"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:web"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:html"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hosting"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://confluence.atlassian.com/kb/how-to-change-jvm-arguments-at-runtime-to-avoid-application-restart-816682109.html">
    <title>How to change JVM arguments at runtime to avoid application restart</title>
    <dc:date>2018-06-06T15:27:52+00:00</dc:date>
    <link>https://confluence.atlassian.com/kb/how-to-change-jvm-arguments-at-runtime-to-avoid-application-restart-816682109.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[This is a super nifty feature of the JVM: turn on and off heap class histogram dumps at runtime, for instance.

<blockquote>java -XX:+PrintFlagsFinal -version|grep manageable</blockquote>

]]></description>
<dc:subject>jvm ops switches cli java heap-dumps memory debugging memory-leaks</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:b591a243dc1d/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jvm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:switches"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:java"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:heap-dumps"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:memory"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debugging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:memory-leaks"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://aws.amazon.com/blogs/opensource/parallelizing-s3-workloads-s5cmd/?__s=gf36pf8g1gjugcqh6ppo">
    <title>Parallelizing S3 Workloads with s5cmd</title>
    <dc:date>2018-04-24T09:32:46+00:00</dc:date>
    <link>https://aws.amazon.com/blogs/opensource/parallelizing-s3-workloads-s5cmd/?__s=gf36pf8g1gjugcqh6ppo</link>
    <dc:creator>jm</dc:creator><description><![CDATA[nice parallel download/upload tool for S3, developed by Peak Games, open source, in Go]]></description>
<dc:subject>golang go s5cmd open-source tools cli s3 aws</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:f4c403bb4c54/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:golang"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:go"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:s5cmd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
	<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:s3"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/tomnomnom/gron">
    <title>tomnomnom/gron</title>
    <dc:date>2018-04-04T15:54:38+00:00</dc:date>
    <link>https://github.com/tomnomnom/gron</link>
    <dc:creator>jm</dc:creator><description><![CDATA['Make JSON greppable!']]></description>
<dc:subject>json gron grep cli tools data hacking golang</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:4140b2ac1c28/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:json"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gron"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:grep"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:golang"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://rr-project.org/">
    <title>rr: lightweight recording &amp; deterministic debugging</title>
    <dc:date>2018-03-30T21:19:58+00:00</dc:date>
    <link>http://rr-project.org/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>aspires to be your primary C/C++ debugging tool for Linux, replacing — well, enhancing — gdb. You record a failure once, then debug the recording, deterministically, as many times as you want. The same execution is replayed every time.  rr also provides efficient reverse execution under gdb. Set breakpoints and data watchpoints and quickly reverse-execute to where they were hit.</blockquote>

(via Kevin Lyda and b0rk)]]></description>
<dc:subject>debug gdb mozilla debugging coding cli c++ c</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:934a17c302f6/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debug"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gdb"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mozilla"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debugging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:c++"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:c"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/99designs/aws-vault">
    <title>aws-vault</title>
    <dc:date>2017-11-02T10:52:57+00:00</dc:date>
    <link>https://github.com/99designs/aws-vault</link>
    <dc:creator>jm</dc:creator><description><![CDATA['A vault for securely storing and accessing AWS credentials in development environments'.

Scott Piper says: 'You should not use the AWS CLI with MFA without aws-vault, and probably should not use the CLI at all without aws-vault, because of it's benefit of storing your keys outside of ~/.aws/credentials (since every once in a while a developer will decide to upload all their dot-files in their home directory to github so they can use the same .vimrc and .bashrc aliases everywhere, and will end up uploading their AWS creds).']]></description>
<dc:subject>aws vault security cli development coding dotfiles credentials mfa</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:f4438dc6695a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:vault"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:security"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dotfiles"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:credentials"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mfa"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/jorgebastida/awslogs">
    <title>GitHub - jorgebastida/awslogs: AWS CloudWatch logs for Humans™</title>
    <dc:date>2017-08-13T20:27:54+00:00</dc:date>
    <link>https://github.com/jorgebastida/awslogs</link>
    <dc:creator>jm</dc:creator><description><![CDATA[This feature alone is a bit of a killer app:

<blockquote>$ awslogs get /var/log/syslog ip-10-1.* --start='2h ago' | grep ERROR</blockquote>

Nice.

]]></description>
<dc:subject>cli logging aws cloudwatch logs awslogs ec2</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:6870758defc9/</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:logging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cloudwatch"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:logs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:awslogs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ec2"/>
</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://github.com/saitoha/libsixel">
    <title>saitoha/libsixel: The new standard of SIXEL development</title>
    <dc:date>2017-04-06T15:37:36+00:00</dc:date>
    <link>https://github.com/saitoha/libsixel</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>SIXEL is one of image formats for printer and terminal imaging introduced by Digital Equipment Corp. (DEC). Its data scheme is represented as a terminal-friendly escape sequence. So if you want to view a SIXEL image file, all you have to do is "cat" it to your terminal.</blockquote>

Wow.  gif320 lives on!]]></description>
<dc:subject>cli graphics terminal dec vt320 vt300 sixel images</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:71d3d732b0ac/</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:graphics"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:terminal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dec"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:vt320"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:vt300"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sixel"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:images"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.brendangregg.com/USEmethod/use-linux.html">
    <title>USE Method: Linux Performance Checklist</title>
    <dc:date>2016-06-29T16:30:13+00:00</dc:date>
    <link>http://www.brendangregg.com/USEmethod/use-linux.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Really late in bookmarking this, but has some up-to-date sample commandlines for sar, mpstat and iostat on linux]]></description>
<dc:subject>linux sar iostat mpstat cli ops sysadmin performance tuning use metrics</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:c50f8a259903/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sar"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:iostat"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mpstat"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sysadmin"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:performance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tuning"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:use"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:metrics"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394">
    <title>#825394 - systemd kill background processes after user logs out - Debian Bug report logs</title>
    <dc:date>2016-05-27T13:55:11+00:00</dc:date>
    <link>https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Systemd breaks UNIX behaviour which has been standard practice for 30 years:

<blockquote>It is now indeed the case that any background processes that were still
running are killed automatically when the user logs out of a session,
whether it was a desktop session, a VT session, or when you SSHed into a
machine. Now you can no longer expect a long running background processes to
continue after logging out. I believe this breaks the expectations of
many users. For example, you can no longer start a screen or tmux
session, log out, and expect to come back to it.</blockquote>

]]></description>
<dc:subject>systemd ops debian linux fail background cli commandline</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:d99d1fdd3162/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:systemd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debian"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:fail"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:background"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:commandline"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/plainas/tq">
    <title>plainas/tq</title>
    <dc:date>2016-05-06T12:21:42+00:00</dc:date>
    <link>https://github.com/plainas/tq</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>command line utility that performs an HTML element selection on HTML content passed to the stdin. Using css selectors that everybody knows.  Since input comes from stdin and output is sent to stdout, it can easily be used inside traditional UNIX pipelines to extract content from webpages and html files.  tq provides extra formating options such as json-encoding or newlines squashing, so it can play nicely with everyones favourite command line tooling.</blockquote>

]]></description>
<dc:subject>tq linux unix cli command-line html parsing css tools</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:fb42425b50f5/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tq"/>
	<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:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:command-line"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:html"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:parsing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:css"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/raboof/nethogs">
    <title>raboof/nethogs: Linux 'net top' tool</title>
    <dc:date>2016-05-03T11:18:16+00:00</dc:date>
    <link>https://github.com/raboof/nethogs</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>NetHogs is a small 'net top' tool. Instead of breaking the traffic down per protocol or per subnet, like most tools do, it groups bandwidth by process.</blockquote>

]]></description>
<dc:subject>nethogs cli networking performance measurement ops linux top</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:f6ec84e30826/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:nethogs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:networking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:performance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:measurement"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:top"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://lbzip2.org/">
    <title>lbzip2</title>
    <dc:date>2016-03-08T12:03:43+00:00</dc:date>
    <link>http://lbzip2.org/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>a free, multi-threaded compression utility with support for bzip2 compressed file format.  lbzip2 can process standard bz2 files in parallel. It uses POSIX threading model (pthreads), which allows it to take full advantage of symmetric multiprocessing (SMP) systems. It has been proven to scale linearly, even to over one hundred processor cores.

lbzip2 is fully compatible with bzip2 – both at file format and command line level. Files created by lbzip2 can be decompressed by all versions of bzip2 and other software supporting bz2 format. lbzip2 can decompress any bz2 files in parallel. All bzip2 command-line options are also accepted by lbzip2. This makes lbzip2 a drop-in replacement for bzip2.</blockquote>

]]></description>
<dc:subject>bzip2 gzip compression lbzip2 parallel cli tools</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:4ee959464701/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bzip2"/>
	<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:lbzip2"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:parallel"/>
	<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/mooz/percol">
    <title>percol</title>
    <dc:date>2016-02-02T14:58:48+00:00</dc:date>
    <link>https://github.com/mooz/percol</link>
    <dc:creator>jm</dc:creator><description><![CDATA[interactive menu selection for the UNIX command line]]></description>
<dc:subject>cli linux unix grep menus selection ui interactive terminal</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:4ac43fd1cb5b/</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:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:grep"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:menus"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:selection"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ui"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:interactive"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:terminal"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://blog.cloudflare.com/tools-for-debugging-testing-and-using-http-2/">
    <title>Tools for debugging, testing and using HTTP/2</title>
    <dc:date>2015-12-10T14:06:56+00:00</dc:date>
    <link>https://blog.cloudflare.com/tools-for-debugging-testing-and-using-http-2/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[excellent, extensive list from Cloudflare]]></description>
<dc:subject>http http2 cloudflare tools cli ops testing debugging spdy</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:84b19c9ed138/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http2"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cloudflare"/>
	<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:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:testing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debugging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:spdy"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_tutorial.html#ECS_CLI_tutorial_compose_service">
    <title>Amazon ECS CLI Tutorial - Amazon EC2 Container Service</title>
    <dc:date>2015-10-27T12:38:29+00:00</dc:date>
    <link>http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_tutorial.html#ECS_CLI_tutorial_compose_service</link>
    <dc:creator>jm</dc:creator><description><![CDATA[super-basic ECS tutorial, using a docker-compose.yml to create a new ECS-managed service fleet]]></description>
<dc:subject>ecs cli linux aws ec2 hosting docker tutorials</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:f1f678ae8462/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ecs"/>
	<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:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ec2"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hosting"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:docker"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tutorials"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/AdRoll/hologram">
    <title>Hologram</title>
    <dc:date>2015-10-20T19:56:17+00:00</dc:date>
    <link>https://github.com/AdRoll/hologram</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>Hologram exposes an imitation of the EC2 instance metadata service on developer workstations that supports the [IAM Roles] temporary credentials workflow. It is accessible via the same HTTP endpoint to calling SDKs, so your code can use the same process in both development and production. The keys that Hologram provisions are temporary, so EC2 access can be centrally controlled without direct administrative access to developer workstations.</blockquote>

]]></description>
<dc:subject>iam roles ec2 authorization aws adroll open-source cli osx coding dev</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:5801a286921c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:iam"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:roles"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ec2"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:authorization"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:adroll"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
	<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:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dev"/>
</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="http://stackoverflow.com/questions/8180525/what-is-the-fastest-way-to-clone-a-git-repository-over-a-fast-network-connection/8180903#8180903">
    <title>What is the fastest way to clone a git repository over a fast network connection? - Stack Overflow</title>
    <dc:date>2015-09-18T09:11:01+00:00</dc:date>
    <link>http://stackoverflow.com/questions/8180525/what-is-the-fastest-way-to-clone-a-git-repository-over-a-fast-network-connection/8180903#8180903</link>
    <dc:creator>jm</dc:creator><description><![CDATA["git bundle create" -- neat trick]]></description>
<dc:subject>git distribution copying git-bundle cli</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:51b32493537b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:distribution"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:copying"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git-bundle"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/yudai/gotty">
    <title>GoTTY</title>
    <dc:date>2015-09-01T12:39:42+00:00</dc:date>
    <link>https://github.com/yudai/gotty</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>'a simple command line tool that turns your CLI tools into web applications'</blockquote>

]]></description>
<dc:subject>cli terminal web tools unix</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:aa3de372dbd7/</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:terminal"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:web"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://johnkerl.org/miller/doc/index.html">
    <title>Miller</title>
    <dc:date>2015-08-24T16:01:47+00:00</dc:date>
    <link>http://johnkerl.org/miller/doc/index.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>'like sed, awk, cut, join, and sort for name-indexed data such as CSV'</blockquote>

Written in "modern C" with zero runtime dependencies.  Looks great]]></description>
<dc:subject>cli csv unix miller tsv data tools</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:35e498e545ca/</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:csv"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:miller"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tsv"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<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="https://github.com/garnaat/kappa">
    <title>Kappa</title>
    <dc:date>2015-04-28T13:31:05+00:00</dc:date>
    <link>https://github.com/garnaat/kappa</link>
    <dc:creator>jm</dc:creator><description><![CDATA['a command line tool that (hopefully) makes it easier to deploy, update, and test functions for AWS Lambda.'  much needed IMO -- Lambda is too closed]]></description>
<dc:subject>aws lambda mitch-garnaat coding testing cli kappa</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:b5c7fbfe5ff1/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:lambda"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mitch-garnaat"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:testing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:kappa"/>
</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://alestic.com/2015/04/aws-cli-sns-lambda">
    <title>Subscribing AWS Lambda Function To SNS Topic With aws-cli</title>
    <dc:date>2015-04-14T10:03:26+00:00</dc:date>
    <link>http://alestic.com/2015/04/aws-cli-sns-lambda</link>
    <dc:creator>jm</dc:creator><description><![CDATA[how to use the AWS command line tools to do this]]></description>
<dc:subject>aws aws-cli cli lambda sns hacks</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:f2eed264e7ce/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws-cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:lambda"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sns"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/ggreer/the_silver_searcher">
    <title>Ag: faster than Ack</title>
    <dc:date>2015-03-22T09:01:30+00:00</dc:date>
    <link>https://github.com/ggreer/the_silver_searcher</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Some nice performance tricks; I particularly like the use of sljit:

<blockquote>Ag uses Pthreads to take advantage of multiple CPU cores and search files in parallel.
Files are mmap()ed instead of read into a buffer.
Literal string searching uses Boyer-Moore strstr.
Regex searching uses PCRE's JIT compiler (if Ag is built with PCRE >=8.21).
Ag calls pcre_study() before executing the same regex on every file.
Instead of calling fnmatch() on every pattern in your ignore files, non-regex patterns are loaded into arrays and binary searched.</blockquote>

]]></description>
<dc:subject>jit cli grep search ack ag unix pcre sljit boyer-moore tools</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:194df299d729/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jit"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:grep"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:search"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ack"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ag"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:pcre"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sljit"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:boyer-moore"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
</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="https://github.com/knsv/mermaid">
    <title>mermaid</title>
    <dc:date>2014-12-15T14:24:20+00:00</dc:date>
    <link>https://github.com/knsv/mermaid</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Generate graphs/flowcharts from text a la Markdown.  Pretty much identical to graphviz surely?]]></description>
<dc:subject>mermaid graphviz markdown cli open-source</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:9b17a7309a5a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mermaid"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:graphviz"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:markdown"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/giltene/wrk2">
    <title>wrk2</title>
    <dc:date>2014-11-10T15:45:50+00:00</dc:date>
    <link>https://github.com/giltene/wrk2</link>
    <dc:creator>jm</dc:creator><description><![CDATA['A constant throughput, correct latency-recording variant of wrk.  This is a must-have when measuring network service latency --  corrects for Coordinated Omission error:

<blockquote>wrk's model, which is similar to the model found in many current load generators, computes the latency for a given request as the time from the sending of the first byte of the request to the time the complete response was received.  While this model correctly measures the actual completion time of individual requests, it exhibits a strong Coordinated Omission effect, through which most of the high latency artifacts exhibited by the measured server will be ignored. Since each connection will only begin to send a request after receiving a response, high latency responses result in the load generator coordinating with the server to avoid measurement during high latency periods.</blockquote>]]></description>
<dc:subject>wrk latency measurement tools cli http load-testing testing load-generation coordinated-omission gil-tene</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:2c02e86f370b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:wrk"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:latency"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:measurement"/>
	<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:http"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:load-testing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:testing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:load-generation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coordinated-omission"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gil-tene"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/sferik/t">
    <title>sferik/t</title>
    <dc:date>2014-10-04T13:53:28+00:00</dc:date>
    <link>https://github.com/sferik/t</link>
    <dc:creator>jm</dc:creator><description><![CDATA["A command-line power tool for Twitter."  It really is -- much better timeline searchability than the "real" Twitter UI, for example]]></description>
<dc:subject>twitter ruby github cli tools unix search</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:05e76c4d31df/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:twitter"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:search"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.sysdig.org/">
    <title>sysdig</title>
    <dc:date>2014-04-04T12:01:42+00:00</dc:date>
    <link>http://www.sysdig.org/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>open source, system-level exploration: capture system state and activity from a running Linux instance, then save, filter and analyze.
Think of it as strace + tcpdump + lsof + awesome sauce.
With a little Lua cherry on top.</blockquote>

This sounds excellent. Linux-based, GPLv2.
]]></description>
<dc:subject>debugging tools linux ops tracing strace open-source sysdig cli tcpdump lsof</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:fc93efb68a74/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:debugging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tracing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:strace"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sysdig"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tcpdump"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:lsof"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/htcat/htcat">
    <title>htcat/htcat</title>
    <dc:date>2014-03-19T21:24:14+00:00</dc:date>
    <link>https://github.com/htcat/htcat</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>a utility to perform parallel, pipelined execution of a single HTTP GET. htcat is intended for the purpose of incantations like: htcat https://host.net/file.tar.gz | tar -zx

It is tuned (and only really useful) for faster interconnects: [....] 109MB/s on a gigabit network, between an AWS EC2 instance and S3. This represents 91% use of the theoretical maximum of gigabit (119.2 MiB/s).</blockquote>

]]></description>
<dc:subject>go cli http file-transfer ops tools</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:53a6bafa3863/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:go"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:file-transfer"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.mlsec.org/harry/">
    <title>Harry - A Tool for Measuring String Similarity</title>
    <dc:date>2014-01-20T15:43:05+00:00</dc:date>
    <link>http://www.mlsec.org/harry/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>a small tool for comparing strings and measuring their similarity. The tool supports several common distance and kernel functions for strings as well as some exotic similarity measures. The focus of Harry lies on implicit similarity measures, that is, comparison functions that do not give rise to an explicit vector space. Examples of such similarity measures are the Levenshtein distance and the Jaro-Winkler distance.
For comparison Harry loads a set of strings from input, computes the specified similarity measure and writes a matrix of similarity values to output. The similarity measure can be computed based on the granularity of characters as well as words contained in the strings. The configuration of this process, such as the input format, the similarity measure and the output format, are specified in a configuration file and can be additionally refined using command-line options.
Harry is implemented using OpenMP, such that the computation time for a set of strings scales linear with the number of available CPU cores. Moreover, efficient implementations of several similarity measures, effective caching of similarity values and low-overhead locking further speedup the computation.</blockquote>

via kragen.]]></description>
<dc:subject>via:kragen strings similarity levenshtein-distance algorithms openmp jaro-winkler edit-distance cli commandline hamming-distance compression</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:7f75587e4bd7/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:kragen"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:strings"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:similarity"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:levenshtein-distance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:algorithms"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:openmp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jaro-winkler"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:edit-distance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:commandline"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hamming-distance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:compression"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/joewalnes/websocketd">
    <title>websocketd</title>
    <dc:date>2013-12-10T11:46:13+00:00</dc:date>
    <link>https://github.com/joewalnes/websocketd</link>
    <dc:creator>jm</dc:creator><description><![CDATA['like inetd, but for WebSockets' -- 'a small command line tool that will wrap an existing command line interface program, and allow it to be accessed via a WebSocket. It provides a quick mechanism for allowing web-applications to interact with existing command line tools.'

Awesome idea. BSD-licensed. (Via Mike Loukides)]]></description>
<dc:subject>websockets cli server tools unix inetd web http open-source</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:075e7edebd6b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:websockets"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:server"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:inetd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:web"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.percona.com/doc/percona-toolkit/2.1/pt-summary.html">
    <title>pt-summary</title>
    <dc:date>2013-10-09T10:51:30+00:00</dc:date>
    <link>http://www.percona.com/doc/percona-toolkit/2.1/pt-summary.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[from the Percona toolkit.  'Conveniently summarizes the status and configuration of a server. It is not a tuning tool or diagnosis tool. It produces a report that is easy to diff and can be pasted into emails without losing the formatting. This tool works well on many types of Unix systems.'   --- summarises OOM history, top, netstat connection table, interface stats, network config, RAID, LVM, disks, inodes, disk scheduling, mounts, memory, processors, and CPU.]]></description>
<dc:subject>percona tools cli unix ops linux diagnosis raid netstat oom</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:d8e1ecb7c8bc/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:percona"/>
	<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:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:diagnosis"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:raid"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:netstat"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:oom"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://alestic.com/2013/08/awscli">
    <title>awscli</title>
    <dc:date>2013-08-27T17:10:08+00:00</dc:date>
    <link>http://alestic.com/2013/08/awscli</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>
The future of the AWS command line tools is awscli, a single, unified, consistent command line tool that works with almost all of the AWS services.  Here is a quick list of the services that awscli currently supports: Auto Scaling, CloudFormation, CloudSearch, CloudWatch, Data Pipeline, Direct Connect, DynamoDB, EC2, ElastiCache, Elastic Beanstalk, Elastic Transcoder, ELB, EMR, Identity and Access Management, Import/Export, OpsWorks, RDS, Redshift, Route 53, S3, SES, SNS, SQS, Storage Gateway, Security Token Service, Support API, SWF, VPC.  Support for the following appears to be planned: CloudFront, Glacier, SimpleDB.

The awscli software is being actively developed as an open source project on Github, with a lot of support from Amazon. You’ll note that the biggest contributors to awscli are Amazon employees with Mitch Garnaat leading. Mitch is also the author of boto, the amazing Python library for AWS.</blockquote>

]]></description>
<dc:subject>aws awscli cli tools command-line ec2 s3 amazon api</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:2fe380e54d3b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:awscli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<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:ec2"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:s3"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:amazon"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:api"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://packetpushers.net/pull-my-strings-im-your-puppet-juniper-bringing-devops-to-networking/">
    <title>Juniper Adds Puppet support</title>
    <dc:date>2013-08-27T14:46:59+00:00</dc:date>
    <link>http://packetpushers.net/pull-my-strings-im-your-puppet-juniper-bringing-devops-to-networking/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[This is super-cool.

'Network engineering no longer should be mundane tasks like conf, set interfaces fe-0/0/0 unit o family inet address 10.1.1.1/24. How does mindless CLI work translate to efficiently spent time ? What if you need to change 300 devices? What if you are writing it by hand? An error-prone waste of time. Juniper today announced Puppet support for their 12.2R3,5 JUNOS code. This is compatible with EX4200, EX4550, and QFX3500 switches. These are top end switches, but this start is directly aimed at their DC and enterprise devices. Initially, the manifest interactions offered are interface, layer 2 interface, vlan, port aggregation groups, and device names.'

Based on what I saw in the Network Automation team in Amazon, this is an amazing leap forward; it'd instantly render obsolete a bunch of horrific SSH-CLI automation cruft.]]></description>
<dc:subject>ssh cli automation networking networks puppet ops juniper cisco</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:dd0799ce4597/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ssh"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:automation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:networking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:networks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:puppet"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:juniper"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cisco"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://filipivianna.blogspot.ie/2011/11/more-trickery-with-gnuplot-dumb.html">
    <title>gnuplot's dumb terminal</title>
    <dc:date>2013-06-26T16:47:16+00:00</dc:date>
    <link>http://filipivianna.blogspot.ie/2011/11/more-trickery-with-gnuplot-dumb.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Turns out gnuplot has a pretty readable ASCII terminal rendering mode; combined with 'watch' it makes for a nifty graphing one-liner]]></description>
<dc:subject>gnuplot plotting charts graphs cli command-line unix gnu hacks dataviz visualization ascii</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:451c73017bad/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gnuplot"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:plotting"/>
	<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: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:gnu"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dataviz"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:visualization"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ascii"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/d2fn/shades-rb">
    <title>shades</title>
    <dc:date>2013-06-25T21:06:47+00:00</dc:date>
    <link>https://github.com/d2fn/shades-rb</link>
    <dc:creator>jm</dc:creator><description><![CDATA[A command-line utility in Ruby to perform (a) OLAP cubing and (b) histogramming, given whitespace-delimited line data]]></description>
<dc:subject>ruby olap number-crunching data histograms cli</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:7263c0dce1a0/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:olap"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:number-crunching"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:histograms"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://stedolan.github.io/jq/">
    <title>jq</title>
    <dc:date>2013-04-28T22:24:50+00:00</dc:date>
    <link>http://stedolan.github.io/jq/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>like sed for JSON data – you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.  [it] is written in portable C, and it has zero runtime dependencies. You can download a single binary, scp it to a far away machine, and expect it to work.</blockquote>

Nice tool.  Needs to get into the Debian/Ubuntu apt repos pronto ;)]]></description>
<dc:subject>jq tools cli via:peakscale json coding data sed unix</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:bae1379ee51d/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jq"/>
	<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:via:peakscale"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:json"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sed"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://knoopx.net/2011/10/28/os-x-lion-tweaks">
    <title>OS X Lion tweaks</title>
    <dc:date>2013-03-14T14:09:25+00:00</dc:date>
    <link>http://knoopx.net/2011/10/28/os-x-lion-tweaks</link>
    <dc:creator>jm</dc:creator><description><![CDATA[A bunch of magic command lines to set useful OS X prefs without pointy-clicky.  at least some also seem to work on Mountain Lion]]></description>
<dc:subject>tweaks lion mac reference cli mountain-lion macosx</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:24e9aa3cfea2/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tweaks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:lion"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mac"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:reference"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mountain-lion"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:macosx"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://twobitlabs.com/2011/08/install-diffmerge-git-mac-os-x/">
    <title>Using DiffMerge as your Git visual merge and diff tool</title>
    <dc:date>2013-03-14T12:40:52+00:00</dc:date>
    <link>http://twobitlabs.com/2011/08/install-diffmerge-git-mac-os-x/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[A decent 3-way-diff GUI merge tool which works with git on OSX.  "git config" command-lines included in this blog post]]></description>
<dc:subject>git merge osx mac macosx diff mergetool merging cli diffmerge</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:9f672847293a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:merge"/>
	<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:macosx"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:diff"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mergetool"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:merging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:diffmerge"/>
</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>
</rdf:RDF>