1 of the things I work on regularly was originally created with a fairly consistent data set. We had a very good idea of what fields were going to be in the data. As a result, we thought we knew where exactly we needed to check for null data, and when we didn’t need to know. Then the data set expanded, and the new data wasn’t nearly as consistent as what we started with. That’s when we realized that we were very much wrong in thinking we knew what needed null checks. Continue reading »
Dogfooding is an important part of software development. Google “dogfooding blog post” and you’ll have reading material for weeks. But what do you do when it’s tough to dogfood your own product? What do you do when dogfooding your own product isn’t even a viable possibility? Continue reading »
I’ll admit to being guilty of making this joke. You know, somebody questions why things work or function a certain way, and then there’s that snarky little line, “you’re hunting logic”. It seems hilarious, until you realize just what you’re pointing out. Namely, “Yes, this is stupid, and yes this doesn’t make any sort of discernible sense, but we’re going to keep doing it anyways.” Not so funny now is it? Being told that “you’re hunting logic” is basically an admission that you’re right, but that nobody wants to take on the hordes of people who put things into this situation. Continue reading »
Having just gotten married recently, I tried a lot of stuff to help make the planning process easier, and had a few thoughts on things that did (and didn’t quite) work that I wanted to share. The first thing I wanted to mention were thoughts about planning and organization. As it turns out, wedding planning isn’t just a 1-person process, and so some degree of organization and coordination winds up being needed. Continue reading »
One thing I’ve noticed the more I work on anything is that reusability is everything. Even if you’re slapping together some simple little script that is intended for 1 specific thing to do some piddly little task, odds are you’re going to need to dig it back out and adapt or convert it for something else. In short, you’re always going to need it. So what does this mean to you as you write any sort of code? Continue reading »
I have to be honest, I’ve never understood part of “soft” deletes that makes it a good idea. You know the basic gist, labeling an action “delete”, and removing it from display, but behind the scenes all you’re really doing is flipping a bit somewhere to tell your application to never show this thing again, as opposed to actually removing it. I suppose it makes sense for when you absolutely, positively, need to retain data (auditing purposes, court orders, etc.), but as far as a general practices go, “delete” should mean “delete”, not “please just don’t show it to me again”. Continue reading »
For everything we’ve learned about how to make good software, there’s still some pretty glaring failures out in the world that aren’t so much technical failures as they are somebody either choosing to make a bad feature that they should know better than to do, or just not fixing something that people should have realized was a bad idea and fixed long ago. Regardless, here’s a list of things that should be left to die out in the name of making the planet a better place to live. Continue reading »
Not a lot of useful, thought out content this time (like every time really, but that’s another point), just a few quick things that I’ve run into over the past few weeks that are worth noting for future reference. Continue reading »
I love software, and I love writing software, but these days there seems to be a belief amongst developers that software and good programming can solve all humanity’s problems. Don’t get me wrong, software can solve a lot of problems, especially problems that involve keeping track of a lot of stuff, tasks very repetitive, and doing lots of math. However, as good as software is, some problems are systemic, people problems, and no clever coding can make that disappear.
All developers have been in this situation, sitting around, staring at the monitor, trying to make sense of the code staring us back. It’s a tough, miserable period for developers going through this. Specifically, it’s a tough, miserable period for developers that doesn’t have to happen. No matter what the code that does this to you, there’s 1 common, glaring thing in common with the code that does this to developers – there are hardly any, if any at all, comments in the code. In the interest of sparing developers this pain, here are some simple rules about commenting that will reduce developer suffering whenever somebody has to read your code. Continue reading »