jameshunt.us
Automake Considered Harmful - jameshunt(.us)
https://jameshunt.us/writings/automake-considerd-harmful.html
Automake Considered Harmful — or —. Why The Charcutier Grinds Meat. I tried to give Automake a fair shake, I really did. But after trying it on a half-dozen non-trivial compiled projects, I have to conclude that is is more trouble than it's worth. Automake purports to ease the burden of writing those awful makefiles. It does so by constraining you to a very specific software build discipline, rounding off all those sharp edges so that you can't accidentally hurt yourself. This saves. Code is hard, right?
jameshunt.us
Hacking Serial on a WRT - jameshunt(.us)
https://jameshunt.us/writings/wrt-serial.html
Hacking Serial on a WRT — or —. Voiding Warranties for Fun and Profit. A few years ago, I picked up a handful of Linksys OpenWRT routers on ebay for a song. I made one into a wireless access point. Another formed the backbone network switch which provided VPN connectivity from living room to server room and the third was a backup for the second. Then I tried upgrading them. I'd rather not speculate as to what happened or why, but suffice it to say I had to buy a cheap D-link to get back on the Interwebs.
jameshunt.us
Open Files (Per Process) - jameshunt(.us)
https://jameshunt.us/writings/open-files-per-process.html
Open Files (Per Process). Over the weekend, something bad happened on the network. That's the opening line of the scariest techno-thriller on-call personnel can think of). Anyway, these network. Caused an interesting situation for bolo. After less than a day, this handful of machines was able to run the bolo core out of its hard ulimit on open file descriptors, about 65k. This is where the real fun started. State When enough of these were created, the packet loss began. Not being able to submit the data.
jameshunt.us
jameshunt(.us)
https://jameshunt.us/index.html
Writing Good Commit Messages. When you do what I do, you write a lot of commit messages, but you read a lot more, and a lot of them are. It's easy to write bad commit messages. I get it. You've just found (and fixed! A particularly nasty bug, and the last thing on your mind is re-hashing all that context you've still got bouncing around your head. Or maybe you just made it through a truly harrowing deployment, fraught with rework, typos, and frustration. Who wants to revisit all of. Write A Good Summary.
jameshunt.us
The World According to Python - jameshunt(.us)
https://jameshunt.us/writings/rewrite-python-in-python.html
The World According to Python — or —. Do Python Developers Not Have Any Real Programming Problems To Solve? Today, the not-invented-here. Department brings you the following gems. Dulwich: Git-in-C Is So Last Week. Is the answer to the question: what kinda works like git. But lags behind it in bug fixes and feature requests? Shinken: Nagios Needs More Python. Seriously, this is almost as bad as the Java guys and JeroMQ. Currently working on Bolo. And some PostgreSQL stuff.
jameshunt.us
maps, smaps and Memory Stats! - jameshunt(.us)
https://jameshunt.us/writings/smaps.html
Maps, smaps and Memory Stats! I work in monitoring, and one of the things that I have to deal with is process metrics. People care (or at least should care) about all kinds of things related to their processes. Is it running? Is there only one? How many open files does each have? How many threads are in the parent process? How much memory is the process (and its children) using? That last one is one of the trickiest, owing in no small part to the sophistication of modern memory management systems. A cowo...
jameshunt.us
Writing Pendulum Assembly - jameshunt(.us)
https://jameshunt.us/writings/pnasm.html
Writing Pendulum Assembly — or —. Crafting Code For The Clockwork Virtual Machine. Is the virtual machine at the heart of Clockwork 3.x, and provides the flexibility for both configuration management applications (i.e. Clockwork proper) and distributed remote execution and data gathering (Clockwork's exciting new. For the record, if you want to use Clockwork (and who wouldn't? You still don't have to get your hands dirty with code. Let's just get this one out of the way. Fn main print "Hello, World!
jameshunt.us
Using iptables To Emulate Network Conditions - jameshunt(.us)
https://jameshunt.us/writings/using-iptables-to-emulate-networks.html
Using iptables To Emulate Network Conditions. A few weeks ago, I ran into an interesting bug in some production daemon code that was being caused by weird network behavior. This is what was happening on the wire (courtesy of. Addresses and ports have been changed to protect the guilty, and some whitespace added to improve readability. That pattern continues. A. Packet from the client, the. Response, and the final. To nail up the connection, and then. nothing. But that's not the point of this post. Litera...