Why are rats visiting my free rat buffet?

I like tagging along with the pest control guys when they do the exterior rat treatments. Bugs I don’t find that interesting, but rat control really is. I’m increasingly not a fan of poison and much more a fan of taking away their food sources and entry points. It’s more effective AND better environmentally.

Today I was letting the pest guy into a locked garage and one of the building unit owners came out and we chatted. He showed me their neighbor who had rats get into his Porsche SUV and cause all sorts of damage to the engine. He showed me the rat poison boxes in the backyard, and the kennel for the feral cat from the city.

And then we looked at the guy’s curbside compost bin with the lid half off, and his trash bin, which was so overfilled it couldn’t close.

Rats like food. Do you know why they eat the poison we leave out? Because they think it’s food. If you leave ACTUAL food out, they will eat that instead, and then they will snack on the delicious plastic in your SUV engine for dessert.

I’m sure the feral cat will do wonders for the population of songbirds in the alley, though, congrats on that.

Crypto is garbage

Cryptocurrency is really good for:

  • Fraud
  • This unregulated pseudo-stock-market where one type of digital magic bean is worth five figures despite having no basis in reality

That’s it. If it had any real use or value as a currency, Paypal, Venmo, Zelle, CashApp, the entire ACH industry, and every other way we transfer money between people or businesses without using a credit card would be on the way out. The fact that there is no competitor to these products that a normal person can use proves that crypto is useless.

This morning, I walked into a bank and withdrew cash. I then walked down the street to another bank and deposited the cash. Then I sent that cash via Zelle to a vendor who is going to do a painting project for one of my clients. This was an incredibly stupid process (again, that crypto could have done for me if it worked like the advocates said).

At least the teller wished me a happy birthday after looking at my ID.

Food tour – New York City

Food tours are so great, we had to do another. We were in NYC last week for the kids’ spring break, and we did another tour from the company that did my Madrid tour – Devour Tour Greenwich Village.

It started off with some weirdness that was handled quite well by our guide. He was talking to us about the arch at Washington Square Park and a gentleman not in the tour started to listen. I imagine this happens all the time and the guide shot him down gently and quickly, noting that you had to pay for the tour in advance. As the guy left, I realized how weird he was. If you told me he had just stepped off the set of a vampire movie set in the 1800’s I would have simply nodded. He was carrying a fancy bible and a watch on a gold chain. He was very polite but I was glad he moved on quickly, his vibe was super creepy.

Anyway, on to the food. There is no shortage of sketchy people in any city.

I can’t believe I forgot to get a photo of the first item – a bacon egg and cheese on homemade bread from Court Street Grocers. Fluffy eggs, crisp bacon, bread with just a bit of chewy toughness – highly recommend.

Next stop, Brigadeiro Bakery for some brigadieros.

Brigadeiros on a plate from Brigadeiro Bakery

You know how I ate croquetas in Madrid? Think of these as the sweet version. The inside is something like a béchamel sauce except made with sweetened condensed milk. These were delicious and probably my favorite bite of the tour. We also had this delicious cheesy bread that I didn’t catch the name of and don’t see on their online menu. Our guide said this was something eaten by slaves who didn’t even have flour so it was gluten free. Yes, this framing is slightly problematic. They were delightful anyway.

Dense and delicious Brazilian cheesy bread

Next stop was Rafetto’s, where we met the 3rd generating Rafetto (The 4th generation had the day off), and tasted their pasta.

A small dish of ravioli in red sauce

Next stop, Manousheh for zataar flatbread.

A flat bread folded over with a green spice blend inside. Next to it is a cup of yogurt with oil and a spoon to add it to the bread.

We were told that the owner of the restaurant imported the oven from Lebanon as that’s the only way to properly cook the bread, and that Lebanese immigrants from states away make the trek here to get a taste of home. It was delicious, though I think the distribution of the spices was a little uneven, as Gremlin 1 nearly choked on hers, and I don’t think she has a particularly sensitive palate. She still finished it, so she must have liked it.

We then stopped at the Porto Rico Importing Company. If you do not like coffee or the smell of coffee then I recommend you give this one a miss. Otherwise, highly recommended. We had chocolate covered espresso beans and I got a latte (not included with the tour but a good addition).

Next was Rocco’s Pasticceria and Cafe for cannolis. They fill theirs by hand when you order so the cream isn’t just sitting there getting the crust soggy. You can taste the care they put in.

Three cannolis on a plate next to my wife’s phone

No NYC food tour could be complete without a slice or two, and Bleeker Street Pizza didn’t disappoint. The crust was crispier than I’m used to in NYC, which did make it easier to eat.

