Tuesday, October 22, 2019

A Faded Retelling of Al Monzo's Palace Inn

A demi-lifetime ago I worked at Music Machine, a collector's music store in Owings Mills, Maryland. Holy shit, now that I think of it this was thirty years ago. The Internet hadn't become a socially-acceptable thing to talk about or participate in, which meant the only way you could acquire and listen to music was through a local record store. Sure, you found yourself at Sam Goody every now and then when you were already at the mall. And you may have fallen for the trap that was An Die Musik. But for anyone who was both serious about their music and unashamed to rub elbows with fell crate diggers, the record store was your hang out.

No shit, all record stores really looked like Championship Vinyl.
As a teenager in a shitty high school band, I could not have had a more perfect place for my first real job (in that I was on the payroll). I got to unbox all of the latest Depeche Mode singles before they went on sale. We'd get cutouts from local college stations and listen to good music all day while we worked. We had regulars who arrived on the days of the weeks when they knew we'd have new music; it was always Tuesdays and sometimes Fridays. But the retail portion of the shop was not nearly as busy as the mail room, where I spent most of my time.

In the mail room, we received orders that were sent to us via U.S. Mail or the telephone. We had a computer system (pretty sure it was named ShipIt) that would assist with writing out labels or correcting zip codes for given addresses. But the labor involved was the best. You'd take an order from a customer, and then go digging through rows and rows and rows and rows of CDs, vinyl, and assorted memorabilia. There was an organizational system in use, I'm certain. But finding the item you needed was an art form.

I'd search for something interesting, like a Japanese version of a Pearl Jam b-side. I'd dig through the Pearl Jam section until I found what I was looking for, and then start packing it up. I remember the smell of that brown packing tape, and I remember never being good at using the tape gun. Fuck that tape gun, man.

But even the mail room wasn't the most exciting part of life as a record store employee. The big excitement was the weekend trips to record shows throughout the north east United States.

Record shows. Even typing that phrase seems outdated. Maybe I’m outdated. Maybe that doesn’t matter, because record shows still pop up along the East Coast anyway. Goldmine is still tracking them for you, if you were wondering.

A record show, for those born in the post-unironic-vinyl wasteland, is an intimate event held in a hotel ballrooms where collectors can acquire all sorts of music memorabilia, and music, too. But don’t show up looking to buy something you could stream on Spotify; unless you’re looking for a rarity, or an import bootleg, or a piece of signed merchandise you’ll be disappointed. This is not where you buy a Coldplay album.

For collectors, a record show is a great way to spend a Saturday morning: rubbing elbows with fellow fanatics, scouring each exhibitor’s table for some good vinyl to seal in a plastic bag, take home, and listen to once before you reseal the album and file it away. Maybe you’ll strike up a conversation with another patron about turntables, or whether diamond-tipped needles are worth the investment, or maybe you’ll end up trading some of your second and third copies of Beatles rarities for a signed Bowie long box.

For retailers, a record show is a two day long ordeal, one that begins Friday morning and ends late Saturday night, often early Sunday morning.

I remember working at the store on Friday, as the owner zipped around the warehouse collecting the items that he thought would attract the most attention and sell best in a show. Once he’d identified the merchandise, we started boxing everything up. So much cardboard. And those goddamned tape guns. Packing tape has a terrible smell that you only notice after spending a few hours packaging. Then the smell sticks with you forever. After all the boxes were taped shut, we’d load up a big Ford van with as much stuff as we could cram into the back. Then three of us would climb into the beast and hit the road. The owner drove, another guy rode up front, and I’d wedge myself into the single bench seat for a long ride.

On one weekend, we headed to Monroeville, a town east of Pittsburgh in western Pennsylvania. From the record shop, it was a four hour drive to Monroeville. We’d make it there in about three, thanks to the white knuckling of a madman at the wheel. The record show’s location: Al Monzo’s Palace Inn.

Keep in mind, this was thirty years ago. The memories of this place have blurred, and I can’t remember much of anything about it any more. But I remember one thing: the shower was made for pygmies. Like, the shower head was permanently fixed at shoulder height.

How awful to remember a place by such a strange detail. The Palace Inn has long since closed its doors.

You’d sleep for a few hours, but you were up early on Saturday to unload the van and set up your tables and pegboards. The show starts early, so you’d need to be up a few hours ahead of time to grab a bagel and a coffee before the crowd appeared. It was a blur.

It’s still a blur. I can’t remember anymore. Thirty years. Al Monzo’s Palace Inn, Home of the Pygmy Showers.

Thursday, September 19, 2019

Notes from the Field: Debug is for Debugging

I often hear system administrators say that logging is both the best and worst part of IT. They rely on the information provided by logged data, but dislike the overhead that typically comes as part of the package: you have to store the logs somewhere, and with enough systems and enough time, you end up with more logs than you know what to do with.

In many cases, sysadmins will approach this problem by tuning the logs. This is most often accomplished by changing the logging levels from their default (this is typically INFO) to something a little more discerning, like WARN. (If you're feeling a little lost at this point, read through this documentation on Log4j Custom Log Levels). The impact of this change is that the system generating the logs will restrict the events that it sends across the wire (in the case of a remote syslog solution) or to a local file (in the case of application logs). In both cases, you end up conserving resources, either network or disk. You'll still get diagnostic information that can help understand why a system is malfunctioning, just not at the detailed level provided by INFO.

But if you take a step in the other direction, you can inflict serious damage to your application or server's performance. How, you ask? By enabling DEBUG level logging.

Often, developers will set logging to debug when they're, you know, debugging. This is a pretty logical set up, and is almost exclusive to the world of non-production. Set to debug, test, break stuff, fix it, test, and turn off debug. It's cool, that's why debug facilities are built into application frameworks.

However, a single "log-level=debug" in a configuration file and throw your whole systems into chaos.

Take Apache Tomcat, for example. When you enable debug logging for a production application, well, just read this statement from Apache's documentation:
When enabling debug logging it is recommended that it is enabled for the narrowest possible scope as debug logging can generate large amounts of information.
No, you don't need all this information bruh.
What they don't tell you is exactly what that means. It means a single site with fewer than 100 users
can generate 4GB of log data in a matter of hours. The I/O alone required to write to a log file that garrulous can bring a server to its knees, and can slow down Apache's ability to serve even static pages. And since many applications, especially those from the open-source community built to run on Windows, log to text files, you can be sure that if you're accustomed to using notepad to review log files, you're going to have a bad time with a 4GB .txt file with constant I/O.

(Incidentally, if you need a way to pull data out of a large file like that, PowerShell is your answer. You can open up a PS shell and do a get-content -file c:\temp\bigasslogfile.txt -tail 1000 | out-file -path c:\temp\smallasslogfile.txt and you're good to go. You'll get a smaller file that notepad can handle with the 1000 most recent lines, which is typically enough to get a sense for what's going on.)

Anyway, this is a reminder that debugging is for debugging. Don't do it in production, and if you must, be very careful not to overwhelm your network or disk subsystem with excessive logging.