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