Archive for June, 2012

Post-Insanity Wrapup, Part 1

The pictures in this post are sometimes sideways. I think this has to do with the metadata attached to the image and certain browsers’ inability to process it. I’ll work on fixing it but for now just kinda tilt your head a bit.

Well, I stated in my last post that I wouldn’t have much time for sleep, and it wound up being pretty close to accurate. As it turns out, Saturday I was able to sleep in just a little bit. But I’m getting ahead of myself.

Thursday was my last day of work before the four-day weekend started. It was a pretty decent day, and at the end of it I went to Baltimore Perl Mongers. I was debating not going due to the trip, but I’m glad I did. We had our largest turnout yet, in spite of having no planned talks. We mostly chatted about what everybody did at work and played back a few YAPC memories. Afterwards, my fiancé Larry drove downtown to join Dawn and myself and we hit up a nearby Sushi bar. It was pretty nice although I’d already filled up on pizza so there wasn’t much desire on my part to eat anything.

Afterwards, Eric’s cats needed some care before we left. I normally provide catsitting services when he goes back to St. Louis, but since I was following him for a few days, that needed doing as late before I left as I could manage. After finally getting home, I packed and crashed for a few hours before flying out. That’s when things finally got rolling.

After I landed in St. Louis (the flight was a flight, nothing special so not worth talking about much), I headed over to meet Terri Langerak to rent her harp. She was very nice and really laid back, and I’m sorry we didn’t get to spend more time talking to her, but unfortunately both Larry and I were very hungry and pretty close to just falling asleep from our short night before, and I still had many errands to run. I will say, though, Terri played a couple tunes, one of which she wrote, and it was awesome. I hear tell she some recorded tracks available for purchase and I shall have to find those (I’ll post it in a comment if/when I do). But we got the harp and headed to the hotel in downtown St. Louis.

Terri's Harp

Terri’s Harp – Thanks, Terri!

Welcome to St. Louis

Welcome to St. Louis

After grabbing some food at the hotel (Crowne Plaza Riverfront, it’s pretty awesome), and my taking a few winks, I ran up to pick up my tuxedo at Memory Lane in East Alton, IL. On reflection, food at the hotel was probably not our best idea. It took forever for the food to come out, even though when it did it was very good. If we hadn’t been so hungry and not on a very tight schedule, I don’t think I would have minded the wait so much. Still, I was, on both counts, and so I minded. Whatever, water under the bridge.

My First St. Louis Lunch

My Lunch – Greek Salad and Spinach/Artichoke Dip

Larry's First St. Louis Lunch

Larry’s Lunch – Some Kinda Burger? I Forget

Then, tragedy struck! The place was closed before I got there. After swearing a blue streak, I realized there may still be hope. I’d been afraid they were closed on Saturdays, but they weren’t! So, I ran to drop off a portion of the money necessary for pickup of the tux at Eric’s mother’s place. He and Kristin (his now wife) were still running around getting final details hammered out, so I just sat and talked with his mother for a while. In spite of this being the first time I’d met her in real life (and only once having talked to her before, on IRC), she was very pleasant and willing to talk. I even almost got to see some baby pictures out of the deal but unfortunately they were in a drawer somewhere she couldn’t quite remember.

As I was driving out of town, and swinging by a funny little store called Steve’s Antiques that Eric had long ago told me about, I was called and told to swing around and pick up Eric and another friend of ours, Andrew Herbig, as they were stuck without a ride since the best man was hung up on a job. So, I took a few pics and hightailed it back to the house. There, I finally met Andrew (we’d previously only talked online). As we drove back to St. Louis, Eric pointed out many landmarks I’d only ever heard about. Sadly, we bypassed the place where he’d proposed as it was apparently a significant drive out of the way and quite a walk. Still, it was good to see some of the other places I’d heard so much about.

Steve's Antiques

My Antique Shop!

After we all three made our way back to the hotel, I grabbed a quick shower and we hit up Mike Shannon’s Steakhouse. The food was pretty much amazing, though I didn’t have much of, say, the gigantic appetizer that Justin ordered.

The Appetizer

The “’64 Tower” Appetizer

I did, however, partake of the quite-amazing Johnnie Walker Blue that was ordered for the table at the end of the evening. Never thought I’d actually have any of the stuff, it’s usually too rich for my blood (and my wallet). But that right there is a bucket list item successfully checked.

Johnnie Walker Blue

The Best Scotch I’ll Ever Drink

On the way out of the bar, we passed by several horse and carriages, but we really wanted to snag this beast which was parked out front.

What a Car

Kinda Want This Ride

We hit up more bars, and I’m pretty sure there’s no photographic evidence that can be used to incriminate anybody. Actually, it was pretty tame, just plenty of drinks all around. Thank god I limited myself, I don’t think I would have wanted to be hungover for the big day.

Speaking of, it was at a house by a beautiful lake owned (currently) by Eric’s grandparents’ siblings, but soon to be sold to his cousins. It was way far out into the country north of East Alton, and was very quiet and peaceful. Plus, there’s that lake!

Ready to Play

The Aisle and the Music

Beautiful Lake

After the Wedding, the Sun Gave a Show

The ceremony went very well – it got started behind schedule but I don’t think it’d be a proper wedding if it got started on time. They did the mixing of the sand, and I gotta say, that particular demonstration is growing on me. Eric and Kristin also read the vows they wrote out, which I gotta give them credit for, I think it’s the first time I’ve heard someone getting married actually say their vows such that people could hear them. Usually peoples’ nerves are far too frayed to do much more than mumble them. They were also very heartfelt and fit in nicely with the ceremony.

I had another entire day in St. Louis, but I’m about to pack up and travel for my trip back home, so I’ll have to fill in the rest of the details of my trip later.

One Crazy Weekend

I’m going to be traveling this weekend to play in/be part of Eric Will (@rakaur)’s wedding. So far, it’s all worked out ok. After some initial hiccups, I located a harp via Terri Langerak in St. Louis, and I’ll be playing on that (a Lyon & Healy Troubadour IV if memory serves). It’s been a long while since I’ve played a lever harp, but the pieces I’m playing fortunately are designed not to make it too difficult to get to the levers while still playing normally.

"Azailis"

Troubadour IV – Not the one I’m playing, just one I found online

No, what’s gonna be a trick is staying awake and alert through Saturday. My schedule is pretty well packed through Saturday, and this scarcely includes any time for sleep. My original plan was to stay in St. Louis through Monday (flights were cheaper then anyway), and explore the city. At this point I may simply be passed out for the day, though.

Still, will be good to travel to a new place, and finally see where Eric grew up. He moved out here a few years ago to join me at my then job at EBL Engineers, and I’ve never gone back to see his hometown. He assures me it’s beautiful, and from the pictures I’ve seen I can believe it.

There’s not really much else to say at this point. I’d go into detail about what all will make my days so crazy, but it’s not very much worth describing; it’d be intensely boring to actually read, even though it will probably be very stressful to do. I just wanted to keep myself to writing something once a day.

I told you these posts wouldn’t all be gems.

Testing and PHP

I’ve discovered that after a certain point, I become allergic to not having tests. It doesn’t manifest in hives or in anaphylactic shock, or any of the regular symptoms. It actually results in a brain freeze. There’s just so much code I can write before my brain refuses to go any further. In a way, maybe it’s more like a phobia. I’m simply afraid to write the next piece of code, knowing how tenuously linked to reality I am by that point, and the next code could be simply the beginning of the cascade of horrible ideas and messy disgusting code.

I wasn’t always this way. For quite a while I was completely happy with not documenting, not testing, and just writing line after line of incomprehensible code. Now, I can’t stand having poorly-documented code, and while I can still stomach writing a project for a while without tests, I hit a point eventually where I just can’t go any further without knowing what lies behind is thoroughly tested.

So it is with a project I’ve been working on that I hope will help me out at work: PGModel. I have been working on it for quite some time, though rather sporadically. It’s simply an ORM for PHP that is designed to be compatible all the way back to PHP 5.1 (I know it’s been end-of-lifed forever, but the project’s documentation goes into more detail on the “why”). And it does a few particular ORM-like things already, such as basic dataset loading and associations. These are all inspired, as the README states, by Sequel.

But while all of this is relatively simple at this point, it’s still already very complicated, and the more I write the more I worry that I’m missing critical bugs. So, I finally wrote myself a testing suite. It’s simple but I think it adheres to at least a subset of the Test Anything Protocol, and allows me to write a large number of tests fairly quickly and easily.

Unfortunately, there are some drawbacks. I could allow a function to be called à la call-user-func-array() to handle checking for exceptions, but it’s rather inelegant. As it stands, though, there’s no other way to check for exceptional cases, as closures didn’t become available until PHP 5.3. It’s also currently completely done from a memory of how testing works in Test::More from Perl, and as such is almost definitely far less feature-complete than a full testing suite.

There’s also already a unit testing suite written for PHP, but it’s sadly only compatible back to 5.2.7. So, I think, as long as I’m stupidly insistent on sticking with 5.1, I’ll keep using this. Who knows, maybe I’ll learn to love it, over time. But for now, I can finally scratch that itch and secure my code (more than it has been, at any rate) with proper testing.

A New Direction

I finally posted on this blog again for the first time in over a year last night. I’ve realized there are many reasons I don’t blog very much:

  1. I don’t have much free time.
  2. I never have anything to write about.
  3. My writings, when they do come, are too haphazard and unrelated.
  4. People will respond with unnecessarily negative responses.

