Home avatar

Thoughts and code

VMWare Workstation 6.5 - Unity Feature

VMWare has released the 6.5 version with some nice updates (better USB support, Bluetooth support, DirectX support, and last but not the least - Unity feature. What it allows is to run the application from virtual machine in the host as those would be applications running on the host itself - sweet. So now if you need to work on several programs from several virtual machines, you can execute all of them with Unity (in Unity mode) and switching programs/windows would be just a matter of tabbing between those (ALT-Tab) and not a bunch of keystrokes and guest OS get focus / loose focus. Really love this feature.

The Art of Agile Development (Book)

This book is gold. Dig it!  book cover

The timing is amazing. Right after I posted the Team Work entry, I received the book and couldn’t stop reading it. Should read it to the end, but had to comment and let others know how good it is. Amazon rating was quite successful this time (12 five stars, 1 one star).

The book is not packed with code and patterns, but with other type of wisdom that is required no less than good programming skills IMO. I could definitely associate written with myself and mistakes I have done in the past and reflect the ways I was dealing with those and how authors of the books have done that. Learning from others mistakes is valuable, learning how to prevent future mistakes be applying techniques and analyzing situations - real gem.

Team Work

“I am a team player” - another buzz expression of this days that anyone will bring up if are asked. “Why are you team player?” this is the question to ask and answer.

Personally I find the saying “one had is good, two is better” quite true. It’s not just in pairing, it’s in everything. When a few people working together (and not necessarily developers only, those can be different skills individuals), they bring up to the table a variety of skills and knowledge. The amount of useful thoughts and information exchanged over a short period of time being is enormous. As a part of the team, even the smallest contribution produces higher chances of success, and as a result of that builds up the confidence and productivity. So being a part of the team is not just being a monkey, but an equal citizen with all the right and responsibilities.

WPF Visual / Logical Tree(s)

Coming from the ASP.NET development, I am quit used to the fact that a page has a tree of controls and by traversing the tree you can navigate to the elements.

With WPF is it a bit more sophisticated. WPF application has both visual and logical tree or several of those. Josh Smith has wrote a very useful post to start understanding about the subject. Also there is a VS.NET debugger visualizer Woodstock to assist in understanding WPF trees.

Google Chrome

This is old news, but Google apparently has release a browser to speed things up (according to Google most of the current browsers are not performing well with CSS, JavaScript, and whole rendering). From a scratch approach worked not bad at all. Though there are several things that are working against this new browser:

  1. Keyboard shortcuts - right now you have to use a mouse to close a tab, or open a new one, or access downloaded files and much more.
  2. Absence of add-ins - one of the strong promoting features for FireFox was a massive support for custom add-ins. Having at least a few and showing that it’s the direction would not heart at all. On the other hand, maybe it’s not necessarily the direction Google wants to go (and not follow).

Overall - quick, clean, will evaluate more.

WPF

Recently I started to work on a new project in our company that is using WPF technology. As a web developer with almost no experience with desktop applications I find it interesting and challenging at the same time (statefull environment,  no need in intermediate DTO objects, rich UI support, XAML abilities that are beyond regular markup capabilities, etc). Yet there are many questions that have an answer, but feel very weird. A few of those for example

SP1 and Scott Guthrie

Ok, so I was really upset and spilled a bit more than probably should have to. ScottGu has picked my desperate yell from the blog and suggested a help (2nd time I believe - 1st one occurred when .NET 2.0 SP1 has broken our production web sites, wow, he’s good). Apparently there was an issue with SP1 Beta and R# 4.0. I already went through refresh on installs (including removal of addins and components). Plan vanilla .NET FW with Service Packs with no addins installed works fine (well, not crushing, working without R# is impossible).

SP1

As you probably know, the all new and shiny SP1 for both .NET framework and VS.NET 2008 are out. So I waited a bit, saw that other developers are accepting it and installed it. Great, worked smooth. Till I dared to restart. After that VS.NET 2008 designer “empowered by new abilities deployed with SP1” has showed own of it’s hidden jams - complete crash of the IDE with no traces to what has just happened.

Re-inventing Wheel

It doesn’t matter how much we try to avoid it, it is unavoidable. Re-inventing wheel phenomena is always going to take place here and there. Doing a little BDD tests made it clear that I need to mark and specification with the type of the the system under tests I am testing, or the Concern of the test. One way I was showed to do it was to introduce a custom ConcernAttribute and mark with it the TestFixute - specification. Code looks like this: