Archive for May, 2009|Monthly archive page

First impression of VS 2010

Visual Studio 2010 Beta 1 is publically available and besides CLR/.Net 4.0 the IDE itself changes a bit:

  • The Visual Studio Shell 2010 is based on WPF, the first time Microsoft actually is using this in one of its own product.
  • Some features available in R# are now also directly supported by the IDE like symbol navigation and automatic implementation generation.
  • Silverlight and F# are integrated out of the box.
  • Historical debugging is an interesting new concept, the debugger now tracks certain events until you actually hit your break point.
  • Some basic support for UML was added.

All in all the switch to WPF gives the Visual Studio Shell new important graphical possibilities. WPF has also a big downside: it needs a lot more resources as the old forms, so you need a bit more graphical and computational power as with the current version. At least you will know why 2 or 4 cores are useful … The Team Foundation Server functionality will be also extended but as it looks the knew version is no improvement to the current one, which is not worth the money and effort, so it will be easier to invest in a working issue tracker, a build server, a test case management tool and a usable wiki. Integration is overrated if it is not usable in real projects effectively …

Thoughts about Google Wave

Google presented the Wave project this week at its development conference Google I/O 09. A lot of blogs (ok, maybe nearly every one) covered Wave in the last days so I have also to write something about it after watching the presentation:

  • The presentation of an conversation between several participants is very natural: people can enter and leave conversations, no matter if online or offline, add additional information and fork new ones. The features of Mail, IM and Wikis are finally merged.
  • Updates of information snippets work in near real time. This is definitely possible today and will become a lot easier with the availability of Web workers.
  • The conversation stream, called Wave, can be edited concurrently and they are versioned so they can play back in time.
  • Participants in the conversation can not only be persons but also automatons like translation engines and automatic content enrichment. The presentation of Google’s spelling and grammar proofing Robot and the automatic translation engine was awesome.
  • Wave will use important HTML 5 features and will push the evolution of the web browsers massively. Chrome, Firefox, Safari and Opera are leading here, not only on the desktop but more important on mobile clients (maybe also Palm Pre will be an important platform here?), Microsoft is a generation behind here and maybe will catch up with their completely new browser engine after IE 8.
  • Wave can be federated. This means that you can have your own Wave servers active, participate in open Waves but keep your conversation private.
  • The Wave project will be open sourced, not only the API and the protocol but also the reference implementation. With Google Maps they overlooked how fast and creative the community worldwide reacted now they plan to use this potential directly.

I really was surprised by this presentation; I think nobody has expected something like this. If Google gets this of the ground Wave will have the biggest impact in how we communicate and process information since search engines and Email itself. Because of the openness of the platform and the inherently possibility to federate the infrastructure this concept can work. Something remains me here of Gelernter’s ideas in Mirror Worlds

An Apple hit me

Since two weeks I have besides my main workstation on Vista64 and my Sony TZ with Ubuntu 9.04 also a third system, a 3rd generation Mac.mini. Besides OS X I’m interested in the iPhone development environment and sometimes Keynote is nice to have. I’ve sporadically used a Mac before but this time I can play a bit longer with it. After this short time, I had a mixed experience: On the positive side you get

  • A really nice hardware design. If the thing gets in the future a HDMI port and an BluRay drive it will be the optimal living room system. And it is fast and quiet.
  • The basic configuration is easy to handle for anyone, including WLAN. It just works
  • Dashboard brings a real advantage, more usable than Vistas Sidebar
  • You get the development environment for free (Xcode)
  • You get a lot of good software, like Quicksilver, for OS X besides a lot of normal Linux applications are or can be ported. In general the support of software is better than on Linux.
  • The development environment provides nice utilities like Instruments, all in all it seems that you have a good set of tools to develop software again without Virtual Machines.
  • Thanks Steve, there is a Terminal!

On the down side some things are annoying

  • Who ever has designed the keyboard and the and the “Mighty” mouse has never worked longer than 5 minutes with them
  • The German keyboard layout is simply silly. The English one is better.
  • Although OS X now has a VPN server out of the box, it does not work flawlessly if you use a German keyboard on the client side: as soon as you switch to some applications, like Xcode, the key mapping gets confused and for what ever reason, special characters work except the lower case “b”.
  • Xcode is only a very basic IDE, like Windows Visual Studio before 2003 … really, Eclipse with CTD and KDevelop a bit more up to the task if only they can understand Objective-C.
  • Sometimes configuration is to easy and dangerous: I wanted to share a directory via SMB, OS X shared it and all others on the disk too, But only my original target was protected by my user credentials… not what someone expects.
  • Why the hell is the shell per default case insensitive?!?

May only problem which make the daily work a bit harder as needed is the key mapping problem with VPN and Xcode or better to find a replacement for Xcode (and yes, Emacs can do it but hey I’m a long term IntelliJ and Resharper user …)

Using Twitter as micro blog

Because I’m sometimes a bit lazy, I decided to use Twitter as my micro blog engine. My current tweets are visible on the left side. In the past I’ve never thought that Twitter is of any use for me but it is a useful way to post interesting information snippets quickly without the need to write a lengthy blog entry (as I told, I’m lazy).