All posts by The Plaid Mentat

Interfacing with Remote Developers

One of the interesting things about my job is that I get to work with a lot of developers. I recently spent a week in Riverdale, MD with a group of developers that we usually only work with remotely – via phone or e-mail, or when we enter a trouble ticket against a system issue or software bug. Working with this team face-to-face was a really rewarding experience.

One of the things that I have learned is that it’s very easy for our team to reach out to developers when something isn’t working. From a professional standpoint, we have all the things necessary to kick up a conversation – something in common (the software), a catalyst (the bug), and a goal (making it work again). With our local development team, that we get to see every day, it’s easy to say, “hey – everything is working swell again, thanks.” With our remote developers, this is a lot harder; it doesn’t really make sense to call them up and say, “Hey – I just wanted to call and say everything is a-ok!” – there is no catalyst. Continue reading Interfacing with Remote Developers

A Solution for the Mathematically Inclined

The answer to my post last week is yes. Here’s the quick (intuitive) proof:

First, note that math_a and math_b is the surface of two spheres in three dimensions, and their intersection is either a circle or a point (we know they are not the same sphere since a and b are distinct and that they must intersect because we know p exists).  If it is a point, then p is that point (and since we have not used gamma we have proved the hypothesis).

If the intersection is a circle, it intersects the plane containing a, b, and c at two points, but only one is inside the triangular prism, and that must be the point p. We know it cannot be a point not on the plane, since if it was, two points would satisfy math_c, and not satisfy the uniqueness condition.

I personally prefer algebraic proofs though, so let’s crank some algebra! Continue reading A Solution for the Mathematically Inclined

Model Assembly

One of my New Year’s Resolutions was to get through my backlog of model assembly. On the one hand, I enjoy assembling models – I love the craftsmanship, the manual work, and the accomplishment of looking at a finished product. On the other hand, the glue fumes are not so good for my sinuses, so I need to slow down a bit.

So, rather than doing marathon assembly, I’m going to be taking a step back and figuring out the best way to spread my model assembly out and avoid as much of the fumes as possible. Continue reading Model Assembly

For the Mathematically Inclined

I’ve been thinking about the following math problem lately (I occasionally get distracted by such things):

Suppose you have four points in 3D space, a, b, c, and p, where a, b, and c are distinct and non-colinear and their positions are known, and p is the unique point defined by the following:

  1. math_a
  2. math_b
  3. math_c
  4. p lies in the interior of the triangular prism defined by a, b, and c that is perpendicular to the plane containing a, b, and c.

As an image:

math_diagram

If there is only one point satisfying the above criteria, can it be found without knowing γ?  I plan on posting my proof next week Thursday, 2016-02-25.

Talking to Computer Support

Jessa recently bought a new computer from HP, and, unfortunately, the graphics card was defective-on-arrival. After doing a fair amount of troubleshooting ourselves (and, truthfully, correctly diagnosing the problem), it was time to call up HP support to get the ball rolling on getting a replacement. Listening to Jessa talk to support reminded me why talking to tech support is never a fun proposition. At the core, I think, is that neither person on the call trusts that the other knows that they are doing.

As technical customers with years of training and job experience in technical troubleshooting, Jessa and I did a lot of legwork before we even called technical support. As such, our hope was to be able to start somewhere closer to what we had narrowed down. The early questions the tech asked, such as, “what have you tried so far?” seemed like we might, but the hours we spent afterward doing things like turning it off and on again, reinstalling software, reinstalling drivers, resetting to factory settings, and, finally, getting the computer into a state where it wouldn’t stay booted, made us lose trust in our tech. He asked what we had done, then did it all over again, and got nowhere closer to the problem (and, in fact, made it worse). Continue reading Talking to Computer Support

Twin Peaks

Jessa and I recently finished watching Twin Peaks, as well as the follow-on movie, Fire Walk with Me. As with almost all of our TV watching, we watched this on DVD, especially as this came out in… …1991. At a high level, I enjoyed the series, it was quirky, had a cool mystery with supernatural elements, and did some really interesting things with a large cast. However, this is one of the cases where I feel that the series was lacking something in the later episodes (and, to a larger extent, the movie) that made it so much less awe-inspiring than what we got in the pilot. Continue reading Twin Peaks

Fireteam Zero

During the last game day, I got the chance to play a couple rounds of Fireteam Zero with Ian. I backed Fireteam Zero on kickstarter, so my expectations were that it would be a good game, but that there would be some polish missing. I was pleasantly surprised, then, that Fireteam Zero was really quite fun and was well polished.

Over the last few years, I have played a lot of cooperative games. Oftentimes, I find that cooperative games are very complex, and I have often wondered if that is strictly necessary. The first thing that I noticed about Fireteam Zero is that it is a fair bit less complex than many other cooperative games. This means that both player turns and monster turns are fast, and downtime is minimal. The main exception to this are the player’s tactical response cards – these are very powerful cards that get played out of turn, and tend to be a lot more complex. However, the only chance players have of playing these cards are after having them in hand for a full round, and they are not allowed to draw cards the turn they play it (meaning that they are unlikely to do much else that round). Continue reading Fireteam Zero

Good Operational Software – Part 2

This is the second part of my thoughts on good operational software.  For part one, go back one post to here.

Second, is separating out configuration management from software development. Like logging, this one is easy on the surface; it’s pretty trivial to separate out the main configuration parameters into a configuration file rather than hard coding everything. The most interesting thing about this, however, is that it exposes dependencies in an explicit way. For example, if an application is dependent on a database connection, then there must be configuration related to that database – the host, port, database name, user, and (hopefully encrypted or obscured) the password. Continue reading Good Operational Software – Part 2

Good Operational Software – Part 1

As the Operations lead, I find myself pondering what the difference between good software and good operational software. The software development team here at NSIDC is a sharp group, they know good software when they see it. Further, many of them know software that is not good operational when they see it. But, as a technical group, I don’t think we’ve all nailed down what set of features we can use as a benchmark for “this makes the software operational.” As far as I can tell, these things vary depending on the project, and, like Science Fiction, “good operational software is best described by pointing at it.”

That being said, by way of getting some ideas out there, there are three things that I have noticed I consistently point at and say, “that makes this software operational.” Continue reading Good Operational Software – Part 1