Monthly Archives: December 2010

Always finish what you started

Past year was a very productive for me. I’ve been working as a web developer for a small Belgrade agency called KlanRUR. They base their business around computer games and my responsibility was everything that had to do with their websites. I was happy, worked with a bunch of really great people and the pay was acceptable. But something bothered me.

You see, I left college in order to get this job because I needed the money at the time. And whenever a thought about unfinished studies came to my mind I became depressed. That thought was something that was sitting at the back of my brain holding me back from dedicating myself completely to the job at hand. Decision to leave my employer at the time, was inevitable.

So I saved some money, set a New Year as a deadline for finishing my studies and resigned. But listen to this.

The very last day behind my desk, as I was packing my stuff and preparing to leave, my mobile phone rang. A gentle female voice on the other end of the line informed me that I was selected for a first round of interview at online startup Vast.

There were some job openings during August at Vast and I applied for a position of front end developer. And they were calling me like 2 months later. Completely forgot about them. To tell you the truth I was excited at first. My first thought was screw studies, I am only finishing them so I can work at a company like Vast.

It turns out I am not an idiot so I passed the first round. The second round was like a small test project done from home. I’ve received an assignment trough email and had 2 hours to send back a complete solution. Nothing really hard but somehow, I have managed to blew it. You see, I use a mobile internet, so I share ip address with everyone in the area who owns a mobile phone or mobile internet. Consequently the only response I was receiving from Twitter API was that I used up all of my API calls. It was very frustrating.

I managed to hack something up, and sincerely that was a complete pile of rubbish. I knew I’am not going trough this round. But that did’t kept me from fixing the project the next day. And it won’t keep me from publishing it on this blog.

In the next few days I will publish a series of posts which will hopefully explain, how you can finish this assignment yourself. Basically these posts are going to be tutorials about php, javascript, jquery and css, so stay tuned.

What is a CMS?

To most people CMS is just a buzz word. One word that sales people use when they want to sound important (or confusing). To state it simply, CMS is a short way of saying Content Management System. What these three words hide beneath this vague abstraction? Well first read my opinion on purpose of CMS:

The main purpose of Content Management System is to lower the cost of managing your content.

Real representation of cost can vary. It can be money, it can be time or anything else of value that you have to give up in order to manage your content.

Take a look at this diagram:

First of all CMS is a system. And according to Systems theory, a system is represented by input, system it self(attributes and behavior) and output.

So basically, CMS should represent a black box for you (in this case red). Theoretically all you have to do is input only necessary “stuff” into system and wait for desired output. Everything in between should not be of your concern. It should be the concern of the CMS developer. It is his response-ability to create a good system structure so that CMS can fulfill its purpose and lower your costs trough automation and efficacy.

In real life, CMS is represented by software. Usually a web software. And there is a lot of it. I mean thousands of different implementations. As if every developer on this planet tried to build one for you. Only thing that separates these software apart is their system structure. For example, they are adjusted to work with different content types (documents, slideshows, images, video). They have different behaviors, some are simple blogging platforms, some are enterprise software for holding sensible information and some are online stores.

Which one to choose? Well this is a broad topic and requires an article on it’s own. Usually it depends on what output you require and what inputs are available to you. CMS software should bridge these two together. And you should choose according to your requirements and CMS purpose, not it’s popularity.

 

It’s about people, people

I found link to this strip at Hacker News thread. A pure classic.

It's about people, people

via whattheduck.net

In my opinion it clearly represents the buzz created about recent Google AI Challenge 2010 winner Bocsimacko. Google AI Challenge is a competition organized by the University of Waterloo Computer Science Club and sponsored by Google. Competitors try to solve given tasks by writing algorithms in computer language of their choice. Clear winner was a guy from Hungary Gábor Melis.

But the news media was more interested in it’s chosen language for the competition than his skills and mind.
Maybe Google should hire “Lisp language” instead of this talented guy…

The first one

Remember, remember first of December.

This is my first post. First December seemed as a nice date to start my personal blog. I’ve tried to start various blogs in my past, but I had zero success rate till now. Somehow I find it hard to persist at writing regularly. You see, writing has never been my passion. Once I even got an F for my essay, back in primary school.

But I feel this blog will be something different. I’ll write about my passions, programming, web development and a lot of other topics that interest me. There is thousands of ideas on my mind and I am determined to publish them. Primary reason is feedback from other people. I’ve stumbled on this quote recently and it motivated me to push forward:

Writing is a way of organizing thought. Publishing is a way of receiving feedback.

Of course there will be criticism but I deliberatively wan’t to provoke it. Again a quote motivated me:

To avoid criticism, do nothing, say nothing, be nothing.

Nobody wants to be nothing. I personally wan’t to excel at what I do. This blog will log my ride to excellence. You are free to join :).