Over the past few years, I’ve been using a lot of immutable objects in my code. What are immutable objects, you ask? An immutable object is an object whose state cannot be modified after it is created. For instance, here’s an immutable object: public class ImmutablePoint { public int X { get; } public int Y { get; } public …
Never Stop Learning
I’m always trying to learn new things. A great example was when I worked on Microsoft Encarta Class Server. When we started that project, there were only a few developers on it. We needed a database to store information — perhaps something based on SQL Server. But none of us had ever used SQL. So I learned. It took a while …
How I Develop: Tests
Back at Microsoft, I was known for writing code with very few bugs. Testers often had trouble finding any bugs in my code. Is that because I wrote perfect code the first time? No way! It’s because I wrote automated tests for my code. I proved this once again a few weeks ago. I wrote an application that would help …
How I Develop: Build script
When I start working on a new project, I usually just start in Visual Studio. But before too long, I add a “build script” that: Makes it easier to do the boring and repetitive stuff. Building everything, testing everything, etc. Helps me avoid random issues: forgetting to add something to source control, incremental build issues, etc. You can see the …
How I Develop: Introduction
When I start coding a new application/library, I normally just start Visual Studio, create a project, and then start typing. If I’m just hacking something together to solve a particular problem, it usually doesn’t get more complicated than that. But if the project needs to survive longer than a few days and/or through multiple revisions, there are some things I …
Announcing BrickUtilities
I’ve been writing a bunch of code recently for one of Galden Studio’s sibling businesses: Knockout Nerd. Software can help streamline business processes and/or help businesses gain an advantage — and Knockout Nerd is no exception. We’ve started selling custom LEGO® brick decorations through Knockout Nerd. I wrote some software that helps us decide which bricks to order, gets us …
“Sybil”
Over 20 years ago, I worked on some software named “Sybil”. It was real-time MIDI performance software for musicians. It allowed someone with just a drum pad to sound like a whole orchestra. There were multiple people on the team: several musicians that designed the software and a few programmers that wrote the code. I single-handedly wrote the IBM PC …
“Do Not Disturb”
I work from home. My wife does too. Her office has a door. She closes when she needs to concentrate. A closed door means “do not disturb”. But my office does not have a door. And sometimes I need to concentrate too! We solved this with a Blynclight. It’s a small light connected via USB that can change colors. I …
Why the name “Galden Studios”?
Why did we choose “Galden Studios” as our name? Well… I used to watch a TV show named “Crusade” (a spin-off of “Babylon 5“). One of the characters in that show was named “Galen.” He was a technomage. Technomages use science to create the appearance of magic. I thought that idea was cool. Some time later, I started playing the …
The Man Behind the Scenes
Galden Studios currently consists of one person: Paul Kollmorgen. Coincidently, he’s also the person writing these blog posts. Here’s some information about me: Paul is a software architect/developer with extensive experience. He got an Apple ][+ computer when he was 10 years old and has been programming ever since. In grade school, two of his favorite books were “Beyond Apple …