A bunch of slices of pizza topped with cheese, tomatoes, and herbs

And finally we ended at The Blind Tiger for grilled cheese and tomato soup. I was NOT hungry at this point but I ate it anyway because 1) you’re supposed to and 2) it was really good

A bowl of tomato soup on a plate. There is half a grilled cheese sandwich on the plate. In the background is a large can of Sip of Sunshine IPA

The Sip of Sunshine was extra but a lovely addition. I keep forgetting that while you can’t get this beer in DC, it’s all over NYC. One thing I learned about the bar – the name comes from Prohibition, where bars would advertise that you could come pay a fee to see the blind tiger and when you came in, they’d give you alcohol. I can’t imagine how this worked – maybe it was just enough plausible deniability that the cops just let it go?

Next time you travel, GO DO A FOOD TOUR. Especially if you’re alone. You get new friends, at least for a few hours, and you’ll get to see and learn stuff about wherever you’re visiting that you likely wouldn’t otherwise.

New camera day!

We were in New York City for spring break this past week and it just so happens our hotel was only a few blocks from B&H Photo, perhaps the greatest camera store on the planet

I’ve been shooting with a Nikon D300 for a while now – I still think of it as my new camera. I bought it as a “new dad” gift when my wife was pregnant with our first child. That child is now most of the way through her sophomore year of high school, so that shows you where my sense of the passage of time is.

I had always thought I’d always shoot Nikons. I bought my first in about 1998 when I was working at Ritz Camera. It was an N70 SLR, and I bought it because it fit my hands so much better than the comparable Canon. Since I worked in a camera store, I got to spend A LOT of time playing with the cameras, and it was a no-brainer. The Canon was a nice camera, it just felt too small.

Fast forward to today and I think Nikon really dropped the ball. I hate that I need an adapter to use my old lenses, but everyone is doing that. It really kills loyalty – if my old equipment is no longer compatible, I lose a lot of incentive to stay with one manufacturer. And I think the Canon EOS R6 and R6 Mark II slot in just between the Nikon Z7 and Z8. I don’t mean to be a snob (well, maybe a little) but the Z7 doesn’t feel like a pro camera to me. The Z8 does, but it’s significantly more expensive than the EOS R6. I just couldn’t justify it.

My only qualm is that I’ve been shooting almost everything for years with a Tamron 17-50 F2.8. Having a max aperture of 2.8 on the whole lens is amazing. But the Canon 24-70 2.8 was just too much money to justify today. I got the kit with a 24-105 F4 IS, which is a cool lens, just not as fast as I’m used to. Hopefully I don’t regret it.

Keep your eyes peeled for the first photos from the new camera. The battery is still charging and it’s killing me.

Crimes against good coding practice

I did software as a contractor for various federal agencies for years. It was a good gig for the most part – I got out when they wanted me to write less code and go to more meetings. I can assure you that I did NOT go into software because I wanted to go to meetings.

We were often forced to code in very strict and unfriendly conditions. I like to compare myself to the early Nintendo developers, who I believe had to use short variable names to save space, which seems utterly absurd now, but so do a lot of things.

Anyway, we had this custom web application framework that my then-boss had built. In many ways it was a glorious triumph of engineering. In many other ways it was a steaming pile of garbage. It had to run on an Oracle application server. It was written in PL/SQL. It worked well, but it was deeply flawed in ways I didn’t really understand then, but in hindsight I sometimes have nightmares.

One of the things it did really poorly was form submission. The web framework required a consistent url structure and was completely inflexible on this. For some reason we were not passing form values in POST – I didn’t understand the difference then, and probably no one else on the team did, either. None of us had gone to school for programming. In our application, there was this big procedure that had a giant conditional that took in parameters and then decided which procedure to call to build the intended web page:

if page == 1 then home() else if page == 2 then page2()

Something like that, except there were like 100 entries. The problem was that this procedure expected all parameters as url parameters. So if you wanted to record that Bob had made 10 widgets today (this is not what our website did but you get the idea) you had to write a url like:


Except that didn’t work with the show procedure. It had to be consistent – if you passed “employee” to show in this context, you had to pass it for every page in the website. The solution for this was to pass a bunch of pairs of parameters – a name and a value – so it was consistent. So now you had to write your url like:


There was this hacky bit of Javascript that would take a form and translate it into this format for submission. It was less than ideal. But it worked. And really, as a coding practice, I FEEL this. The guy who wrote the web framework got it to where it worked for him and then left it. We’ve all done that on code we use for ourselves. Yes, even you have done it, don’t lie. But this got annoying really fast: “Was employee varval2 or varval3”?

