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 comes more from the relationships among programs than from the programs themselves.
This is my summary of the recommendations at the end of Unhappy Meals by Michael Pollan.
You’ve got to slow down if you want to go further.
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.
Some photos from a recent visit to Gloucester Cathedral.
In Ruby, Hash#select returns a Hash whereas Hash#find_all returns an Array.
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.
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.
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.
Update Jan 22: Check out the next post in this series: Advanced web scraping with Mechanize.
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.
Our very first all-grain American IPA homebrew
Go is a great language for building network based applications. It comes with some excellent tools for creating web-apps out of the box.
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:
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.
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
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!
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.
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