November 2009
1 post
Christmas eBook Reader Recommendations
This list of ebook reader recommendations on Teleread is interesting food for thought: “There are no bad readers out there, at least as far as I have seen, so I don’t think you’ll go wrong no matter which one you choose” I wrote a big introduction to the world of ebooks back in May, and I still generally read on my iPhone. I’m looking forward to testing a Kindle now...
Nov 1st
September 2009
1 post
Kev's PSP Money Saving Idea
The PSP is about to go serious on digital distribution with the release of the UMD-less PSP Go.  This is great for convenience because you can buy games right from your PSP using the PlayStation Store.  However, what’s not great is the price of memory sticks. Here are the current prices on Amazon.co.uk: Memory Stick Pro Duo 2 8GB: ~£20 16GB: ~£50 Here are the prices for micro SD...
Sep 19th
1 note
August 2009
1 post
Review: Pinboard.in
Pinboard.in is a social bookmarking site by Maciej Cegłowski.  Here’s a few things you might like about it: The interface is incredibly simple and clean Your huge Delicious library will import quickly without hassle It has handy bulk processing features It has bookmarklets that work like Delicious Gmail-like starred status, and a read later flag Amazon S3 backups (with...
Aug 1st
July 2009
2 posts
How to Twitter
When Twitter was new a lot of people couldn’t figure out what to use it for.  The question What are you Doing? appeared to have no relation to the way popular people used it.  It’s an innocuous question that inspired and yet confused people.  However, because Twitter is so fundamentally simple — especially compared to other social networks — just about anyone could get...
Jul 15th
Inspirational Books
There’s a war on my shelves between design and programming books.  It’s interesting that the programming books look like programming books, whereas the design books are all totally different shapes and sizes.  Here’s a few of the design books that I keep close at hand. A Smile in the Mind I borrowed this book off a friend and wanted to keep quiet about the fact I still have it,...
Jul 6th
June 2009
6 posts
iPhone Survival Guide
I’m a first generation iPhone veteran and iPhone developer, and these are my hard-earned tips for you new 3GS users. Keyboard Tips Moving the cursor: hold your finger then drag the cursor to move it. You’ll get a magnifying glass effect so you can see it more clearly Copy and paste: hold the cursor similar to the above, then release it. A pop up menu will display copy and...
Jun 29th
Introduction to Git Part 2: Branches
This is the second part of Ric’s Introduction to Git series. Last time, he covered the basics; this time he’ll explain how to use branches and tags. This article was originally published on Ric’s Blog. Branches How Branches Work In git everything is treated like a branch, so they’re quick and easy to create and manage. Branching doesn’t involve copying the files into a new...
Jun 26th
1 note
Introduction to Git
This article is by Quite Useful contributor Ric Roberts. I’ve been using the version control system, git (along with GitHub) for a couple of months now, for my open source projects: grrid.js and Taskit. At Swirrl, we recently decided to take the plunge to start using git for our main code repository. With this series of blog posts, I hope to ease the transition from subversion (or sourcesafe,...
Jun 22nd
Review: MinuteBase
MinuteBase is a web application designed for planning meetings and writing up minutes.  It helps focus meetings with an agenda, and provides lots of ways of collecting notes and other related information. Each meeting can have several attendees, and they can be added as users to your MinuteBase account.  This makes MinuteBase a good tool for communicating agendas before meetings to help keep...
Jun 12th
1 note
Review: Ringer
Ringer is a small Mac app made by Pixel Research Labs that helps you create ring tones for iPhones.  It’ll read any unprotected audio or video file. It automatically adds a quick fade in and out, so tracks will sound right without much effort.  You can change the length of the snippet you want, and add a gap between rings.  Ringer automatically detects the volume too, so quiet or loud...
Jun 11th
Review: Figure Out When
Figureoutwhen.com is a tiny service for organising dates.  It works like this: Enter a title for an event Click the dates you’re not available Send the link to friends you want to invite They click the dates when they aren’t available Everyone can see when they’re not free, thus allowing you to figure out when to schedule an event. It’s an incredibly simple tool,...
Jun 2nd
May 2009
11 posts
JsChat
JsChat is a simple open source realtime chat protocol based on JSON.  There’s a server and console and web clients.  It’s developed by the Quite Useful authors.  Download it from my GitHub repository: github.com/alexyoung/jschat, and read more at the JsChat Blog. Web Client Most people who have tried JsChat think it’s all about the web client, but this is only a proof of...
May 28th
Beautiful Algorithms 3: Gravity
This series of articles explores using basic physics and mathematics to simulate balls bouncing.  The examples are written with Ruby and Shoes. I’ve been working on the 2D version of the previous example for 3 days now, and I haven’t got it to a point where it’s clear enough yet.  However, I realised I was trying to cram too much into one article.  Instead, this part focuses on...
May 20th
Quite Useful Weekly Roundup
This week we posted the first of a new series of Beautiful Algorithms articles: Collisions.  We also posted about eBooks and a web app called Orchestrate. Twitter Summary TeleRead is a great blog about eBooks.  They post regularly, and write about hardware readers, formats, sites that sell/host eBooks. 6 Tips To Get Your App Noticed has some ideas for marketing your iPhone apps. Wiimote...
May 17th
Beautiful Algorithms 3: 1D Collisions
“1D Collisions” might sound a little bit strange, but the goal of Beautiful Algorithms 3 is to explore algorithms for collision physics.  Collisions in 2 or 3 dimensions are naturally more complex than a single dimension, so let’s look at this first.  I’ll explain what mathematics and physical laws are required (don’t worry, you understood all of this when you...
May 15th
Beautiful Algorithms 3: Balls
Beautiful Algorithms 3 is going to be about simple physics.  These examples will be written with Ruby Shoes, and will demonstrate how to simulate bouncing balls and collisions. The easiest way to model bouncing is to go back to basics with high school physics.  Start off with 1D collisions, then add the second dimensions, then apply gravity. The first post in this series will be posted...
May 14th
eBooks
You’ve probably seen the Kindle, Amazon’s reading device.  I live in the UK, and I have massive Kindle envy because Amazon don’t sell it outside of the US.  That doesn’t mean we all need to wait for Amazon to launch localised Kindles, however.  eBooks have been with us for a long time: Project Gutenberg’s founder Michael Hart has been exploring eBooks since 1971.  I...
May 12th
Web App Review: Orchestrate
Orchestrate is a web application made by Elevensoft, who are based in the UK.  It’s designed to manage tasks for projects.  What makes it unique is the focus on scheduling conflicts and qualification management. Orchestrate has a clean interface, similar to Lighthouse or Basecamp: the main page body is used to display information and forms, whilst the sidebar is used to issue commands or...
May 11th
1 note
Quite Useful Weekly Roundup
This week we posted a selection of command line time savers, the source code for a Ruby Twitter scheduler, and a review of online collaboration service Woobius. Twitter I was having a bit of fun with mashups this week, so I posted a link to DJ Lobsterdust who makes some incredibly witty and skilled tracks.  If you like that, it’s worth checking out Girl Talk too. A lot of Twitter/Digg...
May 10th
Mind Blowing Command Line Time Savers
Whether you’re an old skool unix hacker or a Mac user who uses Terminal regularly, there’s lots of ways to save time on the command line.  I’ve mentioned a few of the following tips on twitter.com/quiteuseful, but I thought it’d be handy to collect them all here. Bash !! - repeats the last command history n - shows the last n things you’ve typed My favourite...
May 8th
Review: Woobius
Woobius is a web app aimed at architects and engineers, designed to enable them to collaborate online.  The main features are: Drop box - Quickly share files with colleagues Vault - Manage formal documents, track changes to them, and issue documents to colleagues with an expiration date Companies - Give your clients access Dashboard - Get an overview of activity Workflow The workflow...
May 7th
Twitter Scheduler
In Delicious Twitter Sync I talked about one of the open source tools we use to run Quite Useful.  Another script I’ve written to help out is twitter-scheduler.  This one allows you to schedule tweets on the command line. I use this to schedule up interesting tweets so they’re evenly distributed throughout the day.  We try to post on the hour between around GMT 10am and 7pm. Usage To...
May 5th
April 2009
20 posts
Delicious Twitter Sync
Quite Useful has a Delicious account which we use to share links we post to twitter.com/quiteuseful.  I wanted to sync up our Twitter link posts with Delicious, so I wrote a script to do the job. The script will download a Twitter account’s recent posts, find links, and tag links based on hashtags — which is why our Twitter posts almost always have a generous helping of hashtags. ...
Apr 29th
Quite Useful Weekly Roundup
This week we featured a Beautiful Algorithms series: Tunnels Part 1, Part 2.  The rubyisation of the demoscene continues!  I also wrote about how to build a Growl app in Objective-C for Mac OS. Useful Tweets RemotePad for iPhone is an open source computer controller.  Interesting for iPhone developers, but useful too. Canary is an open source Mac Twitter client. TwitterSnooze lets you quieten...
Apr 25th
How to Make a Growl App
I made a little Objective-C growl app the other day (Deadline for Mac).  It started as an idea I had on Saturday afternoon, and ended up being a finished product by Sunday night.  Working with Growl is surprisingly simple! This is a short tutorial on how to build your own Mac app that uses Growl.  You’ll need Apple’s developer tools installed and some familiarity with Xcode. ...
Apr 23rd
Beautiful Algorithms 2: Tunnels (Part 2)
This is Part 2 of the Tunnels tutorial, Part 1 can be found here: Beautiful Algorithms 2: Tunnels. Note: The code examples in this article might not appear in your feed reader. Lookup Tables Lookup tables are basically arrays of values.  Referring to elements in an array is faster than calculating them.  Doing this in Ruby is almost as simple as: 100.times.collect { |i| Math.sin i * (Math::PI /...
Apr 21st
Beautiful Algorithms 2: Tunnels
I spent weeks trying to reproduce dot tunnel effects on my Amiga back in the 90s.  Demo groups used to get thousands of points animated as complex 3D shapes and tunnels, but their techniques were way beyond me.  This tutorial introduces one such effect, and a few common techniques programmers use to improve performance. For a video of the effect, check out my tunnel screencast. This tutorial...
Apr 20th
Quite Useful Weekly Roundup
I started the Beautiful Algorithms tutorial series this week.  The first algorithm is fire, a cool graphical effect that’s actually easy to understand and create: Part 1, Part 2.  I also wrote about Git GUIs because I’ll be referring to Git more often in my programming tutorials.  Ric contributed a post about knowledge management and Swirrl. Twitter Stuff Avoiding iPhone App Rejection...
Apr 18th
Git GUIs
In my Let’s Make a Game tutorial, I mentioned that my code could be downloaded with Git from GitHub.  I’m going to use Git for all of my tutorials on Quite Useful, so it’s worth getting familiar with it. This post briefly reviews a few GUIs for Git, for those of you who don’t like the command line. GitX GitX is for Mac OS and is both free and open source.  It’s a...
Apr 17th
Swirrl: Quite Useful Knowledge Management
This post is by Ric Roberts, a developer at Swirrl who also contributes to Quite Useful. Knowledge Management for Productivity If a question about general knowledge comes up in conversation, it’s easy to immediately look it up on the web on your laptop or iPhone.  If you’re watching a film and you can’t place where else you’ve seen one of the actors, you can instantly look...
Apr 16th
Beautiful Algorithms 1: Fire Part 2
Yesterday I introduced Processing and Ruby Processing in Part 1.  This part is the meat and potatoes of the tutorial: the fire algorithm and the Ruby that generates it. The Algorithm You can watch a screencast of the fire algorithm in action here: fire-processing-rb.  It looks like a sophisticated animation: waves of fire rise up from the bottom of the window at different angles and gradually get...
Apr 15th
Beautiful Algorithms 1: Fire
In this two-part article we’re going to use Ruby to make a fire animation.  It’ll look like this: In my previous Ruby tutorial, Let’s Make a Game, I explained how to use Ruby and Shoes to make a game.  Another way to get graphics on the screen in Ruby is to use Processing. Note: Code examples require JavaScript to run, so please view this article in your browser rather than a...
Apr 14th
Quite Useful Weekly Roundup
This week I concluded the Let’s Make a Game Series.  I also announced the start of a new series, Beautiful Algorithms, in which I’ll discuss beginner-friendly graphical algorithms alongside examples from the history of computer graphics. I’m going to take Monday off, so you’ll see Beautiful Algorithms start on Tuesday. Twitter Summary Developer cdargs has made a big...
Apr 11th
Beautiful Algorithms
I enjoyed writing the Let’s Make a Game Series, so I’m thinking about a followup with a guide for writing Pacman or Space Invaders.  In the meantime, I’d like to start a new recurring series called Beautiful Algorithms. This new series will explain how to write graphical effects.  I’m going to stick to Ruby or possibly JavaScript — languages with simple syntax that...
Apr 10th
Let's Make a Game: Wrap Up
In this tutorial series I explained how to build a version of the game Snake. Part 1: Covers installation of Shoes and explains how the snake moves and how to control it with the keyboard Part 2: Basic collision detection, eating food to make the snake longer Part 3: Collision detection for bricks and the snake, stopping the main animation when the snake crashes Part 4: Handling...
Apr 9th
1 note
Let's Make a Game 5: Sounds
Shoes doesn’t have great audio support right now, but it ships with multimedia capabilities provided by the VideoLAN and ffmpeg libraries. To use audio, use the video keyword with a wav or mp3.  You can hide the resulting video object so it won’t take up layout space.  One limitation of audio playback is you only have a single stereo channel, which means you can’t multiplex...
Apr 8th
Let's Make a Game 4: Scores and Death
Note: Remember to view this article on Quite Useful’s site in case you can’t read the code examples. The snake game we’ve been building over the last 3 articles is still pretty basic.  The player can’t restart a game, there’s no score, food doesn’t reappear, and the snake can slither off the screen. If this is the first part you’ve read, check out Part 1...
Apr 7th
Let's Make a Game 3: Rules
This is Part 3 of the Let’s Make a Game series.  In Part 1 I explained how to get started with Ruby and Shoes and built a basic snake, and in Part 2 I added food. Remember to view this on Quite Useful rather than in your feed reader (in case code examples don’t appear!) This part shows how to add more complex rules to the game using collision detection.  Collision detection is used...
Apr 6th
Quite Useful Weekly Roundup
This week I started a new series called Let’s Make a Game.  I’ll be continuing this series next week, with posts about how to add rules and maps to the game. We also published a series on open mapping technology: Introduction, OpenStreetMap and OpenLayers. Here’s the Twitter roundup. Social TweetChat makes Twitter feel more like a chat room, grouping posts based on hashtag. ...
Apr 4th
Let's Make a Game 2: Food
This article is part 2 of our Let’s Make a Game series.  Remember you’ll need to view this on the site rather than your feed reader in case the code examples don’t appear. Today I’m going to show you how to add a game board and food: This tutorial is a little bit shorter than the previous one because I’m attending GitLondon!  Message me on Twitter (@alex_young or...
Apr 3rd
Let's Make a Game
This tutorial series will show you how to make a game.  The game will be: A version of Snake Cross platform (Windows, Mac, Linux) Written in Ruby Please remember to visit this article on our site rather than in your feed reader to get the code examples. Cross Platform Games There aren’t many ways to easily write cross platform GUI applications, let alone games.  Rather than use Adobe...
Apr 2nd
Introduction to OpenLayers
This is the third part of my open source mapping series.  See Part 1 for an overview of open mapping technologies, and Part 2 for details on running OpenStreetMap. In this part I’m going to explore the basics of OpenLayers.  OpenLayers allows you to put a dynamic map on any web page, and displays map tiles loaded from various sources.  It can also draw vector shapes on maps, and plot...
Apr 1st
March 2009
26 posts
Introduction to Building Apps with OpenStreetMap
OpenStreetMap is an open source initiative that offers similar technology to Google Maps.  To really get the most out of OSM you should start by running the server locally and checking out their code. Running OpenStreetMap The frontend for OpenStreetMap is a Ruby on Rails application.  OSM refers to this as The Rails Port, and they have detailed documentation for installation. It depends on...
Mar 31st
Open Map Technology
Google Maps is an incredible piece of technology.  The API are easy to learn and naturally enhance many kinds of projects.  However, there are several reasons to use other technologies: special agreements are required for corporates, high traffic sites and private sites. Google’s terms and conditions might not always pass your company’s legal department.  In cases where you want full...
Mar 30th
Quite Useful Weekly Roundup
This week we published a summary of all our features over the past few months.  There’s everything from media centre tips to hacking websites with screen scraping.  We also tracked the memory performance of several popular Twitter clients — useful information if you leave Twitter in the background all day! We also reviewed Streamy, a new social networking site that brings together...
Mar 28th
Review: Streamy
Streamy aims to bring your social networks together in one place, and give recommendations based on your “personal interest profile.” There’s a video that summarises Streamy’s main features: About Streamy.  The track in the video is Iz-Us by Aphex Twin — they’ve clearly got good taste, but I hope they’ve got permission to use that music! Setup ...
Mar 27th
Quite Useful Features
We’ve published several features since the start of Quite Useful, so I’ve added a sidebar on the blog to make it easier to find them.  Here’s a guide in case you’ve missed any. Backups The backup series started off with tips on how to backup your social network content.  We also featured guides on iPhone backups, online backups (with a mini Automator tutorial), time...
Mar 26th
Screen Scraping: Cookies, Headers
This is a follow-up to yesterday’s article, An Introduction to Screen Scraping.  I’m going to show you the basics behind reverse engineering headers and cookies. Note: These posts might not display the examples in your feed reader, so try visiting Quite Useful in a browser to see them. HTTP POST Some sites only accept a POST for a particular form.  The example I used yesterday used...
Mar 25th
An Introduction to Screen Scraping
Screen scraping is a technique for using software to grab data from websites.  Many websites we use everyday are poorly designed and difficult to use, just look at most Internet Banking sites.  Fortunately, programatically accessing information on these sites can be relatively easy. Toolkit The essential elements of a screen scraper’s toolkit are: Firebug, the Firefox plugin...
Mar 24th
Twitter Client Memory Usage
I run a Twitter client in the background permanently, and I started to wonder how much memory it used.  I heard TweetDeck uses a lot of memory, so I decided to compare the top Mac clients. I set the clients up with the same account which has these stats: 140 following, 158 followers, 744 updates. Each of the clients was running for 12 hours. EventBox EventBox currently costs $15 and is made...
Mar 23rd