So what I did, and let me tell you I was smug AF about this – I wrote a show2 procedure that expected all the parameters as one JSON-formatted variable. Now, I wish I could recall whether or not I started POSTing the forms or if I still put it in the url. Let’s say I POSTed it because no one who can say I didn’t is ever going to read this. But now you had something like this:

{"page":2,"employee":"Bob", "widgets":10}

Much better. Not good, but better.

Blog to save the Internet

It’s kind of a garbage time to write a blog. LLMs are flooding the Internet with garbage content, and internet search has been useless for a few years now (though normies are just starting to notice). The combination of the two is devastating.

So what do we do? Well, I, for one, have resurrected not one but two blogs, and I am once again sharing mediocre but human-created content with the world.

Spam filter bypass

I just got a spam email that made it through Fastmail‘s pretty solid spam filter. Looking at the raw message, they set the From header to the email they were sending to (the “contact” email published on my work website). Fastmail noted a bunch of red flags indicating the email was probably spam, but because the from address was in my address book, they let the email through.

It was one of those “We h4x0r3d your computer and unless you send Bitcoin we will release videos of you masturbating” emails. I assume I’m not the only one who gets those from time to time. I’m not, right?

A modest proposal on crime

I think it is agreed by all parties that there are two very real and major issues facing Washington, DC at this time. These issues cause great distress to residents, and drastically reduce our quality of life and property values.

These issues, of course, are 1) crime, and 2) the people who put their dog poop bags in my trash can. Those bags never come out! The trash collectors don’t get them so they just stay there to stink and attract rats. Whoever could find out a fair, cheap and easy method of solving these terrible and quite equally detrimental problems, would deserve so well of the public, as to have their statue set up for a preserver of the city.

I shall now therefore humbly propose my own thoughts, which I hope will not be liable to the least objection.

We can correct these two issues with one glorious solution, and bring our fair city to new heights for all. First, we must collect these leavers of poop bags. Then, taking our cues from the 1987 classic film, Robocop, we use the finest modern technology and replace some or most of the offenders organic body parts and organs with metal, wires, and perhaps gears. And definitely guns. The Robocops will need guns. Then the new recruits of this Poop Bag Robocop Patrol, presented by Mayor Muriel Bowser (She has not been informed of the program but it’s only a matter of time before she throws the full weight of The Green Team behind it) will set out to prevent crime! They won’t be allowed SUVs or cell phones so they can’t fall into the laziness trap that plagues MPD. Instead, they will wander the streets unceasingly, sniffing out and eradicating crime any time, day or night.

And lest we think these metal crime-fighting heroes might become a burden to the city themselves, imagine this: how many criminals do you suppose the PBRP must publicly murder before the rest get the picture? I, again humbly, suggest it would be very few indeed. The number could be even lower, perhaps, if we ensure that these murders are put on TikTok, set to the choruses of some of the latest songs popular among the kids. And then the Robocops will slowly run out of batteries, becoming statues to remind us of our crime-ridden past. They can then be used as bike and scooter racks, or to post No Parking signs when people need moving vans or whatever.

And how might we pay for this? Corporate sponsorship. The Robocops will have plenty of space on their shiny carapaces which can be covered in ads! CVS currently sponsors our own Washington Spirit, and they would be a perfect partner for the PBRP. Since CVS is already the symbolic embodiment of crime in the city – I mean, the CVS in Columbia Heights CLOSED. I didn’t even realize that was a thing that could happen. But soon it will be able to reopen, more glorious and profitable for the corporate landlord than ever before, as our city basks in the glow of a new light!

I profess in the sincerity of my heart, that I have not the least personal interest in endeavoring to promote this necessary work, having no other motive than the public good of my city. Removing the poop bags from my trash can might seem in my personal interest, but one must look at the broader picture, where if my trash cans are not a constant buffet for rats, then perhaps these cursed creatures might be fully driven from our city!

With no apologies whatsoever to Jonathan Swift.

Madrid food tour

As I mentioned in the last post, food tours are a really cool way to learn about a city and a culture while ALSO eating too much. Most of them are active, though, so you have an excuse.

Our first stop was El Riojano for this little cake and a cup full of chocolate. You are supposed to dip the cake and then drink the rest of the chocolate. I could not bring myself to drink the chocolate as it seemed too early in the morning to be that rude.

a little cake and a teacup full of chocolate on a white plate that reads "El Riojano"

