Web Application Development Frameworks – Part 1

For a long time Ruby on Rails has been the ‘cool kid on the block’ when it comes to contemporary web application development. A good way to understand what a ‘contemporary web application’ is to view the >list of applications that have already been built on Ruby on Rails (RoR). Some notables in the list are Twitter, Groupon, Funny or Die, and Hulu. That’s some good company.

And in case it wasn’t clear, Ruby on Rails is a development tool that allows a programmer to create the type of sites listed above easily. With RoR a website becomes fast and easy to create, maintain, and improve. A lot of ‘magic’ is found within Rails that lets the programmer focus on the practicalities of website development, such as what is the final product and does it work as expected. This is unlike other development tools that force the programmer to worry about idiosyncratic behaviors of certain technologies which cause the completion of the project to drag on and on.
Continue reading

Coming Soon

I wish I had something more substantial to show here. The fact of the matter is I’ve been working at a fever pace to get what I’m calling version 1.0 of the Best and Worst Project ready. As I realized tonight, the Python programming language has the uncanny ability to raise my frustration level from 0 to 100 without any effort. In any event, I’ll have that fun website ready to show you soon. For now sit tight please. :)

Working Toward Becoming A Workaholic

Although seemingly antithetical to a healthy lifestyle, I’m in the process of cultivating an addiction to work. This has the end goal of assigning myself the label ‘workaholic’, with the hoped for side-effect being an increase in works created, produced, and ultimately visible for display and sharing.

Currently I have time invested in the following arenas:

  • Python and Web2py in pursuit of creating a web application
  • Java and Android development in pursuit of an Android application
  • Objective-C and the iOS SDK in pursuit of an iOS application
  • Logic Studio and Music in pursuit of creating songs
  • Final Cut and Videography in pursuit of creating movies

Each of these focuses have areas that overlap along with areas that remain independent. By this I mean some of the knowledge I have gained from learning Logic Studio benefits my musical pursuits, while not having any positive or negative influence on time spent creating a web application.

Previous to my decision to commit myself to working at a general scale I found myself constantly holding my head in agony, pained at the effort required to remember all the various projects and ideas I had thought and begun acting on.

Now I am able to umbrella all of these projects under the one goal of ‘Work’. This brings about less pain and clearer focus.

Previously I would commit an unnecessary amount of time deciding what project work on. Now I am free to decide to work and know that there are a plethora of projects awaiting completion.

While once I had five different and independent tasks ongoing, now I only have the one of ‘Work’. And this work is work I find to be greatly pleasing. So pleasing that I find it fun.

And fun is the way work should be.

How I Make My Week of Links

The first few times I was formatting my ‘Week of Links’ post I had a very loose and chaotic system in place. Most of my reading is done through my Google Reader account, which helps centralize all the different websites and blog feeds into one place. This way, instead of having to load 10+ websites every day to catch up on news, I am able to go to my Google Reader and read all my news in one neat location.

When I first started saving links to use for these posts I would shift between tagging them, starring them, or sending them to my Instapaper account. This quickly became chaos and resulted in more confusion and work than I had ever intended.

Slowly, as the weeks progressed, I fell into a rhythm. During the week I would Star each Google Reader item that I thought was interesting or worthwhile to share. After the week was over I would go through my starred items from the past week, sometimes skipping articles that were no longer relevant or interesting, and open each article in a new tab (in the background thanks to this Google Chrome Extension). At this point I have one Google Chrome windows open with about 15-20 tabs, each with the article loaded.

From here I open the most excellent Chrome Extension Session Buddy and use its export feature of my open tabs to produce a CSV file with the title and URL of each article.

Until this week I would manually go through this list and create the HTML necessary to make each headline linkable, which was quite an arduous and boring job. This week however I made a breakthrough and was able to automate this task through the use of only FOUR lines of Python code. Opening a Terminal window on my Mac I entered into the Python Interpretator and ran the following four lines:

import csv
reader = csv.reader(open("googlRss.csv", "rb"))
for row in reader:
	print '<a href="%s" target="_blank">%s</a>' % (row[1], row[0])

Which produced the following result:

After this point it was only a matter of adding my comments to each headline, and voila! The Week of Links was ready for publishing!

The Best and The Worst Project

A little while ago I wrote a post that had an idea for a list of ‘best things’ and ‘worst things’. It was a quirky idea based off then-recent observations of my over-use of the phrases ‘the best!’ and ‘the worst!’.

What’s interesting to me is the fact that those phrases haven’t gone away. Although the frequency in which they’re said has decreased, they seem to have crept into my daily way of talking – and I’m not alone. I see and hear other people using those phrases – ‘the best’ and ‘the worst’ – all the time now, leading me to believe that I’m not unique in their use and far from being their creator.

For those who know me I am a computer enthusiast and programmer. I have recently decided it was time for me to learn a new programming language, namely Python. I’ve been reading a lot of theoretical books on how to program Python, however there is something that can’t be taught without actually programming.
Continue reading