So why bother with this? For the same reason that Edmund Hillary climbed Mt. Everest: he was too thick to realize it was a dumb idea. I like writing; it helps me work through ideas and frustrations. It is a kind of outsourced thinking, or, better, a method of working through problems by talking them out without looking crazier than normal by talking to myself in a crowded room. Also, it keeps my wife from rolling her eyes at me.
I program and design for a living, so a lot of this blog will be about software architecture. I will use it record my insights, such as they are, and struggles. I'll talk about new things I am trying out (most recently, I have decided to create an Android app and a Windows 8 app for the first time) and about tech related policy. Oh, and hockey. Because there is no sport cooler than hockey. It is faster than basketball, requires more strategy than baseball, tougher than football and doesn't subject you to Dick Vitale, Joe Buck or committee meetings.
So there you have it: whining about my profession, clueless newbie rants about programming languages encountered for the first time, and hockey exceptional-ism. Sounds like fun, doesn't it?
Since I am supposed to be an angry architect, here are some things I hate in tech:
Apple. Now, I should say that I don't hate Apple products, necessarily. My wife has a Macbook Pro that I am quite jealous of , and an iPhone that I find inferior to my Android phone. I loved the iPods, though, and I think that Apple TV is quite a nice little product. What I dislike about Apple is their anti-tinkerer mindset. Jobs did not believe in your curiosity or your ability to learn and tinker. I violated the warranty on my mac mini several years ago when I opened it up to install more memory. I had to go online and find out how to break into a machine that I owned. Jobs valued his sense of how you should use his creation more than he valued your desire to use your product how you desired. He famously said that the iPad was for general consumers, a car, not something for someone needing to do work. That was what computers were for, and Jobs envisioned that those computers, the trucks of the computing world, would no longer be for everyone. The original Macs required special tools to open them. Jobs and Apple knew where they wanted you to go, and they were going to make sure you had to go there, if they could.I am not comfortable with that. I am not comfortable with actively trying to discourage people from exploration, from thinking of themselves as anything other than consumers. A lot of the most disruptive and beneficial changes in the 21st century have been based on technologies that encouraged people to do for themselves. Jobs envisioned a world where you did not do for yourself. Not everyone wants that, of course, and no one wants it all the time. But Jobs vision of the world went out of its way to make that hard for those who did.
Python Repeat after me: white space should not be meaningful. White space should not be meaningful.
Oracle Again, noting really against their products, but their pricing schemes are enough to turn Donald Trump's wig grey. Not only are they overpriced, but their bundling practices make weaning yourself off their overpriced stuff ridiculously expensive and time consuming. There is a quote from Good Omens that sums up Oracle's pricing practices quite well, I think
Along with the standard computer warranty agreement which said that if the machine 1) didn't work, 2) didn't do what the expensive advertisements said, 3) electrocuted the immediate neighborhood, 4) and in fact failed entirely to be inside the expensive box when you opened it, this was expressly, absolutely, implicitly and in no event the fault or responsibility of the manufacturer, that the purchaser should consider himself lucky to be allowed to give his money to the manufacturer, and that any attempt to treat what had just been paid for as the purchaser's own property would result in the attentions of serious men with menacing briefcases and very thin watches. Crowley had been extremely impressed with the warranties offered by the computer industry, and had in fact sent a bundle Below to the department that drew up the Immortal Soul agreements, with a yellow memo form attached just saying: "Learn, guys..."
Methodologies Not so much the fact that methodologies exist, but rather the notion that a methodology will solve a people problem. It won't. Some methodologies fit certain situations and organizations better than others, of course, and no serious programming can be done without the presence of some structure. But methodologies will not make bad programmers better, and they will not make jerks and assholes any less a jerk or an asshole. It feels sometimes as if a certain kind of MBA is infuriated that all programmers are not interchangeable. Their professors assured them that people who do things are the same as machines that do things, that talent is a word that only applies to people who make financial deals. Some of them never do seem to grasp that the real world is not like that and go through methodologies like addicts go through their stash: convinced that the next hit will make the world just like they want it to be.
Computer Keyboards Where the hell did the cent key go?