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