MrJoy

Just a Coder, Carryin' On Cranky

Enterprise-Ready IPv4

Permalink

This arose as a bit of a joke that bounced around among several friends and I. I thus present to you, IPv4, if it were Enterprise Ready:

<!DOCTYPE XML PUBLIC "-//IETF//DTD IP 4.0//EN" "http://tools.ietf.org/dtds/rfc791.dtd">
<!--
we can't assume that the DTD will be available to routers, so as a
best-practice, embed the full doctype definition into each packet.
-->
<packet>
<header>
<field type="minimum transmission unit">
<byte>
<!--
id is relative to the packet. Definitions for each byte of a word
must have identical definitions for the word. Inconsistency of word
definition is invalid.
-->
<word endianness="Big32" size="32" id="1">
<bit position="0" value="0">0</bit>
<bit position="1" value="1">1</bit>
</word>
</byte>
</field>
</header>
</packet>

It's extensible! It's scalable! It's interoperable! It's human-readable!

Now we just need to redo this as JSON, and then use JSONx to define the XML representation and then we'll truly have achieved an Enterprise-Ready networking solution!

Particularly lovely bits of evil (above and beyond the overall evilness) to make note of:

  • The id attribute for word begins at 1.
  • Values of the endianness attribute are capitalized inconsistently from other attributes, and redundantly encode the word length.
  • The sheer needlessness of putting word inside byte, and the complexity that spews forth as a consequence.
  • The redundancy of having bit be a block tag.

Fast GeoIP Queries in MySQL

Permalink

Many moons ago, I tried to use the GeoIP database, via MySQL – and discovered that MySQL was doing the wrong thing with the queries. Naturally, I found some tricks to make it faster.

The AAIA ACES Datasets

Permalink

Recently, I've been introduced to the AAIA's 'ACES' datasets. These datasets aim to describe the make, model, and configuration of pretty much every vehicle in recent history.

These datasets are a terrifying case study in how not to design datasets.

Kill it With Fire Friday

Permalink

I previously wrote about an idea I had for managing technical debt in the face of continuous and inevitable business pressures. I want to take a moment to follow up with some of the comments I've received on the technique, how it evolved, and where it proved strong/weak.

Cloudability Looking for Senior Data Developer

Permalink

“As Data Engineer, you’ll design and architect the pipeline for data ingested from multiple sources. We are looking for creative, results-driven developer who is excited about big, fast and flexible data.”

Know What You're Actually Testing

Permalink

Getting At Awkward Code, For Great Testing

A couple days ago, I wound up helping out a colleague on a problem he was having coming up with an appropriate test case for a piece of code in a Rails app. It reminded me that I had wanted to talk about how structuring your code affects what you are actually testing, and how that related to what you want to test.

Shamir's Secret Sharing

Permalink

Shamir's Secret Sharing is a mechanism by which N people may each have a piece of of information, such that when any M people come together the pieces can be used to reproduce a secret – but if only M-1 pieces are brought together, you have zero bits of the secret.