Sunday, June 30, 2013

An Open Letter to the Human Race



We in the Animal Kingdom recently held our first annual Conference on Human Affairs, which was hosted by the Nairobi National Park. By the way, that’s just your name for the place. We call it home. You might not believe it, but Internet service in Kenya is actually quite good. Many species who otherwise couldn’t have attended were able to participate via Skype. The eagles put on a benefit concert to fund that, so I guess they deserve some kudos.

The progressive faction in the Kingdom - mainly the dolphins and zebras, but a couple gorillas switched their votes at the last minute - managed to get the conference-at-large to pass a resolution stating that we should issue a communique to you, humankind. The resolution has your typical restatement of fundamental animal rights, over-reaching demands such as “humankind needs to evolve now,” and so on. But the crux of it was this: “We, the undersigned, being as we are in most cases the senior species on this planet, feel it is our responsibility to attempt to bridge the differences between you and us.”

As luck would have it, I got nominated to author the message. The conference leadership does not yet realize what kind of mistake they’ve made! My monkey friend, who is typing this in for me at this very moment, keeps reminding me to stick to the plan. But since I’m a bull, I can do whatever I want! Nobody’s going to take this bull by the horns, I can promise you that. So this open letter is from my perspective as a pure-blooded member of Bos taurus. To whatever extent my take on things happens to overlap with the concerns of other species, well, that’s a happy accident.

So, here I am, a bull’s bull. Intact, by the way. You’re the high-and-mighty Homo sapiens, with your opposable thumbs and reality TV shows. You all think we’re automatons. You think we go through life eating, sleeping, screwing, and chasing trespassers around our fields and meadows, and you think that’s the extent of it for us. You think we enjoy rodeos with those barrels and ridiculous costumes you wear and country music blaring over the loudspeakers. Or that it’s perfectly acceptable to jam those pointy sticks into our hides until we bleed profusely, all the while waving your inside-out clothing at us. Some of you actually dare to brag about wearing leather. Don’t even get me started about Rocky Mountain oysters.

I’ve never seen the inside of a china shop, and you’ve never actually in real life seen me in one. Admit it! All you’ve got are pathetically fake scenes created for the full-page ads in Fortune and The Wall Street Journal, which are either Photoshopped or just so obviously staged that even a moron ought to be able tell that I don’t belong there. Unrealistic expectations, I guess. Just so you know, confined spaces make me uncomfortable, so if by some freak of nature I found myself in one of those places, I’d try not to move around too much because otherwise stuff would start crashing down around me, and that would make me flip out. The Hulk ain’t got nothin’ on me when it comes to flipping out. It’s simple cause and effect, that’s all, but you people persist with this fairy tale. Some day, you will come to understand that I can see past your cognitive dissonance.

When I snort and paw the ground, and shake my head, that’s all it takes to get you to dirty your designer jeans. You’re all so predictable, I can play you like a fiddle (never mind that I have no fingers). By the way, I absolutely love to chase you fools through the streets of Pamplona. I do have to admit that the cobblestones get quite slippery with your blood all over it. But I digress. The point is, I act the way I do because I can and because I want to. It’s not that I’m incapable of appreciating the consequences. I just don’t care about your preconceived notions about how a multi-celled life form should behave.

The other species, especially the horses, dolphins, gorillas, and house cats, all have their own viewpoints on the human condition. But not the sharks, I should point out. Those guys really are automatons, don’t bother asking them for opinions. Since I’m feeling benevolent at this particular moment, here’s some friendly advice - you may want to rethink your approach to dealing with the raccoons and rabbits. They hear and see everything, they know what kind of fast food you eat, how you aren’t actually working late at the office even though your car is still parked in the lot, and so forth. One of these days, they’re going to join forces, and then you will be in a world of shit.

Was this all clear enough? I hope so. If you take nothing else away from this missive, remember one thing: we run shit around here. You just live here.

Sincerely,
MurciƩlago, of the Navarra breed, on behalf of
The Animals


Saturday, June 29, 2013

Taking a step towards becoming a better writer

I was talking to a friend the other day about creative writing. This is an artistic endeavor in which I've dabbled from time to time. You, the few brave people who read my blog, have been subjected to some of my experiments. Well, I feel like I want to get more serious about it. One of the ideas my friend and I talked about was adopting the discipline of writing every day. For most people, myself included, it takes a lot of practice to master something. So, I've decided to set myself a quota of writing at least 1,000 words each day, and do whatever it takes to meet that quota every single day. It's like exercising, which requires serious commitment if you want to achieve any results. I think this is a good analogy because it helps me feel confident that I can follow through. My physical fitness is a part of my life that I have turned around (with the help of my awesome fitness coach). It was hard and still is hard, but I've been successful, so I know I can do this, too. And I feel like I really want to try.

I got started yesterday. The output of yesterday's session is not suitable for external consumption. In fact, I doubt I would ever publish any of the daily material. It's stream-of-consciousness, poorly organized, and raw. The point is to get the words out first, then later choose the stuff that might be worth refining further.

I want to thank my friend, who shall remain anonymous here, for inspiring me to take this step. There are some other good practices that I will work on adopting as well. I do plan to continue publishing experiments here, because publishing your work is another important part of the process. I'll try hard to maintain some kind of minimum level of quality in what I post here, but I can't promise you'll like any of it. Please feel free to leave comments about what you like or don't like.

Sunday, May 26, 2013

Give Way To Traffic

