Archive for May, 2007|Monthly archive page

Some amazing applications with pictures

Google has started a new feature in Google Maps, Street View. Now you can walk through selected places in the US and watch panoramic photos along the streets. This is not so new, but what is amazing is the free navigation along the streets so you can go sight seeing!
The second fascinating thing is Photosynth, presented by the TED2007 conference. Scott Hanselmann posted this information on his blog but it is really a create technology that is worth reposting. What it does is basically to align collections of images of a specific object taken from different viewpoints one to another via automatic feature extraction. What you get is a reconstructed 3D structure of the object which can be viewed as far as pictures are available. Supported is this with the seamless zooming technology of Seadragon which allows to operate with extreme large image collections in real time.

Are multi-touch displays coming this time?

Microsoft presented on the D5 conference a new concept for multi-touch displays. This demo is different from the amazing one of Jeff Han, who presented his visionary display in the beginning of the year. For the first time, at least I’ve seen this, the display and the running applications interact with real world object as mobiles on the display! It is amazing to thing about it: place your camera on the table, select all available pictures accessible on the display, rearrange them or drop them in baskets, printers … whatever. Another multi-touch system will be the Apple iPhone loaded with Google software. So the technology seems to work and the sensors are for this time not a part of the display instead they are embedded in the frame or realized with multiple cameras. So every display can be used and maybe at least for the consumer market a new metaphor is coming how to interact with computers … at least if you have clean fingers 😉

ORM or not ORM?

The current .NET Rocks! show #240 has the title “The ORM Smackdown!” and is a after dinner discussion between Ted Neward and Oren Eini (Ayende Rahien). Really worth listening!
I’m currently in the same dilema, using traditional data representation via a relational database or use a alternative technology with an distinct OODB layer. I will stick to the more traditional way because of two reasons: for once, the data model is very flat and hierarchical, more like XML, on the other side the system is data and not domain driven, so a lot of values of a object oriented representation do not provide a advantage. IN addition, a distinct document repository based on Sun ZFS will be used.
On the other side, modern OODBMS such as db4o or hybrids such as Cachè are very fast, work with POJO’s (or PONO’s in the .Net world) and are much easier to handle then the schema evolves. Normally, they are also not the best solution for document oriented data as XML or unstructured text. For this, native XML databases or document storage systems (such as Sun StorageTek 5800) are a better way. Maybe sometimes in the near future every technology will become valid because of the extreme amount of processing power and memory available.

News that is “overlooked” by commercial media

Not only Europe, also the USA has a de facto censorship of the press which is currently by far stronger than every time in the history because of the stupid and commercial interestingWar on terrorism“. A lot of stories pill be actively or indirect prohibited for publications. These two sides at least publish interesting ones on the internet.

The Art of the Start

This book from Guy Kawasaki is the most compact list of sticky notes for starting a company. It is written for for the American market, certainly for the fast changing Bay Area, but it is fast to read, is very direct in his speech and provides valuable tips for providing presentations, what is important in the different phases of a startup and tells something about the common pitfalls on the way. What makes the book serious is for one thing, it is clear that he made sometimes the same mistakes and on the other side, whoever was part of one or more Startups has already made sometimes the same experiences … interesting that they seem not so different from the American soil.
The book is something you should read every time you are involved in processes mentioned in there, as making speeches, presentations, recruiting, business plans and so on. But beware, Austria is different in a lot of ways and  and besides books you should speak who to someone who has successful started a company (the are a rare species after all ;-)).
Besides, the most common ignorance of Austrian companies is to recognize that they are in the bootstrap phase, most decide if they got funded they are out of it. Nothing can be further from the truth!

The value of podcasts

I personally ignored podcasts a long time, maybe mainly I am not one of the kids with iPod. But since I got my current mobile, which has wireless LAN and a very good speaker, I learned that there are a lot of good podcasts out there. The nice thing is now, that my device loads automatically all new podcasts eposides in the night and whenever I’ve time I can listen to them. This makes it fool proved for lazy people like me … now what are my favorites:

  • Hanselminutes
    Scott Hanselman has not only a good website concerning hacking in the Microsoft ecosystem, his weekly podcast is also one of the best.
  • Software Engineering Radio
    The podcast presents very good interviews with bright and celebrated people in software engineering.
  • Agile Toolkit Podcast
    Very good interviews from the bright side of the force.
  • Entrepreneurial Thought Leaders
    This is definitely my all time favorite: Stanford brings it’s lectures on entrepreneurship as podcasts and you can listen to people you maybe will never meet but which have thoughts and experience that you will never hear from most people here in Europe. So event if you are not so interested in talks about entrepreneurship, listen to it, it will be interesting!

There are a lot of other good podcasts out there, but at least this four have a constant high quality for their episodes. If only Google Tech Talks can be subscribed as podcasts …

The Great Game

The book “The Great Game” from Peter Hopkirk is a very well written historical summary of the competition between Britain and the Russian empire in the 19th century in central Asia. The book tells stories of success and failing of the two great players, but also tells something about the history and the fate of the former states in this region. Because at least Afghanistan is once again a focus point there, it is interesting to read that most of the problems nowadays are not so new as it seems and most of all, the people there have not changed much. Maybe the Soviets and the ISAF should have read some historical reports in their own archives how complicated it is to invade countries with a long lasting history of resistance …
The history of the huge Himalaya area was totally unknown by me, only about Tibet I have known more but after this book I think were is much more to read. So for everyone who is interested in the history of the great empires this book is a “must read”, not short but fascinating.

Managing “long running” stories

Sometimes, if you work in a iterative and time boxed development process, you are struggling with stories which include a long running operational task. Normally the actual implementation and reporting costs you not much time, the problem is that the operational task, such as import of large data sets, needs a lot of time and only the complete completition of the task will close the story. The first chalange is, how to estimate such stories? If you only take in account the actual work, your estimation is very low, but you know you cannot compare it to other stories estimated. On the other hand, if you estimate somehow the effort and the duration of the story, you are also not telling the real truth, because most of the time until the story is finished, you are not working actively on it. Sometimes the situation is event worse if such a story takes longer as your timeboxed iteration and extreme extension is no option. So what to to? My solution so far:

  • Split the story in two, one which covers your upfront work and implementation, the second covers the tasks for completing the story (check results, write reports …)
  • Leave the actual operation task uncovered, the initial story starts in one iteration, the finishing story in any following iteration if you are damned sure the task will be finished
  • Estimate not the duration of the lung running part, only the tasks itself
  • Optional, watcher stories/tasks can be defined

With the splitting of stories, you can handle the tasks inside a iteration, make a commitment to them and finish them in time. I’ve had this problem actually with really long running database imports which somehow were to long for short sprints (2-4 weeks). So I was looking if someone had the same problems with this kind of stories but found no solution. If anyone knows a better method or has knowldge this specific ideom was described already in the literature, give me a word.

Finally I’m tired of mails!

After long years of sending every interesting bit of information to any one who I though was interested in, now finally a blog will do the job. So no more spam from me to patient friends 😉
So for now links, book recommendations, interesting thoughts or other things worth telling a bigger audience will be posted here.