June 23, 2007
OK. First blog post ever (by me)!
The purpose of this blog is to document my stumblings through codespace while doing a computer science degree project. My chosen project is a cross between a news aggregator (like digg or reddit) and a ‘full-fat’ comments system where people can attach their own stories to existing news stories, with text, movies and photos, as well as attach relevant links and of course traditional comments. I’m going to use Ruby on Rails because a) it’s fast, b) it’s agile, ie the design can easily be changed as you go along and b) it’s growing massively in fame at the moment and i’d like to get a job in brighton (where i live), which has a big web app community.
I’m not an experienced or even particularly talented programmer. I’m *OK*. Maybe. I’m also 36, which sometimes seems a little late in life to be doing this.
In the last couple of weeks i’ve been learning about ruby, which
- seems very elegant and powerful
- because of it’s elegance, can be hard to understand when reading someone else’s code, if you’re used to java and c++ like i am.
- has been used to make Rails, which (for me at least) exemplifies the above two points.
The purpose of this blog is to chart my progress and explain the things i got stuck on and their solutions, so that a) i might remember them and b) similarly non-rockstar beginner coders might see the solutions too, or at least take comfort from the fact that someone else is as/more clueless than they are.
So far, i’ve done the following. Today’s blog entry is a bit of a infospew, since it’s a summary of the last couple of weeks.
- Completed this rails tutorial Rolling with ruby on rails pt1 (old). What i didn’t notice at the time was that it’s the old version and an updated version is available. Still though – got mysql and heidisql (a mysql front end) installed, along with the webBrick web server and hooked them up to a simple rails app. ALL of the above was totally new to me – apart from entering sql queries i’d never properly used a DB before so that was quite exciting.
- Realised that i didn’t understand what the hell i was writing in my ruby code and thought i’d better understand ruby to have a hope of doing anything other than tutorials in rails.
- Learnt some ruby stuff from this tutorial, including how to install ruby. http://www.math.umd.edu/~dcarrera/ruby/0.3/index.html , until it ends abruptly at the start of chapter 5.
- Next, discovered this excellent ruby book which the authors have been kind enough to put online (i guess cos an updated version is available in print) http://www.rubycentral.com/book/index.html. Read the first half of that, thought “that’ll do for now” and started on the rails stuff again. Possibly my first major error (not finishing the book that is, rather than reading it – it is a great book).
- Noticed that the rails introduction had been updated so worked through the updated version. Code wise it’s pretty similar – one problem i had was that the guide recommends using InstantRails, which installs ruby, rails and everything else you might need – including mySql. I already had mysql installed somewhere else and didn’t notice the new one at first. When i updated my rails app, i somehow got confused as to which instance of mySql i was using, got in a horrible mess, (helped by the fact that i was now using a different web server – Mongrel – instead of weBrick), deleted the old instance completely and started again. This was probably a pretty stupid and uneccessary thing to do, but hey that’s what this blog’s all about, right! If i was doing things the right way all the time i wouldn’t be the semi-blind, stumbling around coder that i am. Anyway, by the time i sorted out all that stuff i felt like i understood it a bit more.
- Did another rails tutorial someone posted up on a rails forum (http://railsforum.com/index.php), on uploading photos into a DB and displaying them on a web page: http://railsforum.com/viewtopic.php?id=4642. Everything in the tutorial worked fine, but it seems to not go quite far enough: you have a page which is a list of photos, and a page where you can see individual photos. The ‘individual photo’ page is coded to display pictures properly, instead of just a textified byte string. It seems like the list page should show the photos properly as well, so i used the same code to display the pictures. However, it didn’t work. Posted a question on the forum about it yesterday, no answer yet.
Finally – today. Been doing a bit of resarch by looking at what sites like Digg, reddit and del.icio.us do in more detail. Lots of impressive stuff going on. I’m not going to be able to do anything anywhere near as complex. Obviously.