My friend Warren Myers posted a question about the viability of a subscription-based social network not too long ago, and the concept kind of stuck with me. I’ve thought about the idea off and on since I’ve read it and initially commented on it, and it’s led to the point where I’m thinking about the concept less as a “Google+/Twitter/Facebook with a monthly fee” but more of a thought experiment of what if I were to design an all-new social network from the ground up, what would it look like? Now, all the social networks we know and use exist, and I’m not going to pretend we’ve never had such things. Also, this is all really based around how I use social networks, which is primarily content consumption, not content creation. That said, here’s where I see social networks going. (more…)
-
Peformance tuning a RESTful API (part 2) – Better living through better logging
Read any technical blog post that gives a deep dive into fixing any type of issue, and 1 thing you notice fairly quickly is that going through the logs is an important part of the process. Debug issues in any application you’re working on, and 1 thing you notice fairly quickly is whether or not your logs are any good. It’s a distinction that can make all the difference when the question of “What the deuce just happened?” rears its ugly head. Better logging can make your life easier, largely by telling you all about the state of what’s going on in your code so you can spend your time actually fixing and updating things instead of running down just what is going on in the first place.
-
Performance tuning a RESTful API (part 1)
I spend a lot of time at work on a read-only RESTful API. A little bit of big picture here, the company I work for, Digitalsmiths, builds the data delivery APIs for TMS (they provide most of the scheduling data you see when you “Guide” on your TV remote). This is powered by Digitalsmiths’s own APIs. Basically what happens is that the TMS API is a front-end for our own API. Calls come in, we build queries for our own API, and query said own API, process the results and then return the appropriate data. When the API was first written, the data covered just the US and Canada. As TMS expanded started to cover other countries, that data grew, and with that has come some growing pains. (more…)
-
If “it’s not that important” why are we even bothering at all?
Have you ever been working on something, and had a thought how something should be done, started to talk it out with somebody, only have the phrase “it’s not that important” get used? If it’s not important enough to think about doing well, why are we thinking about doing it at all then?
-
What’s your expertise?
Work anywhere long enough, and you’re going to become the <something> person. From that point on, all questions, advice, etc. on that topic by default go to you. In my experience, this isn’t usually the result of some deliberate action to make a person the <something> “expert”, it’s the result of the work they get assigned and end up doing. The bigger questions are, what are your areas of expertise, what would you like your areas of expertise to be, and what are you doing to make the 2 previous answers line up?
-
Halls or Hall and Greens or Green?
Rather than let people live with the running disagreement that’s been rampant in my house, here’s a simple little script to tell you if you should deck the hall or halls before the hanging of the green or greens service at church. (more…)
-
This is why nobody likes you
I hardly do anything in Windows anymore. My work machine is Ubuntu, and my personal machine is a Mac. The only Windows computer I ever really use is an old machine at my church. However, that doesn’t protect me from having to deal with files made in Windows. And those things are starting to become the bane of my existence. (more…)
-
What are we talking about again?
Apparently, there’s some managerial best practice out there that says managers and the employees that work under them should meet once a month 1-on-1. I think the goal is to have some sort of fairly informal time set aside for anything the employee might want to talk about – concerns about management, workplace issues, problems with co-workers, etc. My biggest problem of these things is that I never know just what there is to talk about. (more…)
-
I screwed up, you shouldn’t too.
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. (more…)
-
What happens when dogfooding isn’t an option?
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? (more…)