Our second stop was a complete failure in terms of food but interesting in terms of the city. This is the secret cookie shop. Unfortunately, the sign on the door reads “Hoy no hay dulces” (“Today there are no sweets”). This is a convent and the nuns make a bit of extra cash by making cookies. However, they are not always open, and we had unfortunate timing. Still, interesting stop. You are not allowed to SEE the nuns, which makes buying cookies a small challenge, but the nuns have it figured out. Or so our guide told us, as we didn’t get to witness it.

A brown door. There is a small white paper sign on the door and a portrait of Jesus above. A security camera looks down from the left.

Next was Los Ferreros, the oldest grocery store in Madrid. It’s been in operation since 1892. The current proprietor is the descendant of the original. We had some delicious cheeses on top of a sort of cracker. We had a moment of unpleasantness – one of the others on the tour decided that the proprietor was riding the coattails of his ancestors and the location and wasn’t really deserving of his continued operation. This was the most embarrassed by American tourists I was during this trip. Luckily the antagonist aggressively spoke no Spanish, the proprietor either didn’t speak English or didn’t listen, and our tour guide softened the challenge when she translated. I had been a little worried when we started the tour as the antagonist had two young boys, maybe 9 and 11? I was worried they would be disruptive but they not only were not disruptive, they were eager to try the food and chatted with the tour guide. It’s too bad their father didn’t take after them.

A small storefront with a sign above reading "Los Ferreros". The windows of the store are full

Spain doesn’t really do street food, and depsite our tour guide insisting that this was the ONE street food they do, I’m not convinced. We stopped at Cerveceria la Campana (C. de Botoneras, 6, Centro, 28012 Madrid, Spain) for a calamari sandwich. It has some aspects of street food – a fried thing in bread – but no one but us was eating on the street. The place was busy with people sitting down, and when we ate, it was clear why – it’s really difficult to eat an overstuffed sandwich when you don’t have a plate. The sandwich was just ok – it was hard to apply the garlic mayo BECAUSE I DIDN’T HAVE A PLATE and without it, I thought the sandwich was under-seasoned. Nevertheless, it’s tough to go wrong with fried seafood.

A closeup of a hand holding a sub roll overflowing with fried calamari

I will preface this by saying I HATE olives. Hate them. There are very few foods that I hate, and olives are probably the top of the list. But I bravely persevered through our olive tasting. We visited La Queseria de Anton Martin. First was the olive for people who don’t like olives. I didn’t like them. Then I tried another olive that’s supposed to be less olive-y than some, and I didn’t like that either. I stopped there – I gave an honest effort, and this didn’t change my mind about olives.

Next we had anchovies over potato chips. This was much better. Spanish anchovies aren’t the crispy salt-bombs you may be familiar with – it’s a larger piece of fish and prepared by pickling. It’s pretty mild. They served them over a pile of potato chips, kind of like a cheese-less nacho, and they were really nice.

We finished with a vermouth. I have always thought of vermouth as something you put near a glass of gin so you can call it a martini, but drinking it with an orange peel over ice is not unpleasant.

The counter at La Queseria, full of cheese and olive oil and many other products

Next stop – Moega empanadas (C. del León, 26, Centro, 28014 Madrid, Spain). These were not a traditional empanada as I’m used to, but they were quite good. The dough was more like a bread. Maybe that’s Spanish and I’m used to Latin American? No matter, because the chorizo and cheese was delightful.

A closeup of a hand holding an empanada filled with meat and cheese. Blurred in the background is a serving platter with more empanadas

We went to Taberna de la Elisa for croquetas and wine. I used the restroom here and ran into a problem that seems common in Spain – the bathroom lights are on timers, and the timer is set for a time much shorter than your average bathroom break. Two or three times on this trip I was in the restroom and the lights went out, leaving me in a strange place, pitch dark. I survived. The croquetas and wine were very nice, but I didn’t get a photo record.

Our final stop was Estela Hojaldre for dessert pastry. I didn’t catch what it was called, but it was about 1,000 layers of flaky pastry with a custard in the middle. It was, again, not something easy to eat without a table and a plate, but the flavor was excellent and I am a big fan of the texture. Soft custard with layers and layers of crunchy, flaky crust in between. I made a mess of my shirt but it was totally worth it.

I would absolutely do another food tour sponsored by Devour Tours. Our guide was great. She and the other guide had to pivot last minute because there was a group of maybe 12 split across the two tour guides – they switched it up so the large group could go togehter and all of us (me, two couples, and a family of four) shared a tour.

Again, I highly recommend a food tour when you’re in a strange city. You have instant friends. You learn about the local food and culture. And you’ll be well-fed. You can’t go wrong.