These reasons are all crap. I shall detail why:

  1. I have time for things that I make time for. In general, I sleep about 6 hours per night, and with commute time my work takes a chunk of around 10 hours a day of my time, 5 days a week. That still leaves 76 hours every single week that’s unallocated. I frequently fill this time with stupid activities like watching television and reading TV Tropes. Not having enough time isn’t a very good excuse.
  2. There are a great many topics I feel very passionately about. My reason #4 gets into part of the reason I don’t talk about these very much, but there are others. Still, it’s just a trick I play on myself to worm my way out of actively showing feelings one way or the other on a topic. This is crap. I’ve realized this on an academic level, and even blogged about it at least once. Still, it’s something that I must remind myself of regularly: having an opinion is not, inherently, a bad thing. Expressing myself shouldn’t be as hard as I make it on myself.
  3. This is, actually, a problem. I find that, the more I want to write, the more I want to cover various topics. I am a harpist, I am a programmer and database administrator, I’d like to be a linguist and polyglot (but again, going back to #1, I do not allocate time properly), and in my wildest imaginations, I think I’m an ok writer. I’d like to do all of these things, but cross pollination is a serious problem. Programmers don’t want to read my angsty poetry. I’ll get more into this further down.
  4. There’s not really a polite way to put this so: “fuck ‘em.” I’ve long put up with people who override my speech and try to talk down to me. Either they think they know more than I do on anything/everything, or they quite simply don’t have respect for me, either because they have respect for no one or they feel like I’m an idiot. These things are fine and I can’t correct anyone’s behavior, but this is my personal space and I’m just not going to tolerate it anymore. At this point, I’m going to simply delete comments if I feel like those comments are detracting or distracting from what I’m trying to say; if you’re a friend or a family member of mine and I delete your comment? Well, tough cookies. Try to be a more positive person.

I think the only problem that isn’t simply me internalizing a level of criticism that is neither present nor valid is the problem of the fractured nature of my writings here. I mentioned in my last blog that I’m going to attempt to write my own blogging software from scratch. There are reasons I haven’t finished it already, but most go right back to the “improperly allocated time” space. But, in a nutshell: I want to maintain separate “blogs” for my various passions. This way, people could subscribe to only what they actually want to read about.

I have some friends who are interested in languages. I have some who are interested in programming. I have some who are interested in writing. Still, if they have to spend even half a second wondering if something I’ve written will appeal to them when reading over an RSS output of my blog, then they’ll probably just skip mine entirely.

This isn’t to say I need a huge fandom. I’m not running ads on this blog so it makes no difference to me monetarily; I simply would like for people to be able to hear my opinions when they want, without them feeling like I’m shouting in their ears about topics on which they could care less only if they could somehow care a negative amount. So, I plan to split it up, but that’ll take some time, and I am tired of waiting on myself to do any one of 15 things before I start doing anything at all.

So, I’m going to try to force myself to spend at least 30 minutes, preferably an hour, on any given day, writing in this blog. I will probably write many stupid and inane things, and while I find my footing and get my split blogs set up, there will probably be a lot of excess noise, depending on the reason you personally originally stumbled on this blog. I hope anyone who’s actually reading this will bear with me while I adjust.

In the mean time, perhaps you’d like to read what I think are the two best posts on the site? They’re both “creative writing” posts, so you can skip it if you’re only here for the tech stuff: Running and The Advent of Autumn.

My First #YAPC

This past week I finally attended my first YAPC. While previously I’d attended the excellent Surge conference hosted by OmniTI as a commuter, and the brand-spanking-new DCBPW by the DC and Baltimore Perl Mongers, this was my first full-immersion conference with flying out of town and everything, and it was quite an experience.

My work sponsored myself and two coworkers to attend the three-day conference. They were going to send us to the two-day workshops beforehand but unfortunately they sold out before the long process of travel paperwork completed. Still, I think we got a very worthwhile event.

As with most conferences, there was a lot of value in simply being around other people who are passionate about Perl. If I’ve got one big regret about this past week, it’s that I didn’t spend more time talking to those people. It’s not for their lack of trying, however. Everyone I did meet was very friendly and willing to talk, and more than once we were told by conference organizers to simply introduce ourselves to others. I’m unfortunately far too quiet for my own good, even among such good company. While the Linode-sponsored beer garden certainly helped me feel more comfortable with expressing myself, I mostly wound up expressing myself through dance.

One of the big topics throughout the days, however, wasn’t even just about Perl programming, but Perl culture, and expanding that culture through diversification. Michael Schwern (@schwern) gave the keynote on Wednesday morning, and impressively dove straight into waters which have been churning and sinking many ships for a couple of years now: women and minorities in a culture dominated by white males: the “geek” culture. Still, he brought it up in a non-combative, humorous way that still got everyone talking, and I think that’s the whole point. As he said, he wasn’t going to solve the diversity problem in 50 minutes at the start of YAPC::NA, but it was quite awesome to see everyone get into the topic and discuss it throughout the conference with as much weight as how we were going to solve the next big computational problems in Perl.

Speaking of the next big problems… For me, my latest issues have been focused around web development, and I’m mentioning that almost purely so I can segue into my favorite scheduled talk of the conference: Glen Hinkle (@tempire)’s Introduction to Mojolicious. For a long while now, any time I’ve wanted to throw anything onto the web, I’ve reached straight for Sinatra, because it’s so fast to install, quick to write in, and so easy to deploy to Heroku. Now, I’m feeling like the rewrite I started of my own blog may be scrapped and redone in Mojo. So, while many talks captured my interests, nothing quite changed my whole attitude on a topic like the Mojo Intro.

Oh, yeah, and Damian Conway’s recorded talk on Regexp::Debugger? Ho-lee crap. Rocked my socks off.

So, in all, it was a great experience, and one I hope to repeat at future YAPCs. While I’m hoping to attend one abroad one day, for now I fear I will just have to stay local. If YAPC::NA proved anything to me, though, it’s that there’s a wealth of value even in that.

Return top