Author: George Burgyan

Automation

There was an article last week in ArsTechnica about how Tesla was over-automate their car plant to the point where it was actually less efficient than just having people do the work. You can wind up a scenario where you have more people tending the automation than it would have taken to just have the people do the job in the first place. Sometimes I feel there’s a lot of that in the software arena as well. It’s drilled into you at Amazon that you need to make everything scalable, and scalable in the case of software tends to call for automation. The problem is that if you have the incorrect abstraction you can, in the name of scaling, cause other problems. Like, for instance, if you need to set up a test system that could consist of dozens of machines. No problem. But then if you tell each of your partner teams that they need to set up the same stack, for each of the partner teams, you could be spending hundreds of thousands of dollars on nothing but test hardware. Of course the hardware is only one aspect of the problem. Someone has to set up the test stacks. Someone has to maintain them. The test suites still need to run. All of that winds up being more than a bit expensive as you start to scale...

Read More

Frameworks that work

I spent the past month or so I was working on a framework for my team. It winds up being a replacement for something that we’ve been working with for a while. The level of complexity that we had in the previous was quite a bit beyond the pale. So I spent the time making a new set of framework code that’ll do the same processes. Sure, you have design reviews and shit, but the code is what the code is. The design review presents a rough set of blueprints about how to code things up. When the rubber meets the road, however, you have to remain flexible. For the first time, someone else was working with the new code. You have to know that it’s totes amazeballs when they don’t look at you with the look of “you expect me to work with this pile of crap?” Is anything perfect? Of course now… but to have something reach the level of “ok” in someone else’s eyes is still pretty damn cool. It gives me quite the...

Read More

You can write Perl in any language

I give you this: Map<String, Map<String, Map<String, Record>>> records = new Map<>(); It’s valid Java of course, but you can tell the programmer who wrote the above line (with some types changed) really was intending on writing some Perl. If you have maps of maps with strings as keys, you may want to consider writing the missing classes in between the front and back. The context-free nature of maps with strings makes it hard for the next person to figure out what the keys really represent. For maps the keys usually make a difference, if they didn’t you ought to have used a set. But that begs the question “what does the string really mean?” Don’t do...

Read More

Squeezed

Too little space and too much talking over me makes me a very unproductive George. In case you’re wondering I’m the desk nearest the camera. High density + loud people + traffic freaking behind me as people skooch behind my desk + people using my chair when I’m not there (because they’re still there when I get back) is not the recipe for success. My strategy, of late, has been to hide in various out-of-the-way places to get some quiet to work. Some people can work with loud, and I applaud them. I can’t. (yes, that’s a Hungarian flag on my desk — it’s opposite an American flag that’s just outside the picture) (yes also: my desk is a mess…...

Read More