2/5/2017: Hairy Pooper

I read the original Harry Potter books back while they were coming out. I had about a 3 year lag, so I wasn’t ever waiting for the next one during a midnight Barnes & Noble release party. (NOT that I’m claiming high moral ground or anything. I’m totally that guy.)

I remember blowing through them at record speed and being pretty satisfied.

Well, I’ve come upon the Stephen Fry audio versions and, it being several years later, I figured I’d give them a listen.

I started back in November or so and have been interleaving other stuff between them.

It’d been a fun ride so far. I missed a bunch of detail in the hypnogogic haze under which I read most of them, clearly.

But I’m about half way through the fifth book (Order of the Phoenix) and the constant refrain of “why won’t the grown-ups listen to me” is getting under my skin something fierce.

Suddenly, on my way home, listening to a scene with the antagonist du jour flexing her authoritative might to keep the misunderstood kid who really could fix everything down, I snapped out of it. The Glasses of Disbelief Suspension came off. I started thinking about the characters and not one in 10 could be described by more than a couple words (appearance notwithstanding.)

All this pent up frustration with the tedium of the protagonist’s whining, waiting for some bit of neat magic description all just blew off over a span of about 25 seconds.

I feel like I’ve been freed from detention with Professor Umbridge.

2/4/2017: ER Diagram hell

I do a lot of database design work. It’s not HARD database design work. I’m just involved in a whole lot of projects, both in and out of the office, that require me to write a bunch of DDL.

For all the explosion of open source development tools lately, I am absolutely SHOCKED that there aren’t reasonable tools available for taking either DDL or going to a database directly and reverse-engineering a normal database diagram. It’s amazing to me.

Sure, you can get yEd, Dia, or any other diagramming tool and do it yourself. But a hand-drawn ER diagram strikes me as being much the same as software documentation: Lies. They’re written once out of a management directive to have a pretty picture/piece of paper. Then they’re filed away someplace and the underlying structures and or code begins IMMEDIATELY to diverge from the documentation, making the documentation worse than no documentation.

I’ve been playing around with Graphviz/dot for an awfully long time now and finally decided that it was time for me to write something that would generate dot graph source from more or less normal looking ddl. Sadly the code is in python instead of something sensible like perl (which was literally born for this kind of task.) But we don’t use perl in the office and they’ll get all kinds of pissy if it starts showing up in the source control system.

About an hour ago I finally got to the point where it would draw pictures of tables with column layouts and associations between tables. It’s not using real referential integrity DDL to generate the connections though. I’ve just given it a syntax that will allow me to put “table1.column1 -> table2.column2” notation in SQL comments that it will pick up. This way I can take the DDL file and run it directly into the database AND generate a diagram at the same time.

I’m not sure how I’m going to reconcile it to the (currently completely nonexistent) build/release system we don’t yet have. But I’ll find a way.

The biggest issue with that, I think, is going to be managing the transactional DDL. (i.e. alter table statements.) I may just bail on that entirely.

So I’m going to show a couple people this “cool new toy” at the office tomorrow.

They’ll nod and say “neat”. A couple of them will ask if I can put the source up into our tools directory.

What I’m NOT going to tell them is that I’m taking THIS code, and modifying it from here so that it generates a fully-featured suite of ORM model classes.


You’re not a real programmer unless you’re lazy enough to write code that’ll write your code for you.

Wait ’til they find out all the ETL is generated source.


(hmm…maybe I should generate the code for the python-based generator using a perl script. Now THAT might just be able to keep me interested.)

2/2/2017: Nudus regis

I’ve been getting the creeping sensation that I should probably learn Javascript. The proliferation of frameworks and toys alone has to indicate something about either how easy it is to work with, or how much people are doing with it, if not both.

I’ve got a couple (dozen, who am I kidding) web development books and they hit all of what seem to be the major ones: Node, angular, jquery, react, yadda yadda, something about bisque.

But when I really try to nail down how to DO something specific, I end up on a wild goosechase of plugins to frameworks to platforms. It’s almost as though nobody really DOES anything other than prepare and write libraries.

I get these flashbacks to the 90s when we tried to write code generators to do all the work for us, only realizing, after a tremendous amount of pain and suffering, that we couldn’t cheat our way out of doing the work needed to create software. We built class libraries and ORM layers and all KINDS of crap, even down to the 3gl tools like PowerBuilder, SqlWindows, and such.

But no matter how we tried, we could never write:

    virtual void main() = 0;

(Apologies to the non C++ people reading, so…everybody pretty much.)

I don’t care how fancy your tools are. You can’t avoid doing the work. And again and again I’m faced with these attempts, sometimes elaborate, most of the time half assed, to escape reality with another plug in. And yes, maybe I’m COMPLETELY wrong and off base. But if so, the responsibility is on the tool maker to market their product. Don’t just dump it in a fucking github repository with reference documentation, start a mailing list, and expect me to give a shit.

