“Before you speak, listen. Before you write, think. Before you spend, earn. Before you invest, investigate. Before you criticize, wait. Before you pray, forgive. Before you quit, try. Before you retire, save. Before you die, give.”

Sunday, April 11, 2010

Back on the bike.

I admit it . I am unable to keep a diet :) . I managed to loose 20 kg in 2 months .. and now I am putting it all back.
Because I am a bit desperate I managed to fix my Dahon D7HG (with the help of 2 bikeshops).
The only big problem I have now is the fact that my Shimano Nexus 7 needs some adjustement and nobody can do it for me.
So recently I managed to get some riding ... about 100 kms in 2 long weekends.Needless to say after each ride I feel better , more relaxed and in a state of deep harmony with everything around (yes .. Nirvana,flow .. you name it it's great).
Starting tomorrow I will start commuting to work again and see whether the magic effects of biking work. They usually do :).
I am committed to doing about 100 km /week .. with 24km commute/ day I should easily get to 120km + other shopping rides .. it should do the trick.
People are starting to get back in their cars and today the used car fair organized each Sunday in Bucharest caused major road blocks .. it looks like we finally finished with the economic crisis. I will keep riding my bikes nevertheless.
Also I am trying to do a group ride on May 1st Bucharest-Urziceni -Constanta .. a 2 day touring trip for which I will take the old hybrid (the big wheel size is suited for touring ).
I decided to continue to improve my concentration skills and for once not to try to switch jobs again .. some continuum is required in my career.
And the best part .. my Thinkpad is working .. with interruptions so I am typing this on my old (2005) R51. I will not buy another laptop .. not ever again at least not for serious development work.
I bought an Asus K52 JR for my wife and guess what it is also overheating .. a brand new 2010 laptop.
Oups .. had to switch back to the desktop to finish the post .. damn Thinkpad died again .. so not more then 1h of productivity .. kind of forces you to be in the zone.

Monday, March 22, 2010

The great "open space" move

So finally it happened. After 1 month of being threatened(that is planning) we were finally moved to the "open space" .. a room where people get to work with little to no natural light , constant noise and interruptions and impossible to change temperature,ventilation,smells .. the nightmare of every introvert (and I am definitely one)

Anyway I discovered this was not as bad I expected .. not when your boss is right there on the floor next to you. People would finally refrain from making noise when they could be seen very easy and that is a good thing (something I did not count on).
However I expect this to change very soon and I prepared some classical music to listen to while coding ( the classical headphones solutions). I can't stand white noise for now so I will have to find good music.
Of course my monitor could be seen not only by my boss but also by 4-5 other persons plus passers by on the hallway.
Of course my back was turned to a door (and a high traffic area) and I had no saying in how I would be positioned. Of course I was told that nothing I do should be private so unless I have something to hide I should be happy people can see everything I do always. Of course there is no privacy whatsoever.
So the classic solution to this would be to stay late (and do overtime) to compensate for the lack of concentration. Before I did that and in the 2 h of overtime(when finally I would get some peace and quiet) I would fix things that I couldn't in the 8h at work (and enjoy coding also).
Well not any more .. I decided to spend exactly 8h at work and then run away as fast as possible (or bike away I hope very soon). I do not need nor want to code in these unfriendly conditions.
The next time my manager will tell me that the performance is poor I will tell him to read Peopleware (not even gonna buy it for him),Code Complete and JoelOnSoftware ... enough is enough I would rather spend more time on the bike than in the bull pen.


Which brings me back to biking ...
Hopefully my trusted Dahon D7HG will be fixed this week and I will enjoy some full 28 km round trip commute to work. This should help concentration and also my general well being (not to mention weight loss). So hopefully this blog will also be on biking again ..
Just thinking about biking makes me happy so I am even thinking about buying a 26'' foldable bike(Dahon Matrix , Montaque Paratrooper) if I can't fix the old Dahon.
Unfortunately I can't afford a new bike for the moment not since I had the accident and ruined my wife's bike.

Tuesday, March 2, 2010

Steward delegation vs. Gopher delegation

In the beginning of the year I finished reading 3 very interesting books:
"Getting Things Done" - David Allen
"7 Habits of highly succesful people" - Stephen Covey
"How to win friends and influence people"- Dale Carnegie

