Distraction-free new tab

The web is full of distractions: adverts, news, social media, email. It can sometimes be hard to remember why you opened the browser in the first place. Even opening a new tab is distracting. You see bookmarks, a search box and frequently visited sites before you’ve even begun the task you went on the web for.

The power of a system

The power of a system comes more from the relationships among programs than from the programs themselves.

Eat food, not too much, mostly plants

This is my summary of the recommendations at the end of Unhappy Meals by Michael Pollan.

Running philosophy

You’ve got to slow down if you want to go further.

YNAB API: Get total amount paid to each payee

I created this little shell pipeline to help me see the total amount given to or received from people and companies using my data in YNAB.

Gloucester Cathedral

Some photos from a recent visit to Gloucester Cathedral.

In Ruby, #find_all and #select are different (for Hashes)

In Ruby, Hash#select returns a Hash whereas Hash#find_all returns an Array.

Using nokogiri with pry

I wanted a quick way to run some XPath selectors against a web page today. Nokogiri comes with a command line tool that you can pass a url and it will drop you into an IRB session. This allows you to play around with some Ruby code to explore a webpage before scraping it.

Web scraping with morph.io

If you’ve followed along my previous two blog posts, Web Scraping with Ruby and Advanced web scraping with Mechanize then you’ll now have the knowledge needed to write a basic web scraper for getting structured data from the web.

Advanced web scraping with Mechanize

In my last post I gave a basic introduction to web scraping with Ruby and Nokogiri. At the end of that post I mentioned that for more “advanced” scraping Mechanize was worth looking into.

Web Scraping with Ruby

Update Jan 22: Check out the next post in this series: Advanced web scraping with Mechanize.

Banana Bread

This recipe is an adaptation of How to cook perfect banana bread by Felicity Cloake. The original recipe makes great banana bread, but some of the quantities and instructions irk me. This is my slightly edited version so I can refer back to it in the future.

Beer

Our very first all-grain American IPA homebrew

Static http file server in Go

Go is a great language for building network based applications. It comes with some excellent tools for creating web-apps out of the box.

Raspberry Pi GPIO Hacking

I’ve been playing with my Raspberry Pi starter kit today. It comes with a clear plastic case for mounting the Pi onto, but as I’ve already got a case I’m just using the breadboard and the components that were supplied with the kit. As well as the breadboard the kit includes the following components:

Slow dotfiles

For a while now my shell has been taking a very long time to start up. It wasn’t so noticeable on more powerful machines, but on my late 2010 MacBook Air with “only” 2GB of RAM, it was very noticeable.

Removing code

If we wish to count lines of code, we should not regard them as “lines produced” but as “lines spent”: the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger. Edsger W. Dijkstra

Resque Rails Auth

Recently I found myself wanting to access the resque-web ui on a live application. I had considered just running resque-web as a separate process, but after reading this article I realised that I could mount resque directly in the router, awesome!

Test Driven Development Lifecycle

Start at the top level with a user requirement. This will ensure that you are trying to solve the right problem in the first place.

An introduction to node.js

I've only just got round to doing some coding with Ryan Dahl's great node.js project, although the project has been around for about a year now, so I've put together this short introduction to give you a taste of what node is about.

subscribe via RSS