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