My first computer was an 8-bit Netronics ELF II with 256 Bytes (yes, BYTES), that ran an RCA 1802 CPU at 1.76 MHz (yes, MegaHertz). It didn’t have any external storage and provided a hex keypad for input of Machine Language (yes, Machine Language – not even assembly language) programs. Suffice it to say, I […]
Blog
An Interview with Stan Lee
Back at the turn of the century I found myself as the Editor of a Vancouver Technology Magazine called, Computer|Sense. It was just something I decided to do on the side for fun… and, as it turned out, it was incredibly fun. The highlight of my stint there was interviewing Stan “The Man” Lee, creator […]
The Need for Functional Programming in Smallworld GIS
The Magik programming language is imperative and leans heavily toward the Object Oriented Programming (OOP) paradigm. It relies on mutable, hidden state, side-effects and tight coupling between data and behavior. Code-reuse is achieved primarily through inheritance. The Functional Programming (FP) paradigm, on the other hand, is declarative andrelies on immutable objects, minimizes side-effects and achieves […]
Why You Should Never Ignore that Little Voice Inside Your Head
I decided to replace my 2014 Razerblade laptop with a new PC because, although it’s still a gorgeous machine, 8GB of RAM, an antiquated GPU and a 7 year old CPU wasn’t quite keeping up with my applications. I was all set to build my own, and even selected the parts on Amazon, including 64GB […]
The Value of Logging
Logs. I know. Logs are boring. The mere thought of scanning through hundreds or thousands of lines of a log is enough to bring even the most diligent among us to tears. Yet logs are one of the most valuable sources of information when we need to determine why something isn’t working in an application. […]
The Observer Pattern
It’s common knowledge that loose coupling within an application leads to lower- maintenance systems and fewer bugs. To that end there have been numerous techniques and paradigms developed to achieve the loosely-coupled goal. One such design pattern is the Observer (also called Publish-Subscribe in some circles). In its usual case, it defines a one-to-many dependency […]
Magik Closures
Magik supports Closures. Most Magik developers don’t understand or use Closures. Closures are useful. At this point you might be asking, “What’s a Closure?” If you don’t know, that’s not surprising because practically all Magik developers are taught to use the Object Oriented Programming (OOP) paradigm when they first learn Magik. Then as they start […]