I was going to write something about the 1 or 2 tricks I’ve learned about trying to wrap your head around large codebases, but the last few months at work have pretty much made it clear to me I know nothing about knowing things, so that one’s pretty much in the scrap heap at this point. My very first post tried to capture that sense of being overwhelmed and in over your head when you start a new job, and it turns out it’s pretty easy to keep that sensation alive 6 months in. I wouldn’t be surprised to discover that I know less about what I’m doing now than I did when I started. Continue reading »
In honor of Christmas, I wanted to put up a little script I wrote for a family holiday tradition. Every year, we each pick a name at random and fill their Christmas stocking. There’s a few rules to this little game, but the one that applies for the purposes of this script is that you cannot be assigned your own stocking. While this script randomly assigns someone a stocking, you can use the same code to dole out Secret Santa targets if that’s more your thing. Continue reading »
Want to unleash innovation and jump-start the economy? Hire drug cartels!
Well, obviously, this is going to fall in the “Shenanigans” portion of “Software and Other Shenanigans”, but with the election over and the country’s attention (presumably) turning back to spurring innovation and economic production, I’d like to offer my humble suggestion. Namely, we need to start hiring, encouraging, drug dealers. I’m not talking about the shady-looking, ill-reputed people on street corners. I’m talking about the people making drug dealing work on a more corporate and organizational level. These guys are innovative, resourceful, and they get things done. In other words, they’re exactly the kind of people we keep saying we want to unleash in our economy. Well, they would be if we weren’t so busy trying to put them in jail. Continue reading »
While perusing the Internet, I stumbled on some question about getters and setters and why people are supposed to use them (which of course I can’t find the link to now, even with the help of the mighty Google). After reading the question, I realized something. Holy crap, a lot of getter/setter examples on the Internet aren’t that good. Most of the tutorials on getters and setters talk about variable visibility, and you don’t get any real useful discussion about how to use them properly outside of technical forums or discussion boards. So, I thought I’d write a quick little guide on the topic in part to increase the number of useful pages on the topic out there on the Internet, and thus make it easier to find a good reference on the matter. Continue reading »
I’m sure there are lots of ways to handle documenting things (design documents, release notes, requirements, etc.) in a software development environment, but I’ve only ever seen 2: a corporate wiki, and something from Microsoft (I forget the name of it, all I really remember is that it had a check out/check in model, and all the developers thought sucked. I’ll just call this option “the Microsoft option” for lack of something more accurate). From what I’ve seen, wikis have a lot of promise, and do a great job, but to live up to their full promise they still require an anal retentive developer dedicated to periodically reviewing and fixing the documentation for anything they actually deal with on a day-by-day basis. Continue reading »
Maybe it’s just that I’m slow on the uptake, but I didn’t get the whole hype over using virtual machines for development up until I actually started doing it. After all, why use virtual machines when you have a perfectly good physical box sitting right there and ready to go? I get that it saves money and power and is easier to administer, but that’s an administrative reason to use virtual machines, not a reason for me to put my server set up on a VM rather than the computer sitting right here next to me. Continue reading »
We all have our own personal Kryptonite, that little something you encounter as part of your job that just never seems to go right no matter what you do. For me, that Krytonite is server configuration. It doesn’t matter how clear you make the how-to directions, I will find a way to fail at it no matter how hard I try to get it right on the very first time. It’s like magic, or karma, or some other-worldly force that’s determined I fail when trying to set up any new environment. Continue reading »
Phone season 2012
So all of the new phone line announcements are in and the comparisons, snarking, and general smuggery are underway in earnest. Apple and Android fans are still Montagueing and and Capuleting each other, and Microsoft fans totally understand how Rodney Dangerfield felt. Since Apple and Nokia (aka Microsoft’s phone division) recently had major press events (I think Motorola, aka Google’s phone division, made an announcement right around the same time, but apparently that didn’t seem to be a big deal). Continue reading »
What’s in your box?
For the first time in my professional career, I’ve found myself working without any type of laptop. I can still work from home on my own machine, but given how easy it is to telecommute as a software developer, it struck me as odd that my work machine would be just a desktop. It led me to think about just what the reasons could be that I have a desktop for working, and why everywhere else I worked chose to make sure that I had a laptop capable of doing development work, or at the least could remote desktop into my development machine. Continue reading »
When a friend of mine made a Google+ post a while back asking StackExchange what happened to the links to post your question on Facebook, Twitter, Google+, etc., he learned that the links were removed because they were hardly being used. This led to a brief back-and-forth thread between him and me on the post about the propriety of removing old features that just aren’t as cool as they used to be. Long story short, I’m in favor of cutting the links (and removing unused features in applications), he was opposed. Continue reading »