Archive for August, 2008

DNUG Meeting: Kapow! Become a Visual Studio 2008 super hero!

Thursday, August 28th, 2008
Photo of Kirk Jackson
Date: Wednesday 10th September 2008
Time: Gather at 5:30 pm, starting at 6:00 pm
Location: Canterbury Innovation Incubator
Presenter: Kirk Jackson

Bap! Impress your colleagues and improve your performance by unleashing the power of Visual Studio.

Fresh from presenting at TechED Kirk will look at new keyboard shortcuts, new options, the powerful ‘Quick Command’ system, macros, tweaking IDE performance, and more that will make any developer using Visual Studio instantly more productive.

The entire session is hands-on inside the IDE and applicable to any language, including Microsoft Visual Basic, Visual C#, and Visual C++. If you’ve been using Microsoft Visual Studio 2005 or have never touched Visual Studio, you’re guaranteed to walk away a VS power user.

Community Interview: Ilya Tumanov

Thursday, August 28th, 2008

Photo of Ilya Tumanov1) Would you like to introduce yourself?

My name is Ilya Tumanov. I’m originally from St Petersburg, Russia (that should explain the strange name). Currently I live in Redmond, WA. I’ve been professionally developing software for over 15 years, more than 6 years with Microsoft.

2) What do you do in your role within Microsoft?

I am a Software Development Engineer (SDE) within the Developer Division (responsible for development tools like Visual Studio). I have been with the .NET Compact Framework team almost from the start and helped shipped version 1.0 of it.

I used to own numerous portions of the .NET CF base class libraries (BCL), for example ADO.NET and LINQ and was responsible for the .NET CF installation story on both the desktop and device sides.

Recently I’ve moved on to another position and now I’m with Microsoft’s Office Labs. My line of work is around mobile productivity, so I’m still working with NETCF, now as a regular developer.

3) What was it like to have responsibility for sections of code that are used by such a wide number of developers? Do you get “warm fuzzies” whenever you see a .NET Compact Framework application?

Absolutely. I love to see NETCF used to create all kinds of cool applications. Often I wonder which technology new apps are built with – and I would say there’s a very good chance it’s NETCF.

We have a huge library of NETCF based applications here for compatibility testing and new applications are coming in all the time. One of the recent applications to come out is a new version of Microsoft’s own Live Search, built with NETCF V2.

4) You are also a prolific answerer within the Smart Device section of the MSDN Forums website. Is this part of your job or something that you do purely as a way to be involved with the community?.

I’m volunteering as a moderator on MSDN forums. This is not an official part of my job. Although my work on the forums is encouraged by Microsoft, I do not receive special compensation for it. Some moderators are community support engineers dedicated to MSDN forums but I am not one of them.

5) For those not aware of the MSDN Forums, would you like to explain the purpose behind them?

MSDN Forums is an online community for developers to support each other. It serves many purposes, just to name a few:

  • Help developers with their current challenges.
  • Share knowledge, experiences and ideas.
  • Educate developers about best practices.
  • Collect feedback and use it for targeted product improvements.

6) For someone using the support forums what would your suggestions be for improving their chance of getting a quick and accurate response?

  • Educate yourself – learn to fix basic syntax errors and learn to read the documentation on MSDN.
  • Search relevant forums and the web. Then search again. In 9 out of 10 cases somebody has ran into the same type of issue before and you can get a solution instantly instead of posting and waiting.
  • Pick one and only one forum which best matches your question or problem.
  • If you know VB.NET learn enough of the C# syntax to enable you to translate code samples provided in that language (the same goes for a C# developer learning the basics of VB.NET syntax).

7) What do you find the most challenging aspect of developing software for Windows Mobile devices?

It’s challenging because it’s unfamiliar. As a developer who is starting out with mobile devices, it’s hard to do things because everything the developer is used to seems to be “missing”. Even the OS does things differently. A good example is the file system: no drive letters, no relative paths – what a shocker for seasoned Windows developers!

However, as soon as this initial shock is over and you learn to live with API limitations and OS peculiarities it becomes much easier.

For me personally it’s not easy to come up with a good user interface that works well for small screens and limited input capabilities.

8) Do you carry a Windows Mobile powered device with you?

I used to not carry my cell phone with me at all – until I got a Samsung BlackJack II phone a couple months ago. I must say I’m now addicted to instantly arriving e-mails. A better web browsing experience is what I would like to have though.

