David Vedvick

It's been coded

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:

  1. Topical content? Mastodon.
  2. 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

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:

  1. 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.
  2. Simulate summer weather braking during winter weather
  3. 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?

German Elevator

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