I’ve been wanting to redo my personal site for some time and desired something a bit more involved then a one-pager with my contact details. I was also starting to suspect that my Google search results may be taking a hit since I hosted two of my blogs on subdomains of http://adamogrady.id.au and the similarities in topic, authors, etc might appear spammy to the Google algorithm.
Rather than look towards the high-tech side, I was eventually swayed into trying out a static site generator given their current popularity.
On the weekend past I decided to see if I could build a small project I had in mind and get it into production on the World Wide Web before I started at my new job. I decided to try building a journal system that reminds you to update on a daily basis by sending you a nightly email with a link to the latest entry for that day. I ended up getting it working in a very basic format (with user accounts/authentication) which I uploaded to some hosting I have through Digital Ocean.
I’ve done a fair bit of Unity3D work before, but it’s mostly been “fun” projects or random stuff to test out hardware like the Leap Motion. But recently a friend has invited me to join his small collective that are working towards building a video game. It’s mostly a hobby-with-direction and since we all have our own lives as well it may not go far or reach it’s goal quickly; but that doesn’t stop us having fun and trying new things.
This entry feels like a bit of a copout, however I feel pretty good with what I’ve done so far. For years I’ve used iTunes to manage my library and it would always be on my main PC, meaning anyone who wanted to play music from our massive library of tracks would have to play it on my PC and hope I’m not doing anything that also has sound. We considered putting the music on the file server (rather than just the backup) and allowing multiple computers to connect to it, however any added music would not automatically appear on other clients, breaking the integrity of the library.
Oooh man, it’s been an exciting weekend. Alongside the effort and work in packing up the house to move shortly I’ve been spending a heap of downtime reading, practicing and learning about functional programming. I’d like to give a massive thanks to Becoming Functional by Joshua Backfield, it’s an easy to digest, fun to read text which follows the evolution of a fictional use-case/company as you rewrite it’s imperative code as functional.
My apologies for the absence and lack of updates although this may be closer to regular schedule in the future, depending on how circumstances turn out (vague-/personal-posting, sorry), but I have been working on some projects. In particular, my main focus has been on a commercial shopping cart website for a friend that I’m developing. I can’t give too much information about it since the project is still underway but it involves building my own shopping cart, creating a content management system for my friend to simply log in and update content, etc.
Alright, so with the blog and forum components slowly shaping up I thought I’d try my hand at putting together a chat client for the SiteHub project. I don’t know if I’ll be building tutorials for this one, most of the groundwork is covered pretty well by the RailsCast crew here and if you’ve followed my other tutorials you will probably be able to get most of the features done easily without my instruction.
Continuing on from Part 2 of our Rails Blog tutorial, now we’re going to be adding in a tag system so users can tag posts and check out what posts are available under a particular tag.
To start with, run rails g model Tag name:string to generate a model for the tags then run rails g migration posts_tags and find the migration this generated (typically db/migrate/YYYYMMDDHHMMSS_create_tags.rb with a different time stamp) and add the following inside the change method:
By now you should have a blog with users, administrators and even a tag system as of part 3 in this series, so now we’re onto something for greater aesthetics. In this case, custom URLs for posts and tags.
We’ll start by running:
rails g migration add_url_to_tags_and_users The above generates a migration that we can open up (usually in db/migrate) and add the following inside the change method:
add_column :tags, :url, :string add_column :posts, :url, :string This will add columns for the url component to both the Tag and Post model and we can send these changes to the database with rake db:migrate.
This is a continuation of the SiteHub project brought up in my Rails Forum Skeleton tutorials (Part 1, Part 2, Part 3, Thoughts), moving on to developing the news-site/blog component that the project will hopefully involve. If you’ve been through those tutorials you’ll likely see some familiar commands and actions, however I’ll do my best to explain everything for newcomers as well.
Firstly, I’ll be using Ruby 2.1.1 or greater and Rails 4.