Toby Osbourn

I am a Ruby and JavaScript engineer from Belfast living in London.

I hope you enjoy my articles, if you have any questions please feel free to comment on them or contact me using the links in the footer.

Latest Posts

Please enjoy my three latest posts

Ruby Ramblings

For several years now Ruby has been my backend language of choice, here are articles that relate to my favourite programming language.

JavaScript Jollies

Like anyone who has spent time working on the internet I have cause to get my hands dirty with JavaScript regularly. Hopefully you will enjoy what I have to share on the matter.

Writing Woes

Something I am always trying to get better at is writing. In this section I share the tips and tricks I have learned over the years of writing on the internet and for publications.

Raving Reviews

My first taste of writing was reviewing Metal bands, and I never really stopped. Here I normally review tech and tech books.

Marketo Musings

I use the Marketo API quite frequently, normally with Ruby, here are my tips and thoughts on it.

Personal Ponderings

Since this is my personal blog it is hardly surprising that sometimes I write about personal topics.

Server Basics

I wanted to write up a selection of articles covering really basic server stuff, most posts assume little or no prior knowledge. I hope you find them useful.

Everything Else

Here is everything that I haven't put into its own category yet. As I get more oranised this list should shrink!

  1. What to do when things go wrong
  2. The EU Cookie Law
  3. Using Slack as part of the GTD capture stage
  4. Recursion
  5. Introducing Simple CS
  6. CSS
  7. Stopping your wireless from turning off on your Raspberry PI
  8. Loading a specific file into Dotenv
  9. Now
  10. Steps for replacing an SSL certificate
  11. See what disk space is left on your Linux web server
  12. Review Pibow Zero
  13. The SSH Command
  14. Grep flags that I like
  15. How to overcome thinking that no one will find your posts useful
  16. 10 Percent
  17. Viewing what is running on the server
  18. How does Capistrano work?
  19. Debriefing Development Teams
  20. Art & Math & Science, Oh My!
  21. Setting up Moat and DFP
  22. Omnifocus Custom Columns
  23. Notes from LRUG
  24. Pictures from LRUG Nov ‘15
  25. Safari Extensions I am using
  26. What I have learned about roadmaps
  27. My Short-lived Newsletter
  28. Speeding up accessing Safari’s URL bar on El Capitan
  29. Meteor @dev was not detected
  30. I am starting a fortnightly email list
  31. The steps I take before a large backup on the Mac
  32. Setting up the Windows 200 Wired keyboard on the Mac
  33. Udemy Fail
  34. Adding Alt tags to images using image_tag in Rails
  35. Breathing new life into an older Mac
  36. Finding new people on Chatter
  37. Review: BubbleSort – How do Calculators Even
  38. What is a Gemfile
  39. Finding the List ID for the Marketo API
  40. Adding skip_after_filter to Rails Admin
  41. Checking for both versions of Google Analytics with JavaScript
  42. Tracking Ctrl+F events in Google Analytics
  43. Key code for Command on OS X
  44. Join the Anthony Nolan Register
  45. Uploading files with Capybara in Rspec tests
  46. An experiment in highlighting words
  47. The difference between Render and Redirect in Rails
  48. Quality of your Input and Output
  49. Mastering Your Tools
  50. Mac Productivity Workshop
  51. The iPhone is my main content creation computer
  52. A simple guide to how computers work for idiot redditors
  53. Lets talk vasectomies
  54. Mac Apps I use to say productive
  55. Some of my favourite mac shortcuts
  56. Up the tracking speed on your mouse
  57. Hiding the dock for fun and profit
  58. What is a Proc?
  59. Raspberry Pi for Secret Agents
  60. Getting HTTP Status Codes from the Command Line
  61. Custom Routing of Github emails
  62. HTTP Status Codes for SEO
  63. iTerm2 Tricks
  64. Deleting Attachments with rails_admin
  65. Scrutiny5
  66. You can’t use the webcam on OS X without having a Photo Booth Library?!?!
  67. Never assume your wage is safe.
  68. Adding Descriptions to Pages with Jekyll
  69. iPhone photos not freeing up space when deleted
  70. Speeding up the internet on OSx Yosemite
  71. Come play Codewars with me
  72. What a Developer can take away from SEO Now 2015
  73. I love programming
  74. My first screencast
  75. Good Habits for Student Developers – Documentation
  76. Lightening Talk on Schema
  77. A Pragmatic Approach to adding Schema
  78. Updating a Slug on a live Rails System
  79. Katrina Owen – Here be Dragons
  80. Robert Wint – Using Content to Improve the Customer Journey
  81. Patrick Jubb – Re-building the Marketing Department to be Fit for the Future
  82. Martin Trickey – Do we Tell Stories Differently Now?
  83. Mark Elkins – From Passion to Purchase
  84. Kerensa Samanidis – Breaking in to the online video market
  85. Chief Digital Officer Summit London - Day 1 Morning
  86. Ana Serrano – Digital Transformation & Continuous Innovation
  87. Amanda Neylon – The Importance of Focusing on Social Strategy
  88. Ruby’s Partition for Enumerables
  89. Getting Money out of Uganda
  90. First week at Innovation Enterprise
  91. POODIR On Testing
  92. Good habits for student developers – Time Keeping
  93. 365 posts - 3 month update
  94. Creating an iOS application in 5 minutes using Meteor.
  95. What to do when refactoring a large codebase without tests
  96. What I would look for in a junior developer
  97. How the technical direction of a project can be influenced
  98. Sed fun on OSx
  99. New Website
  100. Innovation Enterprise
  101. Squash br inside contenteditable
  102. Good Habits for Student Developers - Backups
  103. Facebook's Anonymous Login
  104. CSS last-of-type as a fix for last-child in Ember applications
  105. Rails Migrations for Beginners
  106. Using Monodraw for fun tweets
  107. CreepedIn
  108. A beginners guide to ARIA
  109. Getting Rid of Vintage Belfast – Do you want it?
  110. Set Intersection in Ruby
  111. Tosbourn has a facebook page
  112. Please don't actually use Retweet and Favourite for polls on Twitter
  113. Hearthstone APIs
  114. My thoughts on the latest TechHubTuesday Demo Night
  115. Podcasts I am enjoying – An update
  116. Some useful resources for generating content ideas
  117. Divs still have their place
  118. My time at Buffer wasn't great
  119. My 365 blog post project 1 month in
  120. Making an app in just over an hour with Meteor and Heroku
  121. My highlights from On the Shortness of Life by Seneca
  122. The correct way to markup an image and caption in HTML
  123. View Markdown Files in your Terminal
  124. Some stumbling blocks I hit following my first Swift tutorial
  125. Quick Semantic Wins
  126. Accessibility and SEO are tightly linked
  127. How I am using Omnifocus
  128. My Birthday Haul
  129. What the header element can be used for
  130. Review: A Web for Everyone: Designing Accessible User Experiences
  131. Gender Neutral Swear Words
  132. Every developer makes mistakes all the time
  133. Backblaze is part of a great backup solution
  134. A rough guide I am going to try and follow for blog posts
  135. Imagine your RAM was erroring
  136. 365 Articles in 2015
  137. Backup of Making Your Website Pay for Itself
  138. My Wedding Speech
  139. Review: Abraham Lincoln: Presidential Fuck Machine
  140. Some notes and links on websockets with rails
  141. Podcasts I am currently enjoying
  142. Great content has no shelf life
  143. Please stop using features by testing for browser
  144. Kill off any process on a particular port - An explaination
  145. Space Invaders
  146. Nokogiri won't install? Check that you have accepted Xcode's EULA
  147. WhiteHat Aviator Phoning Home?
  148. Converting numbers to hex using to_s in Ruby
  149. Backing up an s3 bucket to another s3 bucket
  150. Force a CSV download from a WordPress Plugin
  151. Nav Elements, not just ul wrappers
  152. Marketing is More Important than Your Code
  153. Generate Content Regularly
  154. The ways I have made Sites Pay for Themselves
  155. How Much Does Your Website Cost You?
  156. Review: PiFace Control and Display
  157. Review: Raspberry Pi Camera Board
  158. Mid-2011 27" i5 iMac for Sale in Belfast
  159. Running VimR From the Command Line
  160. VimR - A first look
  161. Turning off the PiFace Control and Display
  162. I fucked up
  163. Derek Johnson talking about Modern Web Design
  164. Tools I Use When Blogging
  165. How many people should be on my email list before I send the first email?
  166. Review: HTML5 Game Development Hotshot
  167. Review: Node.js Blueprints
  168. Review: Penetration Testing with the Bash Shell
  169. Kali Linux 32 bit mini ISO getting stuck on samba
  170. Raspberry Pi B+ Webinar
  171. Advertising in China
  172. Get the name of a Ruby class
  173. Belfast Bloggers 3rd Meetup
  174. My face - on a stamp!
  175. Review: Raspberry Pi Server Essentials
  176. Review: Raspberry Pi Robotic Projects
  177. Packt Publishing
  178. Why thinking small helps create software that lasts.
  179. Removing "Protected:" and "Private:" from WordPress posts
  180. Copy and Rename multiple files in Linux
  181. The worst thing you can do for your productivity
  182. Resources for making your website pay for itself.
  183. Not able to cd or ls into drive mounted by s3fs
  184. I decided to write a book on making your website pay for itself.
  185. What App.reset() does in Ember
  186. Using Ember's App.reset() to kill off any local data
  187. The Tim Ferriss Show might be the most important podcast I listen to
  188. Quitting Postgres psql
  189. The safest way to track goal URLs in Google Analytics
  190. Research has shown a case for closing down Vim for a while.
  191. Setting to change to get notified of all interactions on Twitter
  192. Review: Raspberry Pi Projects for Kids
  193. Disable a button component with Ember
  194. Using JavaScript's debugger statement with Firefox
  195. Setting I changed to up my Chromebook's internet speed
  196. Review: Understanding the 4 Rules of Simple Design
  197. Programmatically finding out the size of the retry queue with Sidekiq
  198. Problems with Evergreen Content
  199. My Chromecast Setup
  200. Making Tech for the sake of Tech isn't always right, but it is necessary
  201. Using Ruby to get access to Google Keywords
  202. Font Faces for Dyslexic Folk
  203. David Stewart of Marketing Digital Solutions thinks it is OK to creep on females on LinkedIn
  204. Review: Backbone.js Patterns and Best Practice
  205. Generating migrations with couchrest_model
  206. CouchRest Rails Setup - Setting a blank username/password is not the same as not setting a username/password
  207. An introduction to Ruby/Rails/Git - Belfast Ruby
  208. When testing the datasift ruby gem locally be sure to turn SSL off
  209. Review: Work - How to find joy and meaning in each hour of the day
  210. Things I do not love
  211. What tools / technologies / ideas / principles / things I am most passionate about
  212. Who is Marvel's Mightiest Hero? (I will give you a clue - it is Beast)
  213. A case for writing unit tests for your blog posts
  214. Packt have a really great sale on
  215. A picture of my current development environment
  216. Hacker News follow up post
  217. Working whenever you want is amazing and has some unique challenges
  218. Some HipChat Tips and Tricks
  219. CodeIgniter - when to use get_instance()
  220. Resources for getting up to speed with Redis
  221. How to install the latest version of Redis on Ubuntu
  222. My first week at Buffer
  223. I get very ill if I mix Citalopram and Green Tea
  224. Newbie Programming Resources
  225. Open a file in Github from your command line
  226. Values returned to ActiveMerchant by SagePayGateway during 3d secure
  227. Soon I will be joining the Buffer team!
  228. Some Interview Tips for Junior Developers
  229. You should serve up assets without a protocol
  230. Review: Whitehat Aviator
  231. Things to remember to do before any video conference / online call
  232. Keep your CV fresh
  233. Looking for Bootstrap's popover-inner?
  234. Good things happen to those that blog
  235. GitGutter – A Sublime Text plugin for seeing changes in git
  236. Indenting Text using Vim
  237. Copy and Paste in Vim
  238. Belfast Ruby: Talks on Elixir, Tmux and Jekyll
  239. A quick post about depression and software development
  240. ExamTime is Hiring
  241. Interview with Trevor Orsztynowicz about Caliper
  242. Show off your Localhost with LocalTunnel
  243. Using Devise to verify an email address and password
  244. navigator.mozApps.installPackage will no longer work use navigator.mozApps.install
  245. Barry Gordon talks about Vagrant - Belfast Ruby
  246. Linking Google Adwords and Analytics accounts
  247. Accessing Popover Data with Bootstrap 3
  248. Right clicking inside Linux on your Chromebook
  249. Getting Debian to recognise your UK Chromebook
  250. Automation is a lot like your windscreen wipers
  251. Upgrading from Bootstrap's Typeahead to Typeahead.js
  252. A fix for window.location.origin in Internet Explorer
  253. Transliteration with Typeahead.js
  254. Typeahead.js The Book!
  255. Setting a minimum length for your search in Typeahead.js
  256. Cheap Belfast PHP/WordPress Hosting
  257. Getting the flot-rails gem to play nicely with IE8
  258. Refreshing local data with typeahead.js
  259. Rspec's be_an_instance_of is pretty useful
  260. If someone does something really sucky, hit them in the Twitter
  261. Passing a day of the week into Ruby's Date.parse
  262. Some things I have learned about Ruby's fetch method
  263. Nobody Will Train You But You - A talk by Zach Briggs
  264. I have just signed up as a Firefox Affiliate
  265. The one thing I wish someone sat me down and explained when I started to learn Rails
  266. The quickest way to get from nothing to Ruby and Rails
  267. Getting rid of annoying text selection at the bottom of Sublime Text documents
  268. Some useful Github shortcuts
  269. Deploying a particular branch to Engine Yard from the command line
  270. Killing all instances of Ruby on Rails running on a certain port.
  271. Bad example of how to do unsubscribe pages.
  272. Using Loops in Jasmine
  273. Useful Chrome Extension for Backbone.js Debugging
  274. Insane Chown Posse
  275. Stacking the founder chips in your favour.
  276. Internet Explorer Version 999.1
  277. MySQLslap - A quickstart guide
  278. You should never publish a blog post on the day you write it
  279. Unboxing the Firefox OS Developer Preview Phone
  280. Review: jQuery HotShot
  281. Location, Location, Location
  282. Web Developer Equipment
  283. BornInBlood
  284. Working out which merge to keep in Git
  285. Controlling a jQuery datepicker with Watir
  286. Using Dropdowns in Watir Webdriver
  287. Write simple rspec tests on one line for fun and profit
  288. Stack Exchange is winning the internet and this is not a good thing
  289. Using Bootstrap's typeahead from inside a modal window
  290. Adding Data Attributes using haml_tag
  291. Sublime Text reading SASS files as HAML
  292. Getting the rmagick 2.12.2 gem working on Mac OS X
  293. Safari on Windows doesn't like outline inside of :after
  294. Slightly funny application names in ChromeOS in developer mode
  295. Turn Off the built in apache on OSx
  296. Ruby Podcasts I have been recommended
  297. Review: Wunderlist
  298. My immediate impressions of the Samsung Chromebook
  299. Firefox honours !important in CSS animations, no one else seems to
  300. Speculation on why Google stopped blocking sites
  301. Review: Mastering Redmine
  302. Good Surge Protecting Power Blocks
  303. Open all your browsers at once in OSx
  304. How I got my links out of Google Reader
  305. Link Dump of everything that was in my Google Reader
  306. Validation Helpers
  307. Different ways to undo in Git
  308. Some Notes on SSL Certificates
  309. Big Wet Fish Get Marketing
  310. Some command line tips for the web developer
  311. Insert Gists without JavaScript
  312. OSx Screenshot Cleaner
  313. How to turn on invisible characters in Sublime Text 2
  314. Update your Git install
  315. Installing PEAR for PHP on OSx
  316. Google Translate tracking in Analytics
  317. Quick Tip for Reddit and Imgur and multiple sub-sections
  318. A checklist of things you will need to learn to make Firefox OS applications
  319. I have added Buffer to my no-js social shares
  320. Using Mozilla's Mortar and App stub for bootstrapping Firefox OS apps
  321. Getting Firefox OS on your Android phone.
  322. If you store WordPress code on Github think about your wp-config.php
  323. Secure your Redmine install by patching Ruby on Rails
  324. Added some non-js social share buttons
  325. The easiest way to test out Firefox OS
  326. Using Stack Exchange to be better at what you do.
  327. A pragmatic approach to dealing with interruptions whilst you are developing
  328. The W3C Technical Architecture Group elections end today
  329. Replacing Social Media Share Buttons with non-JavaScript counterparts
  330. Quick email tip if you need to clear out your inbox
  331. Editing remote files locally in OSx
  332. Finding email to delete if you are over quota in mail.app on OSx
  333. Git branches seem to be case insensitive
  334. Barry Adams SEO Talk About the Future of SEO at DigiExNI
  335. People who give a shit will always get my business
  336. Shopify Workshop
  337. Nobody Puts Baby In The Corner - Except Me.
  338. New Evernote
  339. Changing the font-style of placeholder text CSS
  340. Every time you write non-standard or invalid code
  341. This Charmander is adorable
  342. Setting up Redmine from a blank Ubuntu install
  343. Working with Ubunutu? Save yourself a headache and run sudo apt-get install build-essential
  344. Commit Driven Development
  345. Finding out what version of Apache and PHP a webserver is running when you have little access
  346. Infographic on website monetising
  347. Entering your email at the inbox is a bad idea
  348. Setting up Apache on OSx Mountain Lion
  349. Things about learning to drive I wish I knew when I was learning to program
  350. The trigger that gets hit when you get a positive Twitter ratio.
  351. Tidy up your PayPal buttons
  352. CakePHP and htaccess caching funtimes
  353. Facebook - The optimal size for posting an image to a page wall
  354. What is the RAILS_GEM_VERSION
  355. Styling Scroll Bars
  356. Google should minify their 404 page
  357. An interview with Umut Muhaddisoglu from Uptime Robot
  358. How to search PayPal transactions by email address or name
  359. Adding plugins to Sublime Text 2
  360. How I use MindNode to help craft blog posts
  361. What would you like to see more of on the web - a follow up with Zoe Bogner
  362. The EU Cookie Law website
  363. HTML5 Rocks Hangout 1
  364. Review: CodeLobster
  365. What Meteor does when you install it
  366. A case for going agile
  367. Interview with Stephen Kinkaid from Big Wet Fish
  368. Copying a CakePHP Project from Linux to Windows
  369. I just made an affiliate program.
  370. PHP - Turn UK Date into US Date
  371. Review: The CSS3 Anthology
  372. Interview with Derek Johnson
  373. Things to check for in your htaccess file
  374. Hit Tail
  375. Chrome's Lord of the Rings Easter Egg
  376. Useful WordPress Links
  377. Printing on the web
  378. Recording my tweets
  379. Tech Tweets - Thursday 15th March 2012
  380. Validation in CakePHP 1.3
  381. Permissions issue with Iomega Home Media Network Drive
  382. Useful CSS Links
  383. Useful PHP Links
  384. jQuery Links
  385. Deleting Magento Session Files
  386. Reducing Google Contacts storage on Android devices
  387. My scribbled thoughts on Belfast Ruby's first meet up.
  388. CakePHP 2.0 Read Recursive
  389. CSS Vendor Prefixes - A potential use case
  390. Canonical and Base URLs
  391. What can The Girl With The Dragon Tattoo teach us about web design.
  392. Having FTP in your IDE is part of a broken model
  393. Ruby Fizz Buzz Solution
  394. Useful Web Developer Bookmarklets
  395. Updating PHP5.2 to PHP5.3 using apt-get
  396. Too many posts about the same thing on your Twitter timeline?
  397. Ruby Testing and Documenting best practice
  398. The Importance of First Contact
  399. Interview with Patrick McKenzie and Keith Perhac about their podcast
  400. Get rid of var $name in CakePHP
  401. Keeping on top of my to-do list.
  402. Things I will be reading this week: 05-12-2011
  403. BuildConf is still being awesome even after the event.
  404. Kalzumeus Podcast
  405. 4 hours of my time for donations of £20 or more.
  406. Open Proposal: Companies - get your employees to answer questions on Stack Exchange
  407. A recipe for creating a great workshop
  408. Things I will be reading this week: 06-11-2011
  409. Interview with Shiela Dixon
  410. Things I will be reading this week: 31-10-2011
  411. My thoughts on The Increasing Importance of APIs in Web Development
  412. Movember
  413. Things I will be reading this week: 24-10-2011
  414. Parameterise everything.
  415. Managing a Facebook development project.
  416. Uptime Robot gets an API
  417. Testing if your domain is accessible from China
  418. Checking if a password field is present in Selenium.
  419. Issue with table content held in a div not printing over several pages
  420. My first doodle in about 7 years.
  421. An open letter to EUKHost
  422. Techzing hits 150
  423. Inspiration.
  424. Trying to get a designer into a meeting...
  425. Less Than Vs Less Than or Equal To - which is more efficient?
  426. Magento Auto Install
  427. Netbeans Private Key Authorisation Problem
  428. MySQLTuner - An excellent free MySQL tool
  429. How I think I am going to start using the big 3 social networks
  430. Google+ Invites
  431. Claiming ownership of your content.
  432. [notice] cannot use a full URL in a 401 ErrorDocument directive --- ignoring!
  433. Accessing PHP variables from within JavaScript under WordPress
  434. Metal-Flyer.com is dead
  435. What I would change about the Computer Science degree course
  436. IsTwitterUp? Nope
  437. Pierce Communications Website is Go!
  438. The W3C have released Web Application Privacy Best Practices - What do we do with it?
  439. My Feelings On Adobe Edge
  440. The Big Three Social Codes
  441. Disqus showing bullets.
  442. What I like about the new Firebug.
  443. Changing upload permissions in vsftpd
  444. Getting Netbeans Working with OS X Lion
  445. Settings up Netbeans to develop Android applications
  446. The Obligatory Dropbox Post
  447. Soon I will be in the market for a new laptop.
  448. The importance of using the ellipsis character.
  449. New Challenges
  450. Using Git to create an archive of changed files.
  451. Enabling telnet in Windows 7
  452. Interview: What is your take on the rise of e-learning sites over a more traditional text-book or course based approach
  453. IE7 td colspan width 'issue'
  454. Uninstalling Lotus Notes Traveler from your Android Device
  455. Netbeans 7.0 released
  456. HTML5 Canvas Tutorial
  457. cssUpdater 0.4.3 - A quick review
  458. Git command to show files changed in a commit
  459. Securing Facebook
  460. The importance of supporting OWASP
  461. Edit an option of a select menu using jQuery
  462. Interview: What would you like to see more of on the web
  463. Netbeans Redmine Integration Version 0.1 released.
  464. Netbeans and Redmine Integration.
  465. Explaining Version Control (Git) in Simple Terms
  466. Got an article printed in the IEEE software journal.
  467. Getting my Dublin Core on
  468. Yum not installing 7zip.
  469. Location of bookmarks.nsf on the mac.
  470. Speed up Lotus Notes on a Mac
  471. Two excellent talks on Git
  472. Show hidden files on the Mac OSx
  473. Howto: Email A Support Request
  474. Getting the most out of StackExchange
  475. Quick way to switch between folders in the terminal
  476. Importing a backup file from another MS SQL machine.
  477. Possible issue when using parseInt function.
  478. PHP Security - General PHP setup Gotchas
  479. Finding your SQL Server Version
  480. MySQL snippet - Selecting from table a items that aren't in table b.
  481. PHP - Quick Is Not Set Replace
  482. Internet Explorer Cannot Open The Internet Site - Operation Aborted
  483. Allowing your own From header with sSMTP
  484. What you actually do when you untar something.
  485. Find out which version of Ubuntu I am on.
  486. Help with your Social Media Strategy
  487. Useful Git Links
  488. Using Open Source - Some Legal Considerations
  489. Robin Christopherson - Accessibility in Web Design
  490. Eoghan McCabe and Des Traynor - Sexy or Meaningful
  491. Skipfish - No such file or directory.
  492. Owen DeLong - Content Providers must lead the way to IPv6
  493. Martha Rotter - Too Much Information [University Session]
  494. Gotta love the google font API
  495. Renier Lemmens - The future of Mobile Apps
  496. Simon Wardley - What is the cloud?
  497. Raffi Krikorian - How to use Geolocation in your web app
  498. Replace ereg with preg_match
  499. Useful Security Pages
  500. Clean up your variables
  501. Uptime Robot Monitors From Multiple Locations
  502. My Security Adventure Begins
  503. PHP_DEBUG a very handy little constant
  504. Uptime Robot
  505. Tweetminer is now Pluggio
  506. Editing Git Repository Descriptions
  507. Switching between full screen modes in PuTTY
  508. YayQuery - My new favourite podcast?
  509. InFrame - Dynamic iFrame creation with jQuery
  510. Exploring Built In Functions
  511. Bloody Windows...
  512. Google Tells Us What A Browser Is
  513. Tweet Miner, why I use it
  514. HTML5 Video
  515. Mapping the inside of buildings.
  516. JavaScript KeyCodes
  517. Refresh Belfast - The State of Typography on the Web
  518. Wordpress Cheat Sheet
  519. Webmasters - Clean out your links!
  520. Acronym and Abbreviation Tags
  521. Internet Explorer 8 Checkbox Issues
  522. Microformat Cheat Sheets
  523. Damn this guy can wireframe!
  524. Awesome Firefox Multitouch
  525. New Google Search
  526. A/B Testing with Wordpress
  527. Looking Critically at Your Design
  528. Really cool dropdown menu
  529. PHP Whitespace/Comment Removal
  530. CSS Techniques Run Down
  531. HTML5 - Anyone Played With It Yet?
  532. About Pages - Are they totally necessary?
  533. Out of the box design
  534. Not Another Blog