January 23rd, 2023
A fun read on the history of the metric system and the US: It's been 230 years since British pirates robbed the US of the metric system.
January 6th, 2023
Code should read from the top down, and it should tell you as soon as possible when you can quit reading.
January 5th, 2023
Now that the value of posting on a "status update" site has lessened (Twitter), I'm happy with splitting my posts between two different mediums:
- Topical content? Mastodon.
- Other content? My notes.
Note posted on Friday, January 6, 2023 4:23 PM CST - link
December 29th, 2022
It took me a long time to realize the Rx libraries [0] are most useful for UI state and not useful for data access (and perhaps even harmful). For data access, traditional pulling/enumerating methods should be used, but for UI state, Rx observables are downright magical.
[0] "Rx Libraries" refers to the libraries published on https://reactivex.io/
December 12th, 2022
One area where software testers can add value is in providing an external voice questioning software requirements. I think this value addition is best achieved when the tester is truly neutral to the product.
Note posted on Monday, December 12, 2022 3:02 PM CST - link
November 13th, 2022
The power of the Fediverse is that there can be a mastodon instance that has all verified, paid accounts, and there can be instances that are all anonymous accounts. The biggest risks I find with the Fediverse concept is that governments can more easily pressure, infiltrate, etc. small instances, not that this doesn't happen with Twitter as well.
Anyways, my Fediverse account is on Fosstodon now.
November 3rd, 2022
Microsoft has a command line upgrade assistant to help with porting .Net framework to .Net core now - https://dotnet.microsoft.com/en-us/platform/upgrade-assistant. I wish this had been available when I ported 60+ .Net framework projects to .Net core 2.2!
Note posted on Thursday, November 3, 2022 6:26 PM CDT - link
October 13th, 2022
Software is too easy to change, which makes it easier to make breaking changes. This is another reason to add unit tests - to make code that is performing its function hard to change in the wrong ways.
October 9th, 2022
project blue File Properties Editor
The file properties editor should popup a dialog when a certain property is touched, and the user should then have to initiate editing by clicking a button - it should be difficult to change such data through a User Interface.
Integration Tests
An issue with higher level integration tests is that the implementation of a method becomes intertwined with its usage.
Note posted on Sunday, October 9, 2022 10:58 AM CDT - link
September 16th, 2022
- TODO: Register the project blue File Details activity for mime-type
application/x-mediajukebox-mpl
.
September 14th, 2022
One day, the ultra wealthy, taking the baton from generations of the ultra wealthy who preceeded them, will attach giant rockets to the earth's moon and fly away, living their lives in hermetically sealed environments and enjoying the Earth as they thought it should be in their VR metaverse. In true keeping with their predecessors, they will leave cleaning up the mess created by their action to the less fortunate left behind (losing the moon would destroy Earth's ecology in many ways). I have a hard time deciding whether I am making a joke or not 🤔.
Note posted on Sunday, October 9, 2022 10:53 AM CDT - link
August 20th, 2022
MUT = module under test. Fun to write, read, and say, and generic enough to describe any level of test, while also specific enough to connotate this is local code under test. Also, a "mutt" is a canine breed of many different types, which I think fits well with "module under test" as well.
August 18th, 2022
A defect is ordering a Big Mac with Cheese and receiving a Big Mac without any cheese. A critique is saying "boy this sandwich could really be improved with some barbecue sauce." This may seem obvious, but the latter is not a defect, it's a new requirement.
August 17th, 2022
Presentations follow a general format of 1) give presentation, and 2) question and answer. If the same presentation is presented multiple times to different audiences, then the Q&A tends to differ, out of which a "Frequently Asked Questions" list can be compiled. I wonder if there's a way to formalize this approach with existing presentation software (Powerpoint would be nice, but it would be easier to build something off of OS Markdown based presentation tools).
Note posted on Wednesday, August 17, 2022 10:59 AM CDT - link
July 7th, 2022
Simple things Tesla could do with their overpowered CPUs and GPUs to improve the driving experience:
- Range estimation based on weather, simply requires data (of which they have plenty) and regression models, using temperature, windspeed, and altitude changes as an input. To make it fancy, they could adjust it based on predicted temperature along a route, but while technically feasible, this might be a major pain. To make it even fancier, they could add component lifetime as an input. All of this is hard with traditional rule-based systems, but should be natural for machine learning. Supposedly, Tesla has a supercomputer creating advanced ML models that could easily create this kind of model.
- Simulate summer weather braking during winter weather
- Predicting component lifetime, detecting car problems ahead of time
Note posted on Wednesday, July 6, 2022 7:17 PM CDT - link
June 30th, 2022
If you think today's Wordle was hard, try using WPF transforms.
June 23rd, 2022
I have a sneaking suspicion that Intuit is actively trying to kill Mint with the ever-increasing number of authentication steps.
Note posted on Wednesday, June 22, 2022 7:17 PM CDT - link
Language Features and Inescapable Implementation Details
My main gripe with async
/await
in .Net, which makes the use of Task
objects to look more similar to procedural code, is the recommendation that when using await
in a library package, Task.ConfigureAwait(false)
should be used in order to ensure the task doesn't continue on the called context. This is to prevent deadlocks on single-threaded synchronization contexts such as UI synchronization contexts.
An alternative approach to ConfigureAwait(...)
could instead be syntax that improves the usability of synchronization context switching. Something like this:
// New keyword "on", that then expects a synchronization context afterwards
var result = await longRunningProcess() on UISynchronizationContext;
This would have the benefit of giving the application developer improved control in the behavior of their app, while reducing the burden on library developers to make their async/await code "safe" for consumption.
I think this is a more general problem for any programming language introducing a concept meant to paper over the "hard stuff": invariably, the "hard stuff" creeps up, unless the sugary feature is very well thought out and future looking. And in the end, it seems the solution to the inescapable implementation details of syntactic sugar is introducing more syntactic sugar. I think there's a lesson here: for a new language feature to have successful adoption, it needs to minimize harm and maximize helpfulness...
Note posted on Monday, June 20, 2022 10:25 AM CDT - link
June 18th, 2022
A very unexpected lunch of parades and airplanes while getting a meal from one of my favorite places in St. Louis Park, MN!
June 16th, 2022
The only business model that can apply to software that receives continuous updates is a subscription or subscription-like model.
June 10th, 2022
Is all German flooring 0-based?
June 8th, 2022
Many websites use location based localization, so if you visit a site from another country, even if you frequently visited it from your home country, it will assume you're a speaker of the destination country's language.
June 4th, 2022
Writing should be a (simple?) joy in order to encourage its use (something Twitter gets right by limiting the number of allowed characters)
June 3rd, 2022
project blue file details control buttons
- Clicking on a file from a list should show file details
- When viewing from "Now Playing"?
- Show "pause" when a file is playing
- Show "play" when a file is paused or not playing (and it is in now playing file details)
- When viewing from elsewhere:
- Show "pause" when a file is playing
- Show "play with playlist" button when not playing?
Large societies have trouble with minority groups due to herd mentality writ large?
Note posted on Tuesday, May 31, 2022 7:00 PM CDT - link