docker fish completion

Command completion for docker in the fish shell

I’ve just released a handy completion definition for the fish shell.

fish?

Fish whilst not as popular as zsh/bash is a far better shell. Make the switch ;-)

install docker completion

$ mkdir ~/.config/fish/completions
$ wget https://raw.github.com/barnybug/docker-fish-completion/master/docker.fish -O ~/.config/fish/completions/docker.fish

example

% docker run -[TAB]
--attach          (Attach to stdin, stdout or stderr.)
...

% docker run -t -i [TAB]
    busybox:latest             (Image)
    ubuntu:12.04               (Image)

% docker run -t -i busybox:latest
/ #

Betting on the Twitter stream with Elasticsearch and Kibana

Sentiment analysis, Elasticsearch and Kibana The idea From the Twitter streaming API grab tweets for a live TV show whilst it’s showing, classify by contestant, analyze sentiment and provide a real-time dashboard into the outlook. Try to predict good bets on the winners. Optional: Gamble. :-) The tools Grabbing the data: Scala and the twitter4j Java library Sentiment analysis: SentiStrength Search engine: Elasticsearch Dashboard: Kibana (also from the Elasticsearch guys) The show I picked the final of the BBC’s “Strictly Come Dancing” in the UK. [Read More]

Dynamic DNS for EC2 instances

The problem Booting instances on EC2 is easy. But once it comes to connecting to them, you end up having to copy around transient and unwieldy ec2-....compute.amazonaws.com host names. So you manually set up a CNAME in your DNS to give the instance a friendly name, but as soon as you stop and restart the instance, the ec2 name has changed so your DNS record needs updating. Rapidly gets tedious! [Read More]
aws  ec2  route53  dns  dyndns 

Finding related searches with Spark

Unsupervised learning from user behaviour When a user navigates a site they leave a valuable trail of information - what their first search was, what they followed this search with, and so on. Using this data we can learn related searches automatically by co-occurrence counting. This post takes you through the steps to get from raw search logs to results using the Spark cluster computing framework. Spark provides a natural processing language for flows of data, and can be scaled up to clusters when data growth dictates. [Read More]

Scala Future and the Elasticsearch Java API

Most examples of the Elasticsearch Java API you’ll have seen follow the prepare/execute/actionGet pattern (in Scala): val response = client.prepareIndex("twitter", "tweet", "1") .setSource(jsonBuilder() .startObject() .field("user", "kimchy") .field("postDate", new Date()) .field("message", "trying out Elastic Search") .endObject() ) .execute() .actionGet() This blocks in actionGet(). If you’re developing in a reactive environment (eg. Akka or Play), blocking is a no no. And even if you’re not, it’s a win to be able to avoid blocking so you can parallelize indexing to eek out the best performance. [Read More]

Spark and Elasticsearch

Elastic Sparkle If you work in the Hadoop world and have not yet heard of Spark, drop everything and go check it out. It’s a really powerful, intuitive and fast map/reduce system (and some). Where it beats Hadoop/Pig/Hive hands down is it’s not a massive stack of quirky DSLs built on top of layers of clunky Java abstractions - it’s a simple, pure Scala functional DSL with all the flexibility and succinctness of Scala. [Read More]

cli53

Command line script to administer the Amazon Route 53 DNS service.

quick example:

$ cli53 create example.com
$ cli53 import example.com --file zonefile.txt
$ cli53 rrcreate example.com www A 192.168.0.1 --ttl 3600

install:

$ pip install cli53

Find me on github or pypi.

Cloudily

Command line tool to visualize your EC2 infrastructure [Read More]