The most influential for me was definitely "7 habits of highly succesful people" and I like the way the author describes the leading of a team.
There are principles like this described in Dale Carnegie's book and as a human doing knowledge work - computer programming for the record I do agree with the "stewardship" approach.
The problem is that the IT world especially in Romania is filled with the "Gopher" delegation that is the boss controls everything and is responsible for everything and the developers are just dumb peons doing the grunt work.
I do not think this is a productive approach for either the company or employee as the employee looses his confidence and ability to learn and the managers of the company get way too low into details to do anything productive.

Today was just another day when I could barely think. I am trying to setup a steward delegation system in my team that is everybody get's his section to develop and be responsible for and we meet at the end of the day to see how far we all advanced.

Unfortunately the way the before-me leader did it was by gopher delegation and people try to follow the same pattern. I have to admit with beginner developers it is easier to manage by Gopher delegation then by steward delegation but I feel that I am going nowhere with Gopher Delegation.
So today I did implement about 95% of what I wanted to implement ... but people in my team did not do so well and I was supposed to guide them and help them. The thing is I do not always know how to do it and I can't always analyse their problems as I should - the result is a mountain of interruptions coming at me and destroying the one thing I love when coding : " The Flow".
No flow means no productivity and people should understand this sooner or later when doing the coding. Did I mention that "Gopher delegation" style of management is always associated with open plan offices ?
Communication is valuable , but when talking about your holidays while people around are working I suggest you do it elsewhere and yes I know you will hate me for that , it's just that I don't care.

Thursday, February 11, 2010

Debt-free

Finally I managed to pay for my car so if I exclude my rent and other bills I am finally debt free.
My first goal for the year is accomplished.
The feeling is very good to say the least .. so good that I don't think I will sign another loan contract again. I read this on a site (can't remember where) : "Think before you act , listen before you speak , earn before you borrow" .
The last part is the one most people don't think very often until they are forced to by economical realities.
As far as I am concerned I think it is just a matter of economical planning for a person and/or family.
If you want a new car and you do not have the money for it is simply means you can't afford it.The same goes for a new laptop , bike or anything else.
Borrowing money to buy these items would mean just lying to yourself.

Of course the culture we live in and the media always go for instant gratification at any cost. "I want to have it and have it now" .. yes but at a cost the cost of your future and your life. Guess who gets to use this trick : the banks world wide.
That was before the crisis. Commercials would show a bike (with an almost naked woman attached) and say : "Do you want to wait until you are 80 to get this ? " and people would buy that kind of nonsense and run to the bank asking for the biggest loan possible. Something like 10 years loan for a car was not unheard of and people would buy a 20.000 Euro car with 400 Euro salary/month (which is financial suicide if you ask me). I kept hearing : 20.000 Euro is nothing .. from people that would need 4 years in salary to get that kind of money (never mind saving).
The bank profits were huge and more important they would expand to almost every street corner.
People including the ones that should have been wiser (my dad) kept telling me that saving is not worth it and getting debt is a good thing .. but I still believe that even in business common sense is more important then the so called money-sense (or at least as important). Selling your future is never an option (never ever) and I hope people will understand that before our civilisation crashes down burning.

I read the famous book Rich dad,poor dad and the one thing I agree with is that borrowing for non-assets is something a smart person should never do. So borrowing money for a car/computer or worse case food is something that should never happen.. borrowing money to fund a start-up on the other hand might be ok if you believe in it and are willing to make it happen (but even then saving might be better).
Unfortunately even in my country it has become impossible to save money for a house (in a short period of time) so renting is my option for now(especially because the place I rent is ok and not very expensive).
Now I need to learn about something only the people in the communist past of our country did .. saving (and maybe investing).

Friday, February 5, 2010

R.I.P. Sun ...

For those of you browsing java.sun.com you might have noticed the Oracle name and tm there.
This Blog entry by James Gosling says it all .
I have been a Java programmer all my life (now just starting with Flex) and I really cannot believe that Sun is gone .. and MySQL will be gone soon enough.

Monday, February 1, 2010

The rebuild :)

