white privilege and pussy pasta
Monday, November 4 2019
At work somehow I've become something of the in-house Ruby on Rails expert, even though I've never written so much as a line of code in Ruby. But, just from the work I've done there, I have a little experience changing the configuration of Ruby apps, and I'm also well-versed in Linux, the operating system of the servers where Ruby is typically run. (It's a normal skill to have in web development, but I find myself in a mostly-Microsoft shop.) My only experiences with Ruby have mostly been frustrating. The language itself might be elegant for all I know, but the Rails framework has lots of infuriating things about it. Part of the problem is the maddening Rails-only jargon. There's a concept, for example, of "gems," that means something like "module." Every time I see "gem" in Rails documentation, my inclination to keep reading drops off precipitously, because I figure that if the Rails people are being elusive with the meaning of one term, they're probably doing the same with others. Then there's the fact that one has to enter a special command-line environment called irl to explore a Rails environment, one that isn't necessarily connected to the one actually being served at the time by the server you're on.
The most confusing thing about Rails (until I was pointed in the right direction by the guy who had built the website I was trying to wrap my brain around) was how it gets its initial environment values when the server starts. Unintuitively, at least on the Rails server I find myself dealing with, the values come from a configuration file in a directory called /etc/init. Note that there in nothing in that path name referring to Ruby or Rails, which breaks a de facto standard for all configuration files placed within /etc on a Linux system. So one cannot just browse an /etc directory, find these configurations, and know they have anything to do with Ruby on Rails. By contrast, the configuration for the nginx web server is typically placed in /etc/nginx/nginx.conf. But I've known about that idiosyncracy for a year. Today I was deviled by a second one: it turns out that Ruby on Rails .conf files placed in /etc/init are not actually configuration files. They're actually scripts. This means that all the .conf files in /etc/init are run. This is not how things are typically done with .conf files. Indeed, it's common to make backups of .conf files by changing the names of known working ones while preserving the .conf ending. If one does this (as I discovered this morning), Ruby runs those backup ".conf" scripts right along with the ones you intend to be providing your configuration. The result of all this was lots of superfluous Ruby processes running on the server. They used up so much CPU power that the server couldn't actually process incoming requests. So, fuck you, Ruby on Rails! Happily, it's a dying framework. Too bad I'm considered the in-house expert!
We've hired a fair number of people at my present workplace (at least seven) since I was hired, but we've only lost two. One of those people left on bad terms, and the policy for people leaving on good terms is for us to all go out to lunch at Savona's in Red Hook to give the departing a proper sendoff. Today would be the second such sendoff since I was hired fourteen months ago, this time for "Morning Dave," the only guy typically in the office when I arrive (which is usually between 7:30am and 8:10am). Dave might be our oldest employee, and his plan is to simply retire. He and his wife operate an AirBnB out of their house, and Dave still plans to be available to work hourly. I sat next to Dave at Savona, and he and I talked mostly about my real estate empire, which will be the core of any future retirement plan I execute (assuming the Great Filter doesn't get us all before then). As for food, I was delighted to see that Savona's now offers the Impossible Burger, which they advertise as coming with a vegan bun. Knowing that demand for the Impossible Burger has greatly outstripped supply (particularly after Buger King started offering it), I asked the waiter if they really had it. He said they did, and even asked how I wanted it. Taken a little aback, I replied, "Medium, I guess." The bad news soon came from the kitchen that Savona's did not in fact have Impossible Burgers. That the waiter hadn't immediately known this suggests that not many people go to Savona's with the intention of having a vegan burger. In any case, I had a backup plan, the order that I'd expected to be giving in the first place: spaghetti with marinara sauce containing broccoli and mushrooms. By the time my meal emerged from the kitchen, it had transformed to little vulva-shaped noodle with a red sauce containing mushrooms and spinach. Evidently the pussy pasta was the only vegan pasta on hand (or else some joke was being played on me), and the kitchen had spinach but no broccoli. Come on, Savona's, broccoli is a much more Italian word than spinach! I wouldn't say the pasta was all that great, but at least they went out of their way to make sure it was vegan.
The company is now big enough to require two tables at Savona's, and I found myself sitting at the old guys' table. As always for lunches at Savona's, those who wanted beer could order it. So I ordered the Goose Island IPA, and only two other people at the old guys' table joined me: the head honcho and Marcus, the guy who used to be my boss (who, at only thirty, was a good twenty years younger than the next youngest person at the table).
This afternoon on the drive back home, I stopped at the Hudson Valley Mall, mostly to shop for a microwave-safe plastic dinner plate at Target. I quickly found what I wanted, a plate that felt and looked like a blue Frisbee. Target being Target, I soon found other things to buy: a bag of dog chews for $10, a high-end automotive window scraper (to replace the one I'd just broken in the door) for $11, and an extension cord featuring a cloth-covered wire that somehow spoke to me (only $6). I used the self-checkout, where an eagle-eyed employee was making sure nobody was getting anything for free. As an aging white man, I feel invisible to people on the lookout for crime. I'm not proud of my white privilege, but it's definitely there. But the eagle-eyed self-checkout monitor (a black woman), made sure to acknowledge me just like she did everyone else.
On the drive back out to US 209, I stopped at the Citgo near the Staples. It's been awhile since I'd been to a gas station so obviously run-down. The button you're supposed to push to begin fueling is totally worn through to an underlying rubber bump. And the user interface on the fuel dispensers was so confusing that I tried three different ones before I realized that I had to hit the "enter" button after entering my five-digit zip code. (Zip code is not a normal thing to be asked except at gas stations in very marginal places.) Indeed, I was so infuriated by the gas' refusal to flow at the first dispenser that I threw the nozzle down on the ground in disgust and just left it there. (That might've been an example of me taking advantage of my white privilege; if I'd done that while black I probably would've spent the night in jail.)
Me using the auto-checkout at Target today.
Lest anyone think they'll be getting away with free stuff by being their own cashier, this message keeps flashing on their live image.
For linking purposes this article's URL is:feedback
previous | next