Funny, I just discovered Dropbox and started to rave about it and here come the first indications that Google is preparing to launch a similar service - the GDrive. My guess is that GDrive will start with much more that a 2 GB free account which will put a lot of pressure on Dropbox. Let's hope that Dropbox can stay ahead in yet another rematch of David against Goliath.
--Hardy
Friday, January 30, 2009
Wednesday, January 28, 2009
jfokus summary
This years jfokus has ended and here is the summary of my whereabouts at the conference. Firstly - practicalities - the conference has moved from Electrum - a conference center in high tech industrial suburb Kista north of Stockholm - to Filmstaden Sergel - probably the biggest movie centre in central Stockholm. This means that more people can attend and that the choice of great pubs after sessions is much, much better.
First day is tutorial day. I aimed for maximum fluff so I turned down interesting offers about HTML 5, JavaFX and JPA/JAXB integration in favour of sessions about hyperactive teams running on scrum and the pomodoro technique, a personal micro time management method. Both sessions were definitely interesting.
From the first session - by Adam Skogman of Skåne based consultants Jayway - I expected more about increasing productivity in an already up and running Scrum team. Instead the session was kind of a recap of Scrum basics with some pragmatism added. So lots of the stuff was already known to me. Nevertheless useful since I work in a scrum team now and it is good to be reminded of some of the practices. One thing I have been thinking about a lot lately is how to integrate test people with a scrum team. Adam suggested that test persons write test cases (as they always do) but they are then not tested manually but handed over to developers that implement the test cases as automated tests using Selenium (or WebTest). Will try to persuade our test leader about this approach. Manual test will still be needed but more for usability reasons. Functionality should be possible to test automatically all the way. Another good thing with this session was that I finally understood the idea of estimating with points rather than hours. Might blog more about that later.
The second tutorial about the pomodoro technique was far too long but introduced a very interesting concept that I actually might try in the future. The point is to chunk up ones time in 25 minute blocks and within each block focus on exactly one task. Pick a task, work on it for 25 minutes, rest 5 minutes, pick a new task or stick with the last one, work for 25 minutes, rest for 5 minutes. A 25 minute period is called a pomodoro. If you are disturbed during a pomodoro the pomodoro is lost and you will have to restart. If you are disturbed but manages to reschedule the distorsion you are fine. The progress is recorded: how many pomodoros you managed during a day, if you get distrubed and if it was internal (self inflicted) or external (phone, mail, questions). At the end of the day there should be time for some reflection on the day that passed so that improvements to the process can be made. Read more about it at Staffan Nötebergs blog.
Second day is conference day. It started with a keynote about JavaFX of all things. Interesting concept but maybe not that interesting. A rather boring and fluffy presentation. But to be fair I wrote the first part of this blog post during the session so I never really gave Mr Ritter from Sun a chance to get my full attention.
Then I went on to HTML 5 and its web sockets thing that brings full duplex communication to the browser world. Interesting stuff. The presentation was a bit technical but the implications of this new possibility worth pondering about for a while.
After that I listened to a low detail take on performance and tuning that ended with a long description about how to make a hash thread safe and fast. I never really got it. Might have been a problem on my end - not sure. What I really missed though was a stern warning about doing premature optimizations. Talks like this might cause developers to go back to work with performance as one of their highest priorities which might not be good at all for the system at hand. Only tweak stuff like this after metrics show you that it is necessary. Lunch after this was refreshing.
I had a hard time deciding what to do after lunch. Would I listen to DSL with Groovy or Domain Driven Design (yet another silver bullet?). Or maybe join the suits about agile organisations. Hanna convinced me that "Controlling your architecture" was the right thing to do. Turned out that this talk was interesting although it was much more about code and design than about architecture. Might be that the speaker only had experience from smaller systems. Anyway - I got with me hints to several tools that I would like to try out. Structure 101 seems to be a really nice code analyzer that generates graphs of package and class dependencies resulting in a very god overview of the system. I hope it works with Hudson.
Finally time for my co blogger Hardy to enter the scene with a 15 minute lightning talk on Hibernate Search. With new really nice slides he managed to get a lot of information out in a very short time. Well done! He makes a strong case for using Hibernate Search when full text search needs to be combined with the real objects that hibernate provides. Hibernate Search removes the need to code this infrastructure by oneself.
Then a semi weird talk about dependency injection which gave me some nice insights into Google Guice. The talk ended with paraphrasing the pragmatic programmers suggestion to learn one new language every year with learn one new dependency injection framework every year. Hmmm - I certainly don't wanna do that.... Dependency injection is a nice thing but what we often forget is that we are adding complexity when we introduce it. It makes code harder to follow and read in exchange for increased testability and loose coupling. I dare say that dependency injection is not always the solution. As always - it depends.
The conference day ended with a great talk about how to turn good developers into great developers by Chris Hedgate. Lots of common sense: don't be a star - be a guide and lead by example. Take the time to work with good developers so that they also one day might become great. Chris also made a great refactoring demo to illustrate how a great developer thinks. Simplify always. This was a great end to 2 nice days with some highs and some lows. For me - the best part is to meet and talk to many friends from previous projects. Some of us continued talking at the conference pub at Grodan and then later at Monks Bar.
First day is tutorial day. I aimed for maximum fluff so I turned down interesting offers about HTML 5, JavaFX and JPA/JAXB integration in favour of sessions about hyperactive teams running on scrum and the pomodoro technique, a personal micro time management method. Both sessions were definitely interesting.
From the first session - by Adam Skogman of Skåne based consultants Jayway - I expected more about increasing productivity in an already up and running Scrum team. Instead the session was kind of a recap of Scrum basics with some pragmatism added. So lots of the stuff was already known to me. Nevertheless useful since I work in a scrum team now and it is good to be reminded of some of the practices. One thing I have been thinking about a lot lately is how to integrate test people with a scrum team. Adam suggested that test persons write test cases (as they always do) but they are then not tested manually but handed over to developers that implement the test cases as automated tests using Selenium (or WebTest). Will try to persuade our test leader about this approach. Manual test will still be needed but more for usability reasons. Functionality should be possible to test automatically all the way. Another good thing with this session was that I finally understood the idea of estimating with points rather than hours. Might blog more about that later.
The second tutorial about the pomodoro technique was far too long but introduced a very interesting concept that I actually might try in the future. The point is to chunk up ones time in 25 minute blocks and within each block focus on exactly one task. Pick a task, work on it for 25 minutes, rest 5 minutes, pick a new task or stick with the last one, work for 25 minutes, rest for 5 minutes. A 25 minute period is called a pomodoro. If you are disturbed during a pomodoro the pomodoro is lost and you will have to restart. If you are disturbed but manages to reschedule the distorsion you are fine. The progress is recorded: how many pomodoros you managed during a day, if you get distrubed and if it was internal (self inflicted) or external (phone, mail, questions). At the end of the day there should be time for some reflection on the day that passed so that improvements to the process can be made. Read more about it at Staffan Nötebergs blog.
Second day is conference day. It started with a keynote about JavaFX of all things. Interesting concept but maybe not that interesting. A rather boring and fluffy presentation. But to be fair I wrote the first part of this blog post during the session so I never really gave Mr Ritter from Sun a chance to get my full attention.
Then I went on to HTML 5 and its web sockets thing that brings full duplex communication to the browser world. Interesting stuff. The presentation was a bit technical but the implications of this new possibility worth pondering about for a while.
After that I listened to a low detail take on performance and tuning that ended with a long description about how to make a hash thread safe and fast. I never really got it. Might have been a problem on my end - not sure. What I really missed though was a stern warning about doing premature optimizations. Talks like this might cause developers to go back to work with performance as one of their highest priorities which might not be good at all for the system at hand. Only tweak stuff like this after metrics show you that it is necessary. Lunch after this was refreshing.
I had a hard time deciding what to do after lunch. Would I listen to DSL with Groovy or Domain Driven Design (yet another silver bullet?). Or maybe join the suits about agile organisations. Hanna convinced me that "Controlling your architecture" was the right thing to do. Turned out that this talk was interesting although it was much more about code and design than about architecture. Might be that the speaker only had experience from smaller systems. Anyway - I got with me hints to several tools that I would like to try out. Structure 101 seems to be a really nice code analyzer that generates graphs of package and class dependencies resulting in a very god overview of the system. I hope it works with Hudson.
Finally time for my co blogger Hardy to enter the scene with a 15 minute lightning talk on Hibernate Search. With new really nice slides he managed to get a lot of information out in a very short time. Well done! He makes a strong case for using Hibernate Search when full text search needs to be combined with the real objects that hibernate provides. Hibernate Search removes the need to code this infrastructure by oneself.
Then a semi weird talk about dependency injection which gave me some nice insights into Google Guice. The talk ended with paraphrasing the pragmatic programmers suggestion to learn one new language every year with learn one new dependency injection framework every year. Hmmm - I certainly don't wanna do that.... Dependency injection is a nice thing but what we often forget is that we are adding complexity when we introduce it. It makes code harder to follow and read in exchange for increased testability and loose coupling. I dare say that dependency injection is not always the solution. As always - it depends.
The conference day ended with a great talk about how to turn good developers into great developers by Chris Hedgate. Lots of common sense: don't be a star - be a guide and lead by example. Take the time to work with good developers so that they also one day might become great. Chris also made a great refactoring demo to illustrate how a great developer thinks. Simplify always. This was a great end to 2 nice days with some highs and some lows. For me - the best part is to meet and talk to many friends from previous projects. Some of us continued talking at the conference pub at Grodan and then later at Monks Bar.
Sunday, January 25, 2009
Useful tools
Here comes another edition out of the useful tools series. This time I want to recommend two online services which really work for me. With that I mean, I actually try them and stick to them without thinking after a short while:" Yes, but ...". Of course these tools are more productivty tools. As you might have noticed, Fredrik is cleary responsible for the social network applications on this blog ;-)
The first application I want to recommend is Remember The Milk or just RTM (maybe I have done this before?). It is a task list organizer which is just great. I had some initial problem understanding the way the UI works, since it does some strange DHTML stuff when you are hovering over a task list. That is when you use the mouse. When you take the time to learn some of the keyboard shortcuts you will love this tool even more. The beauty of RTM is that I don't have to be online all the time. I can access a mobile version from my phone or even better send a new task to RTM by sending a text message to Twitter (and yes, I created a Twitter account just for that!) There is also a plugin which allows you to integrate you tasks into Google Calendar. Over time I tried so many different task organizers, but this one really works for me.
The second application I want to recommend is Dropbox. It is basically another online data store. Nothing special really. The reason this tool convinced me is the integration with my Mac. It is just awesome. After installing the Dropbox application on my computer I can see an addtional folder in my finder and I can just drag&drop files into it and they get immediately synchronized to my web storage. I even get feedback whether the synchronization is complete via some nice icons. Of course there is also a web interface to dropbox where you can also the history of each file. This means usng dropbox gives you also some sort of version control for files placed into it. It is also great for any files you want to either just access from the internet or maybe edit from multiple different computers. Dropbox also has the concept of public folders into which you can drop files. This files are then accesible via URLs dropbox creates for you. You can even create online picture albums on Dropbox. The only downer is that the free account only offers you 2 GB. If you want to use more you have to upgrade and pay for more space. There is also no option to just pay what you use for. Instead you have to go to a 5 GB plan right away (I think). Currently I just stick to the free 2 GB and use Dropbox for simple documents.
Anyways, have to run ...
--Hardy
The first application I want to recommend is Remember The Milk or just RTM (maybe I have done this before?). It is a task list organizer which is just great. I had some initial problem understanding the way the UI works, since it does some strange DHTML stuff when you are hovering over a task list. That is when you use the mouse. When you take the time to learn some of the keyboard shortcuts you will love this tool even more. The beauty of RTM is that I don't have to be online all the time. I can access a mobile version from my phone or even better send a new task to RTM by sending a text message to Twitter (and yes, I created a Twitter account just for that!) There is also a plugin which allows you to integrate you tasks into Google Calendar. Over time I tried so many different task organizers, but this one really works for me.
The second application I want to recommend is Dropbox. It is basically another online data store. Nothing special really. The reason this tool convinced me is the integration with my Mac. It is just awesome. After installing the Dropbox application on my computer I can see an addtional folder in my finder and I can just drag&drop files into it and they get immediately synchronized to my web storage. I even get feedback whether the synchronization is complete via some nice icons. Of course there is also a web interface to dropbox where you can also the history of each file. This means usng dropbox gives you also some sort of version control for files placed into it. It is also great for any files you want to either just access from the internet or maybe edit from multiple different computers. Dropbox also has the concept of public folders into which you can drop files. This files are then accesible via URLs dropbox creates for you. You can even create online picture albums on Dropbox. The only downer is that the free account only offers you 2 GB. If you want to use more you have to upgrade and pay for more space. There is also no option to just pay what you use for. Instead you have to go to a 5 GB plan right away (I think). Currently I just stick to the free 2 GB and use Dropbox for simple documents.
Anyways, have to run ...
--Hardy
Wednesday, January 21, 2009
What's wrong with the Swedish bread?
To step ahead of myself here - everything!
I am now living for several years in Sweden, but one of things I remember well are my first experiences shopping for bread. Being from Germany I had quite high expectations, however one of my first observation was - there and are no bakeries in Sweden. Well, there are a few, but they don't
sell what I would call bread. So where do Swedes get there bread from ? From the supermarket would be the general answer. In fact each average stocked Swedish supermarket has at least two shelves of different bread types. Probably over 100 types of so called "fresh" breads. That is of course if you consider factory made, pre-sliced and packaged breads as fresh.
I also quickly learned that out of this supposedly big assortment only a few breads were actually eatable. In fact one of the first Swedish words I've learned was "osötad", meaning "unsweetened". This was the one single word i had to look out for when buying bread, since most breads in Sweden would have syrup added to them in order to sweeten them. And this is just wrong! Unfortunately, the sole fact that I prefer my bread to be unsweetened reduces my choice from over a hundred down to a handful. None of them particularly good and definitely without crust. Funny enough a good crust actually makes a bread "sweet" to a certain degree due to the caramelized starches in the crust, but believe me that cannot be faked by adding syrup.
Anyways, that were just a few of my own experience, but why do I think it is worth blogging about this? Haven't I got used to the Swedish way by now? To a certain degree yes, but I just realized that I am not alone. I owe this insight to "Den Hemlige Kocken" from Mats-Eric Nilsson. This book opened my eyes. Not only did I finally realize that the "problem with bread" was not the strange excrescence
of a German living in Sweden. No, there are other people out there who think likewise. And they are Swedish! "Den Hemlige Kocken" shows you what is wrong with food production and habits in sweden or most parts of the the westernized world as a matter of fact. For example, it shows what a fake the seemingly big bread assortment is. Effectively there is less than a handful of factories producing all the same low quality product. The trick is to package and brand it in many different ways in order to create the illusion of choice. It is almost magic, until you look behind the scenes.
Sadly bread is just the beginning. I urge everyone who is interested in food (and able to read Swedish) to get a copy of this book. In case you are too lazy to read just watch "Unser täglich Brot". In the latter case you don't even need to understand German. The whole movie is without a single word, but it shows in a terrible way how soulless and inhuman food production has become.
However, more importantly than reading a book or watching a film is to actually do something about this tasteless and soulless food. Next time you go to the supermarket ask the store owner why there is such a limited choice of fresh and local produce in the shop. Ot try to find a real bakery or a small shops selling real fresh produce. Or you could join such great initiatives as Slow Food? Believe me, once you tasted the difference, there is no going back.
Wau, now I got this off my chest. It really troubled me :) I would like to finish this post with a link to a TED talk which I accidentally discovered the other day. Fittingly it is a
talk of Peter Reinhart about bread. It's great. And let me conclude this blog with Reinhart's words:""May your crust be crisp and your bread always rise"
--Hardy
I am now living for several years in Sweden, but one of things I remember well are my first experiences shopping for bread. Being from Germany I had quite high expectations, however one of my first observation was - there and are no bakeries in Sweden. Well, there are a few, but they don't
sell what I would call bread. So where do Swedes get there bread from ? From the supermarket would be the general answer. In fact each average stocked Swedish supermarket has at least two shelves of different bread types. Probably over 100 types of so called "fresh" breads. That is of course if you consider factory made, pre-sliced and packaged breads as fresh.
I also quickly learned that out of this supposedly big assortment only a few breads were actually eatable. In fact one of the first Swedish words I've learned was "osötad", meaning "unsweetened". This was the one single word i had to look out for when buying bread, since most breads in Sweden would have syrup added to them in order to sweeten them. And this is just wrong! Unfortunately, the sole fact that I prefer my bread to be unsweetened reduces my choice from over a hundred down to a handful. None of them particularly good and definitely without crust. Funny enough a good crust actually makes a bread "sweet" to a certain degree due to the caramelized starches in the crust, but believe me that cannot be faked by adding syrup.
Anyways, that were just a few of my own experience, but why do I think it is worth blogging about this? Haven't I got used to the Swedish way by now? To a certain degree yes, but I just realized that I am not alone. I owe this insight to "Den Hemlige Kocken" from Mats-Eric Nilsson. This book opened my eyes. Not only did I finally realize that the "problem with bread" was not the strange excrescence
of a German living in Sweden. No, there are other people out there who think likewise. And they are Swedish! "Den Hemlige Kocken" shows you what is wrong with food production and habits in sweden or most parts of the the westernized world as a matter of fact. For example, it shows what a fake the seemingly big bread assortment is. Effectively there is less than a handful of factories producing all the same low quality product. The trick is to package and brand it in many different ways in order to create the illusion of choice. It is almost magic, until you look behind the scenes.
Sadly bread is just the beginning. I urge everyone who is interested in food (and able to read Swedish) to get a copy of this book. In case you are too lazy to read just watch "Unser täglich Brot". In the latter case you don't even need to understand German. The whole movie is without a single word, but it shows in a terrible way how soulless and inhuman food production has become.
However, more importantly than reading a book or watching a film is to actually do something about this tasteless and soulless food. Next time you go to the supermarket ask the store owner why there is such a limited choice of fresh and local produce in the shop. Ot try to find a real bakery or a small shops selling real fresh produce. Or you could join such great initiatives as Slow Food? Believe me, once you tasted the difference, there is no going back.
Wau, now I got this off my chest. It really troubled me :) I would like to finish this post with a link to a TED talk which I accidentally discovered the other day. Fittingly it is a
talk of Peter Reinhart about bread. It's great. And let me conclude this blog with Reinhart's words:""May your crust be crisp and your bread always rise"
--Hardy
Tuesday, January 06, 2009
this blog in numbers [2008 retrospect]
I am really into statistics a lot so here is a post about this blog and the year 2008 in numbers. Over the year we had 1774 visits generating 2096 page views. Traffic has almost doubled compared to 2007 (although we started in february). Geographically: 638 visits from the states, 250 from Sweden, 127 from UK, 76 from Canada, 66 from India and so on. 75% of all visits started with a Google search. The most popular article is Hardy's No such file or directory - /tmp/mysql.sock with about 20% of all page views. The second most popular article is svn over ssh prompts for the wrong user name. A reader commented: "This is the greatest blog posting ever. I've been trying to figure out this problem for hours!". Both this helpful articles are easily accesible with an error message search. The third most popular article is my take on the success of facebook - a bit surprising! Firefox was used by 57% of the readers, 26% on IE and 10% on Safari. Operatins systems: 61% on Windows, 24% on Mac and 14% on Linux. All this nice statistics mad possible by Google Analytics. Lets hope for 4000 visits this year!
Subscribe to:
Posts (Atom)