Yeah, so I’ll learn enough Javascript to be dangerous. I’ll dabble in JQuery, since it seems to be ubiquitous, and I’ll probably try some Node.js stuff, since it seems like the One True Server-Side Javascript technology. But the rest of this crap can go hang.

Is your framework du jour worth me learning? Prove it.

I’ve got too much actual work to do.

2/1/2017: Ad Nauseum

A funny thing is starting to happen, that I noticed in a soft way a couple days ago, but was finally brought into stark focus with that last post (which I hit ‘publish’ on about 3 minutes ago.)

I’m getting pretty windy.

A month ago it was a real struggle to get a few hundred words of blathering blurt out of me on anything. But now I’m finding that as soon as I open this little text box, even intending to just put down 300-500 words (which is my nominal low-end for a post.)

Even though I’m doing the weekend catch up game for the most part, I’m getting a fair bit better at removing the barrier between brain and keys.

AS such, I don’t mind that this one is teeny at all.

It’s nice to see progress, even if it is along so dubious a dimension as word count.

1/30/2017: Used books

When I was a wee lad of 20ish I used to haunt a used book store called Pyramid Books in Peekskill (“pee, dubba e, ess kye, ell” as Christa used to say. More about her and Pete someday maybe. Probably not though.) It had all the trimmings; the old book smell (you know…rot), the hot little girl working the front counter, isles of too close too tall shelves of too many books, creaky hardwood floor. It was awesome.

I used to come out of there with armloads of stuff I’d never read (not that I knew that then), but just used to have for the love of them.

There were a few used book stores around when I moved back down to Brooklyn, but most of them were pretty threadbare, so I didn’t go in more than a couple few times. Sure, there would occasionally be a new batch of engineering books from some donation or something, and I’d pick through them pretty thoroughly. But for the most part it was just crap.

But last year, when I moved down here to Nashville, I kept hearing tell of this used book metropolis, McKay’s. I went once soon after I moved in to the apartment (I spent the first couple months down here in a hotel, as I didn’t have a job) and came out with my eyes just glazed over, carrying as much as I possibly could, drooling.

But between the “52 books this year” challenge (which looks like it’s going to prove to be an absolute cakewalk) and the glaringly empty second bookshelf from last weekend (really? last weekend? Wasn’t that a month ago?) I’ve been….feeling the itch.

Finally this weekend I decided it was time to go. So I hitched up the horse and buggy, plugged the address into the gps, and was lead 40 miles in the exact opposite direction.

Because that’s what you get when you try to find an address on “Old Hickory” in central Tennessee. There are eleventyhundred of them, so any numeric address on “Old Hickory Blvd” is going to exist in triplicate within an hour of wherever you are, which fucking annoys me to no end. The inability of people down here to give discrete directions is actually pretty impressive. “Turn left down by where the old church used to be.”

Eyerolling aside, I didn’t mind SO much since I was listening to the final confrontation chapters of The Graveyard Book, which are fucking riveting, especially with the full cast recording of the audio book.

Pulling into the church parking lot that definitely was NOT McKay’s, I sighed and keyed “McKay’s” into the gps, instead of the address because fuck you too garmin and it plotted out what seemed like a more sensible course, which I took.

Pulling in to the parking lot there was still far too much going on in The Graveyard Book for me to get out, so I ended up sitting there, truck running, for about 45 minutes before I found a good breaking point.

I got all excited heading in to McKay’s. It was about as busy as I expected and the size of the place, for a used bookstore, is always overwhelming. It’s about as big as a normal 2-floor Barnes & Noble. I made my way around electronics (they have a lot of stereo equipment, used gaming consoles, and instruments, rather reminding me of a pawn shop more than anything) tried to look at used video games (I still don’t have anything for my xbox 360 except Saints Row 1 and 2.) But that was mobbed by wheelchair bound weebs and rude kids so I headed over to the computer section.

Nothing. It was all just garbage. Dummies books, “how to use an iPhone 2 for seniors” garbage and the like. I looked at the traffic and realized there was absolutely no chance I’d find anything of that broad interest. Over to finance and economics…nothing. Just…nothing.

Alright. Fantasy pulp. HERE were the books. SO many out of print trade paperbacks. Forgotten Realms stuff (which I just adore), a whole vertical shelf of Dragonlance books (I’d been wanting to reread a bunch of those.) All with split bindings, having been read by some kind of fucking savage. The prices were…well…60 to 80% of cover price. I kept picking up books, looking at their condition and price, then making an “uch” noise before putting them down.

