The Craft of Coding discusses aspects of programming – coding, testing, style, algorithms, problem solving. It focuses predominantly on coding in C, Python, Julia, Processing, Ada, and the legacy languages Fortran and Cobol. The “LANGUAGES” page has information relating to programming languages. The PRACNIQUES page contains solutions, and case studies  to various programming problems. I have also expanded the blog to talk about issues related to technology and image processing.

My name is Michael Wirth and I teach in the School of Computer Science at the University of Guelph. My specialties are programming languages, legacy programming, digital photography (as it relates to computer vision/image processing), and food history related courses. My areas of interest include recursion, Fibonacci numbers, analog and digital photography, aesthetics, and the design and usability of everyday items. At the moment I’m 50% retired, and transitioning to full retirement in a couple of years.


While living in a world dominated by information, I am somewhat of a technological Luddite. My thoughts are summed up by a quote by E.F. Schumacher (Small is Beautiful) “The system of nature, of which man is a part, tends to be self-balancing, self-adjusting, self-cleansing. Not so with technology.” In my spare time I cook and collect cookbooks, build things, collect and restored woodworking tools, read books, and dabble in both film and digital photography.

I don’t do any research anymore per se. I am working on some stuff, but it’s mostly related to analog and digital photography. For instance I’m looking at how radioactivity exists in vintage photographic lenses. I’m interested in historical aspects of things, and not really “academic” type research – it’s often boring and somewhat limiting.

If you are looking for photography related posts, I have now a new blog pixelcraft.photo.blog. The goal of this blog is to provide well conceived, easy to understand information about photography, both film and digital. It specializes in the use of vintage lenses on digital cameras.

If you’re interested in travel, food, or life related stuff, I also write a blog called despitethesnow.wordpress.com

If you’re interested in woodworking, vintage tool-related info, and stuff related to working by hand, then try workingbyhand.wordpress.com

PLEASE NOTE: I am not taking on any graduate students (MSc or PhD). I am now partially “retired”, and what little research I do does not require any graduate students. Repeat, I’m not taking on ANY graduate students. Don’t even email me, because I won’t respond.

4 thoughts on “About

  1. Hi,
    I have read one of your article regarding memory layout of C, in that you mentioned maximum stack size is 8MB, is that 8MB is contiguous?

      1. That’s almost always true in existing C/C++ runtime libraries, but there are some notable systems that grow stack on demand, and use this for efficient coroutine implementation. Microsoft Research’s Midori was such a system – essentially a reimplementation of the entirety of the Windows OS running as managed code, in a CLR-like environment. It was running in managed, garbage-collected mode all the way to the kernel, and it worked great apparently.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.