Finally after working out the plan for 2010 (and taking into account my bonuses and raise) I decided to buy a faster computer sooner.
So here it is the config :
CPU : Intel core i7 860 (the best price/performance for a core i7) 2.8 Ghz Quad core +HT and 8MB L3 cache.
Memory : 1 GB (very cheap) Zeppelin 1333 Mhz memory - TODO upgrade it
Motherboard : Gigabyte P55A-UD4 - that is 333 or Serial Ata 3.0 3x power and USB3.0
PSU : used the (2 month)old one a Rasurbo silent power from my old Sempron
Case : Nexus version 1 aka Caterpilar - the quietest case I could find for less then 100Euro
GPU : Gigabyte Ati Radeon 4350 (yes it's slow but it works out nicely for my moderate gaming needs).
The best part is that I managed to build it all my self. I have changed some components before(CPU, GPU,RAM,RAM) but this is the first computer build I do by myself and is .. let's say very empowering to know that you can do this and have total control over your configuration. The shops selling parts would do it for 10$ (3o RON) but there was a 2 week waiting period and you were forced to buy the parts from one shop (and not use your old parts).
So I managed to get the total costs to around 550 Euro's (around 750$) for a great machine with good parts waiting for upgrade.

Needless to say Java /GlassFish/Mysql run a lot faster (up to 5 times faster) than my old computer BUT hard disk performance is still the bottleneck in some operations.
I could have used the money for a core i5 and more memory but these processors are all expensive so I feel fine with what I got since I can always add more RAM when I get some cash.
What I have here is a wonderful bicycle for the mind and used properly it could be an amazing tool and I feel almost guilty when I use it for gaming or web browsing .. hopefully the time and money invested in this machine will be worth it for the next 2-3 years.

Sunday, January 17, 2010

Project management .. or how do you get 1 baby in a month using 9 women

Since I started doing some kind of mini-project management I worked I realized something shocking. We (the developers) are just resources .. like a car engine or robot. The thing is that we are very expensive resources and we need to deliver code to actually ensure the company has profit.
The way management views us is that simple. And recently I have started to do it myself when using tools such as GanttProject. As you can see below this tool actually runs on Linux which makes it a great tool for new non-corporate project managers.















Ever since I started as a developer I had my conflicts with project managers. They would keep insisting that the task should take 2d because the project would not be on critical path otherwise .. and I would just say : It will not happen I think it takes 4 days (at least).
Now I get to do the estimations and the only way we could do the estimations right in my opinion is by using something called : Evidence Based Scheduling
I do not think you could ever estimate a new task without having it done before. This is not picking apples activity this is a complex endeavour. It is quite hard to say whether I can split a task between 4 people and parallelize it.
So as a team leader I am expected to make the right choice when doing the Gantt Diagram and sending it to management but I always tend to err on the safe side because I happen to know how it feels to be stuck before an error you could not possibly understand or to need something from a fellow developer and that guy is not available. Or to have some other priority taking away one or 2 members off your team.
The result is that I always finish on time and even before that but that is not always good because that time is always too long.
As far as I am concerned I feel obliged to honor my own estimation and that is that.
There are 2 ways of doing task estimating and only one is right in my view
1) We have a project deadline (already specified in contracts and signed for) let's split it between the developers and see how we can deliver it. The developers just have to do it in the specified time (or we will fire them).
2) We need to implement a project. We get together the team. Each developer chooses the features he needs to implement and gives an estimate. The team leader( me ) comes up with a sum of all estimates + some slack and the deadline is specified to the client (upper management might add some more slack).

Fortunately people understand that they need to do it using the 2nd method (at least where I work) but there are still shops doing the first method (been there done that) and these shops do not stay in business for long.
I like to be organized and I did my best to study time management techniques or to be effective in my work so I like to actually create a schedule and respect it (as a true professional) but I just don't like the idea that everything is already planned for you and you the developer don't get to actually say how much a task will take even if it is assigned to you. Developers that can't be trusted with estimates should not be trusted with code .. but (some) project managers seem to miss this point so they do the estimates for the poor guys and ask them to come during Weekends to get the work done.
LE: could not help it 9 women give you 1 baby /month :)