I’m back writing GUI code at the moment. I don’t think it would be an exaggeration to say that I hate writing GUIs. But, there’s nobody else to do it, so it has to be me. It’s not just that I am doing GUI code though that makes my current project tough, it is that I am learning WPF at the same time. The last time I had to write a reasonable sized GUI I was using MFC and C++, circa 2002.
The dumping ground when I can’t be bothered to properly categorise a post.
It is very easy to become jaded about technology, I had a reminder this week of just how wonderful it can be. Last Thursday I started a beginners astronomy class at the local secondary school. I was more than a little surprised to learn that you can subscribe for a mere £3 per month and have access to three telescopes situated on top of a mountain in Tenerife through the Bradford Robotic Telescope.
Whilst version 0.1 of the Dyna Project isn’t quite finished, I thought it would make sense to take stock before work starts on version 0.2. But first some introductions would probably be helpful. What is the Dyna Project? For a lot of years I've been interested in constraint satisfaction problems and how to solve them. The Dyna Project is my latest attempt to create a tool for solving constraint type problems in an accessible way.
I created a product a few years ago and whilst it is doing fine on new sales it is really bad at monetising the existing customer base. The reason it is doing so badly at monetising our existing customers is because I assumed that the business model could be plugged in later, like any other software feature. I was 100% wrong. Why didn’t I build the business model in from the start?
Last week we had to fend off a scam attempt. The scam worked like this: Order a product from a company and arrange to pay by bank transfer; Manually pay a counterfeit cheque into the company account. The cheque has no chance of clearing. Rather cleverly, the amount of the payment was 10x higher than the amount due. So it looks like a simple transcription error; Ask for a refund for the difference to be sent by bank transfer to another account; Profit!
I have an awful lot of failed software projects. Most programmers do. It comes with the territory. Most of the failures have been the result of running out of steam one way or another. Your early enthusiasm slowly wanes until the mere thought of carrying on makes you feel a little sick. It is easy to forget that programming is an intensely psychological activity. Your attitude is central to the success or otherwise of your project.
…customers didn’t start the conversation with their own fault diagnosis. Quite often the hardest part of the conversation is trying to coax the customer back a step to the original problem. And then working forward from the problem to a diagnosis. Providing good remote tech support is one of the hardest jobs in the tech industry. You are at the end of a phone or email, cannot see the users set up and only have the highly edited highlights of what the customer is willing to tell you.
If there is anything the IT industry loves above anything else it is youth. I used to work in a company with an engineer who’d been programming since the early 1970s, who’d implemented operating systems on mainframes in assembly language, wrote OSI (up to session layer) and TCP/IP comms stacks from scratch on DOS based machines and made them all work together in the background. He wasn’t the only one either.
I forget where I read that, but for a while it made me very unhappy. I was approaching X at the time and I most certainly had not “made it”. Still haven’t. Probably never will by my definition when aged X. And you know, it doesn’t bother me one bit now. One of the nicer things about getting older is that your definition of “making it” changes. In my twenties it was about money for the most part.
At the end of 2013 I thought it would be interesting to create a C# focused weekly newsletter. I registered the domain and created a website and hooked it up to the excellent MailChimp email service. The site went live (or at least Google Analytics was added to the site) on the 18th December 2013. And then I kind of forgot about it for a year or so. In the mean time the website was getting subscribers.