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. Captioning at Conferences
  2. Code Review
  3. Nginx Cache Busting Rewrite Rule
  4. List of Countries without a Postcode
  5. Posting to Slack with PHP
  6. Quickly tidy up old git branches
  7. Tracking AdWords Conversions within JavaScript
  8. Fueling Hyper Growth – A Salesforce Event
  9. Close proximity leads to ideas being shared too soon
  10. Instagram Vintage Computing
  11. Complete list of custom icon properties for Bootstrap 3 Datepicker
  12. Getting access to Channel 13 on a Raspberry Pi 3
  13. My takeaways from the Productive Habits email course
  14. Basic intro to Reddit and Hacker News
  15. Open iTerm2 links in Vim
  16. Fix for OpenSSL::SSL::SSLError on RestForce / Faraday
  17. S3
  18. What to do when things go wrong
  19. The EU Cookie Law
  20. Using Slack as part of the GTD capture stage
  21. Recursion
  22. Introducing Simple CS
  23. CSS
  24. Stopping your wireless from turning off on your Raspberry PI
  25. Steps for replacing an SSL certificate
  26. See what disk space is left on your Linux web server
  27. The SSH Command
  28. Grep flags that I like
  29. Viewing what is running on the server
  30. How does Capistrano work?
  31. Debriefing Development Teams
  32. Art & Math & Science, Oh My!
  33. Setting up Moat and DFP
  34. Omnifocus Custom Columns
  35. Safari Extensions I am using
  36. What I have learned about roadmaps
  37. Speeding up accessing Safari’s URL bar on El Capitan
  38. Meteor @dev was not detected
  39. I am starting a fortnightly email list
  40. The steps I take before a large backup on the Mac
  41. Setting up the Windows 200 Wired keyboard on the Mac
  42. Udemy Fail
  43. Adding Alt tags to images using image_tag in Rails
  44. Breathing new life into an older Mac
  45. Finding new people on Chatter
  46. Checking for both versions of Google Analytics with JavaScript
  47. Tracking Ctrl+F events in Google Analytics
  48. Key code for Command on OS X
  49. Mastering Your Tools
  50. Mac Productivity Workshop
  51. A simple guide to how computers work for idiot redditors
  52. Mac Apps I use to say productive
  53. Some of my favourite mac shortcuts
  54. Up the tracking speed on your mouse
  55. Hiding the dock for fun and profit
  56. Getting HTTP Status Codes from the Command Line
  57. Custom Routing of Github emails
  58. HTTP Status Codes for SEO
  59. iTerm2 Tricks
  60. Scrutiny5
  61. You can’t use the webcam on OS X without having a Photo Booth Library?!?!
  62. Adding Descriptions to Pages with Jekyll
  63. iPhone photos not freeing up space when deleted
  64. Speeding up the internet on OSx Yosemite
  65. Come play Codewars with me
  66. What a Developer can take away from SEO Now 2015
  67. Good Habits for Student Developers – Documentation
  68. Lightening Talk on Schema
  69. A Pragmatic Approach to adding Schema
  70. Katrina Owen – Here be Dragons
  71. Robert Wint – Using Content to Improve the Customer Journey
  72. Patrick Jubb – Re-building the Marketing Department to be Fit for the Future
  73. Martin Trickey – Do we Tell Stories Differently Now?
  74. Mark Elkins – From Passion to Purchase
  75. Kerensa Samanidis – Breaking in to the online video market
  76. Chief Digital Officer Summit London - Day 1 Morning
  77. Ana Serrano – Digital Transformation & Continuous Innovation
  78. Amanda Neylon – The Importance of Focusing on Social Strategy
  79. Getting Money out of Uganda
  80. Good habits for student developers – Time Keeping
  81. What to do when refactoring a large codebase without tests
  82. What I would look for in a junior developer
  83. How the technical direction of a project can be influenced
  84. Sed fun on OSx
  85. Squash br inside contenteditable
  86. Good Habits for Student Developers - Backups
  87. Facebook's Anonymous Login
  88. A beginners guide to ARIA
  89. Please don't actually use Retweet and Favourite for polls on Twitter
  90. Hearthstone APIs
  91. My thoughts on the latest TechHubTuesday Demo Night
  92. Divs still have their place
  93. My highlights from On the Shortness of Life by Seneca
  94. The correct way to markup an image and caption in HTML
  95. View Markdown Files in your Terminal
  96. Some stumbling blocks I hit following my first Swift tutorial
  97. Quick Semantic Wins
  98. Accessibility and SEO are tightly linked
  99. How I am using Omnifocus
  100. What the header element can be used for
  101. Gender Neutral Swear Words
  102. Every developer makes mistakes all the time
  103. Backblaze is part of a great backup solution
  104. Kill off any process on a particular port - An explaination
  105. Space Invaders
  106. WhiteHat Aviator Phoning Home?
  107. Backing up an s3 bucket to another s3 bucket
  108. Force a CSV download from a WordPress Plugin
  109. Nav Elements, not just ul wrappers
  110. Marketing is More Important than Your Code
  111. The ways I have made Sites Pay for Themselves
  112. How Much Does Your Website Cost You?
  113. Running VimR From the Command Line
  114. VimR - A first look
  115. Turning off the PiFace Control and Display
  116. Derek Johnson talking about Modern Web Design
  117. How many people should be on my email list before I send the first email?
  118. Kali Linux 32 bit mini ISO getting stuck on samba
  119. Raspberry Pi B+ Webinar
  120. Advertising in China
  121. Why thinking small helps create software that lasts.
  122. Removing "Protected:" and "Private:" from WordPress posts
  123. Copy and Rename multiple files in Linux
  124. The worst thing you can do for your productivity
  125. Not able to cd or ls into drive mounted by s3fs
  126. Quitting Postgres psql
  127. The safest way to track goal URLs in Google Analytics
  128. Setting to change to get notified of all interactions on Twitter
  129. Setting I changed to up my Chromebook's internet speed
  130. My Chromecast Setup
  131. Making Tech for the sake of Tech isn't always right, but it is necessary
  132. Font Faces for Dyslexic Folk
  133. Packt have a really great sale on
  134. Some HipChat Tips and Tricks
  135. CodeIgniter - when to use get_instance()
  136. Resources for getting up to speed with Redis
  137. How to install the latest version of Redis on Ubuntu
  138. Newbie Programming Resources
  139. Open a file in Github from your command line
  140. Values returned to ActiveMerchant by SagePayGateway during 3d secure
  141. Some Interview Tips for Junior Developers
  142. You should serve up assets without a protocol
  143. Things to remember to do before any video conference / online call
  144. Looking for Bootstrap's popover-inner?
  145. GitGutter – A Sublime Text plugin for seeing changes in git
  146. Indenting Text using Vim
  147. Copy and Paste in Vim
  148. Interview with Trevor Orsztynowicz about Caliper
  149. Show off your Localhost with LocalTunnel
  150. Linking Google Adwords and Analytics accounts
  151. Right clicking inside Linux on your Chromebook
  152. Getting Debian to recognise your UK Chromebook
  153. Automation is a lot like your windscreen wipers
  154. Cheap Belfast PHP/WordPress Hosting
  155. If someone does something really sucky, hit them in the Twitter
  156. Nobody Will Train You But You - A talk by Zach Briggs
  157. Getting rid of annoying text selection at the bottom of Sublime Text documents
  158. Some useful Github shortcuts
  159. Deploying a particular branch to Engine Yard from the command line
  160. Bad example of how to do unsubscribe pages.
  161. Stacking the founder chips in your favour.
  162. Internet Explorer Version 999.1
  163. MySQLslap - A quickstart guide
  164. Web Developer Equipment
  165. Working out which merge to keep in Git
  166. Stack Exchange is winning the internet and this is not a good thing
  167. Sublime Text reading SASS files as HAML
  168. Safari on Windows doesn't like outline inside of :after
  169. Slightly funny application names in ChromeOS in developer mode
  170. Turn Off the built in apache on OSx
  171. Firefox honours !important in CSS animations, no one else seems to
  172. Speculation on why Google stopped blocking sites
  173. Good Surge Protecting Power Blocks
  174. Open all your browsers at once in OSx
  175. How I got my links out of Google Reader
  176. Different ways to undo in Git
  177. Some Notes on SSL Certificates
  178. Big Wet Fish Get Marketing
  179. Some command line tips for the web developer
  180. OSx Screenshot Cleaner
  181. How to turn on invisible characters in Sublime Text 2
  182. Update your Git install
  183. Installing PEAR for PHP on OSx
  184. Google Translate tracking in Analytics
  185. Quick Tip for Reddit and Imgur and multiple sub-sections
  186. A checklist of things you will need to learn to make Firefox OS applications
  187. Using Mozilla's Mortar and App stub for bootstrapping Firefox OS apps
  188. Getting Firefox OS on your Android phone.
  189. If you store WordPress code on Github think about your wp-config.php
  190. Added some non-js social share buttons
  191. The easiest way to test out Firefox OS
  192. Using Stack Exchange to be better at what you do.
  193. A pragmatic approach to dealing with interruptions whilst you are developing
  194. The W3C Technical Architecture Group elections end today
  195. Replacing Social Media Share Buttons with non-JavaScript counterparts
  196. Quick email tip if you need to clear out your inbox
  197. Editing remote files locally in OSx
  198. Finding email to delete if you are over quota in mail.app on OSx
  199. Git branches seem to be case insensitive
  200. Barry Adams SEO Talk About the Future of SEO at DigiExNI
  201. Shopify Workshop
  202. Nobody Puts Baby In The Corner - Except Me.
  203. New Evernote
  204. Changing the font-style of placeholder text CSS
  205. Every time you write non-standard or invalid code
  206. Setting up Redmine from a blank Ubuntu install
  207. Working with Ubunutu? Save yourself a headache and run sudo apt-get install build-essential
  208. Commit Driven Development
  209. Finding out what version of Apache and PHP a webserver is running when you have little access
  210. Infographic on website monetising
  211. Entering your email at the inbox is a bad idea
  212. Setting up Apache on OSx Mountain Lion
  213. Things about learning to drive I wish I knew when I was learning to program
  214. The trigger that gets hit when you get a positive Twitter ratio.
  215. Tidy up your PayPal buttons
  216. CakePHP and htaccess caching funtimes
  217. Facebook - The optimal size for posting an image to a page wall
  218. Styling Scroll Bars
  219. Google should minify their 404 page
  220. An interview with Umut Muhaddisoglu from Uptime Robot
  221. How to search PayPal transactions by email address or name
  222. Adding plugins to Sublime Text 2
  223. How I use MindNode to help craft blog posts
  224. What would you like to see more of on the web - a follow up with Zoe Bogner
  225. HTML5 Rocks Hangout 1
  226. A case for going agile
  227. Interview with Stephen Kinkaid from Big Wet Fish
  228. Copying a CakePHP Project from Linux to Windows
  229. I just made an affiliate program.
  230. PHP - Turn UK Date into US Date
  231. Interview with Derek Johnson
  232. Things to check for in your htaccess file
  233. Chrome's Lord of the Rings Easter Egg
  234. Useful WordPress Links
  235. Printing on the web
  236. Tech Tweets - Thursday 15th March 2012
  237. Validation in CakePHP 1.3
  238. Permissions issue with Iomega Home Media Network Drive
  239. Useful CSS Links
  240. Useful PHP Links
  241. Deleting Magento Session Files
  242. Reducing Google Contacts storage on Android devices
  243. CakePHP 2.0 Read Recursive
  244. CSS Vendor Prefixes - A potential use case
  245. Canonical and Base URLs
  246. Having FTP in your IDE is part of a broken model
  247. Useful Web Developer Bookmarklets
  248. Updating PHP5.2 to PHP5.3 using apt-get
  249. Too many posts about the same thing on your Twitter timeline?
  250. The Importance of First Contact
  251. Interview with Patrick McKenzie and Keith Perhac about their podcast
  252. Get rid of var $name in CakePHP
  253. Keeping on top of my to-do list.
  254. Things I will be reading this week: 05-12-2011
  255. BuildConf is still being awesome even after the event.
  256. Kalzumeus Podcast
  257. Open Proposal: Companies - get your employees to answer questions on Stack Exchange
  258. A recipe for creating a great workshop
  259. Things I will be reading this week: 06-11-2011
  260. Interview with Shiela Dixon
  261. My thoughts on The Increasing Importance of APIs in Web Development
  262. Things I will be reading this week: 24-10-2011
  263. Parameterise everything.
  264. Managing a Facebook development project.
  265. Uptime Robot gets an API
  266. Testing if your domain is accessible from China
  267. Checking if a password field is present in Selenium.
  268. Issue with table content held in a div not printing over several pages
  269. An open letter to EUKHost
  270. Techzing hits 150
  271. Inspiration.
  272. Trying to get a designer into a meeting...
  273. Less Than Vs Less Than or Equal To - which is more efficient?
  274. Magento Auto Install
  275. Netbeans Private Key Authorisation Problem
  276. MySQLTuner - An excellent free MySQL tool
  277. How I think I am going to start using the big 3 social networks
  278. Google+ Invites
  279. Claiming ownership of your content.
  280. [notice] cannot use a full URL in a 401 ErrorDocument directive --- ignoring!
  281. What I would change about the Computer Science degree course
  282. The W3C have released Web Application Privacy Best Practices - What do we do with it?
  283. My Feelings On Adobe Edge
  284. The Big Three Social Codes
  285. Disqus showing bullets.
  286. Changing upload permissions in vsftpd
  287. Getting Netbeans Working with OS X Lion
  288. Settings up Netbeans to develop Android applications
  289. The Obligatory Dropbox Post
  290. Soon I will be in the market for a new laptop.
  291. The importance of using the ellipsis character.
  292. Using Git to create an archive of changed files.
  293. Enabling telnet in Windows 7
  294. Interview: What is your take on the rise of e-learning sites over a more traditional text-book or course based approach
  295. IE7 td colspan width 'issue'
  296. Uninstalling Lotus Notes Traveler from your Android Device
  297. Netbeans 7.0 released
  298. HTML5 Canvas Tutorial
  299. Git command to show files changed in a commit
  300. Securing Facebook
  301. The importance of supporting OWASP
  302. Edit an option of a select menu using jQuery
  303. Interview: What would you like to see more of on the web
  304. Netbeans Redmine Integration Version 0.1 released.
  305. Netbeans and Redmine Integration.
  306. Explaining Version Control (Git) in Simple Terms
  307. Getting my Dublin Core on
  308. Yum not installing 7zip.
  309. Location of bookmarks.nsf on the mac.
  310. Speed up Lotus Notes on a Mac
  311. Two excellent talks on Git
  312. Show hidden files on the Mac OSx
  313. Howto: Email A Support Request
  314. Getting the most out of StackExchange
  315. Quick way to switch between folders in the terminal
  316. Importing a backup file from another MS SQL machine.
  317. Possible issue when using parseInt function.
  318. PHP Security - General PHP setup Gotchas
  319. Finding your SQL Server Version
  320. MySQL snippet - Selecting from table a items that aren't in table b.
  321. PHP - Quick Is Not Set Replace
  322. Internet Explorer Cannot Open The Internet Site - Operation Aborted
  323. Allowing your own From header with sSMTP
  324. What you actually do when you untar something.
  325. Find out which version of Ubuntu I am on.
  326. Help with your Social Media Strategy
  327. Useful Git Links
  328. Using Open Source - Some Legal Considerations
  329. Robin Christopherson - Accessibility in Web Design
  330. Eoghan McCabe and Des Traynor - Sexy or Meaningful
  331. Skipfish - No such file or directory.
  332. Owen DeLong - Content Providers must lead the way to IPv6
  333. Martha Rotter - Too Much Information [University Session]
  334. Gotta love the google font API
  335. Renier Lemmens - The future of Mobile Apps
  336. Simon Wardley - What is the cloud?
  337. Raffi Krikorian - How to use Geolocation in your web app
  338. Replace ereg with preg_match
  339. Useful Security Pages
  340. Clean up your variables
  341. Uptime Robot Monitors From Multiple Locations
  342. My Security Adventure Begins
  343. PHP_DEBUG a very handy little constant
  344. Uptime Robot
  345. Tweetminer is now Pluggio
  346. Editing Git Repository Descriptions
  347. Switching between full screen modes in PuTTY
  348. InFrame - Dynamic iFrame creation with jQuery
  349. Exploring Built In Functions
  350. Bloody Windows...
  351. Google Tells Us What A Browser Is
  352. Tweet Miner, why I use it
  353. HTML5 Video
  354. Mapping the inside of buildings.
  355. Refresh Belfast - The State of Typography on the Web
  356. Wordpress Cheat Sheet
  357. Webmasters - Clean out your links!
  358. Acronym and Abbreviation Tags
  359. Internet Explorer 8 Checkbox Issues
  360. Microformat Cheat Sheets
  361. Damn this guy can wireframe!
  362. Awesome Firefox Multitouch
  363. New Google Search
  364. A/B Testing with Wordpress
  365. Looking Critically at Your Design
  366. Really cool dropdown menu
  367. PHP Whitespace/Comment Removal
  368. CSS Techniques Run Down
  369. HTML5 - Anyone Played With It Yet?
  370. About Pages - Are they totally necessary?
  371. Out of the box design