Items by Tag
Items with tag "Software"
I just released v1.0.9531 which corrected the caching issue that prevented anonymous visitors from commenting.
I figured out why comments broke for anonymous users: caching is hard. I spent some time yesterday after work digging into the caching code and realized that I was an idiot. I also found where my bad decision about what to cache caused unrelated things to work, which they wouldn't have done had I done caching correctly. I'll fix that tonight.
Late afternoon links
AviationBlogsCassieChicagoElection 2028PersonalSecuritySoftwareTrumpUrban planningWinterWork
I haven't had a chance to work on the comments problem, because, you see, I have another job. I've also had a plumber and a carpet cleaner here today, traumatizing poor Cassie who couldn't show them her blanket because she got shoved into a different room. She's now on her bed in my office rather than on one of the couches downstairs. I expect she'll get over the soul-crushing exile she experienced for nearly an hour today.
I've just discovered comments aren't working for anonymous users. They appear to work, and the logs say they worked, but they're not saving to the comment index.
I just pushed a minor update to the Daily Parker's blog engine, the thing that you're looking at right now. I fixed a couple of performance bottlenecks, so I hope the experience is a bit faster. (You can always check out the release notes for a summary of what I've done.)
In my last post on how the Daily Parker blog engine works, I talked about the fundamental abstractions that I built it around. Today I'm going to talk about the code some more, but more concretely, by explaining how the application decides who can see or do what. I'm a little proud of this design, to be honest.
I just released a new production version of the Inner Drive Journal (the software the Daily Parker runs on) with 7 bug fixes, 9 new stories, and a technical task. Most of these Jira cases took me less than 15 minutes. Yesterday, though, I wound up spending 5 hours on a new system configuration management tool because (a) it's complex and (b) I changed my mind about the interface after I ran it a couple of times.
The first problem of developing a new software application is to determine what it does. The second problem is to decide the fundamental abstractions that will govern the system. If you don't figure this out early, you'll either write a hideous pile of rotting spaghetti that no one will want to maintain, or you'll do that and change careers entirely.
In Friday's explainer, I gave a 10,000-meter view of the application and its basic components. Today I'm going to show you the software's basic features; I'll go deeper on some of them in later posts.
In my last post about the Daily Parker's new blog engine, I explained why I built this and what it's for. This post will give you an overview of the app's basic structure; that is, the physical building blocks that make the blog happen.
How all this works: What actually is it?
BlogEngine.NETBlogsDasBlogHow this worksMicrosoft AzureSoftware
This is the first in a series of posts I've planned to explain what the Daily Parker blog engine actually is, how it works, and what's coming. I'll start with the most basic question: what the heck is a blog engine and why did I write one from scratch?
I'm David Braverman, this is my blog, and Cassie is my 7½-year-old mutt. I last updated this About... page in March 2021. Quite a lot has changed since then, most notably I wrote a whole new blog engine. (More on that in a moment.)
Yesterday got away a bit
BlogEngine.NETBlogsDogsEconomicsEducationGeneralHealthImmigrationPersonalPoliticsReligionRepublican PartySoftwareTrumpUS PoliticsWork
I feel a little chagrined today as I expect to release the new version of The Daily Parker this evening, and yesterday I failed to write even a cursory post. I blame meetings and a very long dentist appointment (I'm fine; still no cavities; but the new dentist patient intake took a while). I also didn't have any time to read these: Brian Beutler outlines a workable plan for getting rid of the Schutzstaffel Immigration and Customs Enforcement permanently. Yascha Mounk warns that the OAFPOTUS's threats...
(After Dave and Bob got so excited about yesterday's post, I just had to give them more of what they came for. You're welcome.) It turns out, several people use RSS to keep up with The Daily Parker. I hadn't planned to write an RSS feed component before launch, but as I don't want to cut them off, I've reprioritized the feature. Plus, I have a couple more things to do before I can cut over to the new production environment: Implement Real Simple Syndication (RSS); Fix a bug caused by the interaction...
As I type this, Azure DevOps is banging away at the new blog engine's dev-test pipeline so that I can confirm the last few bits of it are correctly configured. The production environment is up and working, except for icons and RECAPTCHA, which explains the rebuild. Google: your dashboards are really confusing. Creating the production environment took 57 minutes this morning, and creating the production release pipeline (which included setting all the Azure roles properly on things like the database and...
I had planned to develop the full-text search feature for the new blog engine before starting to deploy anything to production, but I hit a snag. Microsoft Azure only allows you to have one free search service per subscription. Since my dev/test subscription already uses one (for the Weather Now dev environment), I'll have to create a free search instance in my production environment. And because I don't want to deal with cross-subscription security and all that shiznit, that means I'll have to create...
The events in Venezuela earlier today are a bit more important than the soft launch of a beta blog engine's dev-test environment. Still, if you're curious what I've been working on for (checks Git log) more than five years, here is the Daily Parker's next iteration. A big caveat: It's still in development. I've gotten to the minimal feature set where I feel comfortable letting people play with it, but it still has a ways to go before I can move this blog off BlogEngine.NET. I still need to add search...
I've just pushed Weather Now release 5.0.9497, which has a few minor tweaks plus one really obvious one: I switched typefaces. For consistency with the new Daily Parker and the soon-to-be-refreshed Inner Drive Technology corporate site, I decided to switch to the IBM Plex Sans typeface. The app had used Łukasz Dziedzic's Lato typeface, which I like a lot. I think Plex has a cleaner design, no more modern than Lato but just more to my taste. Check out the Weather Now refresh, and let me know what you...
Why I don't send you begging emails
BlogsChicagoEconomicsGeneralPersonalPoliticsRepublican PartySoftwareTaxationUS PoliticsWeatherWork
Because I've spent almost all my computer time on my real job and on getting the next version of The Daily Parker ready for its Beta launch, I haven't had many of these link roundups for the last couple of weeks. Another reason: all the end-of-year retrospectives, floofy non-news stories, and all those damned "send us money" emails. I promise you, I will never send you an email begging for money. Of course, if you enjoy either this blog or Weather Now, or find them vaguely useful, please consider...
I've basically finished everything I'd planned for Weather Now this year, and I've made significant progress on the new blog engine. For the former, I just need to make one more small bug fix, so I expect to release the new version tomorrow afternoon. For the latter, I expect to finish the comments feature set Thursday; then I'll publish the link to the dev/test site. Today, though, I have a few other things to do before making more progress on either. But don't change that dial!
The last cold morning of 2025
BlogEngine.NETBlogsCassieChicagoClimate changeEconomicsEntertainmentEuropeFoodGeneralGeographyHistoryHumorMilitary policyMoviesPersonalPoliticsRestaurantsSoftwareSportsTrumpUrban planningUS PoliticsWeatherWinterWorkWorld Politics
Cassie and I went out right at sunrise (7:14—two more weeks before the latest one of the winter on January 3rd) just as the temperature bottomed out at -10.5°C (13.1°F) after yesterday's cold front. Tomorrow will be above freezing, Sunday will be a bit below, and then Monday through the end of the year looks like it'll be above. And the forecast for Christmas Day is 11°C (52°F). Meanwhile, as I sip my second cup of tea, these stories made me want to go back to bed: As much as we want to ignore the...
Concert weekend
Democratic PartyElection 2024Election 2026EntertainmentGeneralGeographyHealthHistoryIllinoisLawMilitary policyMoviesMusicPersonalPoliticsSoftwareTaxationTrumpUrban planningUS PoliticsWork
Ah, December, when the easy cadence of weekly rehearsals becomes a frenzy of performances and, yes, more rehearsals. This is Messiah week, so I've already spent 8 hours of it in rehearsals or helping to set up for them. Tonight I've got the first of 4 Messiah performances over the next two weeks, plus yet another rehearsal, a church service, and a Christmas Eve service. Then, after Christmas, a bunch of us will be singing at the 50th anniversary party for a couple who have sung with us for longer than...
Yes, corruption; but don't forget the abject stupidity
Climate changeDemocratic PartyElection 2026PersonalSoftwareSummerTrumpUS PoliticsWinterWork
I'm listening to the corporate annual update, which is neither corrupt nor stupid, though only about 20% of it applies to my job. So I'll just spend the other 80% lining up these articles about corruption and stupidity for lunchtime reading: Whether because of "you can't make me" or just doing the opposite of whatever President Biden's administration did, the latest toddler behavior in the administration comes from Secretary of State Marco Rubio, who decided that Calibri is too DEI so State will go back...
Quiet and not-as-cold weekend ahead
BlogEngine.NETBlogsChicagoEntertainmentGeneralPersonalSoftwareWeatherWinterWork
A weak La Niña has already started affecting the weather in the United States, as this week's cold snap demonstrates. Weak La Niña events typically cause cooler, wetter winters in Chicago. Last night's temperature got down to -12.8°C (9°F), just a few degrees above the coldest December 5th on record. Normal for today would be 4.3°C (39.8°F); this godawful cold is 5°C below the normal low for the coldest day of the year, January 24th. Fortunately the forecast this weekend calls for more seasonable...
I'm a little delayed getting today's Morning Butters Report out for a couple of reasons. First, Butters and Cassie tag-teamed me starting just before 6:30 am. First Cassie poked me, then Butters poked me when Cassie kicked her off the dog bed in my room. Then Cassie came back when Butters used her engineering skills to ensure Cassie couldn't pull that crap again: Last night, though, Butters showed me how much she cares about me—or how much she wanted another Greenie, it's unclear: Meanwhile, all the...
No Kings reactions and other link clearance
ChicagoEconomicsElection 2026EntertainmentGeneralGeographyHistoryImmigrationJournalismLawPoliticsRepublican PartyRussiaSCOTUSSoftwareTravelTrumpUkraineUrban planningUS PoliticsWorkWorld Politics
Naturally, the press had a lot to say about the largest protest in my lifetime (I was born after the Earth Day 1970 demonstration): As many as 250,000 people turned out for the downtown Chicago event, which included a procession that carried a 23-meter replica of the US Constitution, and resulted in zero arrests or reports of violence. (The video of the procession leaving Grant Park is epic.) David Graham of The Atlantic explains why the protests got under the OAFPOTUS's skin: "Trump’s movement depends...
I spent about 6 hours today making dozens of performance and stability updates to the Inner Drive Extensible Architecture and the Inner Drive Gazetteer (which provides geographical services for Weather Now). Cassie spent about that much time outside, including Riding In The Car!, which she also loves. Tomorrow I should have some more interesting things to say about how I did about 40 separate refactorings in just a few hours. Hint: Chat GPT 5 and 5-mini. Sometimes they were laughably wrong, but about...
Relatively busy day, glad I have windows that open
AstronomyAutumnBidenBikingCassieChicagoDemocratic PartyEconomicsGeneralGeographyHealthLawPoliticsSCOTUSSoftwareTransport policyTravelTrumpUrban planningUS PoliticsWeatherWork
I just got back from a 30-minute walk with Cassie in 22°C early-autumn sun. We suffered. And now I'm back in my home office and she's back on the couch. She will spend the next several hours napping in a cool, breezy spot downstairs, and I will...work. I will also read a bit, which is a skill that I'm glad Cassie does not have after encountering the day's news: It's official! The June jobs report showed a decline in US employment for the first time since December 2020, making President Biden the only...
By the best count I have available, this is the 10,000th post on the Daily Parker, going back to the very first news item posted on my very first website in July 1997. I am not entirely sure this is really the 10,000th post, however, for a number of reasons. First, BlogEngine.NET doesn't actually count posts; I've had to use some arithmetic. Second, I removed a small number (3 or 4) of posts over the years for various reasons. Third, at some point I merged some of the posts from the separate Inner Drive...
Going outside to play
CassieChicagoClintonEconomicsElection 2016EntertainmentGeneralGeographyJournalismPoliticsRailroadsReligionSoftwareSummerTelevisionTravelTrumpUS PoliticsWeatherWorkWorld Politics
With my PTO cap continuing to force me into Friday afternoons off this summer (the horror!), and the sunny but (smoky 23°C) weather, Cassie and I will head to the Horner Park DFA just as soon as I release a new version of Weather Now in just a few minutes. When Cassie and I come back, I'll spend some time reading all these nuggets of existential dread: The Bureau of Labor Statistics revised last 3 months of US jobs data down to basically nil (which Krugman blames on tariffs), prompting the OAFPOTUS to...
Cheating at Snakes & Ladders
CorruptionCrimeElection 2026EntertainmentEnvironmentEuropeGeneralGeographyPoliticsRepublican PartyRussiaSecuritySoftwareTelevisionTransport policyTravelTrumpUkraineUrban planningUS PoliticsWorkWorld Politics
If you've ever played Snakes & Ladders (Chutes & Ladders in the US) with a small child, or really any game with a small child, you have probably cheated. Of course you have; don't deny it. Everyone knows letting the kid win is often the only way to get out of playing again. It turns out, Japan last week and the European Union this week both demonstrated mastery of that principle while negotiating "trade deals" with the world's largest toddler: [I]f the US-EU trade relationship was more or less OK last...
I'd open the windows, but it's soupy
ChicagoClimate changeGeographyMappingPoliticsRepublican PartyScienceSoftwareSummerTravelTrumpUS PoliticsWeather
Just look at that cold front, wouldn't you? And notice how the dewpoint dropped hardly at all: The same thing happened at the official Chicago station at O'Hare, where the temperature dropped from 31°C to 22°C in 15 minutes, while the dewpoint went up. At least the forecast predicts tomorrow will be lovely. In a related note, the OAFPOTUS's and the Republicans' 40% reduction in funding to the National Oceanic and Atmospheric Administration stopped the agency's Atlas 15 project, which will have a ripple...
A moment of downtime
AviationChicagoClimate changeEnvironmentGeneralGeographyImmigrationMappingPolicePoliticsRepublican PartyScienceSCOTUSSoftwareTransport policyTravelTrumpUrban planningUS PoliticsWeatherWork
I've gotten some progress on the feature update, and the build pipeline is running now, so I will take a moment to read all of these things: Radley Balko looks at the creation of what looks a lot like the OAFPOTUS's Waffen-Shutzstaffel and says we've lost the debate on police militarization: "In six months, the Trump administration made that debate irrelevant. It has taken two-and-a-half centuries of tradition, caution, and fear of standing armies and simply discarded it." Linda Greenhouse condemns the...
I have to finish a feature today, and had a ton of meetings yesterday, which is why I missed posting yesterday. If I finish the feature before it gets dark I may even read a bunch of stuff that has piled up in my browser. Until then...
Short lifespans have plagued tech more in the last 25 years than at any point in the past. I particularly hate when a bit of tech goes obsolete for no reason other than the manufacturer decided it doesn't want to support it anymore. I want to take the CEO by the lapels and remind them that they sold these products and they had better support them for a while. Belkin has become the latest company to exit a product line that I have used practically since it came out. They announced today that they will...
Halfway through the year already
AviationCassieChicagoDemocratic PartyElection 2026EntertainmentFoodSoftwareSummerTravelWeather
Somehow, tomorrow is July 1st. As far as I can tell, this is because today is June 30th, and yesterday was June 7th, and last week was sometime in 2018. And yet, I have more stuff to read at lunchtime from just the last day or so: Josh Marshall distinguishes between the energy and engagement of the Democratic Party (i.e., the actual voters) and the torpor of the Party's leadership: "[It's] not a nightmare. Certainly not for the party. It may be a nightmare for some incumbents." The Washington Post digs...
Everything else this past weekend
CorruptionGeneralImmigrationLawMilitary policyParkerPoliticsSCOTUSSoftwareTrumpUS PoliticsWork
Earlier I mentioned Cassie and I had a fun weekend with lots of outdoor time. Unfortunately, the weekend wasn't as much fun for others: Contrasting the 5-million-plus No Kings demonstrators across the country with the desultory turnout to the Army's 250th birthday parade that the OAFPOTUS co-opted, Norman Eisen concludes that the OAFPOTUS "is a lousy dictator." The OAFPOTUS, disappointed that he didn't get loads of goose-stepping troops carrying his photo like the DPRK army on parade, predictably threw...
Good, long walk plus ribs
BikingCaliforniaCassieChicagoDemocratic PartyEconomicsEntertainmentEuropeFoodGeneralGeographyImmigrationLawPersonalPoliticsSecuritySoftwareSummerTravelTrumpUrban planningUS PoliticsWeatherWork
Cassie and I took a 7 km walk from sleep-away camp to Ribfest yesterday, which added up to 2½ hours of walkies including the rest of the day. Then we got some relaxing couch time in the evening. We don't get that many gorgeous weekend days in Chicago—perhaps 30 per year—so we had to take advantage of it. Of course, it's Monday now, and all the things I ignored over the weekend still exist: Josh Marshall digs into the OAFPOTUS's attack on the state of California, noting that "all the federalizations [of...
Was it the endorsement?
AviationBusinessChicagoCorruptionDemocratic PartyEconomicsElection 2026GeneralHistoryPoliticsRepublican PartySoftwareTravelTrumpUS Politics
Cincinnati mayor Aftab Pureval (I) will face Republican Cory Bowman in the November election after the two won 83% and 13%, respectively, of yesterday's primary vote. Bowman is the half-brother of Vice President JD Vance, whose endorsement of Bowman appears to have led to Pureval's enormous vote total. When you're the least-popular vice president in history, no one wants your endorsement, dude. Also, today is the 80th anniversary of Nazi Germany's surrender to the Allies in Reims, France. What that has...
I thought I was done with last week's cold, but no, not entirely. So I'm spinning my wheels looking at code today. I want to be writing code today, however. My brain wants to be three meters west and three meters down from IDTWHQ (i.e., in my bed). I will note that Columbia Journalism professor Alexander Stille just came to the same realization Josh Marshall came to over nine years ago, that the OAFPOTUS resembles Benito Mussolini in all the ways that matter: The comparisons between Trump and...
Can't make March jokes anymore
ChicagoCorruptionCrimeGeneralGeographyHealthImmigrationLawMilitary policyPoliticsReligionRepublican PartySoftwareSpringTrumpUS PoliticsWeatherWorld Politics
We had a wild ride in March, with the temperature range here at Inner Drive Technology WHQ between 23.3° on the 14th and -5.4°C on the 2nd—not to mention 22.6°C on Friday and 2.3°C on Sunday. Actually, everyone in the US had a wild ride last month, for reasons outside the weather, and it looks like it will continue for a while: US Senator Cory Booker (D-NJ) spent the night haranguing the OAFPOTUS from the Senate floor. Jennifer Rubin is not tired of winning against the OAFPOTUS, who has lost every...
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...
Sunny and above freezing
ChicagoCorruptionCrimeDemocratic PartyGeneralIllinoisLawPoliticsRepublican PartySecuritySoftwareSpringTrumpWeatherWork
Before getting to the weather, I don't anticipate any quiet news days for the next couple of years, do you? Someone who owns at least 16 rooms and condos in the OAFPOTUS's Wabash Ave. building in downtown Chicago has sued, alleging that—wait for it—the organization running the building is bilking investors. I mean, how preposterous! Speaking of corruption flowing from the OAFPOTUS like toxic waste from a Union Carbide plant, Molly White mourns the end of SEC oversight of the crypto industry. Former US...
Got Brews & Choos down to a science
BeerBlogsChicagoEntertainmentGeneralPersonalRailroadsRestaurantsSoftwareSpringTravelWeatherWork
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...
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...
Weather Now v5.0.9194 just hit the hardware, with a new feature that allows you to browse the Gazetteer by finding all the places near a point. (Registration required.) I also added a couple of admin features that I will propagate to every other app I have in production, and made a few minor bug fixes. Only one minor hiccup: I forgot to add a spatial index to the Gazetteer, which caused searches around a point to take minutes instead of seconds in production. I added the index to the database...
Why The Daily Parker costs so much
BlogEngine.NETBlogsDasBlogGeneralHistoryPersonalSoftwareWindows AzureWork
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...
I meant to add this earlier today, but I had to do some work for my real job. Uploading 15.4 million place records into Weather Now revealed some unexpected statistics. As you might expect from a military website, the National Geospatial-Intelligence Agency got a lot of its data from military sources. And the military tends to map things they care about in great detail. So the top 10 countries by place counts turn out to be: China, 2.1 million United States, 1.1 million Russia, 857,000 Iran, 686,000...
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...
Last night I released Weather Now v5.0.9183, with a few bug fixes including a patch to the Gazetteer that recognizes the UK's four constituent parts (example). I've spent a few evenings the past week and a half fixing everything I could think of in the Gazetteer code, plus integrating with Azure Maps to allow me to correct time zones and parent places. Then, starting around 5pm yesterday, I re-imported the existing data from fresh sources, including the NCDC update Monday and the FAA update...
Punzun Ltd: 25 years (this iteration)
GeneralHistoryPersonalPoliticsReligionRepublican PartySoftwareUS PoliticsWork
Punzun Ltd. (an Illinois corporation doing business as Inner Drive Technology) turns 25 today! I set up the corporation before I moved back to Illinois from New York, so that I could take either a contract or full-time job when I got here. I can scarcely believe I've been back nearly 25 years. And 25 years ago—this was months before Bush v Gore, remember—I would not have believed that these would be the news stories I'd care about in 2025: The unelected winger specifically tasked with destroying our...
I've added a couple of new features to Weather Now, including a view of the best weather in the world. More usefully, I've added a release notes page. This weekend, I plan to to rebuild the Gazetteer, and import all of the USGS records—about 900,000 places. This will also mean rebuilding the search index in the Basic tier. The Free tier is great for testing, but it only lets me index 10,000 items at a time. Even if the Free tier could support 900,000 records, I don't want to hit "Rebuild" 90 times. I'll...
Wednesday afternoon notes
BeerBlogEngine.NETBlogsChicagoEntertainmentGeneralRailroadsSoftwareTravelWeatherWork
I'm just noting a few things and moving on with my day: Pilot Project Brewing has announced plans for a second brewery/taproom in Wrigleyville, just 500 meters from the Addison Red Line station. Google Maps turned 20 four days ago, and The Guardian has a history of how it began. Microsoft will be retiring the (11-year-old) database APIs that this build of The Daily Parker uses, so watch this space for news about a brand new Daily Parker experience this fall! I'm planning to wrap up a new release of...
Friday afternoon link roundup
ArchitectureChicagoClimate changeCrimeGeneralGeographyPoliticsRailroadsSecuritySoftwareTravelTrumpUK PoliticsUS PoliticsWeatherWinterWork
As we end the work-week, we can start our weekend with these little nuggets of horror and amusement: The UK Home Office has demanded that Apple create a back door into its cloud storage system to allow the UK government to snoop on everyone's content worldwide, which, if I correctly understand Apple's ADP architecture, is technically impossible. ProPublica has compiled a list of the people Elon Musk has enlisted to capture the government of the United States. Paul Krugman calls Musk's efforts an...
Slippery walk to the train
CassieChicagoCrimeGeneralGeographyGeospatial dataHistoryLawPoliticsRepublican PartySoftwareTrumpUS PoliticsWeatherWinter
Chicago got a few millimeters of ice last night, which made my 15-minute walk from my house to Cassie's day camp into a 24-minute walk. The poor girl could not understand my difficulty, but she also can't count all four of her paws, so we work with what we have. Fortunately the temperature has gotten above freezing and promises to stay there at least until late tonight. Elsewhere in the world: Josh Marshall proposes a taxonomy of the Administration's forces of destruction. Part of that destruction...
I've been working on a long-overdue update to Weather Now's gazetteer, the database of places that allows people to find their weather. The app uses mainly US government data for geographic names and locations, but also some international sources. This matters because the US government has a thing called "Geopolitical Entities and Codes (GEC)," which superseded Federal Information Processing Standard (FIPS) publication 10-4. Everyone else in the world use International Standards Organization publication...
The darkest decile of the year has passed
AstronomyBidenBusinessCaliforniaCanadaChicagoClimate changeEconomicsEntertainmentEnvironmentFoodGeneralGeographyPoliticsSecuritySoftwareUrban planningUS PoliticsWeatherWork
A friend pointed out that, as of this morning, we've passed the darkest 36-day period of the year: December 3rd to January 8th. On December 3rd at Inner Drive Technology World HQ, the sun rose at 7:02 and set at 16:20, with 9 hours 18 minutes of daylight. Today it rose at 7:18 and will set at 16:38, for 9 hours 20 minutes of daylight. By the end of January we'll have 10 hours of daylight and the sun will set after 5pm for the first time since November 3rd. It helps that we've had nothing but sun today....
I do wish he'd shut up
BidenChicagoGeneralHistoryIllinoisPoliticsReligionScienceSecuritySoftwareTrumpUS PoliticsWeatherWinterWork
Once again, in the aftermath of the OAFPOTUS's demented press conference yesterday, I need to remind everyone to ignore what he says and watch what he does. He's not as harmless as the guy at the end of the bar who everyone avoids talking to, but he's just as idiotic. Meanwhile, in the real world: Block Club Chicago interviewed Mayor Brandon Johnson in the wake of the City Council barely passing his 2025 budget by a vote of 27-23. Perry Bacon Jr. blames President Biden's overconfidence for the failures...
Friday afternoon link roundup
BooksEconomicsElection 2024GeneralGeographyPoliticsPsychologyRepublican PartySCOTUSSoftwareTechnologyTime zonesUS PoliticsWeatherWork
Somehow it's the 3rd day of 2025, and I still don't have my flying car. Or my reliable high-speed regional trains. Only a few of these stories help: James Carville admits he got the 2024 election wrong. Matt Ford thinks "John Roberts is imagining things." A new book by Anita Say Chan equates the tech-bro culture with 20th-century eugenics. Molly White examines Elon Musk's war on Wikipedia. The US Surgeon General has called for adding cancer warnings to alcohol labels. Brazil's experiment in abolishing...
Item the first: Weather Now got an update today. Under the hood, it got its annual .NET version refresh (to .NET 9), and some code-quality improvements. But I also added a fun new feature called "Weather Score." This gives a 0-to-100 point value to each weather report, showing at a glance where the best and worst weather is. A perfect day (by my definition) is 22°C with a 10°C dewpoint, light winds, mostly-clear skies, and no precipitation. The weather at O'Hare right now is not, however, perfect, and...
Twenty five years ago this evening, I rang in New Year 2000 in the ops center at ING Barings in midtown Manhattan...and nothing happened. Since then, people have largely bought into the myth that because nothing happened, the Y2K problem wasn't a real problem. I assure you, it was a real problem, thousands of programmers spent most of the late '90s fixing it. Remember this when the Unix timestamp problem hits us on 19 January 2038. If my Social Security check that month gets delayed because everyone...
I just had a hilarious meeting with a vendor. We (at my day job) use a JavaScript library for a small but useful feature in our application. We've used it for probably the app's entire 10 year lifespan and haven't given it a second thought. Recently, a security issue showed up on a routine scan, implicating the (obsolete) version we use. So we have to get the latest version, and company policy requires us to get a commercial license to protect our own IP. So we got in touch with the vendor, which took...
The Noodle Incident
CaliforniaChicagoCrimeDemocratic PartyElection 2024EntertainmentGeneralHealthIllinoisJapanJokesPersonalPoliticsRepublican PartySecuritySoftwareUS PoliticsWorkWorld Politics
Today is the 30th anniversary of the trope-namer first appearing in Calvin and Hobbes, making the comic strip self-referential at this point. (It's the ur-noodle incident.) Unfortunately, today's mood rather more reflects The Far Side's famous "Crisis Clinic" comic from the same era: Adam Gray (D) has defeated US Representative John Duarte (R) in California's 13 district, bringing the House of Representatives to its final tally of 210 Democrats and 215 Republicans. An assassin shot and killed...
First Monday in October 2024
Election 2024GeneralHistoryKamala HarrisPoliticsRepublican PartySCOTUSSecuritySoftwareUS PoliticsWork
The extreme-right-wing US Supreme Court begins a new term today, which we can all expect to continue the trends they have been on for the last 30 years. All we need is a razor-thin margin in one or two swing states on the 5th, and then, as George HW Bush said once, "Zip-a-dee-doo-dah! Now it's off to the races!" Meanwhile: A new book argues that the "originalism" practiced by many Republican judges, like Justices Alito and Thomas, has absolutely no basis in historical fact. But we knew that already....
C'était pas absolutement horrible...
DogsEntertainmentGeneralLanguagePersonalSoftwareTravelWeatherWork
I just finished a 75-minute open-level French test as part of a QA study that Duolingo invited me to participate in. What an eye-opener. And quelle épuisement! The test started well enough but got a lot harder as it went on, for two principal reasons. First, the order of sections went precisely in the order of my abilities: reading, writing, listening, speaking. Turns out I read French a lot better than I write it, write it better than I understand it, and speak it like a reject from a Pink Panther...
Heat wave continues
AviationCassieChicagoDogsFitnessGeneralLawSecuritySoftwareSummerTransport policyTravelWeatherWork
The forecast still predicts today will be the hottest day of the year. Last night at IDTWHQ the temperature got all the way down to 26.2°C right before sunrise. We have a heat advisory until 10pm, by which time the thunderstorms should have arrived. Good thing Cassie and I got a bit of extra time on our walk to day camp this morning. Elsewhere in the world: The Fifth Circuit has ruled that broad, geofenced searches violate the 4th Amendment, contradicting the Fourth Circuit, and setting up a likely...
Lunchtime round-up
AviationBaseballChicagoClimate changeDogsEntertainmentEnvironmentEuropeGeneralGeographyHistoryPoliticsRailroadsRussiaSoftwareSummerTransport policyTravelUS PoliticsWeatherWorld Politics
The hot, humid weather we've had for the past couple of weeks has finally broken. I'm in the Loop today, and spent a good 20 minutes outside reading, and would have stayed longer, except I got a little chilly. I dressed today more for the 24°C at home and less for the cooler, breezier air this close to the lake. Elsewhere in the world: I was waiting for Russia expert Julia Ioffe to weigh in on last week's hostage release. The Chicago White Sox failed to set the all-time record for most consecutive...
People doing it completely wrong
ChicagoElection 2024EntertainmentEuropeGeographyPersonalPoliticsSoftwareTelevisionTrumpUrban planningUS PoliticsWorkWorld Politics
If he were even a tiny bit better as a human being, I might have some empathy for the old man clearly suffering from some kind of dementia who spoke in Doral, Fla., yesterday. But he's not, so I don't. I mean...just read the highlights. In other news: Tom Friedman thinks this year's election could only have been dreamed up by the Devil himself. (Lucifer Morningstar could not be reached for comment.) Tom Nichols wants you to remember why NATO matters on its 75th birthday. If you're looking for a house to...
Finally get to breathe
ChicagoCrimeEconomicsElection 2020Election 2024GeneralIllinoisIsraelJournalismLabour PartyNew YorkPoliticsRepublican PartySoftwareTransport policyTravelTrumpUK PoliticsUS PoliticsWork
But only for a moment. I've spent most of today trying to fix things, or at least trying to figure out what problems need fixing. One of the problems has generated a comment thread on a vendor website, now at 44 comments, and I think after all that work I found the problem in an interaction between my code and Microsoft Azure Functions. If I'm right, the confirmation will come around 3pm. Naturally, I haven't had time to read any of these: Jamie Boule points out that the myth of the convicted-felon...
Another boring release
BidenBusinessChicagoCrimeEconomicsEducationElection 2024EntertainmentFoodGeneralGeographyPersonalPoliticsRacismReligionSoftwareTravelTrumpUrban planningUS PoliticsWork
Every other Tuesday we release software, so that's what I just did. It was so boring we even pushed the bits yesterday evening. In theory we always have a code-freeze the night before a release, but in fact we sometimes have just one more thing to do before we commit this last bit of code... And yet, the world outside keeps becoming less boring: Paul Krugman thinks President Biden should toot his own horn a bit more. Michelle Goldberg reminds us all that the XPOTUS meant "lock her up" literally: "A...
What a lovely day to end Spring
AstronomyBidenChicagoCrimeDemocratic PartyGeneralIsraelLawPoliticsRepublican PartySoftwareSpringTrumpUS PoliticsWeatherWork
Despite a high, thin broken cloud layer, it's 23°C with a light breeze and comfortable humidity at Inner Drive Technology World HQ. Cassie and I had a half-hour walk at a nice pace (we covered just over 3 km), and I've just finished my turkey sandwich. And yet, there's something else that has me feeling OK, if only for a little while... Perhaps it's this? Maybe this? How about this? Or maybe it's Alexandra Petri? In other news: President Biden just announced that Israel has proposed a three-phase peace...
Heads-down research and development today
AviationBeerEconomicsEntertainmentGeneralHistoryMusicPersonalPoliticsSoftwareTravelTrumpWeatherWork
I usually spend the first day or two of a sprint researching and testing out approaches before I start the real coding effort. Since one of my stories this sprint requires me to refactor a fairly important feature—an effort I think will take me all of next week—I decided to read up on something today and have wound up in a rabbit hole. Naturally, that means a few interesting stories have piled up: The Presidential Greatness Project released its annual list of, well, presidents, putting Lincoln at the...
Heading for another boring deployment
AviationBidenChicagoDevOpsEnvironmentGeneralHistoryPersonalPoliticsRepublican PartySoftwareSpringTravelTrumpUS PoliticsWork
Today my real job wraps up Sprint 109, an unexciting milestone that I hope has an unexciting deployment. I think in 109 sprints we've only had 3 or 4 exciting deployments, not counting the first production deployment, which always terrifies the dev team and always reminds them of what they left out of the Runbook. The staging pipelines have already started churning, and if they uncover anything, the Dev pipelines might also run, so I've lined up a collection of stories from the last 24 hours to keep me...
Hoping not to get rained on this afternoon
AbortionBusinessChicagoChinaClimate changeEntertainmentEnvironmentFoodGeneralGunsPoliticsRepublican PartySoftwareUrban planningUS PoliticsWeatherWorkWorld Politics
A whole knot of miserable weather is sneaking across the Mississippi River right now, on its way to Chicago. It looks like, maybe, just maybe, it'll get here after 6pm. So if I take the 4:32 instead of the 5:32, maybe I'll beat it home and not have a wet dog next to me on the couch later. To that end I'm punting most of these stories until this evening: US Representative and professional troll Marjorie Taylor Greene (R-GA) wants you to think she isn't serious, except when she is. I would say, when her...
Coding continues apace
AstronomyChicagoCrimeDogsElection 2020GeneralGeographyPoliticsSecuritySoftwareTravelTrumpUrban planningUS PoliticsWork
I'm almost done with the new feature I mentioned yesterday (day job, unfortunately, so I can't describe it further), so while the build is running, I'm queuing these up: Philip Bump analyzes the New York Supreme Court Justice Juan Merchan's dismissal of the XPOTUS's bogus immunity claim. Chicago mayor Brandon Johnson (D) told reporters he's done everything he promised to do when he took office a year ago, at which point the reporters no doubt collectively cocked their eyebrows. Molly White doesn't think...
Mentally exhausting day, high body battery?
BidenCassieChicagoClimate changeCOVID-19CrimeElection 2020FitnessGeneralGeographyHistoryLawPersonalPoliticsReligionRepublican PartyRussiaSoftwareSpringTechnologyTrumpUrban planningUS PoliticsWeatherWork
My Garmin watch thinks I've had a relaxing day, with an average stress level of 21 (out of 100). My four-week average is 32, so this counts as a low-stress day in the Garmin universe. At least, today was nothing like 13 March 2020, when the world ended. Hard to believe that was four years ago. So when I go to the polls on November 5th, and I ask myself, "Am I better off than 4 years ago?", I have a pretty easy answer. I spent most of today either in meetings or having an interesting (i.e., not boring)...
Reading list for this week
AbortionAviationDrug policyElection 2024EnvironmentGeneralGeographyHealthLawPoliticsPsychologySoftwareTransport policyTravelTrumpUK PoliticsUrban planningUS PoliticsWeather
As I'm trying to decide which books to take with me to Germany, my regular news sources have also given me a few things to put in my reading list: Jamelle Bouie points out that the XPOTUS "owns Dobbs and everything that comes with it." A group of app users have sued the company that owns Tinder and Hinge for predatory business practices. Tyler Austin Harper reviews Molly Roden Winter's memoir about polyamorous life, and concludes polyamory "is the result of a long-gestating obsession with authenticity...
Waiting for the build before walking two dogs
CaliforniaCassieChicagoClimate changeCrimeDogsElection 2020HealthHistoryImmigrationPersonalPoliticsRepublican PartySoftwareTravelTrumpUrban planningUS PoliticsWeatherWinterWork
Another sprint has ended. My hope for a boring release has hit two snags: first, it looks like one of the test artifacts in the production environment that our build pipeline depends on has disappeared (easily fixed); and second, my doctor's treatment for this icky bronchitis I've had the past two weeks works great at the (temporary) expense of normal cognition. (Probably the cough syrup.) Plus, Cassie and I have a houseguest: But like my head, the rest of the world keeps spinning: A 3-judge panel on...
The current work sprint ends tomorrow. Throughout, I've had several moments of "wow, I actually did that right three years ago" as I've extended or improved existing features for the next release. I've even added a couple of extra stories that didn't take me long to do. Meanwhile, I'm starting to get the sense of what it might be like when I'm 80, coughing so much that for the first time in years I'll actually miss rehearsal tonight. Which explains this post's headline: the cemetery is usually where the...
Consumer Reports released a paper last month detailing how many companies track the average Facebook user: Using a panel of 709 volunteers who shared archives of their Facebook data, Consumer Reports found that a total of 186,892 companies sent data about them to the social network. On average, each participant in the study had their data sent to Facebook by 2,230 companies. That number varied significantly, with some panelists’ data listing over 7,000 companies providing their data. The Markup helped...
Erev Christmas Eve evening roundup
AviationChicagoCrimeElection 2020Election 2024EntertainmentFitnessGeneralHistoryMoviesPersonalPoliticsRepublican PartySoftwareTravelTrumpUS PoliticsWork
As I wait for my rice to cook and my adobo to finish cooking, I'm plunging through an unusually large number of very small changes to a codebase recommended by one of my tools. And while waiting for the CI to run just now, I lined these up for tomorrow morning: Michael Tomasky calls former House Speaker Kevin McCarthy (R-CA), who has left the House and scampered back to California, "the most incompetent House Speaker of all time." (No argument from me.) Former GOP strategist, lawyer, and generally sane...
Nothing major in Wx-Now 5.0.8730: annual .NET version update (to .NET 8), minor bug fixes, and some internal changes to how the app logs information from the AspNetCore subsystem. It seems to be a little faster now, probably because it's ignoring 99% of the log messages that it used to write to .NET tables.
In other news...
ChicagoConservativesEducationElection 2024GeneralHistoryIllinoisIsraelJournalismPoliticsRacismRepublican PartySCOTUSSoftwareTrumpUK PoliticsUS PoliticsWeatherWorld Politics
Despite the XPOTUS publicly declaring himself a fascist (again), the world has other things going on: Josh Marshall plots out how House Speaker Mike Johnson (R-LA) knows he has to pass a budget that Democrats can stomach, but because he still has to placate the extreme right wing of his party, he's pretending he can pass something else. And the clown show continues. The US Supreme Court has published their new ethics rules, which look a lot like a subset of the rules the rest of the Federal courts have...
Not the long post I hope to write soon
BaseballBusinessChicagoEntertainmentGeneralGeographyHistoryIsraelLawLiteratureMilitary policyPoliticsRestaurantsSoftwareTerrorismTravelUrban planningWorld Politics
I'm still thinking about propaganda in the Gaza war, but I'm not done thinking yet. Or, at least, not at a stopping point where a Daily Parker post would make sense. That said, Julia Ioffe sent this in the introduction to her semi-weekly column; unfortunately I can't link to it: The absolutely poisonous discourse around this war, though, has taken all of that to a whole other level. The rage, the screaming, and the disinformation, ahistoricity, the anti-Semitism and Islamophobia, the propaganda—all of...
How is it Friday already?
AviationCrimeGeneralGeographyIsraelLawPoliticsRepublican PartySCOTUSSoftwareTaxationTravelUS PoliticsWorkWorld Politics
I spent way too much time chasing down an errant mock in my real job's unit test suite, but otherwise I've gotten a lot done today. Too much to read all these articles: Julia Ioffe interviews Ambassador Dennis Ross on the disappearing hopes for a two-state solution in Israel. Ruth Marcus wonders whether Associate Justice Clarence Thomas (R) committed tax fraud when he accepted a $267,000 motor home. Josh Marshall wonders WTF with House Speaker Mike Johnson's (R-LA) black "son?" Paul Krugman bemoans the...
Sure Happy It's Thursday
BeerChicagoCrimeEconomicsEntertainmentEuropeGeneralGeographyHistoryIsraelPoliticsRailroadsRepublican PartySoftwareTransport policyTravelUrban planningUS PoliticsWorkWorld Politics
I'm iterating on a UI feature that wasn't 100% defined, so I'm also iterating on the API that the feature needs. Sometimes software is like that: you discover that your first design didn't quite solve the problem, so you iterate. it's just that the iteration is a bit of a context shift, so I'm going to read for about 15 minutes to clear my head: Kevin Philips, whose 1969 book The Emerging Republican Majority laid out Richard Nixon's "southern strategy" and led to the GOP's subsequent slide into...
Friday after the cold front
AutumnBaseballChicagoChinaCrimeEconomicsEntertainmentGeneralPoliticsRestaurantsSoftwareTravelTrumpUkraineUS PoliticsWeatherWorkWorld Politics
A rainy cold front passed over Inner Drive Technology WHQ just after noon, taking us from 15°C down to just above 10°C in two hours. The sun has come back out but we won't get a lot warmer until next week. I've had a lot of coding today, and I have a rehearsal in about two hours, so this list of things to read will have to do: Mother Jones's Russ Choma thinks the XPOTUS doesn't really want to win his fraud trial. Robert Wright interviewed Brown University professor Lyle Goldstein, late of the US Naval...
In other news of the day...
CrimeEconomicsEntertainmentGeneralHistoryLawMilitary policyMoviesPersonalPoliticsReligionRepublican PartySCOTUSSoftwareTelevisionTrumpWorkWriting
It's only Wednesday? Sheesh... The Writers Guild of America got nearly everything they wanted from the Alliance of Motion Picture and Television Producers (i.e., the Astroturf organization set up by the big studios and streamers to negotiate with the Guilds), especially for young writers and for hit shows, but consumers should expect more bundling and higher monthly fees for shows in the future. Josh Marshall suspects that the two competing storylines about the XPOTUS (that he's about to return to...
Three hours later, I've got Weather Now's Netatmo code integrated with the Function App that controls all of the automated background functions of the application. I now have to move the adobo to phases two and three (browning, starting the slow cook), then take Cassie out. I might actually deploy this today. Except that I discovered that a decision I made about how the site would store weather at the start of the re-write in 2020 means the simplest thing that works requires me to change Netatmo's data...
Pigeons roosting, etc.
ChinaClimate changeCrimeFoodGeneralJournalismLawPolicePoliticsRussiaSoftwareTrumpUS PoliticsWeatherWorkWorld Politics
A few of them have come home or are en route: Cato Institute scholar Clark Nelly says the XPOTUS "is toast," as the deranged wannabe fascist (my words) won't be able to stop himself from lying to the Georgia jury on live TV. Speaking of crazy old people, author Michael Beckley backs away slowly from the historical implications of having two septuagenarian dictators aging along with their nuclear stockpiles loose in the world. The Marion County, Kan., prosecutor has filed a motion to have all the Marion...
Temperature 26, dewpoint 22
CassieChicagoClimate changeCrimeEconomicsEntertainmentGeneralGeographyGunsHistoryLawPoliticsRepublican PartySCOTUSSoftwareSummerTransport policyTravelTrumpUrban planningWeatherWork
I just got back from walking Cassie for about half an hour, and I'm a bit sticky. The dog days of summer in Chicago tend to have high dewpoints hanging out for weeks on end, making today pretty typical. Our sprint ends Tuesday and I still have 3 points left on the board, so I may not have time to give these more than a cursory read: DC Federal judge Tanya Chutkan slapped the XPOTUS with a gag order to protect the witnesses and evidence in one of his criminal trials. Let's see how well that works. The...
i just pushed a new build of Weather Now that corrects a problem no one else knew about in the way it managed time zones. The work took about 3 hours over several days this week, sneaking half an hour here and there between rehearsals, performances, and my day job. I also worked on some code to interface with my home weather station. I've gotten it to download and parse reports from my Netatmo devices, and to refresh (and securely store) the API access token. I figure it'll take about 3-5 more hours to...
Lunch links
BikingChicagoCrimeEntertainmentFoodLawPoliticsSoftwareTaxationTrumpUrban planningUS PoliticsWork
I love it when something passes all the integration tests locally, then on the CI build, and then I discover that the code works perfectly well but not as I intended it. So while I'm waiting for yet another CI build to run, I'm making note of these: Who's dumber than the XPOTUS? His lawyers. The city of Chicago has released plans to build a tunnel connecting the existing Bloomingdale Trail with the other side of I-90/94 and the Union Pacific tracks, but they don't expect it to open for about 3 years....
Stuff to read later
BidenCassieChicagoClimate changeEconomicsElection 2024EntertainmentFoodGeneralGeographyPersonalPoliticsRailroadsSoftwareSummerTaxationTransport policyTravelUS PoliticsWeatherWork
I'm still working on the feature I described in my last post. So some articles have stacked up for me to read: The US Senate has the second-highest average age in its 234-year history, with 34 members over 70. The House is the third-oldest, with 72 members over 70. Josh Marshall (and The Daily Parker) don't extend that worry to the presidency, however: we're just fine with four more years of President Biden being the oldest president ever. The Chicago Transit Authority has cut over the CTA Red and...
I finished the main part of the feature I've been fighting since last week, only to discover that a sub-feature needs refactoring as well. Basically, before implementing this feature, the user would recalculate their model every time they changed its parameters. Calculation usually takes 5-10 seconds for most models, but (a) for some models it takes up to a minutes and (b) the calculation engine uses a first-in-first-out queue when calculating. But the calculation engine caches on a most-recently-used...
Papagena lebe!
ApolloChicagoCrimeDogsEntertainmentGeographyLawMoviesMusicNew YorkPersonalPoliticsRepublican PartyScienceSoftwareTravelUS PoliticsWriting
I'm just over a week from performing with the Chicago Symphony Orchestra at Ravinia in Mozart's Die Zauberflöte, so as I try to finish a feature that turned out to be a lot bigger than I thought, I'm hearing opera choruses in my head. Between rehearsals and actual work, I might never get to read any of these items: Jesse Wegman describes how to tell a political prosecution from a real one, which would be great except the people doing the political ones don't read the Times. Meaghan O'Rourke points to...
This Twitter is no more. It has ceased to be. It has expired and gone to meet its maker. Bereft of life, he rests in peace. John Scalzi has my favorite take so far: Twitter was its own specific thing, whereas as “X” is meant to be a number of different things, of which microblogging will be only one part, and, one suspects, the part Musk will care the least about. He’s really about finding ways to have people give him their money, either through subscriptions or taking a cut of transactions. It’s a...
An entertainer, a criminal, and an architect died this week, and we should remember them all. The most notable person to die was singer Tony Bennet, 96: His peer Frank Sinatra called him the greatest popular singer in the world. His recordings – most of them made for Columbia Records, which signed him in 1950 – were characterized by ebullience, immense warmth, vocal clarity and emotional openness. A gifted and technically accomplished interpreter of the Great American Songbook, he may be best known for...
Run, you clever unit tests, and pass
COVID-19CrimeEconomicsElection 2024EntertainmentGeneralPoliticsRussiaSoftwareTelevisionTrumpUkraineUS PoliticsWorkWorld PoliticsWriting
The first day of a sprint is the best day to consolidate three interfaces with three others, touching every part of the application that uses data. So right now, I am watching most of my unit tests pass and hoping I will figure out why the ones that failed did so before I leave today. While the unit tests run, I have some stuff to keep me from getting too bored: The XPOTUS keeps confirming every theory about his behavior, this time that he only wants to run in 2024 to postpone the consequences of...
Shocking Supreme Court decisions just announced!
EconomicsEducationGeneralHistoryInternetLawPoliticsRepublican PartySCOTUSSoftwareWork
Ah, ha ha. I'm kidding. Absolutely no one on Earth found anything surprising in the two decisions the Court just announced, except perhaps that Gorsuch and not Alito delivered the First Amendment one. Both were 6-3 decisions with the Republicans on one side and the non-partisan justices on the other. Both removed protections for disadvantaged groups in favor of established groups. And both lend weight to the argument that the Court has gone so far to the right that they continue to cause instability in...
Free time resumes tomorrow
ApolloCassieChicagoEntertainmentEuropeGeneralGeographyLanguageMusicPersonalSoftwareTravelWork
During the weeks around our Spring Concert, like during the first couple of weeks of December, I have almost no free time. The Beethoven performance also took away an entire day. Yesterday I had hoped to finish a bit of code linking my home weather station to Weather Now, but alas, I studied German instead. Plus, with the aforementioned Spring Concerts on Friday and today, I felt that Cassie needed some couch time. (We both sit on the couch while I read or watch TV and she gets non-stop pats. It's good...
Beautiful morning in Chicago
BusinessChicagoChinaCrimeEconomicsElection 2022Election 2024GeneralHistoryInternetJournalismMusicNew YorkPersonalPoliticsRepublican PartyRussiaSecuritySoftwareSpringWeather
We finally have a real May-appropriate day in Chicago, with a breezy 26°C under clear skies (but 23°C closer to the Lake, where I live). Over to my right, my work computer—a 2017-era Lenovo laptop I desperately want to fling onto the railroad tracks—has had some struggles with the UI redesign I just completed, giving me a dose of frustration but also time to line up some lunchtime reading: Both Matt Ford and David Firestone goggle at how stupidly US Rep. George Santos (R-NY) ran his alleged grift...
Reading while the CI build churns
CrimeGeneralJournalismNew YorkPersonalPoliticsRailroadsRepublican PartySCOTUSSoftwareTransport policyTrumpUrban planningUS PoliticsWork
I'm chasing down a bug that caused what we in the biz call "unexpected results" and the end-users call "wrong." I've fixed it in both our API and our UI, but in order to test it, I need the API built in our dev/test environment. That takes about 18 minutes. Plenty of time to read all of this: Ruth Marcus wants you to really think about Jean Carroll's testimony in her defamation suit against the XPOTUS. Tom Nichols sees narcissism, not "misguided patriotism," as the root of the classified intelligence...
As professional narcissist Elon Musk threatened, on Thursday Twitter abruptly ended their verified "blue check" program. Suddenly, Twitter users had no way to know for sure whether tens of thousands of government agencies, celebrities, journalists, and other people whose jobs depend to some extent on their credibility, were who their Twitter accounts purported to be. It only took two days for someone to hoax the City of Chicago: Impostors posing as Chicago government officials, including Mayor Lori...
Asyncing feeling
AviationChicagoCrimeElection 2024GeneralHealthPoliticsRepublican PartySCOTUSSoftwareSpringTrumpUS PoliticsWeatherWork
I spent all day updating my real job's software to .NET 7, and to predominantly asynchronous operation throughout. Now I have four stubbornly failing unit tests that lead me to suspect I got something wrong in the async timing somewhere. It's four out of 507, so most of today's work went fine. Meanwhile, the following stories have backed up: The Economist wonders what our friends should think of the XPOTUS's dog and pony show. Alex Shephard worries that television and cable news just don't have the...
Lunchtime links
AviationChicagoCrimeEntertainmentGeneralGeographyGunsHistoryLawPoliticsRepublican PartySCOTUSSecuritySoftwareTransport policyTravelUrban planningUS PoliticsWork
Once again, I have too much to read: After Florida governor Ron DeSantis (R) tried to end Disney's control over the municipal area around Disneyworld, the outgoing board added a series of restrictive covenants completely neutering DeSantis' hand-picked replacements, including a rule-against-perpetuities clause tying the covenants to the last living descendant of King Charles III. Robert Wright observed ChatGPT expressing cognitive empathy. An anonymous source provided a German reporter with 5,000 pages...
Lebanon's incompetent government
GeneralGeographyPoliticsSoftwareTechnologyTime zonesWorkWorld Politics
Lebanon has one of the most chaotic political systems in the world. The previous government presided over a massive ammonium nitrate explosion they could have prevented had any one person in government taken responsibility for removing a derelict Russian freighter. Once again, the Lebanese government has displayed head-shaking incompetence, this time on what seems like a minor matter but could lead to more religious unrest as hot weather combines with people not eating or drinking water during the day....
Layout frustrations
ChinaEconomicsGeneralGeographyLawPoliticsRailroadsRussiaSoftwareTaxationTransport policyTravelUkraineUrban planningUS PoliticsWinterWorkWorld Politics
I'm arguing with the Blazorise framework right now because their documentation on how to make a layout work doesn't actually work. Because this requires repeated build/test cycles, I have almost no time to read all of this: The US Surface Transportation Board has approved a merger between the Canadian Pacific and Kansas City Southern railroads, which will almost certainly bollix up commuter rail traffic in Chicago's western suburbs. A Russian warplane downed a US drone over the Black Sea. George Will...
Following up on a few things
ChicagoDemocratic PartyEntertainmentGeneralHistoryIllinoisLawMilitary policyPoliticsRacismRepublican PartySoftwareUS PoliticsWorkWriting
Perhaps the first day of spring brings encourages some spring cleaning? Or at least, revisiting stories of the recent and more distant past: The Navy has revisited how it names ships, deciding that naming United States vessels after events or people from a failed rebellion doesn't quite work. As a consequence, the guided missile cruiser USS Chancellorsville (CG-62, named after a Confederate victory) will become the USS Robert Smalls, named after the former slave who stole the CSS Planter right from...
Big sprint release, code tidy imminent
AviationCaliforniaChicagoCrimeDemocratic PartyEconomicsGeneralPolicePoliticsRailroadsRepublican PartySecuritySoftwareTaxationTravelUS PoliticsWork
I released 13 stories to production this afternoon, all of them around the app's security and customer onboarding, so all of them things that the non-technical members of the team (read: upper management) can see and understand. That leaves me free to tidy up some of the bits we don't need anymore, which I also enjoy doing. While I'm running multiple rounds of unit and integration tests, I've got all of this to keep me company: US Senator Diane Feinstein (D-CA), who even people who love her wonder if...
Lunch links
AviationChicagoEntertainmentLondonPersonalSecuritySoftwareSportsTransport policyTravelUrban planningWork
My burn-up chart for the current sprint has a "completed" line that nicely intersects the sprint guideline, so I can take a moment this Monday morning to eat lunch and read some news stories: James Fallows has some insight into the near-miss in Austin, Texas, that came uncomfortably close to killing over 100 people. AVWeb has a comment as well. Bruce Schneier lays out how adversaries can attack AIs—by corrupting their training data, among other things. Alex Shepard argues that the English Premier League...
San Francisco photos
AviationDogsGeneralGeographyHistoryPersonalPhotographySan FranciscoSoftwareTravelWeatherWork
First, on the flight from Dallas to San Francisco, this handsome boi slept peacefully on the floor four rows ahead of me: Bane is a malamute mix, 11 years old, and here in the SFO baggage claim area, very tired. Monday morning, I walked over to the Ferry Terminal on my way to the Caltrain terminal at 4th and King. This guy posed long enough for me to compose and take a shot: I don't know his name, or even whether he's male. Sorry. Later, in Palo Alto, I stumbled upon this historic site: That's the...
The news doesn't pause
AviationBooksBusinessChicagoEconomicsEntertainmentGeneralHistoryJournalismPoliticsReligionSoftwareTaxationTravelTrumpUS PoliticsWork
Speaking of loathsome, misogynist creeps, former Bishop of Rome Joseph Ratzinger died this morning, as groundbreaking journalist Barbara Walters did yesterday. In other news showing that 2022 refuses to go quietly: The House Ways and Means Committee released the XPOTUS's tax returns for tax years 2015 through 2020, re-confirming his incompetence, malfeasance, and incompetence at malfeasance. One looks forward to the Justice Department's take on them. Pilot and journalist Jim Fallows digs into the...
Outside the vortex
AstronomyBusinessChinaCrimeDogsGeneralGeographyHistoryPoliticsPsychologySoftwareUkraineUS PoliticsWorkWorld Politics
The world continues to turn outside the Chicago icebox: Julia Ioffe sees an interesting power play between the US and China taking shape in Africa. Ed Zitron experiences unbridled Schadenfreude as three billionaires experience the Dunning-Krueger effect up close and personal. David Frum says we should thank Ukrainian president Volodymyr Zelensky for reminding us of our own history. 538 created an interactive map where you can see for yourself that moving time zone boundaries will probably make more...
Brace yourselves: winter is coming
AstronomyAviationBeerBusinessChicagoEntertainmentGeneralMoviesPersonalSecuritySoftwareTravelWeatherWhiskyWinterWork
We get one or two every year. The National Weather Service predicts that by Friday morning, Chicago will have heavy snowfall and gale-force winds, just what everyone wants two days before Christmas. By Saturday afternoon we'll have clear skies—and -15°C temperatures with 400 mm of snow on the ground. Whee! We get to share our misery with a sizeable portion of the country as the bomb cyclone develops over the next three days. At least, once its gone and we have a clear evening Saturday or Sunday, we can...
New York City has a huge online map of every tree they manage, and they just updated their UI: Near the Tennis House in Brooklyn’s Prospect Park grows a magnificent white oak that stands out for its impressive stature, with a trunk that’s nearly four feet wide. But the massive tree does more than leave visitors in awe. It also provides a slew of ecological benefits, absorbing some 25,000 tons of carbon dioxide and intercepting nearly 9,000 gallons of stormwater each year, according to city data. It also...
Winter is here
AviationChicagoEconomicsElection 2024GeneralGeographyLawPersonalPoliticsRailroadsSoftwareTravelTrumpUS PoliticsWeatherWinterWork
Meteorological winter begins in the Northern Hemisphere today. In Chicago right now we have sunny skies and a normal-for-December 2°C. And any day above freezing between December 1st and March 1st works for me. Meanwhile: Eric Levitz explains why four railroad unions might go on strike next week. Hint: greedy private equity investors. Adam Conover explains why so many major retail chains have gone bankrupt in the past few years. Hint: greedy private equity investors. The pilot who crashed his Mooney...
Photo number 1: Cassie, from above. (My office is in a loft over the master bedroom, where Cassie has a bed.) Photo number 2: can anyone give this 1½-meter (5'3") scratching post a good home? I'm keeping it for a friend who went back home to Spain "for 6 weeks" in August 2020. He will come back to Chicago eventually—for a visit. Photo number 3: a Tweet that made me laugh out loud. I know that the super-rich in previous eras also had more narcissism than good sense, but watching Musk destroy Twitter in...
Scary deployment today
CaliforniaChicagoCrimeDemocratic PartyEconomicsElection 2022Election 2024EntertainmentGeneralGeographyMusicPoliticsRepublican PartySoftwareTransport policyTravelTrumpUrban planningUS PoliticsWork
I'm just finishing up a very large push to our dev/test environment, with 38 commits (including 2 commits fixing unrelated bugs) going back to last Tuesday. I do not like large pushes like this, because they tend to be exciting. So, to mitigate that, I'm running all 546 unit tests locally before the CI service does the same. This happens when you change the basic architecture of an entire feature set. (And I just marked 6 tests with "Ignore: broken by story X, to be rewritten in story Y." Not the best...
The Federal Trade Commission, which has become the de-facto enforcer for Silicon Valley shenanigans, has decided the smell coming from Twitter HQ can no longer be ignored after their top privacy and security people have left: It marked the second time in two days that a federal official has expressed concern about the chaotic developments at the company, coming less than 24 hours after President Biden said Musk’s relationships with other countries deserved scrutiny. The agency said that it was “tracking...
Fifteen minutes of voting
ArchitectureAviationBeerCassieChicagoElection 2022Election 2024EntertainmentGeneralGeographyHistoryLawParkerPersonalPoliticsRepublican PartyRomeSoftwareSportsTravelTrumpUrban planningUS PoliticsWeatherWork
Even with Chicago's 1,642 judges on the ballot ("Shall NERDLY McSNOOD be retained as a circuit court judge in Cook County?"), I still got in and out of my polling place in about 15 minutes. It helped that the various bar associations only gave "not recommended" marks to two of them, which still left 1,640 little "yes" ovals to fill in. Meanwhile, in the rest of the world... Republican pollster Rick Wilson, one of the co-founders of the Lincoln Project, has a head-shaking Twitter thread warning everyone...
Elon Musk had a lot going for him when he started his first company: rich parents, being white in Apartheid South Africa, malignant narcissism, etc. Like other well-known billionaire charlatans, he has had his share of spectacular successes, and still decided to find his own little corner of the Peter Principle. So let it be with Twitter: Some might say Elon Musk, who last week became Twitter’s official new owner, has buyer’s remorse. But that implies he had actually wanted the thing before he bought...
Foggy Hallowe'en
BusinessChicagoCOVID-19Election 2022EntertainmentFoodPersonalPoliticsRepublican PartySoftwareUXWork
A week after moving, I'm averaging 30 minutes more sleep and my Body Battery score is back to normal levels after two weeks of waking up like a zombie. I might even have all the boxes unpacked by this time next year. Meanwhile, me shifting a couple tonnes of matter a few hundred meters did not affect the world's spin by any measurable amount: Max Boot reminds everyone that comparing right-wing and left-wing violence in the US is a false equivalence. Luiz Inácio Lula da Silva defeated...
Anthony's Song
AviationBusinessChicagoCrimeDemocratic PartyElection 2022GeneralIllinoisPersonalPoliticsRepublican PartySoftwareTravelTrumpUS PoliticsWork
I'm movin' out. A lovely young couple have offered to buy Inner Drive World Headquarters v5.0, and the rest of the place along with it. I've already gotten through the attorney-review period for IDTWHQ v6.0, so this means I'm now more likely than not to move house next month. Which means I have even less time to read stuff like this: Illinois Governor JB Pritzker (D) has withdrawn from the Daily Herald candidate forum after the Herald's publisher allowed a right-wing Republican group to use its mail...
God save our gracious King
BidenDemocratic PartyEconomicsElection 2022Election 2024GeneralGeographyHistoryPoliticsRepublican PartySecuritySoftwareTrumpUK PoliticsUS PoliticsWork
With the death of Queen Elizabeth II, the British National Anthem has changed back to "God Save the King" for the third time in 185 years. In other news: The Guardian explains Elizabeth's funeral and other events that will take place over the next 10 days. James Fallows takes a second look at President Biden's speech from last week, in the context of the predictable reaction cycle about anything he does. Dana Milbank doesn't worry the MAGA folks want a Mussolini, since some of them keep going on about...
Lunchtime links
BusinessClimate changeCrimeGeneralGeographyHistoryPersonalPoliticsSoftwareTrumpUS PoliticsWeatherWork
Happy Monday: The XPOTUS uses the same pattern of lies every time he gets caught committing a crime. Jennifer Rubin says this was his dumbest crime yet. Usability experts at the Nielsen/Norman Group lay out everything you hate about phone trees, and how companies could fix them. My generation should be your boss now, but of course, we aren't. Within 30 years, Chicago could experience 52°C heat indexes. I would now like to take a nap, but alas...
I've finally gotten back to working on the final series of place-data imports for Weather Now. One of the data sources comes as a 20,000-line Excel spreadsheet. Both because I wanted to learn how to read Excel files, and to make updating the Gazetteer transparent, I wrote the first draft of the import module using the DocumentFormat.OpenXml package from Microsoft. The recommended way of reading a cell using that package looks like this: private static string? CellText( WorkbookPart workbook...
Head (and kittens) exploding!
BusinessChicagoCrimeDrug policyEconomicsElection 2020EntertainmentEnvironmentGamesIllinoisPersonalPoliticsRussiaSecuritySoftwareTaxationTelevisionTrumpUS PoliticsWork
Leading off today's afternoon roundup, The Oatmeal (Matthew Inman) announced today that Netflix has a series in production based on his game Exploding Kittens. The premise: God and Satan come to Earth—in the bodies of cats. And freakin' Tom Ellis is one of the voices, because he's already played one of those parts. Meanwhile, in reality: A consumers group filed suit against Green Thumb Industries and three other Illinois-based cannabis companies under the Clayton Act, alleging collusion that has driven...
How did it take until a year into the pandemic for someone to write this song? Art, software, writing, anything creative. It cost that much because it took me fucking hours.
It's 5pm somewhere
AbortionChicagoCrimeEconomicsEntertainmentGeneralGeographyIllinoisMoviesPoliticsReligionRepublican PartySoftwareUS PoliticsWorld Politics
Actually, it's 5pm here. And I have a few stories queued up: Oklahoma has a new law making abortion a felony, because the 1950s were great for the white Christian men who wrote that law. Monika Bauerlein explains why authoritarians hate a free press. Not that we didn't already know. Jonathan Haidt explains "why the past 10 years of American life have been uniquely stupid." ("It's not just a phase.") Inflation in the US hit a 40-year high at 8.5% year over year, but Paul Krugman believes it will drop...
Via Molly White, a new company called Gripnr wants to monetize your D&D campaign, and it's as horrible as it sounds: Gripnr plans to generate 10,000 random D&D player characters (PCs), assign a “rarity” to certain aspects of each (such as ancestry and class), and mint them as non-fungible tokens, or NFTs. Each NFT will include character stats and a randomly-generated portrait of the PC designed in a process overseen by Gripnr’s lead artist Justin Kamerer. Additional NFTs will be minted to represent...
Somebody call lunch!
AstronomyBusinessEconomicsElection 2016GeneralGeographyHistoryImmigrationPoliticsRepublican PartySoftwareTime zonesTravelTrumpWork
I've gotten two solid nights of sleep in a row, and I've got a clean desk for the first time in weeks. I hope that this becomes the norm, at least until November, when I'll have a packed musical schedule for six weeks as the Apollo Chorus rehearses or performs about 30 times. But that's seven months off. That gives me plenty of time to listen to or read these: Time Zone Database coordinator Paul Eggert explains the TZDB, its history, and how it works. David Sedaris discusses how the US changed between...
The data transfer from Weather Now v3 to v5 continues in the background. Before running it, I did a simple SQL query to find out how many readings each station reported between September 2009 and March 2013. The results surprised me a bit: The v3 database recorded 162.4 million readings from 4,071 stations. Fully 75 of them only have one report, and digging in I can see that a lot of those don't have any data. Another 185 have fewer than 100, and a total of 573 have fewer than 10,000. At the other end...
Sunday night I finished moving all the Weather Now v4 data to v5. The v4 archives went back to March 2013, but the UI made that difficult to discover. I've also started moving v3 data, which would bring the archives back to September 2009. I think once I get that done then moving the v2 data (back to early 2003) will be as simple as connecting the 2009 import to the 2003 database. Then, someday, I'll import data from other sources, like NCEI (formerly NCDC) and the Met*, to really flesh out the...
I've just switched the DNS entries for wx-now.com over to the v5 App, and I've turned off the v4 App and worker role. It'll take some time to transfer over the 360 GB of archival data, and to upload the 9 million rows of Gazetteer data, however. I've set up a virtual machine in my Azure subscription specifically to do that. This has been quite a lift. Check out the About... page for the whole history of the application. And watch this space over the next few months for more information about how the app...
This weekend, I built the Production assets for Weather Now v5, which means that the production app exists. I haven't switched over the domain name yet, for reasons I will explain. But I've created the Production Deploy pipeline in Azure DevOps and it has pushed all of the bits up to the Production workloads. Everything works, but a couple of features don't work perfectly. Specifically, the Search feature will happily find everything in the database, but right now, the database only has about 31,000...
I mentioned yesterday that I purged a lot of utterly useless archival data from Weather Now. It sometimes takes a while for the Azure Portal to update its statistics, so I didn't know until this afternoon exactly how much I dumped: 325 GB. Version 5 already has a bi-monthly function to move archival data to cool storage after 14 days and purge it after 3 months. I'm going to extend that to purging year-old logs as well. It may only reduce my Azure bill by $20 a month, but hey, that's a couple of beers....
The Tech Forum goes on. Tomorrow, though, I don't need my work laptop, and so will bring my personal one, enabling me to post a little more. I've also thought about finally writing my own blog engine. Or, at least, forking an existing one (maybe even this one?) and going to town on it. During some downtime today I purged a lot of crap from my Microsoft Azure subscriptions, but I still have old applications (like this blog) running in old workloads. Tonight: the Fun Dinner. Oh, boy.
More about the insanity of crypto
CanadaCrimeEconomicsGeneralHistoryPoliticsSoftwareTechnologyWorkWorld Politics
A couple more resources about "web3" (cryptocurrencies, NFTs, DAOs, etc) crossed my inbox this week. Even before going through these stories and essays, the only way I can understand the persistence of the fantastic thinking that drives all this stuff is that the people most engaged with it turn out to be the same people who believe all kinds of other fantasies and wish-fulfillment stories. Case in point: the extreme right-wing protestors up in Canada have received almost all of their funding from...
Lazy Sunday
BikingCanadaCassieChicagoCOVID-19Election 2022IllinoisPersonalPoliticsRepublican PartySoftwareTravelUS PoliticsWeatherWinterWorkWorld Politics
Other than making a hearty beef stew, I have done almost nothing of value today. I mean, I did some administrative work, and some chorus work, and some condo board work. But I still haven't read a lick of the books I've got lined up, nor did I add the next feature to the Weather Now 5 app. I did read these, though: An Illinois state judge has enjoined the entire state from imposing mask mandates on schools, just as NBC reports that anti-vaxxer "influencers" are making bank off their anti-social...
Is the Covid test plan a stealth argument for single-payer? One can dream
CanadaCOVID-19GeneralHealthPoliticsSoftwareUK PoliticsUS PoliticsWorkWorld Politics
New Republic Natalie Shure points out the absolute, crashing idiocy of getting private health insurance companies involved in procuring free Covid testing, because their whole reason for being is to prevent the efficient procurement of health care: This rollout will be a disaster. And really, that should have been obvious: There’s a reason that the Covid-19 vaccines, monoclonal antibody treatments and antiviral drugs have been made free at the point of use, rather than routed through private insurers....
All of my apps run on servers that use UTC. As it's now 00:40 UTC, that means the code I just pushed to a dev server will start running on January 1st UTC, which is in fact why I waited until after 6pm to push the code up to DevOps. It looks like Chicago will get about 150 mm of snow tomorrow during the day, giving me plenty of time to continue my four-day weekend of coding. If I can get a couple of things out of my backlog and onto my dev environment before Sunday night, I may just release the link to...
I've finally resumed progress on a major update to Weather Now. I finished everything except the user interface way back in April, but between summer, Cassie, and everything else, I paused. At least, until last week, when something clicked in my head, and I started writing again. As my dad would say, I broke the code's back. It turns out, the APIs really work well, and I'm getting used to .NET Blazor, so I'm actually getting things done. The only downside applies to Cassie, who will probably only get 90...
Lunchtime links
AutumnCassieChicagoEconomicsEntertainmentFoodHistoryPoliticsSCOTUSSoftwareUK PoliticsWorkWorld Politics
We've just completed Sprint 50 at my day job, which included upgrading our codebase to .NET 6 and adding a much-desired feature to our administration tools. Plus, we wrote code to analyze 500,000 emails from a public dataset for stress testing one of our product's features. Not bad for a six-day sprint. The sun is out, and while I don't hear a lot of birds singing, I do see a lot of squirrels gathering walnuts from the tree across the street. It's also an unseasonably warm 7°C at Inner Drive Technology...
The busy season
ApolloArtBeerCassieChicagoChinaCOVID-19DogsEntertainmentGeneralMicrosoftMicrosoft AzurePoliticsProgrammingSoftwareTrumpUS PoliticsWork
I've spent today alternately upgrading my code base for my real job to .NET 6.0, and preparing for the Apollo Chorus performances of Händel's Messiah on December 11th and 12th. Cassie, for her part, enjoys when I work from home, even if we haven't spent a lot of time outside today because (a) I've had a lot to do and (b) it rained from 11am to just about now. So, as I wait for the .NET 6 update to build and deploy on our dev/test CI/CD instance (I think I set the new environments on our app services...
Slouching towards fascism
BeerChicagoDemocratic PartyElection 2022EntertainmentPoliticsRepublican PartySoftwareTaxationTravelUS PoliticsWork
The software release yesterday that I thought might be exciting turned out to be fairly boring, which was a relief. Today I'm looking through an ancient data set of emails sent to and from some white-collar criminals, which is annoying only because there are millions and I have to write some parsing tools for them. So while I'm decompressing the data set, I'll amuse myself with these articles, from least to most frightening: The Chicago Tribune lists six breweries they think you should take out-of-town...
Busy day, time to read the news
AutumnCaliforniaCassieChicagoClimate changeEntertainmentEnvironmentEuropeGeneralGeographyHistoryLawMoviesPolicePoliticsRailroadsSoftwareTravelUS PoliticsWeatherWorld Politics
Oh boy: Voters have defeated billionaire, populist Czech prime minister Andrej Babiš through the simple process of banding together to kick him out, proof that an electorate can hold the line against strongmen. A school administrator in Texas told teachers that "if they have a book about the Holocaust in their classroom, they should also offer students access to a book from an 'opposing' perspective." Because Texas. Oakland Police should stop shooting Black men having medical emergencies, one would...
Josh Marshall points out that the harm Facebook causes comes from its basic design, making a quick fix impossible: First, set aside all morality. Let’s say we have a 16 year old girl who’s been doing searches about average weights, whether boys care if a girl is overweight and maybe some diets. She’s also spent some time on a site called AmIFat.com. Now I set you this task. You’re on the other side of the Facebook screen and I want you to get her to click on as many things as possible and spend as much...
The first day of autumn has brought us lovely cool weather with even lovelier cool dewpoints. We expect similar weather through the weekend. I hope so; Friday I plan another marathon walk, and Saturday I'm throwing a small party. Meanwhile, we have a major deliverable tomorrow at my real job, and Cassie has a routine vet check-up this afternoon. But with this weather, I'm extra happy that I moved my office to the sunroom.
Via Bruce Schneier, researchers have developed software that can bamboozle facial-recognition software up to 60% of the time: The work suggests that it’s possible to generate such ‘master keys’ for more than 40% of the population using only 9 faces synthesized by the StyleGAN Generative Adversarial Network (GAN), via three leading face recognition systems. The paper is a collaboration between the Blavatnik School of Computer Science and the school of Electrical Engineering, both at Tel Aviv. StyleGAN is...
Welcome to August
BusinessChicagoCOVID-19EntertainmentGeographyLawPoliticsRailroadsRepublican PartyRestaurantsSoftwareTransport policyTravelUS PoliticsWeatherWork
While I look out my hermetically-sealed office window at some beautiful September weather in Chicago (another argument for working from home), I have a lot of news to digest: The infrastructure bill unveiled in the US Senate this morning would give $66 billion to Amtrak, which desperately needs the money. Josh Marshall argues that social-group identity drives resistance to vaccination. Brooke Harrington elaborates by pointing out that people who are conned usually can't admit to being conned. In...
The world still spins
AstronomyCassieChicagoClimate changeCOVID-19EntertainmentGeneralGunsHistoryIllinoisIsraelPoliticsSecuritySoftwareTaxationTrumpUS PoliticsWorkWorld Politics
As much fun as Cassie and I have had over the last few days, the news around the world didn't stop: After 448 days, Illinois will finally reopen fully on Friday. Security expert Tarah Wheeler, writing on Schneier.com, warns that our weapons systems have frightening security vulnerabilities. Fastly's content-delivery network (CDN) collapsed this morning, taking down The New York Times, The Guardian, Bloomberg News, and other major properties; no word yet on the cause, but we can guess. About 12,000...
I hope this helps someone else having this problem deploying a .NET function to Azure App Services. At my day job, we created a new Azure directory and subscription for my group's product. As the product has gotten closer to release, we realized we needed a more complete separation from the company's Azure assets and our group's. So far, so good. I had some annoyances updating our deployment pipelines, but nothing I hadn't expected. Then I tried to deploy our one function app. I followed the basic...
Maxis died in 2015 and made Electronic Arts king of SimCity. When I recently found a copy of SimCity 4, one of the only computer games I've ever played long enough to get good at, I thought I might waste an hour or two on a rainy Sunday playing it. Unfortunately, the CD requires a copy-protection feature in Windows Vista that Windows 7 dropped because researchers discovered a massive security flaw in it. The CD, therefore, will only work on Windows Vista or Windows XP, neither of which I have run...
May 5th has some history, and not just about a relatively minor battle in Mexico that most Mexicans don't even remember. For example, two hundred years ago today, Napoleon died and The Guardian was born. I never knew about that coincidence. TIL. And this morning, Facebook's Oversight Board upheld the social-media company's ban on the XPOTUS, at least for the next six months. Also TIL that my main programming language, C#, commands 7% of the Internet's mind-share, making it the 4th most-popular...
Lunchtime reading before heading outside
AviationChicagoCOVID-19CrimeEntertainmentEuropeGeneralGunsHistorySoftwareTechnologyTravelWork
Today is not only the 35th anniversary of the Chernobyl disaster, it's also the 84th anniversary of the Nazi bombing of Guernica. Happy days, happy days. In today's news, however: The European Union has announced it will allow fully-vaccinated travelers from the US to visit starting this summer. Chuck Geschke, who invented the portable document format (PDF) that we all know and love, died last week. The FAA revoked all of the certificates held by a 79-year-old flight instructor and aviation...
Sure Happy It's Thursday! Earth Day edition
AviationBeerChicagoClimate changeCrimeEntertainmentGeneralGeographyScienceSecuritySoftwareTransport policyTravelWeatherWorkWorld Politics
Happy 51st Earth Day! In honor of that, today's first story has nothing to do with Earth: The MOXIE experiment on NASA's Perseverance rover produced 5.4 grams of oxygen in an hour on Mars, not enough to sustain human life but a major milestone in our efforts to visit the planet. Back on earth, the Nature Conservancy has released a report predicting significant climate changes for Illinois, including a potential 5°C temperature rise by 2100. Microsoft has teamed up with the UK Meteorological Office (AKA...
Just a quick note: I'm halfway to the "20 years from now" I mentioned in this post from 13 April 2011. And as I'm engaged in two software projects right now—one for work, one for me—that have me re-thinking all of the application design skills I learned in the 10 years leading up to that 2011 post, I can only hope that I'm not walking down a technological cul-de-sac the way Data General did in 1978.
I've been coding most of the day because it has rained since 1pm. I'm getting very close to a series of posts on what I've been working on the past few months, so stay tuned.
The world keeps turning
AviationChicagoClimate changeEntertainmentGeneralMicrosoft AzureMoviesPersonalPoliticsRepublican PartyRussiaSecuritySoftwareTravelUS PoliticsWeatherWisconsinWorkWorld Politics
Even though my life for the past week has revolved around a happy, energetic ball of fur, the rest of the world has continued as if Cassie doesn't matter: US Senator Ron Johnson (R-WI) has taken the lead in spewing right-wing conspiracy bullshit in the Senate. Retired US Army Lt Colonel Alexander Vindman joins Garry Kasparov in an op-ed that says it's not about the individual politicians; Russia's future is about authoritarianism against democracy. Deep waters 150 meters under the surface of Lake...
The Daily WTF today takes us back to one of the worst software bugs in history, in terms of human lives ruined or lost: The ETCC incident was not the first, and sadly was not the last malfunction of the Therac-25 system. Between June 1985 and July 1987, there were six accidents involving the Therac-25, manufactured by Atomic Energy Canada Limited (AECL). Each was a severe radiation overdose, which resulted in serious injuries, maimings, and deaths. As the first incidents started to appear, no one was...
The Consumer Electronics Show went virtual this year, but it still had some interesting toys, like these: Air Safety Virus Monitors It's well-known that things like ventilation and humidity affect how well coronavirus spreads indoors. But how do you know how much ventilation is enough? Airthings sensors pair with a smartphone to monitor indoor air quality for temperature, humidity and number of people in the room (it makes a guess based on the amount of carbon dioxide present). If quality dips and virus...
Everyone who understands security predicted this
ConservativesPoliticsRepublican PartySecuritySoftwareUS PoliticsWork
Security is hard. Everyone who works in IT knows (or should know) this. We have well-documented security practices covering every part of software applications, from the user interface down to the hardware. Add in actual regulations like Europe's GDPR and California's privacy laws, you have a good blueprint for protecting user data. Of course, if you actively resist expertise and hate being told what to do by beanie-wearing nerds, you might find yourself reading on Gizmodo how a lone hacker exfiltrated...
Sony-made GPS chipsets failed all over the world this weekend when a GPS cheat-sheet of sorts expired: In general, the pattern of your route is correct, but it may be displaced to one side or the other. However, in many cases by the completion of the workout, it sorts itself out. In other words, it’s mostly a one-time issue. The issue has to do with the ephemeris data file, also called the EPO file (Extended Prediction Orbit) or Connected Predictive Ephemeris (CPE). Or simply the satellite pre-cache...
Today is slightly longer than yesterday
CanadaChicagoClimate changeCOVID-19EconomicsEntertainmentEuropeGeneralGeographyHistoryLawPoliticsRepublican PartySoftwareTravelTrumpUK PoliticsUS PoliticsWeatherWork
The December solstice happened about 8 hours ago, which means we'll have slightly more daylight today than we had yesterday. Today is also the 50th anniversary of Elvis Presley's meeting with Richard Nixon in the White House. More odd things of note: Former Justice Department Office of Legal Counsel attorney Erica Newland has some regrets. Congress finally passed a $900 million stimulus bill that has no real hope of stimulating anyone who's unemployed or about to lose his home. Nice work, Mitch. Canada...
Lunchtime reading
AviationBidenClimate changeElection 2020GeneralPoliticsSoftwareTravelTrumpUS PoliticsWeatherWorkWorld Politics
While I wait for my frozen pizza to cook, I've got these stories to keep me company: Jakob Nielsen has updated his classic article "10 usability heuristics for UI design." Steve Coll tries to figure out what the president gets out of contesting Biden's win. Paul Krugman looks at the way half the country ignores the science in ending the pandemic and despairs at how we can forestall climate change. Patrick Smith reminds us that we've gone more than 19 years since the last major US air carrier...
Also known as: read all error messages carefully. I've just spent about 90 minutes debugging an Azure DevOps pipeline after upgrading from .NET Core 3.1 to .NET 5 RC2. Everything compiled OK, all tests ran locally, but the Test step of my pipeline failed with this error message: ##[error]Unable to find D:\a\1\s\ProjectName.Tests\bin\Debug\net5.0\ref\ProjectName.Tests.deps.json. Make sure test project has a nuget reference of package "Microsoft.NET.Test.Sdk". The test step had this Test Files...
Tom Scott explains why Denmark's cell phones do not display the legal time in the country: In an earlier video, he explains the hell of writing time zone software. (I've already done this, and it works pretty well.)
Evening news roundup
BidenChicagoCOVID-19Election 2020EntertainmentGeneralGeographyMappingPersonalPoliticsRailroadsRepublican PartySoftwareTelevisionTransport policyTravelTrumpUS PoliticsWork
I dropped off my completed ballot this afternoon, so if Joe Biden turns out to be the devil made flesh, I can't change my vote. Tonight, the president and Joe Biden will have competing, concurrent town halls instead of debating each other, mainly because the president is an infant. The Daily Parker will not live-blog either one. Instead, I'll whip up a stir-fry and read something. In other news: Chris Christie continues the tradition of Republican politicians not understanding something until it happens...
Home stretch?
BooksChicagoCOVID-19Election 2020EntertainmentIllinoisPoliticsRepublican PartySecuritySoftwareTaxationTelevisionTravelTrumpUrban planningUS PoliticsWork
With 58 days until the election, the noise keeps increasing. Here's some of it: Jeffrey Goldberg reports from multiple sources that the president referred to wounded soldiers as "losers" and "suckers" for serving the country. The administration moved quickly to lie about this. Andrew Sullivan calls the president a "metastasizing cancer." Catherine Rampell suggests ways to talk to right-wingers about the president's failures. Nick Martin asks, "how did 'if I die, I die' become this country's mantra?"...
Fifth month in a row over 50
ChicagoCrimeElection 2020EntertainmentGeneralPoliticsRacismRepublican PartySecuritySoftwareTrumpUS PoliticsWork
This is my 55th post this month, and the fifth month in a row in which I've posted over 50 times. That brings my 12-month total to 581, the third record in a row and the fifth record this year. I guess Covid-19 has been good for something. Here's what I'm reading today: Authorities in Tampa have charged 17-year-old Graham Clark with masterminding last month's massive Twitter hack. The Atlantic's David Graham says the president is trying to destroy the election's legitimacy. George Will points to the...
Even as Garmin picks up the pieces from what they now admit was a massive ransomware attack, bulk email provider SendGrid has gone down spectacularly. I use SendGrid, as does my company, for status emails and such. Here's my problem, though: I have a code update to put out that specifically targets a bug in SendGrid's .NET library that they claim to have fixed. My automated build pipelines won't release new code unless all the unit tests pass. Right now, the SendGrid tests fail sporadically, and at...
Today I finally solved a problem that has nagged me for months: Given a .NET Core 3.1 Web API, NLog, and a custom log target for NLog, how could I pass secrets into the log target using Azure Key Vault? The last bit required me to add Azure Key Vault support to the InnerDrive.Logging NuGet package, which I did back in February. The KeyVaultSecretProvider class allows you to retrieve secrets from a specified Azure Key Vault. (I'm in the process of updating it to handle keys as well.) Before that, you'd...
About this blog (v4.61)
ApolloAviationBaseballBlogsBusinessChicagoChicago CubsCloudDailyElection 2016EntertainmentGeographyLondonParkerPersonalPhotographyPoliticsReligionSoftwareTravelUS PoliticsWindows AzureWorkWorld PoliticsWriting
I'm David Braverman, this is my blog, and Parker is my 14-year-old mutt. I last updated this About... page in May 2019, and the world has changed. So here's the update. The Daily Parker is about: Parker, my dog, whom I adopted on 1 September 2006. Politics. I'm a moderate-lefty by international standards, which makes me a radical left-winger in today's United States. The weather. I've operated a weather website for more than 20 years. That site deals with raw data and objective observations. Many...
Did someone call "lunch?"
BusinessChicagoEnvironmentGeneralHumorIllinoisJournalismPoliticsRailroadsRepublican PartyScienceSoftwareTravelTrumpUS PoliticsWork
I think today is Tuesday, the first day of my 10th week working from home. That would make today...March 80th? April 49th? Who knows. It is, however, just past lunchtime, and today I had shawarma and mixed news: Carbon emissions have declined 17% year-over-year, thanks to Covid-19-related slowdowns reducing petroleum consumption. (See? It's not all bad news.) Crain's Chicago Business reviews how businesses rate Mayor Lori Lightfoot's first year in office. And their editorial board says we should "start...
Domestic terrorism in Michigan
ChicagoCOVID-19EconomicsGeneralPoliticsRepublican PartySecuritySoftwareTerrorismTrumpUS PoliticsWeather
Charlie Pierce, noting that "[p]eople with firearms forced the civil government of the state of Michigan to shut itself down," wants to know in what sense this isn't terrorism. In other fun weekend stories: The Illinois Dept. of Employment Security had a "glitch" in their unemployment claims processing app that exposed private information. I'm curious who wrote the software. Jared Kushner: evil and stupid. Speaking of evil and stupid, the president continues to downplay and undercount Covid-19 deaths...
Gosh, where to begin?
ApolloAviationCanadaChicagoCOVID-19EconomicsElection 2020EntertainmentGeneralGunsMusicPersonalPoliticsRepublican PartySoftwareSpringTrumpWeatherWork
Happy May Day! Or m'aidez? Hard to know for sure right now. The weather in Chicago is sunny and almost the right temperature, and I have had some remarkable productivity at work this week, so in that respect I'm pretty happy. But I woke up this morning to the news that Ravinia has cancelled its entire 2020 season, including a performance of Bernstein's White House Cantata that featured my group, the Apollo Chorus of Chicago. This is the first time Ravinia has done so since 1935. If only that were...
The Washington Post columnist says he wanted to give President Trump some historical distance before pronouncing him "the worst president. Ever." Alas, events have overtaken desires: His one major competitor for that dubious distinction remains Buchanan, whose dithering helped lead us into the Civil War — the deadliest conflict in U.S. history. Buchanan may still be the biggest loser. But there is good reason to think that the Civil War would have broken out no matter what. By contrast, there is nothing...
Backfield in motion
BrexitBusinessChicagoConservativesDogsElection 2020GeneralLabour PartyLondonMilitary policyObamaPoliticsRaleighSecuritySoftwareTrumpUK PoliticsUS PoliticsWeatherWinterWork
That's American for the English idiom "penny in the air." And what a penny. More like a whole roll of them. Right now, the House of Commons are wrapping up debate on the Government's bill to prorogue Parliament (for real this time) and have elections the second week of December. The second reading of the bill just passed by voice vote (the "noes" being only a few recalcitrant MPs), so the debate continues. The bill is expected to pass—assuming MPs can agree on whether to have the election on the 9th...
Lunchtime queue
EconomicsGeneralGeographyHistoryPoliticsScienceSoftwareTrumpUS PoliticsWorld Politics
I'll circle back to a couple of these later today. But at the moment, I've got the following queued up for my lunch hour: The Washington Post charitably describes yesterday's press conference in France as "a glimpse into Trump's unorthodox mind." As in, he lied through the whole thing. MSNBC says the G7 as a whole (which ended in the aforementioned presser) shows that other world leaders have learned to manipulate the president pretty well. Brazil, meanwhile has become the latest country to discover...
Things I don't have time to read right now
ArchitectureChicagoGeospatial dataHistoryMediaPoliticsRacismReligionRepublican PartyScienceSoftwareTrumpUrban planningUS PoliticsWorld PoliticsWriting
But I will take the time as soon as I get it: Conor Friedersdorf thinks Tucker Carlson "has failed to assimilate." (So do I.) Daniel Drezner says we have "the worst of all possible Iran policies." (So do I.) Author TJ Martinson won't teach at a downstate religious college this coming year because, apparently, someone got around to reading his new novel. (I just put it on my "to be read" list.) Architect Greg Tamborino won an affordable-housing contest with a bungalow that can easily convert into a...
Today I released a new version of the Inner Drive Technology brochure/demo site. The release includes: Upgraded to the Inner Drive Extensible Architecture™ v4 (in the works since last summer); Updated all the IDEA™ documentation on the site; Switched from home-grown logging to NLog; Corrected the demos and documentation; and Numerous other content updates and corrections. Now that I've got that out of the way, I'm going to start working on the next full version of the site, using (probably) a...
About this Blog (v4.5)
AviationBaseballBlogsBusinessChicagoChicago CubsCloudDailyElection 2016EntertainmentGeographyLondonParkerPersonalPhotographyPoliticsReligionSoftwareTravelUS PoliticsWindows AzureWorkWorld PoliticsWriting
I'm David Braverman, this is my blog, and Parker is my 13-year-old mutt. I last updated this About... page in May 2017, and a couple have things have changed. So here's the update. The Daily Parker is about: Parker, my dog, whom I adopted on 1 September 2006. Politics. I'm a moderate-lefty by international standards, which makes me a radical left-winger in today's United States. The weather. I've operated a weather website for more than 16 years. That site deals with raw data and objective observations....
Yesterday, Microsoft made an error making a nameserver delegation chage (where they switch computers for their internal address book), causing large swaths of Azure to lose track of itself: Summary of impact: Between 19:43 and 22:35 UTC on 02 May 2019, customers may have experienced intermittent connectivity issues with Azure and other Microsoft services (including M365, Dynamics, DevOps, etc). Most services were recovered by 21:30 UTC with the remaining recovered by 22:35 UTC. Preliminary root...
"It is no one's right to despise another. It is a hard-won privilege over long experience."—Isaac Asimov, "C-Chute" For the past three months, I've worked with a programming language called Scala. When I started with it, I thought it would present a challenge to learn, but ultimately it would be worth it. Scala is derived from Java, which in turn is a C-based language. C#, my primary language of the last 18 years, is also a C-based language. So I analogized thus: C# : Java :: Spanish : Italian...
Readings between meetings
AstronomyAviationBrexitChicagoClimate changeGeneralGeographyPoliticsSoftwareTransport policyTravelUK PoliticsUrban planningUS PoliticsWeatherWorld Politics
On my list today: After Commons last night voted down every single proposal for navigating Brexit, Theresa May will bring the agreement she negotiated with the EU up for a vote tomorrow. Jeanne Gang has won the contract to design O'Hare's new Terminal 2. What's behind the generational divide over climate change? Whether individual European countries go off (or permanently on) Daylight Saving Time in 2021, their transport ministers will have the final say. The Housing and Urban Development Department has...
Today is Johann Sebastian Bach's 334th birthday, and to celebrate, Google has created a Doodle that uses artificial intelligence to harmonize a melody that you can supply: Google says the Doodle uses machine learning to "harmonize the custom melody into Bach's signature music style." Bach's chorales were known for having four voices carrying their own melodic line. To develop the AI Doodle, Google teams created a machine-learning model that was trained on 306 of Bach's chorale harmonizations. Another...
...and it has always been due to human error. Today, I don't mean the HAL-9000. Amtrak: Amtrak said “human error” is to blame for the disrupted service yesterday at Union Station. A worker fell on a circuit board, which turned off computers and led to the service interruption, according to U.S. Sen. Dick Durbin. The delay lasted more than 12 hours and caused significant overcrowding at Union Station. The error affected more than 60,000 Amtrak and Metra passengers taking trains from Union to the suburbs...
This review of music notation software Sibelius starts out normally...but then...
Stuff to read later
Climate changeGeneralPoliticsRepublican PartySoftwareTrumpUS PoliticsWeatherWork
Of note: Bruce Schneier discusses how propaganda is related to weakening trust in government. Former George W. Bush speechwriter Michael Gerson calls President Trump a "clownish caricature of Nixon." Paul Krugman calls Republican climate-change denial "depraved." The Atlantic outlines "the three most chilling conclusions" from the Trump Administration's report on climate change. Writer Lance Ulanoff has just a few weeks to move thousands of pictures off Flickr, reminding us that terms of service can...
Lunchtime reading list
EconomicsEntertainmentGeneralObamaPoliticsSoftwareTaxationTechnologyTrumpWhiskyWork
While trying to debug an ancient application that has been the undoing of just about everyone on my team, I've put these articles aside for later: Using the example of an automated process that sends out emails that your inbox subsequently deletes without any intervention on your part, Raymond Chen discusses Le Chatelier's Principle. Demonstrating that a stopped clock is correct twice a day, it turns out the Trump tax cuts have given a (temporary) boost to craft distilling. Whisky Advocate name-checks...
Uncle Bob riffs on Martin Fowler's speech at Agile Australia this week. He is saddened: It was programmers who started the Agile movement as a way to say: “Hey look! Teams matter. Code should be clean. We want to collaborate with the customer. And we want to deliver early and often.” The Agile movement was started by programmers, and software professionals, who held the ideals of Craftsmanship dear. But then the project managers rushed in and said: “Wow! Agile is a cool new variation on how to manage...
I've finally gotten around to extending the historical weather feature in Weather Now. Now, you can get any archival report that the system has, back to 2013. (I have many more archival reports from before then but they're not online.) For example, here's the last time I arrived in London, or the time I took an amazing photo in Hermosa Beach, Calif. I don't know why it took me so long to code this feature. It only took about 4 hours, including testing. And it also led me to fix a bug that has been in...
I didn't have a chance to read these yesterday: Boxer Joe Louis had a home in the Bronzeville neighborhood of Chicago. As of yesterday, none of the 4 major U.S. air carriers has propeller-driven airplanes in service anymore. Juggalo makeup can reliably defeat facial recognition software. Contra this article by Franklin Foer, Neymar da Silva Santos Júnior really is annoying. Now I'm off to work. The heat wave of the last few days has finally broken!
Lunchtime reading
ChicagoCrimeGeneralPoliticsRepublican PartySoftwareTrumpUS PoliticsWorkWorld Politics
Not all of this is as depressing as yesterday's batch: Dana Milbank raises the question, once again, whether President Trump is just a liar or really mentally ill. McCay Coppins describes how professional troll Stephen Miller got and kept his job. Illinois is getting an anti-carjacking bill that doesn't go as far as Chicago's police superintendent wanted. Josh Marshall wonders why Missouri Governor Eric Greitens resigned so abruptly yesterday. Via Bruce Schneier, an explanation of numbers stations....
Here's the complete list of topics in the Daily Parker's 2018 Blogging A-to-Z challenge on the theme "Programming in C#": A is for Assembly (April 1) B is for BASIC (April 2) C is for Common Language Runtime (April 3) D is for Database (April 4) E is for Encapsulation (April 5) F is for F# (April 6) G is for Generics (April 7) H is for Human Factors (April 9) I is for Interface (April 10) J is for JetBrains (April 11) K is for Key-Value Pairs (April 12) L is for LINQ (April 13) M is for Method (April...
Here's the complete list of topics in the Daily Parker's 2018 Blogging A-to-Z challenge on the theme "Programming in C#": A is for Assembly (April 1) B is for BASIC (April 2) C is for Common Language Runtime (April 3) D is for Database (April 4) E is for Encapsulation (April 5) F is for F# (April 6) G is for Generics (April 7) H is for Human Factors (April 9) I is for Interface (April 10) J is for JetBrains (April 11) K is for Key-Value Pairs (April 12) L is for LINQ (April 13) M is for Method (April...
Welcome to the antepenultimate day (i.e., the 24th) of the Blogging A-to-Z challenge. Today we'll look at how communicating between foreign systems has evolved over time, leaving us with two principal formats for information interchange: eXtensible Markup Language (XML) and JavaScript Object Notation (JSON). Back in the day, even before I started writing software, computer systems talked to each other using specific protocols. Memory, tape (!) and other storage, and communications had significant costs...
For my second attempt at this post (after a BSOD), here (on time yet!) is day 22 of the Blogging A-to-Z challenge. Today's topic: the var keyword, which has sparked more religious wars since it emerged in 2007 than almost every other language improvement in the C# universe. Before C# 3.0, the language required you to declare every variable explicitly, like so: using System; using InnerDrive.Framework.Financial; Int32 x = 123; // same as int x = 123; Money m = 123; Starting with C# 3.0, you could do this...
For day 21 of the Blogging A-to-Z challenge I'm going to wade into a religious debate: UUIDs vs. integers for database primary keys. First, let's define UUID, which stands for Universally Unique Identifier. A UUID comprises 32 hexadecimal digits typically displayed in 5 groups separated by dashes. The actual identifier is 128 bits long, meaning the chance of a collision between any two of them is slightly lower than the chance of finding a specific grain of dust somewhere in the solar system. An...
Day 19 of the Blogging A-to-Z challenge was Saturday, but Apollo After Hours drained me more or less completely for the weekend. So this morning, let's pretend it's still Saturday for just a moment, and consider one of the oddest classes in the .NET Base Class Library (BCL): System.String. A string is just a sequence of one or more characters. A character could be anything: a letter, a number, a random two-byte value, what have you. System.String holds the sequence for you and gives you some tools to...
OK, I lied. I managed to find 15 minutes to bring you day 18 of the Blogging A-to-Z challenge, in which I'll discuss one of the coolest feature of the .NET ecosystem: reflection. Reflection gives .NET code the ability to inspect and use any other .NET code, full stop. If you think about it, the runtime has to have this ability just to function. But any code can use tools in the System.Reflection namespace. This lets you do some pretty cool stuff. Here's a (necessarily brief) example, from the Inner...
We're now past the half-way point, 16 days into the Blogging A-to-Z challenge. Time to go back to object-oriented design fundamentals. OO design has four basic concepts: Inheritance Encapsulation Abstraction Polymorphism All four have specific meanings. Today we'll just look at polymorphism (from Greek: "poly" meaning many and "morph" meaning shape). Essentially, polymorphism means using the same identifiers in different ways. Let's take a contrived but common example: animals. Imagine you have a class...
For day 15 of the Blogging A-to-Z challenge I want to talk about something that computer scientists use but application developers typically don't. Longtime readers of the Daily Parker know that I put a lot of stock in having a liberal arts education in general, and having one in my profession in specific. I have a disclosed bias against hiring people with computer science (CS) degrees unless they come from universities with rigorous liberal arts core requirements. Distilled down to the essence, I...
Day 14 of the Blogging A-to-Z challenge brings us to namespaces. Simply put, a namespace puts logical scope around a group of types. In .NET and in other languages, types typically belong to namespaces two or three levels down. Look at the sample code for this series. You'll notice that all of the types have a scope around them something like this: namespace InnerDrive.Application.Module { } (In some languages it's customary to use the complete domain name of the organization creating the code as part...
Day 12 of the Blogging A-to-Z challenge will introduce you to LINQ, another way .NET makes your life easier. LINQ stands for Language INtegrated Query, which Microsoft describes as follows: Traditionally, queries against data are expressed as simple strings without type checking at compile time or IntelliSense support. Furthermore, you have to learn a different query language for each type of data source: SQL databases, XML documents, various Web services, and so on. With LINQ, a query is a first-class...
The Blogging A-to-Z challenge enters its second week with a note about you, the human. Last week I discussed several topics that you probably thought were about computers. They weren't. They were about how you interact with computers. Computers don't need programming languages. This is a perfectly runnable program for the 6502 microprocessor: 0600: a9 01 8d 00 02 a9 05 8d 01 02 a9 08 8d 02 02 The human-readable version looks like this: $0600 a9 01 LDA #$01 $0602 8d 00 02 STA $0200 $0605 a9 05 LDA #$05...
We're up to day 6 of Blogging A-to-Z challenge, FFS. The last few days I've written about the two main object-oriented languages that come with Visual Studio and .NET: C# and VB.NET. Today I want to diverge just a little into Microsoft's functional language, F#. At first glance, F# looks a lot like C#. It is, in fact, a flavor of C#; and as it runs on the .NET CLR, it uses .NET constructs. But as Microsoft says, "F# is a programming language that provides support for functional programming in addition...
Welcome to day 4 of the Blogging A-to-Z challenge. After yesterday's more theoretical post on the CLR, today will have a practical example of how to connect to data sources from C# applications. Almost every application ever written needs to store data somewhere. If you're deploying a .NET website into Microsoft Azure (like this blog), you will probably connect it to an Azure SQL Database. Naturally, Visual Studio and C# make this pretty easy. Here's the code that opens up a database connection and...
For day 2 of the Blogging A-to-Z challenge, I'm going to talk about the first computer language I learned, which is still alive and kicking in the .NET universe decades after it first appeared on a MS-DOS 1.0 system disk: BASIC. BASIC stands for "Beginner's All-Purpose Symbolic Instruction Code." The original specification came from John Kemeny and Thomas Kurtz at Dartmouth College in 1964. Today it's one of the core .NET languages included with Visual Studio as "VB.NET" (for "Visual BASIC," Microsoft's...
As of just a few moments ago, I passed 1.5 billion seconds old. Yes, this is a thing most people don't really think about, but as someone who works in software, this actually has some significance—and another Y2K problem that will occur just a few months before I get to 2.0 Gigaseconds (Gs) in 2038. The problem is a thing called the Unix epoch. Computers can only count as high as they have bits to count. Unix computers, which include Macs and most of the infrastructure of the Internet, count time in...
The Washington Post is reporting tonight something that I've known for several weeks. My current project's customer, USMEPCOM, recently promulgated a directive to begin accepting transgender applicants into the U.S. armed forces: The military distributed its guidance throughout the force Dec. 8. Lawyers challenging President Trump’s proposed ban on transgender military service, which he announced on Twitter in July, have since included the document in their lawsuits. The memorandum states the Pentagon...
Blah day
AviationChicagoDogsGeographyPoliticsRepublican PartyRussiaSecuritySoftwareTransport policyTravelTrumpUrban planningWeatherWork
I'm under the weather today, probably owing to the two Messiah performances this weekend and all of Parker's troubles. So even though I'm taking it easy, I still have a queue of things to read: NBC is reporting that the President was warned in August that Russians would try to infiltrate his transition team. Josh Marshall thinks Trump will try to fire Robert Mueller at some point in the near future. Atlanta's Hartsfield airport—the busiest in the world—had no power for 12 hours yesterday. CityLab goes...
Stuff to review
EconomicsEntertainmentGeneralHistoryObamaPhotographyPoliticsRepublican PartySoftwareTaxationTrumpWork
I've been in frenetic housecleaning mode today, since it's the first work-from-home Wednesday I've had in...let me see...10 weeks. And apparently I last had my housekeeping service here 16 weeks ago. (It wasn't that bad; I do clean up occasionally.) The activity and actually having to do my job has led me to miss a couple of news stories, which I will now queue up to read: Former President Obama spoke at the Economic Club of Chicago last night, and said, at one point, "American democracy is fragile, and...
I have some clarity now on what I can and can't say about the project I'm working on. In short, it's not classified (though the data we deal with is personally-identifiable information–PII—and private health information–PHI). My security clearance is "public trust," the lowest level, and in fact the only level that someone with a clearance can disclose. Also, the contracts for this project are publicly available through FOIA. So, I'm free to discuss this project in a way that I've rarely been permitted...
Yesterday and today I've been in meetings all day starting a new project at work. Unusually for my career, the project is not only a matter of public record, but the work will be in the public domain. That's right: I'm doing a project for the largest organization in the world, the United States Government. Some parts of the project touch on confidential information, and I'm going to remain professionally discrete about the project details. But the project itself is unclassified, and we have permission...
The Atlantic worries that there's a "coming software apocalypse:" There will be more bad days for software. It's important that we get better at making it, because if we don't, and as software becomes more sophisticated and connected—as it takes control of more critical functions—those days could get worse. The problem is that programmers are having a hard time keeping up with their own creations. Since the 1980s, the way programmers work and the tools they use have changed remarkably little. There is a...
Tonight at 02:40 UTC, all Unix-based computers (including Apples running OS-X) will pass a milestone: 1.5 Gs since the beginning of time (at least as far as Unix is concerned). Unix keeps track of time by counting the number of seconds since 1 January 1970 at midnight UTC, which (at this writing) was 1,499,962,035 seconds ago. Tonight at 21:40:00 Chicago time will be 1.5 billion seconds since that point. If you miss this anniversary, don't worry; it'll be 2.0 Gs into the Unix time epoch on 18 May 2033...
Things I'll be reading this afternoon
AviationBusinessChicagoEntertainmentFoodGeneralPoliticsScienceSecuritySoftwareStatisticsTravelTrumpUS PoliticsWork
Some articles: Jeet Heer writes about President Trump's catastrophic first 100 days. Josh Marshall says that Trump's "religion of 'winning'" is the problem. Crain's Joe Cahill thinks that the best thing to come out of the United Airlines passenger-removal fiasco is that Oscar Munoz won't become chairman. John Oliver on Sunday warned the world about the deficiencies and scary realities of Ivanka Trump and Jared Kushner. Harvard professor David Searls, in a post from September 2015, calls ad blocking "the...
Stuff I'll read later
AstronomyChicagoClimate changeEntertainmentEuropeGeneralPoliticsSoftwareTechnologyTelevisionTrumpWeather
A little busy today, so I'm putting these down for later consumption: Via the Illinois State Climatologist, NOAA has released its state climate summaries for the country. Brian Beutler worries about President Trump's ego driving life-or-death decisions. Hollywood Reporter has some new photos from Game of Thrones' upcoming 7th season. Space junk and thousands of tiny, new satellites might make low orbit inaccessible in 50 years. Why are Germany's nude beaches (and parks and lawns and basically every part...
The Finnish manufacturer is bringing back their 2000-era 3310: Given the rising angst of a society run by technology, Nokia might have picked the perfect time to introduce an antidote to the smartphone. But even under today’s conditions, it is tempting to see the new Nokia 3310 merely as another example of retro nostalgia. Ha-ha, what if you could get a dumbphone instead? It would pair perfectly with a milk crate full of vinyl albums. But it’s also possible that the 3310 marks the start of a new period...
The last two days, I've been in meetings more than 7 hours each. I'm a little fried. Meanwhile, the following have popped up for me to read over the weekend: Making people reveal their real names stops online trolling, right? Um, no. A poet discovered that two of her poems were used in Texas' state assessments, but she couldn't answer the test questions about them. Hanselman asks, should we teach programming from the machine up or from the glass down? Photographer Kaylee Greer has a video about how to...
One more thing for this horrible, horrible week
Election 2016GeneralGeographyPoliticsScienceSoftwareWork
I could post about Krugman's "Thoughts for the Horrified," Deeply Trivial's explanation of how the polling failure wasn't what you think it was, or how much rats like being tickled. Instead, I give you twins born on either side of the return to Standard Time: Emily and Seth Peterson of West Barnstable welcomed their sons in the early morning hours of Nov. 6 at Cape Cod Hospital. Samuel was born 5 pounds, 13 ounces at 1:39 a.m., shortly before the 2 a.m. hour when clocks were turned back an hour. Brother...
Starting my day
BaseballChicago CubsElection 2016GeneralHistoryLawParkerPersonalPoliticsSoftwareTrumpWork
I took a personal day yesterday to get my teeth cleaned (still no cavities, ever!) and to fork over a ton of cash to Parker's vet (five shots, three routine tests, heartworm pills, one biopsy, $843.49). That and other distractions made it a full personal day. So as I start another work day with the half-day of stuff I planned to do yesterday right in front of me, I'm queuing up some articles again: Then and Now, Armitage-Bissell Programming is Hard The Founding Fathers' Power Grab The Chicago Tribune...
Here are some things that are occupying me while I figure out who delivers matzoh ball soup: Andrew Sullivan recounts his time being an Internet addict. The Daily WTF explains how not to do caching. Deeply Trivial talks about natural-language processing. CityLab bemoans Chicago's crime wave. The AP describes how Trump screwed Gary, Ind., in much the same way he would screw the entire country. I also have a book or 50 somewhere. And I need a nap.
Stuff to read later today
ChicagoEducationElection 2016GeneralGeographyHillary ClintonMusicPoliticsSoftwareTrumpWork
It's fascinating how working from home doesn't seem to give me more time to, you know, work. So these have backed up on me, and I hope to read them...someday: Simple Talk has a (year-and-a-half-old) article on MongoDB vs. Azure Document DB. UTA professor John Traphagan worries about America's cult of ignorance. Washington Monthly's Paul Glastris bemoans how the press is making the Clinton Foundation in to the new Benghazi. Fallows' 95th Trump Time Capsule entry points out the simple logic of Trump...
Courtesy of Scott Hanselman. I actually learned a few things.
About this Blog (v4.4.1)
AviationBaseballBlogsBusinessChicagoChicago CubsCloudDailyElection 2016EntertainmentGeographyLondonParkerPersonalPhotographyPoliticsReligionSoftwareTravelUS PoliticsWindows AzureWorkWorld PoliticsWriting
I'm David Braverman, this is my blog, and Parker is my 10-year-old mutt. I last updated this About... page in April 2016, and a couple have things have changed (not least of which, all the internal links changed when the blog moved to BlogEngine 3 last October). So here's the update. The Daily Parker is about: Parker, my dog, whom I adopted on 1 September 2006. Politics. I'm a moderate-lefty by international standards, which makes me a radical left-winger in today's United States. The weather. I've...
Programmer Sean Hickey demonstrates the evolution of a software engineer.
I had a meeting this morning to bring a new developer onto a maintenance-mode project. In doing so I went over some code I wrote 4 years ago. Yikes. We're doing a deep-dive on Monday...
The problem with NuGet is that installers don't always update assembly binding mappings. As I mentioned earlier, I'm trying to upgrade a very large project to a new version of the ASP.NET runtime to try to solve a lingering problem. This required updating somewhere around 20 NuGet packages, only some of which make correct changes to configuration files. I've just gone through a 15-minute publish cycle that ended with an old and familiar error message for old and familiar reasons. Guys. Quit messing with...
There's a blizzard outside, which has alarmed Parker to no end (the wind scares him), and my computer is dragging because it's running a virus scan. And I'm having yet another version conflict installing a NuGet package, which is annoying since NuGet is supposed to stop that from happening. Otherwise, just an ordinary Wednesday...
U.S. Magistrate Judge Sheri Pym yesterday ordered Apple, Inc., to bypass security on the iPhone 5c owned by the San Bernadino shooters. Apple said no: In his statement, [Apple CEO Tim] Cook called the court order an “unprecedented step” by the federal government. “We oppose this order, which has implications far beyond the legal case at hand,” he wrote. “The F.B.I. may use different words to describe this tool, but make no mistake: Building a version of iOS that bypasses security in this way would...
The Daily WTF (a must-read if you're in a technology job) today described how poor testing caused 2,000 ballots to be thrown out in a 2014 election in Brussels: It wasn’t enough to sway any one election, but the media had already caught wind of the potential voter fraud. Adrien’s company was hired for an independent code review of Delacroy Europe’s voting program to determine if anything criminal had transpired. He noticed something strange in the UI selection functions, triggered when the user selects...
The New York Times Magazine has an in-depth analysis of the daily fantasy sports (DFS) industry. I'm not that interested in fantasy sports, but this article had me riveted: Here’s how it works: Let’s say you run D.F.S. Site A, and D.F.S Site B has just announced a weekly megacontest in which first place will take home $1 million. Now you have to find a way to host a comparable contest, or all your customers will flee to Site B to chase that seven-figure jackpot. The problem is that you have only 25,000...
Scott Hanselman has a good rant today about how software developers increasingly use their own customers to do quality-assurance (QA) testing: Technology companies are outsourcing QA to the customer and we're doing it using frequent updates as an excuse. This statement isn't specific to Apple, Google, Microsoft or any one organization. It's specific to ALL organizations. The App Store make it easy to update apps. Web Sites are even worse. How often have you been told "clear your cache" which is the 2015...
Canadian Julia Cordray created an app described as a "Yelp for people," and apparently failed to predict the future: Except of course it took the rest of the world about two seconds to figure out that filtering the world to only include those with positive feelings was not exactly realistic, and all the app was likely to do was invite an endless stream of abuse, bullying, and stalking. It wasn't long before people were posting Cordray's personal details online – seemingly culled from the Whois...
I noted earlier that this code base I'm working with assumes all file stores look like a disk-based file system. This has forced me to do something totally ugly. All requests for files get pre-pended with a hard-coded string somewhere in the base classes—i.e., the crap I didn't write. So when I want to use the Azure storage container "myfiles", some (but not all) requests for files will use ~/App_Data/files/myfiles (or whatever is configured) as the container name. Therefore, the Azure provider has to...
I've been playing around with BlogEngine.NET, and I've hit a snag making it work with Microsoft Azure. BlogEngine.NET was built to store files inside the application's own file system. So if you install the engine in, say, c:\inetpub\wwwroot\blogEngine, by default the files will be in ~/App_Data/files, which maps to c:\inetpub\wwwroot\blogEngine\App_Data\files. All of the file-handling code, even the abstractions, assume that your files will have some kind of file name that looks like that. You must...
In the last 48 hours, I've upgraded my laptop and surface to Office 2016 and my phone to Android 5.0 and 5.1. Apparently T-Mobile wants to make sure the Lollipop update works before giving you all the bug fixes, which seems strange to me. All four update events went swimmingly, except that one of my Outlook add-ins doesn't work anymore. Pity. I mean, it's not like Outlook 2016 was in previews for six months or anything...
I just Googled a problem I'm having setting up a continuous-integration build, because I've had this problem before and wanted to review how I solved it before. Google took me to my own blog on the second hit. (The first hit was the entry I cross-posted on my old employer's blog.) Why even bother with my own memory?
I'm still doing some R&D with BlogEngine.NET, and I keep finding strange behaviors. This is, of course, part of the fun of open-source software: with many contributors, you get many coding styles. You also don't get a lot of consistency without a single over-mind at the top. My latest head scratch was about how labels work. I won't go into too many details, except to say, re-saving a code file with no changes in it shouldn't change the behavior of the code file. I'm still puzzling that out. In any...
Because Microsoft has deprecated 2011-era database servers, my weather demo Weather Now needed a new database. And now it has one. Migrating all 8 million records (7.2 million places included) took about 36 hours on an Azure VM. Since I migrated entirely within the U.S. East data center, there were no data transfer charges, but having a couple of VMs running for the weekend probably will cost me a few dollars more this month. While I was at it, I upgraded the app to the latest Azure and Inner Drive...
Since development of DasBlog petered out in 2012, and since I have an entire (size A1) Azure VM dedicated solely to hosting The Daily Parker, I've been looking for a new blog engine for this blog. The requirements are pretty broad: Written in .NET Open source or source code available for download Can use SQL Server as a data source (instead of the local file system, like DasBlog) Can deploy to an Azure Web App (to get it off the VM) Still in active development Modern appearance and user experience See?...
Twenty years ago today, Microsoft released Windows 95. It's hard to explain how revolutionary the OS was at the time. To celebrate the anniversary, Microsoft is offering a free Rolling Stones song. Trust me; it makes sense. And here, for your listening enjoyment, is the Microsoft sound.A And C-Net's coverage of the day:
OK, I think the Fitbit "sensitive" sleep setting has to go. Last night, I know I slept for longer than my Fitbit believes I did: I think it's interpreting very slight arm movements as actual restlessness, whereas it used to ignore most of them. If I'd only gotten four hours of sleep last night, I'd have crashed at my desk already. I'm setting it back to "normal" sensitivity now. Let's see what it shows tomorrow.
Yesterday I changed my Fitbit sleep monitor setting from "normal" to "sensitive." I got to bed last night at almost exactly the same time I went to bed Sunday night; and I got up this morning within 5 minutes of when I got up yesterday. But my Fitbit says I got 90 minutes less sleep last night. Here's Sunday night: Here's last night: This means either it's been overestimating my sleep, or last night it hugely underestimated it. Or, possibly, last night I just tossed and turned a lot more than usual....
Things I didn't read while pulling apart an Include block
BlogsChicagoEntertainmentGeographyPhotographySoftwareWeatherWindows AzureWork
...and also preparing for a fundraiser at which I'm performing tomorrow: Microsoft has moved Azure Premium Storage to general availability... ...and also improved SQL backup and export services. Coincidentally, my favorite performance analysis tool just added a feature I need this week. Color me happy. The United Center, where the Chicago Bulls and Chicago Blackhawks play, is getting beer robots. British photographer Marcus Lyon does not like sprawl. And his photos are kind of cool. There's also a...
I'm still trying to debug the performance of our principal application, which shouldn't be struggling the way it is. I did, however, take two minutes out of my life to watch this:
I was here until 7:30 last night and would probably stay that late tonight if I didn't have a prior commitment. At least last night I got to see this: At least I've isolated the code causing the problem. Unfortunately it's one of the most-called methods in the application. Sigh.
In the reading queue: DUKE WON. Air Canada and Porter Air are squabbling over Toronto's Billy Bishop Airport. Hard to tell who's winning. A sad tale of how it really is possible to run out of integers in a badly-designed program. What is this new quick-fired pizza thing? My most culinary friend said it's pretty good. Guess I'll have to try it. James Fallows and The Atlantic have published online a story he wrote in 1982 about the dawning age of personal computing. Did I mention that DUKE WON?!
With a little more than five days until my next international flight, I'm stocking up my Kindle: Richard Florida looks at youthification instead of gentrification. Cranky Flier talks about Korean Airlines code-sharing with American. American Airlines, meanwhile, is becoming the sole Chicago Cubs airline sponsor, displacing United. Should we migrate JavaScript to TypeScript? UAT release this afternoon. Back to the galley.
So many things to read, so little time
AviationPoliticsSoftwareTravelUS PoliticsWindows AzureWorkWorld Politics
Well, little time today. Since I'll be on an airplane for 8 hours on Sunday, I will probably have time to catch up on these: The Chicago Tribune's John Kass doesn't like the Episode 7 lightsaber. Chicago Public Media's Jim DeRogatis doesn't like Pomplamoose. Cranky Flier wonders why American Airlines doesn't like profit-sharing. I will probably really like Microsoft Azure DocumentDB partitioning (but it's a pretty esoteric topic for most Daily Parker readers). Your solid-state drive (SSD) probably likes...
While I'm up to my eyeballs at work, I've got a backlog of articles to catch up on: Why 12-foot traffic lanes are bad, which people have known for decades but policymakers are just starting to notice. It's related to the fading distinction between city and suburb that Richard Florida notes this week. Loop invariants are a good thing. Not that many Daily Parker readers will care, but it's still interesting. Reviews for the Lyric Opera's production of Don Giovanni, have gushed. I'm excited to see it this...
The apotheosis of modern aviation's intersection with modern communications—in-flight internet service—is a tease sometimes. For $50 a month, I get unlimited in-flight internet on American an U.S. Airways. And I'm on a brand-new 737-800, with a functioning seat-back entertainment unit that says I'm over south-central Utah. However, because I planned to have in-flight internet on this flight, and the internet connection appears to have dropped completely, I now have no way to communicate with my team and...
The Inner Drive Extensible Architecture™ is about to get wider distribution. After 11 years of development, I think it's finally ready for wider distribution. And, who knows, maybe I'll make a couple of bucks. I've updated the pricing structure and the license agreement, and in the next week or so (after some additional testing), I'm going to release it to NuGet. That doesn't make it free; that makes it available. (Actually, I am making it free for development and testing, but I'm charging for...
I don't know how this little snippet of code got into a project at work (despite the temptation to look at the file's history): Search = Search.Replace("Search…", ""); // Perform a search that depends on the Search member being an empty string // Display the list of things you find First, I can't fathom why the original developer made the search method dependent on a hard-coded string. Second, as soon as the first user hit this code after switching her user profile to display Japanese, the search...
I've just picked up Bob Martin's The Clean Coder: A Code of Conduct for Professional Programmers. I'm just a couple chapters in, and I find myself agreeing with him vehemently. So far, he's reinforcing the professional aspects of the profession. Next chapters will TDD, testing, estimation, and a bunch of other parts of the profession that are more difficult than the actual coding part. More later.
One of my tasks at my day job today is to get continuous integration running on a Jenkins server. It didn't take too long to wrestle MSBuild to the ground and get the build working properly, but when I added an MSTest task, a bunch of unit tests failed with this error: System.IO.FileNotFoundException: Could not load file or assembly 'System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. The...
About this blog (v 4.2)
AviationBaseballBikingBlogsBusinessChicagoChicago CubsCloudDailyEntertainmentGeneralGeographyLondonParkerPersonalPhotographyPoliticsReligionSoftwareTravelUS PoliticsWeatherWindows AzureWorkWorld PoliticsWriting
I'm David Braverman, this is my blog, and Parker is my 7½-year-old mutt. I last updated this About... page in September 2011, more than 1,300 posts back, so it's time for a refresh. The Daily Parker is about: Parker, my dog, whom I adopted on 1 September 2006. Politics. I'm a moderate-lefty by international standards, which makes me a radical left-winger in today's United States. The weather. I've operated a weather website for more than 13 years. That site deals with raw data and objective...
I have an HTC Windows 8X phone. I work for a Microsoft Partner, so this seemed like a good idea at the time. After nearly a year, I can report that I am tired of this phone and want to go back to Android. The one thing my phone does well is manage two Microsoft Exchange accounts. And it does Skydrive all right too. Those are Microsoft products, so Windows should handle them. I find the touch-screen waaay too sensitive. It can't determine what letter I want more than half the time, and its auto-correct...
I am agog at a bald impossibility in the New York Times' article today about the ACA exchange: According to one specialist, the Web site contains about 500 million lines of software code. By comparison, a large bank’s computer system is typically about one-fifth that size. There were three reporters in the byline, they have the entire Times infrastructure at their disposal, and still they have an unattributed "expert" opinion that the healthcare.gov codebase is 33 times larger than Linux. 500 MLOC? Why...
Fortunately, I'm in an airport with lots of power outlets. Because my laptop just warned me that it was down to its last few milliamps, even though ordinarily the 90 W/h battery I lug around can last about 8 hours. What happened? Windows Search decided that consuming 50% of my CPU (i.e., two entire cores) was a good idea while running on battery. So since I have an hour before boarding, and since I'm now plugged in (which means I don't have any worries about driving my portable HDD), here is a lovely...
I'm pulling the public repository for Orchard again, because I made a mistake with Git that I can't seem to undo. I've set up my environment to have a copy of the public repository, and then a working repository cloned from it. This allows me to try things out on my own machine, in private branches, while still pulling the public bits without the need to merge them into my working copy. Orchard, which will soon (I hope) replace dasBlog as this blog's platform, recently switched from Mercurial to Git, to...
Just a quick note about debugging. I just spent about 30 minutes tracking down a bug that caused a client to get invoiced for -18 hours of premium time and 1.12 days of regular time. The basic problem is that an appointment can begin and end at any time, but from 6pm to 8am, an appointment costs more per hour than during business hours. This particular appointment started at 5pm and went until midnight, which should be 6 hours of premium and 1 hour of regular. The bottom line: I had unit tests, which...
Last night I made the mistake of testing a deployment to Azure right before going to bed. Everything had worked beautifully in development, I'd fixed all the bugs, and I had a virgin Windows Azure affinity group complete with a pre-populated test database ready for the Weather Now worker role's first trip up to the Big Time. The first complete and total failure of the worker role I should have predicted. Just as I do in the brick-and-mortar development world, I create low-privilege SQL accounts for...
I've spent a good bit of free time lately working on migrating Weather Now to Azure. Part of this includes rewriting its Gazetteer, or catalog of places that it uses to find weather stations for users. For this version I'm using Entity Framework 5.0, which in turn allows me to use LINQ extensively. I always try to avoid duplicating code, and I always try to write sufficient unit tests to prevent (and fix) any coding errors I make. (I also use ReSharper and Visual Studio Code Analysis to keep me honest.)...
If one of the developers on one of my teams had done this, I would have (a) told him to get some sleep and (b) mocked him for at least a week afterwards. Saturday night I spent four hours trying to figure out why something that worked perfectly in my local Azure emulator failed with a cryptic "One of the request inputs is out of range" message in the Cloud. I even posted to StackOverflow for help. This morning, I spent about 90 minutes building a sample Cloud application up from scratch, adding one...
In every developer's life, there comes a time when he has to take all the software he's written on his laptop and put it into a testing environment. Microsoft Azure Tools make this really, really easy—every time after the first. Today I did one of those first-time deployments, sending a client's Version 2 up into the cloud for the first time. And I discovered, as predicted, a flurry of minor differences between my development environment (on my own computer) and the testing environment (in an Azure web...
When working with Microsoft Windows Azure, I sometimes feel like I'm back in the 1980s. They've rushed their development tools to market so that they can get us developers working on Azure projects, but they haven't yet added the kinds of error messages that one would hope to see. I've spent most of today trying to get the simplest website in my server rack up into Azure. The last hour and a half has been spent trying to figure out two related error messages that occurred when trying to debug a Web...
I have just spent an hour of my life—one that I will never get back—trying to figure out why I couldn't install any software from .msi files on one of my Windows 7 machines. Every time I tried, I would get a message that the installer "could not find the file specified." I'll spare you all the steps I went through to figure out why this was happening, and get to the punchline: > Yeah, you see, the SYSTEM account needs full control over any file you're trying to install on Windows. Here's how it should...
In general, people using words they don't understand, presumably to sound smart, drives me up a tree. In specific, I wish against reason that more people knew how time zones worked. Microsoft's Raymond Chen agrees: One way of sounding official is to give the times during which the outage will take place is a very formal manner. "The servers will be unavailable on Saturday, March 17, 2012 from 1:00 AM to 9:00 AM Pacific Standard Time." Did you notice something funny about that announcement? On March 17...
The new feature I mentioned this morning is done. Now, in addition to the "where was this posted" button on the footer, you will notice the entry's time zone. Each entry can have its own time zone—in addition to the site-wide default. I still have to fix a couple of things related to this change, like the fact that the date headers ("Thursday 24 November 2011," just above this entry) are on UTC rather than local time. But going forward (and going backward if I ever get supremely bored), you can now see...
My weather demo, Weather Now, is 13 years old today. I launched it as an ASP 2.0 application on 11 November 1998. The Wayback Machine first crawled the site about a year later, on 20 September 2000. Check out the site's evolution; it's trippy.
About this blog (v. 4.1.6)
AstronomyAviationBaseballBikingBlogsBusinessChicagoChicago CubsCoolDailyDukeEntertainmentGeneralGeographyJokesParkerPersonalPhotographyPoliticsRaleighReligionSan FranciscoSecuritySoftwareTravelUS PoliticsWeatherWorkWorld Politics
I'm David Braverman, this is my blog, and Parker is my 5-year-old mutt. I last updated this About... page in February, but some things have changed. In the interest of enlightened laziness I'm starting with the most powerful keystroke combination in the universe: Ctrl-C, Ctrl-V. Twice. Thus, the "point one" in the title. The Daily Parker is about: Parker, my dog, whom I adopted on 1 September 2006. Politics. I'm a moderate-lefty by international standards, which makes me a radical left-winger in today's...
Or, how I learned to stop worrying and love the boilerplate: /* * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright * notice...
...nothing happened. And I spent all night in a data facility in New York watching nothing happen. Fun times, fun times.
This may actually be funny. My CCMBA class includes students from 30 countries, in every part of the world. Consequently, Duke has created a Flash-based Web portal, through which we take exams, submit assignments, attend classes, and keep in touch. The thing has worked more or less as advertised since we arrived in London two months ago. By tomorrow at 23:59 EDT, we must hand in our Accounting and Management exams. We have 24 hours from download to complete the former, and 90 minutes to complete the...
Via Sullivan, I suddenly feel very old: We extracted about 75 percent of the responses on age (representing about 700 responses, taking equally from the earliest and most recent postings, which show very similar age distributions). Per John Makinson's quip at an LBF panel, over half of reporting Kindle owners are 50 or older, and 70 percent are 40 or older. So many users said they like Kindle because they suffer from some form of arthritis that multiple posters indicate that they do or do not have...
Arriving home this evening, after three days in San Francisco and frequent email checking while there, Outlook presented me with 295 unread messages (not counting the hundreds of messages in my spam filter). Of these, almost all were on my RSS reader—75 Facebook status updates, 50 posts from Andrew Sullivan, etc., etc. It's amazing how much better you can feel after hitting +A, right-click, "Mark As Read". Problem: solved. Still, I hate feeling like I missed something....
The vernal equinox happened about two hours ago. Typical of this time of year, though, it's below freezing this morning in Chicago. Nature nerd Naomi has more from the wilds of northern Lake County. Of interest to possibly no one, for the last two years I've worked on the innards of my flagship demo project, Weather Now. I'm now putting together a new user interface for it. The new version 3.5 UI, which you can see at http://beta35.wx-now.com/, looks a lot like the old one—for now. So what's new? I've...
I'm David Braverman, this is my blog, and Parker is my 3-year-old mutt. I last updated this About... page two years ago, so I thought it's time for a quick review. Here are the main topics on the Daily Parker: Parker, my dog, whom I adopted on 1 September 2006. Politics. I'm a moderate-leftie by international standards, which makes me a radical left-winger in today's United States. Software. I own a micro-sized software company in Chicago, Illinois, and I have some experience writing software. I see a...
Most Daily Parker readers can skip this (long) post about software. But if you're interested in C# 3.0, LINQ, or FogBugz, read on. I use FogBugz's time tracking tool to provide tracability in my billing. If I bill a client 2.75 hours for work on a bug, I want the client to see the exact times and dates I worked on the bug along with all the other details. And because I track non-billable time as well, and I often work in coffee shops or places like the Duke of Perth, I wind up with lots of tiny time...
Ah, family. I'm glad I got a chance to unwind with the Ps after my conference. But I do miss my dog. Tomorrow: or, rather, tonight after 7pm CDT: check out Weather Now for, well, something appropriate to the season.
I'm David Braverman, this is my blog, and Parker is my 8-month-old mutt. Here are the main topics on the Daily Parker: Parker, my dog, whom I adopted on September 1st. Biking. I ride my bikes a lot. Last year I prepared for two Century rides but, alas, my gallbladder decided to explode a week before the first one. I might not have a lot to say until later in the spring, but I have big plans in 2007. Jokes. All right, I admit: when I'm strapped for ideas, sometimes I just post a dumb joke. Politics. I'm...
I'm David Braverman, and this is my blog. This blog has actually been around for nearly a year, giving me time to figure out what I wanted to do with it. Initially, I called it "The WASP Blog," the acronym meaning "Weather, Anne, Software, and Politics." It turns out that I have more than four interests, and I post to the blog a lot, so those four categories got kind of large. I also got kind of tired of the old colors. And, today, I finally had the time to upgrade to das Blog 1.9, which came out just a...
I was going to have action shots of my new bike this morning, but I decided to take the bus to my office instead of riding for some reason: I'll have more on the bike later, including the results of my first real ride on it (whee!), but right now I have to crunch a few million data points. I'm also suffering from the after-effects of a midnight inspiration last night, which (a) led to two hours of coding starting at 1:00 am, and (b) got the total speed of the application up 40%.
Found over at Action Squad: http://independentsources.com/2006/07/12/worst-company-urls/.
The President (922 days, 4 hours remaining) still has not yet appointed an Assistant Secretary of Homeland Security for Cyberterrorism, despite computer security problems up the ying since before the post was created: Critics say the year-long vacancy is further evidence that the administration is no better prepared for responding to a major cyber-attack than it was for dealing with Hurricane Katrina, leaving vulnerable the information systems that support large portions of the economy, from...
I've spent the past few days drafting an analysis of my business. It turns out to be a lot harder than writing software. That is all.
The designer that I've hired a few times for Inner Drive projects will be on VH-1's World Series of Pop Culture tomorrow night. If she's as knowledgeable about pop culture as she is about XHTML, her team should kick butt.
I have a bit of work to do today, but Chicago has the kind of weather this morning that makes people skip out for lunch at 9:30. So, by way of mentally preparing to ignore the clear skies and 22°C (72°F) breezes out my window, here's what's going on this week. Over the past two days I've had to deal with four kinds of evaluations, three of myself and one of other people. One involved life-or-death decisions, one involved the future of my company, and the other two really pissed me off. First the most...
The Daily WTF: http://thedailywtf.com/
Ma Bell, risen from near death like the hydra, now says they own your phone records and will disclose them however they see fit: The new policy says that AT&T—not customers—owns customers' confidential info and can use it "to protect its legitimate business interests, safeguard others, or respond to legal process." The policy also indicates that AT&T will track the viewing habits of customers of its new video service—something that cable and satellite providers are prohibited from doing. Moreover, AT&T...
Yesterday I sent Illinois Senator Dick Durbin an email asking him to support S.2917, the "net neutrality" act currently working its way through the Senate. His office responded quickly, but I have no idea from reading it what his position is. Can anyone help? Thank you for contacting me about network neutrality. I appreciate having your thoughts on this issue. Net neutrality is a principle holding that Internet access providers should not be permitted to engage in favoritism when configuring their...
One of my daily digests contained a link to "How to choose the best database for your business." By Oracle. Golly. Which database do you suppose they recommend? Think it's MySql?
The Chicago Tribune reports today that the Chicago Transit Authority has agreed to buy 406 new El cars for the Blue and Pink lines. The cars will have aisle-facing seating rather than the mixed seating arrangement currently in use (see the Tribune graphic). This is a long-overdue improvement on the Blue line, whose trains go to O'Hare. Struggling with luggage on the current trains causes pain; the new arrangement will alleviate it. The CTA expects the cars to roll by 2009, shortly after we have a new...
Security expert Bruce Schneier has a good article today about threats to your computer (hint: Sony is one): There are all sorts of interests vying for control of your computer. There are media companies that want to control what you can do with the music and videos they sell you. There are companies that use software as a conduit to collect marketing information, deliver advertising or do whatever it is their real owners require. And there are software companies that are trying to make money by pleasing...
Found: a cool and simple geographic tool. So here's where I've been: create your own visited country map or check our Venice travel guide create your own personalized map of the USA or check out ourCalifornia travel guide create your own personalized map of Canada or check out ourVancouver travel guide create your personalized map of europe or check out our Barcelona travel guide
Andy Borowitz reports on a new revenue model for airlines: Struggling with rising fuel costs and sagging profits, several leading airlines announced today that they would attempt to boost their revenues by stowing passengers in their aircrafts’ overhead bins. After Airbus announced earlier this week that it was toying with the idea of introducing standing room areas for passengers in the rear of their planes, the airlines decided that the time was right to pitch the idea of stowing passengers in a part...
I had to stop myself from snapping up this USB GPS device: This small GPS gadget can easily be placed in a car, boat, land speeder, or just about any moving object and will record its own time, date, location, speed, direction and altitude. The recorded information can then be downloaded to your computer through the USB port and optionally integrated with Google Earth or Mapquest. This feature allows you to "playback" the location points of the TrackStick and see a visual mapped history of its travels....
We spent two hours yesterday debugging some code that kept firing early. It wasn't clear to anyone, including the people who wrote it, why this happened. We patched it with the C# equivalent of duck tape, but really, it still doesn't work right. This incident shows how important it is to know what your code is supposed to do, and not to accept the code if it doesn't. Many tools exist to help—most notably, unit-testing tools like NUnit—but they have trouble with the specific problem that we encountered...
Anne brought to my attention the security practices at a medium-sized company in Chicago that make security nearly impossible: the company's IT department assigns Windows domain passwords to the users. In a recent communication, IT said this practice made the domain more secure. It actually made me mad to hear about this practice. They're not only wrong, they're wrong in a particularly ignorant and incompetent manner, and someday they're going to have a significant security incident. Secure log-ins...
There's a privacy bug in Mozilla that has ended at least one relationship.
My colleague Cameron Beatley sent me this handy chart: Quick Guide to Programming Languages The proliferation of modern programming languages (all of which seem to have stolen countless features from one another) sometimes makes it difficult to remember what language you're currently using. This handy reference is offered as a public service to help programmers who find themselves in such a dilemma. Task Shoot yourself in the foot. Comparison C You shoot yourself in the foot. C++ You accidentally create...
One of my clients has had a recurring server issue caused, it seems, by McAfee Anti-Virus. So we're switching to Symantec. The problem has been that, for quite some time, the naPrdMgr.exe process (which handles product updates) has gone into a death-spiral, consuming 100% of CPU cycles and making the server totally unresponsive to anyone else. I've finally gotten in touch with McAfee, and they said the client's license has expired. OK, so how does an expired license crash a server? When McAfee...
We were dark for over 6 hours today because someone at SBC did something, though no one seems to know who or what. The result was that the Inner Drive Technology World Headquarters had no phone or Internet service from 9:15 am CT/15:15 UTC until 3:30 pm CT/21:30 UTC. Sadly, this came on the first day of our Weather Now beta launch, which shows off some of our coolest stuff ever. (At this writing it's still a few hours behind, with weather from lunchtime today, but it's catching up as fast as it can.)...
First, New York Times columnist Bob Herbert has a great column today (sub.req.): [The President's] breathtaking arrogance is exceeded only by his incompetence. And that's the real problem. That's where you'll find the mind-boggling destructiveness of this regime, in its incompetence. ... [T]he plain truth is that he is the worst president in memory, and one of the worst of all time. Second, I've been ambivalent about the Times charging $49.95 per year to read most of its content, but I think more and...
Another thing government does better than business: make businesses play nicely with each other. Cable companies and telephone companies are fed up with the free Internet because they have to carry it on their backbones for free. So they're looking for ways to charge for use, including creating premium access for a fee. One of the easily foreseen ways this "premium access" could manifest, as the Washington Post reports, looks like this: [Y]ou may one day discover that Yahoo suddenly responds much faster...
Adam Sharp, of Maryland-based Sharp SEO, actually read through the Justice Deptartment's Google subpoena. He posted a blog entry excerpting and linking to the actual Google subpoena which is, in turn, hosted on Ziff-Davis' website: In Google’s understanding, Defendant would use the one million URLs requested from Google to create a sample world-wide web against which to test various filtering programs for their effectiveness. Google objects to Defendant’s view of Google’s highly proprietary search...
A while ago we at Inner Drive attempted to install a new Webcam which, in short order, stopped working. Logitech promptly sent a replacement, which so far works fine. So the Inner Drive Webcam is now much sharper, and less prone to falling, than it used to be: The only disadvantage is that it doesn't work in Terminal Server mode, so if the server kicks over unexpectedly, the Webcam will be static until we can get to a terminal and fix it. (We'll experiment with that later on.) Also: The camera, a...
Hired Wrist, one of my clients, has a new Craigslist post: Write to Sell "Writing is easy; all you do is sit staring at a blank sheet of paper until the drops of blood form on your forehead."—Gene Fowler Take it from someone who knows. I've been bleeding professionally for years. If you are writing (or even thinking of writing) a screenplay, teleplay or novel, I can now offer you professional strength one-on-one consultation, analysis, guidance and instruction designed to dramatically and significantly...
First, I'd like to welcome my mom to broadband. She's been on dial-up since she got her first home computer (in, I think 2001), but she finally got a cable modem. I clocked the thing at 9.1 Mbps downstream, which is about 160 times faster than her 56.6k analog modem. I mention this because yesterday she asked me to pick up a copy of Turbo Tax at the store. I pointed out that, with a super-fast Internet connection, she could simply download the product and save a tree. In an unrelated train of thought...
I've heard that people are having trouble leaving comments on the blog. Please let me know if you try to leave a comment and get an error message. I have an idea why this is happening—Das Blog has some defects in the way it handles multiple time zones—and I need more data. Thank you.
From 5pm Thursday until 9pm Friday, machines hated me. I do not know why. Thursday afternoon, I added my dear mother to my mobile phone plan. This is her first mobile phone. I suppose she was waiting until they perfected the technology. Clearly they haven't; but my carrier, T-Mobile, uses GSM technology, which is the most advanced available commercially at this time. Clearly, however, giving my mother a mobile phone caused the Anti-Technology Gods to frown upon me. First, T-Mobile deleted my voicemail...
Correction, 25 January 2006 12:00 CST/18:00 UTC: The problem described below turned out to be a bad individual camera. Logitech was great, replacing the bad camera with a new one, no questions asked. The new camera has been running without interruption for several weeks now. The original blog entry follows: I can't believe how much time is being sucked away from me by this broken Webcam problem. I am now on hold with Logitech, and though my call is very important to them, they are experiencing...
No real entry today and no entry at all yesterday because I was helping my mom move. However, all of the pieces of the Inner Drive Technology Comprehensive Testing Facility are in, so we should complete construction tomorrow morning or, possibly, on Saturday. Photos will follow.
The Inner Drive Technology Testing Lab at IDT World Headquarters is nearly complete. Today we have a fully-functional, multi-computer testing lab. We'll be moving some computers around probably next week, and we expect to add a chair or two. We may also put some maps up on the wall, because we love maps. Here's the nascent facility:
A code smell happens when a piece of software code looks like there might be something wrong with it, but you can't quite tell what. You use the smell to figure out where the bad code is hiding. Martin Fowler has devotes an entire chapter of Refactoring to code smells. Here is an example, from a class that returns configuration information: public string Read() { ... } public double ReadD() { ... } public int ReadN() { ... } public string ReadString() { ... } What's wrong with this code? Several things...
Addendum to my previous reading list. I'm now reading Microsoft's Framework Design Guidelines, written by the guys who wrote the .NET Framework. Add this to my list of recommended books.
Read, understand, and then fix your compiler warnings. Compiler warnings let you know that you've either done something wrong, or you've done something non-standard. Either way, ignorning compiler warnings shows a lack of discipline and skill; it's something like ignoring big red "warning" signs in real life. I'm working on a .NET solution that, when last compiled, generated over 60 warning messages. A couple of them I put in to let other developers know about problems I found, but most warned about...
I just finished Garbage Land, leaving only about a dozen books on my reading stack right now. Highlights: Why is this in the Software category? Because better wetware means better software. It's important to read widely in order to write better, whether your language is English or C#. Read as much as you can, about anything that interests you. Limit your professional reading to 50% of your total no matter what (but shoot for 25%). The more you know about things outside your profession, the more you can...
Aha. In ASP.NET 1.1, you need to have a folder called aspnet_client\system_web\{.NET version} under a Web application's root in order for Javascript to work. In ASP.NET 2.0, you don't. And in fact, on a server (like mine) where both versions are running side by side, having that folder causes Javascript to fail in some browsers on the ASP.NET 1.1 sites (like this one). This means comments are working now. But I'm still going to install Community Server, though I probably will keep Das Blog now. (For the...
I finally bit the bullet and downloaded the Visual Studio 2005 CD images from Microsoft, and installed the latest runtime on my Web server. Only one site broke: Hired Wrist, my dad's site, which I just now fixed. That's not bad. Usually upgrading hoses everything. Hired Wrist broke (gracefully, I should point out; only the graphic headers were affected) because the released version of ASP.NET 2.0 handles page names slightly differently, which caused my resource-based graphics handling to fail....
I've just spent the past four and a half hours trying, and failing, to get Microsoft SharePoint installed and running. I think the .NET 2.0 Beta runtime on my main server is screwing things up. I think this because, for example, other people have gotten SharePoint running without a problem, and my Das Blog difficulties only seem to affect this server. (I got Das Blog running on a laptop—which doesn't have .NET 2.0 on it—just fine.) Why doesn't stuff just work?
I'm all ready to start testing two open-source prouducts that are built for .NET 2.0, which was released about two weeks ago. I can't yet because I don't have the final version of .NET 2.0 yet; I still have the final beta, and these open-source projects won't run on the beta. My company subscribes to Microsoft Development Network, which gives us just about everything they sell, plus all the beta-test versions. They also have a site from which we can download anything we haven't received yet. So today...
About every five years I learn something about my craft. This is an average; the last seismic shift happened in 2002, but the one before it happened in 1995. It's happening again. This time, I'm learning how my craft gets in the way of my business. For the past three years (since the last time a two-by-four hit me) I've worked on the Inner Drive Extensible Architecture™, a comprehensive framework on which Inner Drive can build marketable applications. It's a masterpiece, in the way a fine, ornate table...
The Code Project has today publicized details about Sony's DRM CreepyWare that lets Sony know what CDs you're listening to. It also hides in the bowels of your Windows operating system and can't be un-installed without downloading a buggy patch from Sony. I'm all in favor of protecting copyrights. But this is creepy, and more offensive than the Mickey Mouse Protection Act of 1998. Update: The L.A. Times has the story now.
(Last post for now.) Anne just sent me a link to a very cool application. That is all. Update/Clarification: Anne found this to aid her writing, not because there's any special news from our family. But thanks for asking.
I have to give up on converting dasBlog to .NET 2.0 for now. The ASP.NET model has changed significantly from 1.1 to 2.0, breaking every single page in the application. In other words, many of the techniques developers used for making pages do interesting things in 1.1 simply don't work in 2.0, because the system doesn't work the same way. I may have missed something simple—but I don't think so at the moment. So I think all of the pages in the application need to be changed in order to make it work. In...
I plan to use this blog to discuss software architecture and construction, using various Inner Drive Technology projects as examples. (I may also use client projects as examples, with the names changed to protect the guilty.) Company projects Inner Drive Technology Company Site Most of the upcoming changes to Inner Drive Technology's public site are minor, except that the demonstrations will become gradually more interesting. Also, I plan to cross-post the Software part of this blog to a new one under...
Note: These "site news" historical posts come from the original data sources in the proto-blog that debuted on the Q2 website in May 1997. Thursday 5 March 1998 S-IWS Goes Away The Self-Indulgent Website will disappear from view for a while when Q2 Inc.'s web server loses Internet connectivity sometime on Friday March 6. The Self-Indulgent Website Will Return!
Note: These "site news" historical posts come from the original data sources in the proto-blog that debuted on the Q2 website in May 1997. Thursday 1 January 1998 Dave gets pager (19:30 EST) Your web designer’s employer, Q2, has provided him with a pager for an indefinite period. If you don’t already have the number, call or email Dave to get it. Q2 gets yet another voicemail system (19:40 EST) Q2, your web designer’s employer, switched last week to a Bell Atlantic voicemail system that works. You will...
Copyright ©2026 Inner Drive Technology. Donate!