The ‘oversized F/SF’ section had the compilations and first-runs. I found “Ready Player One” which people can’t seem to shut the fuck up about. Cover price was $3 less than their asking price, and I just got angry.

Back up to audio books, movies, another run through used video games….nothing.

Fuck this.

I left, got in the truck, and headed down to Brentwood, to barnes & noble. I don’t mind paying full price. I was just hoping for some finds. But the condition of the trade paperbacks was horrid and just sent me off.

The Graveyard Book finished while I was on my way there, and there was an afterward by Gaiman about where he got the idea for the book, the process, etc. He mentioned conspiratorially that Liza Hempstock (the witch if you’ve read it, and…the witch if you hadn’t either I suppose) was indeed related to the Hempstocks in “The Ocean At The End Of The Lane”, which made that decision for me.

I walked in to barnes & noble…mad.

Not just mad, righteous.

I should never EVER be armed with purchasing tools when I’m feeling righteous (or, frankly, many other times at all.) I went tearing through the fantasy section. First Dragonlance trilogy? Yep. Ready Player One? Grab THAT along with “The Ocean At The End Of The Lane”, a boxed set of Brian Sanderson’s “Mistborn” trilogy, which people on various subreddits will NOT STFU about, so fuck THEM. Then I ‘picked up’ (which I’ve realized is my personal euphemism for “bought but am at least moderately ashamed of the expendature” a couple short story compilations of “Urban Fantasy”, some of which sadly include the dresden files guy, whose writing I can’t stand. A certain level of pulp I positively love, but his protagonist should be named Markeysue von Hackneytrope.

So I kept walking around, growing stack in my arms, ponytail bouncing behind me, grumbling to myself as I was unable to find something I wanted in to programming section (srsly, I’ve cleaned them the fuck out.)

Finally realized I couldn’t actually hold any more books (I’d dropped the Sanderson boxed set a few times) so I made my way to check out and saw the Make Magazine issue about making Raspberry Pi bots. Yep. I need THAT. And a cute girl said “I can take you down here.” … What? I can’t help it. Every time a girl says that I raise an eyebrow. Oh fuck you. Judge me at your own peril.

Anyway we chatted a bit about Gaiman and stuff, complete with some conspicuous giggling and I left to go buy food for eat.

They look good, sitting there. I’m not sure which I’ll pick up first. Probably Ready Player One, if for no other reason than to get people off my ass about it.

1/29/2017: Something something last Sunday.

Yeah, see this isn’t a good sign.

I was haunting reddit yesterday, particularly doing some deep diving into /r/fountainpens. I knew…I knew it was a mistake, somewhere in the cobwebs of my mind.

Sorting the posts by ‘top’ and going through them, I saw what looked like one of those insipid ‘unboxing’ posts (people seriously, never do that.) But in fact the poor guy had unwrapped the first layer of his long awaited package to see the bubble wrap drenched in black ink.

Immediately people started chiming in about Goulet’s customer service (I’d never heard of ‘Goulet’ before) and indeed, one of the responses was from a ‘/u/mrsgoulet’ saying they’d get right on it, followed by a bunch of hurrahs and “See? THAT’S customer service.” And assorted accolades.

So…between that and a mention of a twsbi eco or twsbi 580al, I did a search and ended up at Goulet Pens. I may have actually gasped out loud. I certainly turned to look at my wallet, sitting on the desk, and gave it a reassuring pat before apologizing to it for what was almost certainly about to happen.

As expected, I spent the better part of an hour paging through ink descriptions, sampler packs, and pen listings before deciding that yes, it was indeed finally time that I graduated from fountain pen cartridgenoobdom to full refillable ink fountain pens.

It was almost certainly preordained at the moment I started buying fountain pens at all. The first few were these disposable pilot ‘vpen’s. They’re…meh. Then came the LAMY Safari pens. I ADORE the feel of them, but even the extra-fine nibbed ones throw SO much ink on to the page that it’s tough to manage.

I finally came across the Pilot Metro, which is a great balance of weight and page feel, so I’ve been using those and a cheaper pilot ‘ergo’ pen with a thin black plastic body. It’s pretty fragile (he says, having broken one) but I’m not sure I’ve ever written with a finer nib, which I love.

But all of these are $25 and under. Most are under $15.

I didn’t really think much about how much I was enjoying them. It all still felt like a bit of a novelty. But then I picked up one of my trusty old rollerballs, that I’d been SWEARING by for probably 20 years and my lip curled up as I made an ‘uch’ noise, trying to write with it.

So now I was a fountain pen guy. I didn’t think I was quite that pretentious. But meh, fuck it.

My eyes focused back in on the comparison chart between the twsbi eco, the 580, and the 580al, and it was clear that the al was the way to go…along with some inks….and some ink samplers….and a glass pen (you know, a dip pen so I could test the ink samplers without having to fill and empty a cartridge converter or *gasp* my new pen.

It’s really just down hill for me. I don’t have what the guys on /r/fountainpens call a Grail Pen and, God willing, I never will. But… I will.

Bad enough that I’ve got 14 kinds of ink on their way.

1/28/2017: 4-day lag, continued

In software development, this is what we call a “day for day slip.”

BUT at least I’m caught up with dates on posts and things that actually happen ON those dates (for now at least. I’ve no fucking idea what happened on Sunday.)

But on SATURDAY (after all of the near masturbatory book shelving) I took my first stab at some very VERY basic leatherwork.

Now, part of my book fetishism is a love of journals, notebooks, and organizational systems of damn near every type. The problem is that I can’t actually USE every type of organizational system and notebook out there, which I don’t mind telling you, seriously marshes my fucking mellow.

But I’ve settled, tentatively on the Midori Traveler style of notebook as something I carry around. There’s their “normal” size, which is pretty big, and fits wonderfully inside an inside denim jacket pocket, then there’s what they call a passport size, which isn’t, but can be (hypothetically) kept in a back pocket (though not quite a shirt pocket.)

A midori traveler notebook at its most simplistic, is really a leather cover with an elastic band down the center. You buy the inserts (you get a couple when you buy it) open it half way, and slide it in to the elastic. I think you get a couple additional elastic bands that let you just add inserts, up to about 3 or 4 tops, before the thing’s just not big enough to handle it.

It’s lovely. My primary one has 3 inserts in it:

  1. General dated notes and horseshit (including overheard conversations, recipes, etc.)
  2. A planner insert. Mostly just a running-todo list, but I used to do the whole “Bullet Journal” thing (look it up, it’s neat.) But it just doesn’t really work for me. I can’t be arsed to keep it up. I’m more interested in Mark Forster’s organization stuff now. More on that some other time I’m sure.
  3. Lists. I’m learning to love lists. Lists of programming projects, a separate list of NON programming projects, book lists. I’m actually surprised how much I love having one just for lists of shit.

One of the neat things about the “multiple inserts for multiple purposes” thing is that I can fill them up and switch them out at different rates, which really appeals to a particular insecurity I’ve got about misusing space in notebooks. It’s…a whole thing.

But the sizes of these things are terribly frustrating. No reasonably priced notebook will fit in them. You’ve pretty much got to buy theirs. Not the fieldnotes, not the small moleskines. I mean, you can make your own with a nice paper cutter, some xacto knives and such. But then you get in to this whole craptastic fight with what kind of paper makes for a good insert. Lined? Are you going to print them yourself? What kind of ink? Gonna do the double-sided thing yourself? Are the lines gonna line up? Aaaannnd don’t even get me started about the fun of cutting them to size and trimming them down so the edges are even.

I made a few. It’s just not worth it. No. It’s a huge pain in the ass.

But I’m sick of paying the premiums for the midori inserts and, as nice as the paper is, it’s not THAT nice. I want to be able to walk in to Barnes & Noble and grab some of those small moleskine 3 pack notebooks. Yeah, those are pricey too. But not THAT bad.

So I went to Hobby Lobby and got a few 8 1/2 x 11 sheets of veg tan leather and some other stuff I thought I might need. I’d bought a “basic kit of intro leatherworking stuff” off of, wait for it….amazon.

I watched a bunch of “home made midori traveler” videos, or…well… the first 3 minutes of a lot of them. If I have to hear the phrase “ohmygod, it’s supercute” one more time I MIGHT actually go on a damn killing spree.

There wasn’t really so much to it in the end. I bundled a few notebooks together and used them to come up with a measurement (which I screwed up in the end) cut the leather pretty cleanly, punched holes for the elastic closure and binding, and folded it over and weighed it down.

I thought about beveling the edges, then burnishing them down. But, when I practiced with some scraps I realized I just didn’t have anywhere near the dexterity or control required for an even result, so I decided to create the first one as the simplest thing that could possibly work using a few little Field Notes notebooks for sizing (which are almost exactly the same size as the little moleskine ones.)

The only real error I made was that I wanted to make the thing wider, so that I could fit 4 or 5 inserts, instead of just 3 in there. Other than that it’s just fine. I really don’t think there was enough to possibly screw up, which was sort of the point for the first attempt. I’m working on the technology of getting some pictures up. But don’t really want to host rich media here directly, owing to bandwidth and storage limitations.

I think my next little leather project will probably be something with stitching, maybe a simple little wallet, I’m not sure. The idea of tooling leather seems neat to me. But it may also be one of those things I start in to and find it’s FAR more of a pain in the ass than I’m willing to undertake.

That’ll do for me for now. I’m going to spend a bit working on getting those pics up.