In my experience, learning a new programming language is easier if you already know one. When I started learning Python, I noticed similarities to Ruby and JavaScript; which I’m comfortable with. The shapes of the syntax in Ruby are reminiscent of the Python Programming Language and because of its Object-Oriented design, it feels familiar. Invoking functions in JavaScript and Python is basically the same. There were a couple of Python specific syntax rules that were weird at first but with practice, it becomes second nature.


Recently, I felt compelled to investigate the origins of programming and learned about a fascinating device called The Analytical Engine. It was a machine thoughtfully imagined by a man named Charles Babbage, a British polymath who had many ideas for mechanized calculators but only managed to build parts of his inventions. Had his plans for the Analytical Engine been built, it would have been an extremely complex work of mechanical art and would have been Turing-complete. Mighty glowing cogs of golden brass that stood proud at about 15 feet tall and 25 feet long. It would have been able to…


First, a little on the subject of Test-Driven Development or TDD. It is a recursive process by which we write code, test code, and repeat. In the words of Kent Beck, author of “Test-Driven Development: By Example”, it “encourages simple designs and inspires confidence.”

RSpec is communicative when it gives you feedback after you process the code you wrote against the tests. If configured for colour (which should be default in my opinion), it shows if the tested code fails in(red) or passes in (green) along with a descriptive output. It can tell you all the problems that need work…


As an aspiring programmer, I inevitably came across articles and tutorials with super hacker programmers that were using vim and it honestly looked pretty intimidating. Keeping your hands at 10 and 2 and never touching the trackpad to navigate a text editor seemed like something that was more trouble for me than what it was worth. With so many professional sounding programmers singing vim’s praises, I decided to see what the fuss was about. Once I got familiar with the basic commands and navigation, I began to understand how capable vim was. …


The first project that I did while attending the Flatiron Bootcamp was a command line interface application using Ruby, SQLite3, and Rails’ Active Record. The idea for the app is to learn a random fact based on numbers that you can use to start a conversation with someone. The API that I found on Rapid API was the biggest source of inspiration for this so if you’re in Mod one banging your head against the wall looking for inspiration on the web, start here! Here is a short demo of what my CLI app does:

IceBreaker CLI app

There are…

Tom Tobar

Motorcycle Mechanic turned Full Stack Web Dev

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store