9) If you had one thing to say to potential developers of Windows Mobile applications what would it be?

Go for it! It’s fun!

Auckland Code Camp – 31st August

Tuesday, August 19th, 2008

Logo for .NET User Group Auckland Code Camp 2008

The day before New Zealand Tech·Ed the New Zealand .NET User Group is putting on a developer orientated Code Camp.


The following presentations are planned and will provide an ideal introduction to content covered by TechED itself.


  • Sunday 31 August 2008
  • 9am to 6pm
  • Crowne Plaza Hotel, 128 Albert Street, Auckland


  • Free (lunch provided by sponsors)
  • Afterwards there will be an optional dinner at a restaurant within walking distance (less than $30)


Hurry! Similar to Tech·Ed itself this event is subject to venue limitations. Please complete the registration form at to secure your place.

How I got into programming (meme)

Monday, August 4th, 2008

Darryl tagged me with the “How I got into programming” meme recently. So I finally got around to answering the questions (better late than never…).

How old were you when you first started programming?
Probably around 7 or 8.

How did you get started in programming?
My mother decided a computer was important for education. Not knowing anything about computers at the time somehow the family decided to purchase an Atari 520 STe. The package came with a copy of BASIC, and so it began…

What was your first language?
Photo of book cover for 15 Graphic Games for the Spectrum by Richard G. HurleyLike most developers it seems I was first exposed to programming via a combinaion of BASIC and Logo.

A copy of ST BASIC was included with the Atari 520STE package we brought. Although I wasn’t able to understand much of the manual (and had no computer “gurus” to turn to) it caught my interest. I started to devour books in local children libraries. There were loads of books such as “15 Graphic Games for the Spectrum” which enticed me with neat looking graphical games with a page or two of code to type. I never really got many working due to difficulties porting the code to work on the Atari but it was enough to get me hooked.

What was your first real program you wrote?
At the time computer hardware typically came with schematics and programming documentation. So I also learnt a lot by writing small programs to control our dot matrix printer, changing fonts and drawing basic images etc. This is probably where I got my interest in writing software that interacts with physical hardware.

My first “real” program was probably a small music scheduling app. You could create text based playlists of music and sound effects from various sources (wave files and CD audio tracks) and play them back in sequence with simple next/previous buttons. It was used for a small stage production at my high-school.

What languages have you used since you started programming?
Following on from various forms of Basic I was introduced to Pascal in the form of Turbo Pascal. A natural progression was to want to write GUI based windows applications. After a false turn with CA Realizer I used Delphi 4 (object pascal) to great success.

My interest in electronics and embedded devices introduced me to machine code and assembly for various platforms (Microchip PIC, Motorola 68K, Atmel AVR and MIPs among others) and eventually C.

Along the way I have also used various other languages such as Javascript, Java, VBScript, Prolog and Haskell. I have held professional jobs programming in both C++ and C#.

What was your first professional programming gig?
Holliday Group Limited logoPhil Holliday was kind enough to offer me a part-time job while I was a student at Holliday Group Limited (now called Blackbay). I helped develop PalmOS and then Windows Mobile applications primarily in the freight logistics area.

If you knew then what you know now, would you have started programming?
Most definitely, but I may have done things differently…

If there is one thing you learned along the way that you would tell new developers, what would it be?
Technology is only part of the equation. Most projects don’t fail for technological reasons, but instead due to human factors. People who have a strong command of the human factors of software projects are in very short supply. Try to complement your technical study with aspects of business and team building.

What’s the most fun you’ve ever had… programming?
Playing a catch up game, developing a product that didn’t fully exist but was already sold to an overseas customer. This involved many long nights and pulling all sorts of tricks out of the bag. At one stage we purposely used SQL injection attacks to work around the lack of remote access to a server!

I tag Simeon Pilgrim and Kevin Daly.

Leveraging Microsoft Embedded and Mobile Platforms

Sunday, August 3rd, 2008

Thank you to the members of the Dunedin and Invercargill .NET User Groups which attended my presentations late last month.

As mentioned if any of you have any questions or would like to discuss embedded and mobile development further please feel free to contact me.

As promised I have also attached my slides and a series of links for anyone interested in investigating further.

.NET Micro Framework

Windows Mobile (.NET Compact Framework)

XNA Game Development