Geneva, Switzerland

Switzerland, a land-locked country sawn through by the Alps mountain range and P1010585 containing Europe’s largest lake, Lake Geneva.  We’ve just returned from a 5-day trip staying in central Geneva at the very nice Hotel Auteil.

In Brussels, every other shop could easily have been a chocolatier.  In Geneva, the same could be said but they would be watch specialists.  Geneva, a city full of expensive material pleasures, businessmen in smart suits and wool overcoats striding around on their Blackberrys, glamorous women spending thousands in the many designer stores wearing their Gucci sunglasses and numerous 4/5 star hotels and restaurants serving such well oiled visitors.

My reflections are that business is very important in Switzerland, in fact the protection of business, of wealth and of the pleasures of life are very important.  Anything that tries to intrude on this “idealic” way of life is to be shunned.

And at the same time they were very pleasant and courteous.  The streets were clean, gardens immaculate and car bonnets shiny.  The air was fresh and healthy and a morning would not go by without seeing several people out jogging.

Photos from our holiday can be seen here:

Part 1
Part 2

Well worth a visit.  Next time I think we’ll try skiing.

Developer Q&A Part 2

OK, so it’s been a couple of weeks since my last post of answers to Scott’s developer questions, but here’s the next batch that I’ve been researching…images

Q) What is the maximum amount of memory any single process on Windows can address? Is this different to the maximum virtual memory for the system? How would this affect a system design?

A) On a 32 bit system the maximum amount of memory that can be addressed is 4GB (2 to the power of 32). I think that this is the same as the total virtual memory. Any system that requires large amounts of memory (such as a database) would need to consider these restrictions.

Q) What is the difference between an EXE and a DLL?

A) An EXE has an entry point and can be executed in isolation. A DLL (Dynamic Link Library) is a resource used by executables to provide modularised functionality.

Q) What is strong-typing versus weak-typing? Which is preferred? Why?

A) Strong-typing is where the “type” of variables is explicitly specified up-front, whereas weak-typing is where variable type is implied, usually through the operations performed on it (examples are using the variant type and performing Mathematical operations). Strong-typing is usually preferred so that a compiler/interpreter can spot potential errors early on. However if you are writing short scripts or make use of the flexibility of weak-typing, then it can sometimes by preferable to use it.

Well, we’re off to Geneva for 5 days now, so a long break from computing and time to reflect, read, talk, explore and enjoy!

Developer Q&A Part 1

Last week I wrote about the set of developer questions posted by Scott.  Well, as promised, here are the first few that I’ve got through…thumbnail

Q1.  Describe the difference between a thread and a process

A1.  A process is a container of threads (having a least one thread of execution).  It has its own memory space.  A process can have multiple threads that share the same memory space and program code.  A thread is a single thread of execution.

Q2. What is a Windows Service and how does its lifecycle differ from a “standard” EXE?

A2.  A Windows Service runs under the control of the SCM (Service Control Manager).  They run in the background under the SYSTEM account and do not require interaction with a users desktop therefore they can run independently of a user (hence they do not require a user to be logged on for them to run).  When the system boots any services marked as “automatic” are started and when Windows shutdowns they are terminated.

A standard EXE is invoked by a user post logon and runs under the security privileges of the current desktop user.  A user may close the EXE at which point the program is terminated, otherwise the program is terminated at log off (which can occur without a shutdown).

OK, more of these later.  In the mean time I’m developing my .NET product showcase site.

The training years

I’m young, 24 years old.  Sometimes I feel like I’m ready to change the world today.  Fortunately I know I’m not.  As I said recently at a talk I gave to University finalists, “it takes a whole series of small steps to achieve something great”, I now remind myself of my advice.  Take your time.

And so I view these years of my life as training, preparation, learn all you can years.  In that vein and inspired by Scott’s Be a better developer in 6 months I’m taking on two challenges:

  1. Answer one question every day from What Great .NET Developers Ought to Know.  At the end of each week I’ll post up my answers.
  2. Start the project below

ASP.NET logoA number of my web design buddies, notably Paul and Chris, are PHP coders and turn out great sites with full XHTML 1.0 Strict markup and CSS 2.0 compliant styles.  Accessibility is big on the web these days, so are sites which degrade with older browsers and mobile devices.

I’m out to prove to them (and myself) that using ASP.NET I can put together a fully functional web site that passes W3 CSS and XHTML validation, is accessible according to WCAG guidelines and utilises some of the benefits of ASP.NET (i.e. I don’t have to hack it to death to get it to work).

So, I’ve created a new virtual machine in Microsoft Virtual PC 2007, running Windows XP, IE 7, Firefox and Safari.  I’ve installed Visual Web Developer 2008 Express Edition (all free tools).  I’ll put up my site plan in another post, but the idea is to blog every week on progress, with screencasts of what I’ve learned.

To assist me will be a couple of good ASP.NET books I have, the ASP.NET site and a few late nights.

Watch this space.

Oh Dear…My Car is Dead

Picture it: It’s Friday night, 11pm, pouring with rain and strong winds.  I’m en route to IMAGE_133collect my buddy Dave Hodgkinson up from the airport when I realise I’ve got no fuel left.  So off to Tesco I go, discount voucher in hand.  Half way around this roundabout, the backend slipped out and the car launched into a lamp post right next to the road side.

I’m fine, no injuries just a bit shaken up.  But I think the car will be a write-off, so I can finally get that camper van I’ve wished for 🙂

The other shots: