Every now and then I have to set up a new box for myself.
And I always forget how to set a nice bash prompt.
Here it is now. So I don’t forget.
Makes me want to learn lisp.
Makes me stay away from php.
(The drawing is from here: http://i.imgur.com/er0tV3O.jpg)
I made my deadline! Prandius beta is released before Christmas!!
I am getting on with my new project.
The first thing was to choose a name: PRANDIUS. It is coming form latin, “prandium” which means: dining.
I registered the domain name too: prandius.net
I stared a new project at home, and I am really into it.
It’s a food-photo-sharing website. I intend to have a beta-release before Christmas.
I am using django in the backend and angular.js in the frontend. I really wanted to try out angular for some time now. At work we are using djnago, but not angular, and I found that django really needs a good frontend framework to complement it – and somethig more advanced than jquery. So, I am going to try out angular to see if it is as good as they say it is, and to see if it plays nicely with django.
So, my technology stack will look like this:
– frontend in angular.js
– rest api in django
– database connection – comes with django for free
– admin interface – comes with django for free
– async tasks (e.g. creating thumbnalis) – celery
I discovered an interesting analogy: software systems are like cities. In very many ways.
1. They are continuously changing/evolving
It would be absurd to expect that a city can be first designed, and then built in one go. And then, it functions till the end of times without major changes.
2. They are designed by many autonomous people
Even if there is one chief architect when designing a city, if can not have control over everything. It can provide stylistic guidelines, and design the bird-view looks of the city, and maybe some key buildings at best. But nobody can control the whole design, all the high-impact decisions that are made during the building of a city.
3. The passage of time shows
The age of the building shows, so does the age of software. In the software world, it is sometimes called software erosion.
4. Components may not fit together perfectly
The city does not provide a uniform look, even if it tries to. Buildings are designed by different people, following different guidelines. Sometimes two buildings standing next to each other differ so much that it hurts the eye. Still, until they function well enough, we have to live with the fact.
5. Design is not always carried through implementation due to lack of resources
Even if the plan is nice, lack of time or money can interfere during the implementation, leaving the end result simplified, altered or half finished.
So, if you ever find yourself in the situation when you have to manage expectations about software systems, think about this analogy.
I think it is high time that I start a professional blog.
I am a software engineer, have been active for about 10 years (it really depends where you start the counting from, some people call themselves programmers since they first wrote a hello world in Pascal at the age of 12).
I was doing c++ programming for a while, in the financial industry, and I was quite isolated from the open source world. But recently I switched, and I discovered web development for myself, with all its enthusiastic and open minded communities, and I am loving it!
So I am rowing in the open source boat now, and I want to share the experience with you. Because I can. Finally.