The Daily Parker

Politics, Weather, Photography, and the Dog

New Weather Now update

I've added a bunch of small but useful features to Weather Now:

  • Users can now set their preferred measurement system (metric, Imperial, default) and time/date formats.
  • On Nearby Weather and Nearby Places, users can double-click the map to re-center and load new info.
  • Moved the Weather Score column on lists to increase usability.
  • Tweaked the Weather Score formula.
  • Several other bug fixes and feature tweaks.

So if you set up a profile, which you can do simply by logging in with any Microsoft ID, you can customize the app in a bunch of ways. (There's no cost, but I'd appreciate it if you'd subscribe on Patreon.)

Have fun with it. I'm probably going to slow down on Weather Now updates for a bit as I change focus to replacing BlogEngine.NET.

In just a few hours, though, I'm going to a work conference in Nashville, Tenn., where I will have the opportunity to visit at least three breweries. Stay tuned!

Got Brews & Choos down to a science

Yesterday was the 5th anniversary of the Brews & Choos Project's high-water mark before the pandemic. On 7 March 2020, I went farther than I'd ever gone before in search of breweries to add to the list, visiting Penrose and Stockholm's in Geneva, then More and Lunar in Villa Park on the way back. A few days later the world stopped for a while. It would be almost three months before I visited another brewery.

Yesterday, I took a half-day of PTO, braved some crappy early-spring weather, and met up with my Brews & Choos buddy at a relatively new place in the Pilsen neighborhood of Chicago. We managed to visit five South Side breweries, and—here's the science part—consumed no more than 3 pints of beer over 5 hours. It was a marathon, not a sprint, after all.

In any event, I've got a lot of photos to go through and a lot of reviews to write, so look for them to come out over the next few days.

And hey, if you want to see more Brews & Choos reviews, contribute to The Daily Parker! Your $5 contribution keeps the site running for a day—or buys a tasing-size beer.

Another reason to contribute: I've started re-developing The Daily Parker's code from scratch. I changed direction slightly on an existing project to make it a blog on steroids, and I think it'll be super-cool when complete. So how about throwing in another $5 a month to support that, too?

Support The Daily Parker on Patreon

As threatened promised, I'm starting to beg for money to help support The Daily Parker and Weather Now. You can go to Patreon and sign up to help us, with special member benefits as you contribute more.

The Daily Parker costs about $5 a day to run (though I hope to reduce that significantly this fall), and Weather Now costs another $10. They're not entirely labors of love, as I have used Weather Now as a demo project to land new work. But after more than five years with the same full-time employer, those days might be behind me—even though the weather never stops.

So, hey, buy me a coffee. I'll put your name in lights!

Why The Daily Parker costs so much

A longtime Daily Parker reader asked this about yesterday's post:

"The Daily Parker costs $4.87 per day" -- I'm really hoping that's a misprint, because that's almost $150 a month, which is ten times what I pay for my web hosting package which comes with unlimited domains, a full email service (IMAP+SMTP over TLS), click-to-install WordPress and MySQL database creation, SSH access to the back-end Linux machine, and excellent customer support.

Also -- and I *really* hate to say this to a fellow IT professional -- your web site often seems rather slow. So much so that I'd built a mental image of it running on an old PC in a corner of your apartment, and I'd put the slow response times down to the latency of a hard disk spinning up from idle.

So, he's not wrong: The Daily Parker right now is slow and buggy. And expensive*. (Ironically, when it was literally running on a PC in the corner of my apartment prior to 2013, it ran like Jesse Owens.)

Sherman, set the Wayback Machine to October 2015, when I deployed the current version of this blog. From the blog's separation from braverman.org in 2005 until 2015, it ran on DasBlog, a .NET 1.1 blog engine that worked most of the time and had a few features I liked. I dragged it kicking and screaming up to .NET 2.0 and later .NET 4.0, and there it stayed.

After 10 years and dozens of tweaks, I decided to modernize by moving to BlogEngine.NET, which I also forked and modified. This engine runs on .NET 4.8, which I had to shoehorn into an Azure App Service when Cloud Services went away a couple of years ago. BlogEngine.NET had modest performance problems when it had a nice virtual machine all to itself, as Cloud Services weren't too different from on-premises hardware. But Azure App Services don't quite work the same way, such that many of the performance optimizations in the BlogEngine.NET code actually cause performance headaches in App Services. For example, at app start, the engine loads the entire blog history into memory, because in 2007, when the project began, memory was fast and disks were slow. (NB: The Daily Parker has over 9,700 posts spanning 27 years.) Also, the code runs entirely synchronously, so under load it spins up more and more threads until it just collapses from exhaustion.

So here we are: running a very old blog engine on a nearing-end-of-life version of .NET that everyone is tired of.

But, aha! There is a solution, which I've been kicking around for almost as long as I've had a blog, and which I finally have the skills and time to work on. I'll simply build my own. It'll be idiosyncratic, sure, but it'll be fast and it'll be cool.

Or maybe I'll go back to DasBlog, now that someone has rebuilt it in .NET Core.

Nah. I'm going to write my own. Target date: October 15th, ten years after I released this version.

* It's actually now around $3.34 per day after a Microsoft Azure pricing change on February 12th which just showed up in the cost management tool today. The costs break down as follows: App Service type B2, $2.49; storage (media and event log), 52¢; database (serverless type B), 33¢. So, around $100 per month.

Almost everywhere in the world

Late Tuesday night, Weather Now finished importing and indexing 15,430,045 places from around the world, ending with Mutirikwi Dam, Masvingo, Zimbabwe at 9:29 pm CST. (I need to re-import about 11,000 records for places that don't belong to any particular country, but that's low-priority.)

When I first built the Weather Now Gazetteer in July 2002, I only imported populated places, because database space was a lot more expensive then. So from 2002 until the v5 upgrade launched 3 years ago, the Gazetteer had about 7.5 million records and lived in a relational SQL database that migrated to the Cloud in 2013.

This time, I imported every scrap of geographic data I could find in the US, which added 8 million more. And starting later this year, I'll automate updates, particularly from sources that change frequently like the National Geospatial-Intelligence Agency and the Federal Aviation Administration. I may import other databases later on, but for now, I think we're good.

Pricing for Cosmos DB works differently than it used to for SQL Server. Weather Now v4 (2013-2022) used an Azure SQL DB size that cost $10 per month. That gave me up to 10 GB of relational storage for everything, which is why all the weather data moved to really inexpensive flat storage (Azure Tables) that cost about 4.5c per GB per month. When Weather Now lived on-premises through 2013, the Gazetteer and weather data took up about 50 GB (25 GB for the Gazetteer and 25 GB for the first 11 years of weather data), but it cost nothing except electricity—$100 a month of electricity, in fact.

With Cosmos DB, I pay for database transactions, called Request Units, plus a small fee of 25c per GB per month for storage. It gets a little complicated, but basically, the biggest expense for the database is the import, which cost about $75. Going forward, the biggest database expense will be the search service, which costs $2.42 per day. Storing 20 years of weather data costs $1.65 per day. Of course, the application service hosting Weather Now runs $3.60 a day, so it does all add up.

Because the daily cost summary takes a full UTC day to update, I don't have the new run rate for the application yet. When that comes out tonight, I may have to look into ways to defray the cost of the app, whether by voluntary donations or *gulp* advertising.

Incidentally, The Daily Parker costs $4.87 per day ($3.60 for the app service, 79c for storage, and 48c for the database. Now that Weather Now is pretty much where I want it, my next project will be to write a new blog engine and port this app to something that will cost about half that. So be on the lookout for a tip jar on this app as well.

Wednesday afternoon notes

I'm just noting a few things and moving on with my day:

I'm planning to wrap up a new release of Weather Now this evening, too. I'll post snow photos when I do.

Statistics: 2024

Despite getting back to a relative normal in 2023, 2024 seemed to revert back to how things went in 2020—just without the pandemic. Statistically, though, things remained steady, for the most part:

  • I posted 480 times on The Daily Parker, 20 fewer than in 2023 and 17 below the long-term median. January and July had the most posts (48) and April and December the fewest (34). The mean of 40.0 was slightly lower than the long-term mean (41.34), with a standard deviation of 5.12, reflecting a mixed posting history this year.
  • Flights went up slightly, to 17 segments and 25,399 flight miles (up from 13 and 20,541), the most of either since 2018:
  • I visited 3 countries (Germany, the UK, and France) and 5 US states (Washington, North Carolina, Arizona, California, Texas). Total time traveling: 189 hours (up from 156).
  • Cassie got 369 hours of walks (down from 372) and at least that many hours of couch time.
  • Fitness numbers for 2024: 4,776,451 steps and 4,006 km (average: 13,050 per day), up from 4.62m steps and 3,948 km in 2023. Plus, I hit my step goal 343 times (341 in 2023). I also did my second-longest walk ever on October 19th, 43.23 km.
  • Driving went way down. My car logged only 3,812 km (down from 5,009) on 54 L of gasoline (down from 87), averaging 1.4 L/100 km (167 MPG). I last filled up April 8th, and I still have half a tank left. Can I make it a full year without refueling?
  • Total time at work: 1,807 hours at my real job (down from 1,905) and 43 hours on consulting and side projects, including 841 hours in the office (up from 640), plus 114 hours commuting (up from 91). For most of the summer we had 3-days-a-week office hours, but starting in November, that went back to 1 day a week.
  • The Apollo Chorus consumed 225 hours in 2024, with 138 hours rehearsing and performing (cf. 247 hours in 2023).

In all, fairly consistent with previous years, though I do expect a few minor perturbations in 2025: less time in the office, less time on Apollo, and more time walking Cassie.

Statistics: 2023

Last year continued the trend of getting back to normal after 2020, and with one nice exception came a lot closer to long-term bog standard normal than 2022.

  • I posted 500 times on The Daily Parker, 13 more than in 2022 and only 6 below the long-term median. January, May, and August had the most posts (45) and February, as usual, the least (37). The mean of 41.67 was actually slightly higher than the long-term mean (41.23), with a standard deviation of 2.54, which may be the lowest (i.e., most consistent posting schedule) since I started the blog in 1998.
  • Flights went up slightly, to 12 segments and 20,541 flight miles (up from 10 and 16,138), the most of either since 2018:
  • I visited 5 countries (the UK, Czechia, Austria, Slovakia, and Germany) and 5 US states (California, Wisconsin, Arizona, Indiana, and Michigan). Total time traveling: 156 hours (up from 107).
  • Cassie had more fun last year than 2022 as my team went from 2 to 3 days in-office (meaning more time at day camp). She got 372 hours of walks (up from 369) and at least that many hours of couch time.
  • Total steps for 2023: 4,619,407 steps and 3,948 km (average: 12,655 per day), up from 4.54m steps and 3,693 km in 2022. I hit my step goal 341 times (327 in 2022), which wasn't bad at all. I also did my longest walk ever on September 1st, 44.45 km.
  • Driving? I did several trips to Michigan in the summer, but still only drove 5,009 km (down from 5,925) on 87 L of gasoline (down from 144), averaging 1.7 L/100 km (136 MPG). That's the best fuel economy I've ever gotten with any car for a full year. I last filled up July 30th, and could conceivably go through January on what I've got left in the tank, but it's always best to keep your tank full in super-cold weather.
  • Total time at work: 1,905 hours at my real job (up from 1,894) and 73 hours on consulting and side projects, including 640 hours in the office (up from 580), but not including the 91 hours I spent commuting (down from 103). How did I add 60 hours in the office while cutting 12 hours off my commute, I hear you ask? Simple: I live closer to the Metra than I used to, and the 6-10 minutes a day adds up.
  • The Apollo Chorus consumed 247 hours in 2023, with 166 hours rehearsing and performing (cf. 220 hours just on the music in 2022). We had fewer performances and an easier fall season, which made a huge difference.
  • As for media consumption, I'll leave that to its own post tomorrow.

In all, not a bad year. I hope the trends continue for 2024, though I do expect a few more blog posts this autumn...

9,002

I just realized that my short complaint about the cold front that came through Saturday was The Daily Parker's 9,000th post since it re-launched as a modern, continuous blog on 13 November 2005. (I still maintain that it was a blog from its inception on 13 May 1998, but the term "blog" hadn't been coined yet.)

In the "modern" era, I've written a mean 495 and a median 505 posts per year, with a standard deviation of 66.3 (1.36, 1.4, and 0.27 per day, respectively).

For the 12 months ending November 30th, I wrote 500 posts at a mean of 1.37 per day and a median of 1.36 per day, standard deviation 0.06. At that rate I will hit 10,000 posts in almost exactly two years, on 10 December 2025.

Thanks for reading!

Confusing weather

Remember how it snowed six days ago? Today it didn't:

Unrelated, I'm monitoring some frustrating slowness with the Daily Parker. I'm not sure what's going on. Doubling the VM memory didn't seem to help. I've been thinking of writing my own blog engine again (as I have for about 15 years), so maybe this will give me the push I need.