Video inspiration for a short story...having found a spot in a crowded parking garage, a non-descript man fumbles with his keys to lock his car door. He's come here many times, but something's different tonight. He starts to walk, and considers what it could be...maybe it's the new graffiti here and there on the walls. Footsteps echo from the level below. A second man with a vaguely threatening demeanor is walking up the ramp, approaching from behind, steadily closing the distance. A third man appears from around a corner, staring directly at the first man as he too follows along. They look like they've been waiting a long time for this and they aren't about to waste the opportunity. Other people exit their already parked cars, briskly stride around corners, climb up out of stairwells, pour out of side passages and elevators, to join the chase. Rage is on their faces. The mob passes under a sign that reads "Give Way To Traffic" as they start sprinting in pursuit. The man is suddenly cornered and turns to face the mob. Inexplicably, the mob hesitates now that they've caught their prey. The man smiles and looks for a hint of mercy among the faces surrounding him. Or maybe he's the one offering mercy. The chase has turned into a standoff.

Wednesday, February 13, 2013

Boy Wonder


Anyone reading this who recognizes who and what I'm talking about are hereby asked to keep specific details to themselves. Thank you.

One of my previous jobs was at a startup which, as many startups tend to do, ran aground on the shoals of market reality. The investors had swooped in to install "their guys" in a perfectly understandable attempt to salvage something from their investment. This fine bunch of gentlemen had acquired cartloads of money from selling their previous company; this automatically made them smart. We existing employees were inconvenient roadblocks in the way of their next success story.

One of "their guys" was this young, self-important know-it-all who was assigned responsibility for day-to-day operation of the company. No, I'm not talking about the 20 year-old financial wizard who resented that his mentors felt some old-fashioned obligation to pay our salaries. Rather, I'm talking about the wanna-be Master of the Universe for whom our company was a temporary stepping stone, having no prior business experience other than running his own consulting company that had no existing clients except for us, and which really no one else had ever heard of. I'll call him Boy Wonder.

Our company became Boy Wonder's playpen to test the innovative ideas popping into his head each day -- like scrapping our company logo, which admittedly wasn't terrific, in favor of a bunch of overlapping bubble shapes rendered in a pukey shade of green. Green bubbles had nothing to do with anything that anybody cared about, least of all the core idea behind our company. Boy Wonder was completely unconcerned about any existing history or values of the company, anybody's pride or feelings. He tore up our culture from one end of the building to the other, informing us as to how we were going change this and scrap that, and man, we'd all better try harder to keep up because he was full of ideas and had the authority to execute.

I'll never forget a project planning meeting hosted by Boy Wonder shortly after he arrived. Over and over, he'd ask us for work estimates for some feature or other, and, without the benefit of any time to really think, we'd be cajoled into providing numbers. Which were just ballpark numbers, certainly. But every time, Boy Wonder would matter-of-factly slash our proposed timeframe by two-thirds without any justification at all, and without skipping a beat, move on to the next item on the list.

Boy Wonder had real technical acumen, you know. He wasted no opportunity to pontificate about his latest programming system idea which would revolutionize software. His main idea was to use English words to describe programs in such a way that the descriptions could be translated into real programming language syntax. This would be super-cool because writing code via English prose not only made programs easier to understand (which on the face of it is not entirely without merit), but more likely to result in a program that did what you meant it to do. I'm not kidding. And I don't mean English-like as in Cobol. I don't mean literate programming, as proposed by Knuth. I mean, substituting English words for programming keywords, to be followed by magic happening.

I may be naive, but it's still difficult for me to believe that anyone could be that intentionally obtuse, shamelessly disruptive, and pig-headed. Maybe Boy Wonder was instructed to rattle our cages any way he could think of. I'll never know. On the other hand, we soon discovered that at his core, Boy Wonder was not a nice person.

At one point, I walked into our new CEO's office and asked whether his wunderkind was actually qualified to run a company. I wasn't afraid of much by that point. I certainly had no qualms about speaking my mind. The CEO's reply was basically "I put Boy Wonder in place because he gets things done like nobody else I know." This was certainly true, although you didn't want to be on one of his S.W.A.T. on-site teams getting things done. Because if you were, that probably meant you were working 7 days a week, a month or more past the promised contract end date, getting berated each day for arriving later and leaving earlier than Boy Wonder did.

That never happened to me because I never let myself fall into the trap of agreeing to go on those consulting gigs. It wasn't long before I left the company. Amusingly, Boy Wonder and the rest of the crew didn't last there much longer than I did. I don't mean that I was amused to see the company continue to struggle. I just didn't have much (and by that I mean zero) sympathy for those guys, nor for Boy Wonder in particular. I don't know where he went next or what ultimately happened to him, and I'm not ashamed to say that I couldn't care less.

Sunday, January 13, 2013

Go programming update



I've been working on a program to play the game of Go since roughly mid-2008. My project (called Dakengo) has gone through several iterations, where each iteration involved porting my code to a different programming language. The first version was written in Common Lisp, the next in C++, and the third was in C#/.NET. In August of 2012, I started another rewrite, this time to Java.

I have to admit that my rationale for each switch was not very solid. It was mostly a case of my becoming enamored with some new feature in a language I wasn't currently using. I would feel like I was missing out on the "latest and greatest," so I'd switch -- all the while vowing to never do that again.

With each rewrite, I made solid progress in my understanding of what's involved in writing a Go engine and how I want to do it. I've found and fixed bugs that were as yet undiscovered in previous implementations. So the rewrites weren't a total waste.

But overall, this has had a major cost in time and effort for a relatively small return. I could be much further along in terms of functionality, not to mention all the experience of playing against real-world opponents (humans and bots) that I've missed. For those reasons, I'm 99% sure I'm going to stay the course with Java for my Go engine. I'll find ways to scratch the alternative language itch without disrupting my progress on Dakengo any more.

So, I'm just now getting back to the point where I've got a computer player that can play random legal moves. The next step is to resurrect my Monte Carlo tree searching logic. I've released a chunk of my code as open source hosted on github. Here's the link:

https://github.com/jdunrue/Dakengo