I’m learning RoR now but occasionally I still code a little in Python. I discovered that if I try to install Python IDE and then RoR, the paths get totally messed up and I get a bunch of error messages when installing RoR.

To avoid this, I only install RoR on my laptop. When I need to code in Python, I use I was recently also introduced to for the same purpose.

I love for simple coding. It is web-based, really simple to use and supports quite a few languages. It provides you an URL that you can click to get back to your codes if you save them. Not that convenient when you need to constantly save and get back to a code file but for simple coding purposes, it gets the work done.

I haven’t had the chance yet to play much with My understanding is that you can create a box that you designate for a certain language. It currently supports RoR, Go, Python/Django and Node.js.  You code inside the box and you can come back to your code inside the box, which is quite convenient. For a free account though, you get a small amount of memory and storage. I have not coded yet in my box, so I don’t know if the memory and storage that comes with the free account is sufficient.

Tagged ,

Little progress made

Sigh. Was sick the past one week and I’ve been spending most of the time (when I’m not working) sleeping and resting. I’m getting better now despite some bouts of coughs lingering but I will resume my coding learning again this week!

Wireframing and prototyping

I haven’t been making much progress with my RoR learning since I’ve been spending the past few days going through the Codecademy tutorials on jQuery and Javascript instead. They’re pretty good for beginners though I’ve to admit, I do get rather frustrated when I can’t clear a stage because of some Codecademy flaws. For example, sometimes I need to change all my to because Codecademy wouldn’t allow my ” to pass…

Anyhow, I thought I would share a bit about wireframing and prototyping, both of which are things I do very regularly for my work.

Typically when I have an inkling of how a product should look like, I actually try to sketch out each of the pages with pencil and paper first. I don’t just draw the main page – I sketch out every single page I think a user using it will go through. For example, if a user clicks on this button, it will lead him/her to this next page, and the next next page. Only once I’ve sketched up all these page, I’d then convert them into digital wireframes. There are quite a few applications that allow you to create digital wireframes and I’ve played around with quite a few. However, my personal favorite is Balsamiq Mockups, which is very easy to use. I like how it allows you to link between pages, which means a test user can actually click buttons/links to move between pages and hence get a rough sense of the user experience. Note though a single license currently costs US$79, which is not exactly cheap.

While the Balsamiq mockups are good enough for user testing, I myself prefer something in HTML since it’s more natural for users to use and test. For this purpose, I use Napkee, which is a complementary application to Balsamiq. It turns Balsamiq mockups into clickable HTML files. It’s not perfect (I found that the Windows version converts more accurately compared to the OS version) but for creating low fidelity prototypes, it serves the purpose well (and it’s free!).

I do hope though that once my coding skills get better, I can start coding up my own prototypes instead of relying on Napkee. 🙂

Tagged ,

Setting up Sublime Text 2 for RoRT

RoRT uses Sublime Text 2 and recommends doing some setup. I tried running

$ ln -s “/Applications/Sublime Text” ~/bin/subl

but got the error

ln: /Users/metamorphea/bin/subl: No such file or directory

According to this Stack Overflow page, it means the ~/bin folder is missing in my executable path, so it suggests doing

$ sudo ln -s “/Applications/Sublime Text” /usr/bin/subl
$ ln -s “/Applications/Sublime Text” ~/bin/subl

which works like a charm.

Tagged ,

Terminal editor for OS X

There are two recommended ones – Apple’s own Terminal and iTerm2. Most websites say that iTerm2 is more superior compared to Apple’s own Terminal, which is already very good to start with.

I haven’t coded enough to know the difference, but for now I’m sticking with iTerm2.

Tagged ,


One thing that isn’t mentioned in the Ruby on Rails Tutorial book (henceforth abbreviated as RoRT) is that I need to install Homebrew – the book mentioned about Homebrew but didn’t specifically say you need to install it.

After installing the RVM, I tried running

$ rvm requirements

but got hit with a bunch of errors that basically indicated that I am missing some packages. I saw some mentions about Homebrew, had no idea what it is… but decided to google it anyway and install it using

ruby -e "$(curl -fsSL"

which I copied from the website. I then ran

$ brew doctor

as per the recommendation after the Homebrew installation and again got a whole bunch of errors.

One of the errors suggested that I do a brew prune. I had no idea how to do it (I really know peanuts about Homebrew). Tried googling and turned out I just need to do

$ brew prune

Oh ok, easy enough. 🙂 That took care of one of the errors. Another error requested me to amend my .PATH since my /usr/bin occurs before /usr/local/bin. I found a solution on Stack Overflow that recommended opening the /etc/paths/ file and editing your paths there.

Unfortunately, while I did manage to open the file and edit the paths, I couldn’t for the sake of my life get it to save… (Tried : wq, didn’t work).

I eventually realized that the error has to do with my previous Python installation which changed the paths, so I was hazarding a guess that uninstalling Python and its framework should work and it did!

sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7

sudo rm -rf “/Applications/Python 2.7”

ls -l /usr/local/bin

Note that after running this, I did $ brew doctor again which returned a bunch of broken symlinks – took care of using the $ brew prune.

After finishing all of these, I ran $ brew doctor and finally got a

Your system is ready to brew


P/s: After doing some of the troubleshooting, I had to quit and restart my terminal to let the changes take place. I noticed that if I didn’t do this, the terminal keeps throwing me the same old errors.

Tagged ,

Starting RoR

A friend suggested two resources for RoR total beginners

  1. Ruby on Rails Tutorial by Michael Hartl
  2. Agile Web Development with Rails, 4th edition by Sam Ruby

I have decided to use Ruby on Rails Tutorial as my friend mentioned that it is one of the most complete tutorials on RoR and will provide me with a solid foundation.


Documenting my coding learning journey

I’ve recently decided to learn coding again.

I have taken some coding classes before in college but never really fell in love with it (unfortunately). It was only very recently when I became a Product Manager with a tech firm that I realized the true power of coding and the ability to build anything myself in front of my laptop if I have properly learned how to code.

I love creating products at work and have no problem turning my ideas into wireframes. However I can’t turn my wireframes into working prototypes and have to cajole my fellow engineers to build it before I do user testing. This often frustrates me because my fellow engineers are extremely busy, hence the turnaround time is typically months…

I am planning to start my own tech company one day in the future too, so I have double the reasons to properly pick up coding again!

I am using this blog to document my learning process of picking up HTML+CSS and RoR, as well as the issues I’ve faced and the solutions I have managed to come across. I will shift to creating my own blog on GitHub once I’ve picked up enough skills to do so. 🙂

Tagged , ,