The Firehose Method of IT Support

Even the most tech-savvy among us have had to look up some issue here or there; it’s the nature of the tech beast. This article will briefly cover an especially egregious example of how bad tech support can be from Microsoft’s very own “Answers” blog.

A firehose overwhelms, inundates. Likewise, to “support” a user by firehose, is to drown them in possible solutions in the hopes that one works, or, more likely, the victim tires of the whole endeavor and just puts up with the problem.

The Case of the Hidden Mouse Cursor

This specific cretin originates from a *design choice* included with the infamous Windows 8. The patchwork that brought that OS to the one we have today is incomplete, to say the least. A vestige of this harebrained scheme to make every Windows machine look like a tablet is to hide the mouse cursor by default, despite nearly every single PC using a mouse during every single session. (Of course, in the future, we will all be using our computers upright, hands, wrists, and elbows dangling in the wind to limply nudge at shiny, flipping boxes on our screens with one finger at a time. Designers call this hip, new fad, “gorilla arm fatigue and injury”.) Yet, here we are, a decade later, without any option to change this behavior. All you can do is wiggle the mouse after the computer starts up. This is where Microsoft Answers comes to the rescue.

A user asks: “Mouse pointer invisible upon startup until mouse is moved”, how to change this behavior?

Microsoft Answers: “It doesn’t sound right,” and recommends a laundry list of steps to take. First, choose a mouse scheme. Maybe a different color will help forget your problems? Then, try every other USB port on the computer. “When did it last work correctly?” Never. Change the batteries anyway. Try the mouse in another PC. Try another mouse in this PC. Update the driver *and* roll it back. Uninstall the driver, then reboot and reinstall the driver without a mouse. Uninstall any mouse software. Reinstall drivers manually from manufacturer. Repair Install from Media Creation Tool. Finally, re-install Windows. Nuke and pave, baby.

I won’t dog on this support person too hard, but this answer could have been infinitely more helpful by just admitting the request can’t be fulfilled. To hide the mouse on boot is an intentional design choice. An attentive user can figure this out. Sometimes you just need to stop and smell the mouse cursors from time to time.

NFT’s – Collectible Media and Blockchain

Explaining non-fungible tokens and their significance.

Note: For the purposes of respecting the value of the assets, I will not be sharing any images on this post. This is also to say there is nothing else stopping me.

Non-fungible tokens (NFT’s) have garnered much discussion over the past few months. NFT’s are irreplaceable media, often providing limited ownership or rights upon purchase. Their transactions are based on blockchain.

To explain how this works, let’s look at baseball card collecting. The sport is popular, and some of the collectibles are rare or sentimental, therefore, some are exceedingly valuable. Whether a card is genuine or fake can be determined using many processes, from using black lights, to the examining printing dots under a magnifying glass. Couldn’t you just appreciate pictures of the cards and save yourself millions of dollars? Collectors would tell you that isn’t the same.

Similarly, NFT’s are of limited supply, often modern artwork. Genuine NFT’s are backed by blockchain, a cryptographic network that verifies the identity of an object, and the transaction that took place. To verify the authenticity of an NFT, you only have to follow its digital paper trail.

Could this be a new avenue for artists to earn money, and for aesthetes to show support? The answer is yes. Artists determine the supply and initial price, and make money from 10% of the futures of the NFT’s in some cases. This means that as the art becomes more valuable, the artists are directly paid.

Will NFT’s be the new must-have collector’s items? They already are. The creator of tech giant Twitter sold his first micro-blog on the site as an NFT for $2.9 million. Maybe people are buying in the hopes to sell for more. Maybe some people just want to feel they own a piece of history. Regardless, an earthly reminder is of the right-click “Save image as…” feature on our browsers.

To me, NFT’s seem like cryptocurrency with tangible upsides; still a speculative asset, but with real-world uses. This is definitely something I will continue to keep an eye on.

Nutrition Data Storage Hypothetical

How much data does food require in the United States? Well, let’s find out. I’ll be using C, since it’s the lowest-level language many programmers are comfortable with, and it is plenty efficient enough to handle this task.

The data required for one label can be expressed in a C struct with 42 data items, including everything from vitamins, to brand name, to serving size. These are all the data points that are found on Nutrition Facts labels that cannot be reasonably calculated otherwise. This data structure is a type that is used to contain and manage many variables that contain the same structure of data.

I calculate 224 bytes per nutrition label using the C sizeof() function to account for language-dependent padding:

  • 50 letters each for food and brand names (100 bytes)
  • 10 letters for serving size and total units (“container” being the longest) (20 bytes)
  • 14 32-bit floating point numbers for decimal-significant numbers (56 bytes)
  • 2 32-bit floating point numbers for servings, to convert to fractions on the label (8 bytes)
  • 24 unsigned 16-bit integers (unsigned shorts) for numbers between 0-65,535 (48 bytes)

The original code can be found here: https://fwylupek.com/code/nutrition_data.c

You might be wondering where the calories have gone. The macros fat, protein, and carbs will be used to calculate calories. Protein and carbs each account for 4 calories per gram, while fat is 9 calories per gram. Percentage of daily values will also be calculated, especially since they are prone to change over time.

So then, how many labels are needed? Open Food Facts maintains a collaborative database of 347,507 foods in the United States alone, at the time of writing. This should account for about 20 years’ worth of food, seeing as the USDA records about 20,000 new foods per year.

347,507 labels at 224 bytes each equals 77,841,568 bytes, or 74.24 megabytes of data! Is that more or less than you expected?

Greenshot

A free, feature-rich open source screenshot application for Windows.

Ah, today is a good day to write about open source software. Let’s look at an increasingly normal workflow for people:

  1. click on Snipping Tool
  2. click “New”
  3. squint closely at the screen to select the desired pixels
  4. repeat steps 2 and 3 until the selection is correct
  5. click “File” > “Save As…”
  6. finally, choose a destination folder and manually rename the file from “Capture.PNG”
  7. repeat starting at step 2 for each selection

Snipping Tool is abandonware with a dated, cumbersome, limited interface. It supports only four file types, PNG, GIF, JPG, and the oft-ignored, and hardly supported MHT, without options for compression. Snip & Sketch at first seemed like a drop-in replacement with shortcut keys, but its lackluster, mobile-quality features and near to no options made it a non-starter for me, and a downgrade in some respects.

The Greenshot logo.

Well, let’s put those troubles behind us, because today I want to write to you about Greenshot: a free and open source screenshot software that supports selected region, window, and fullscreen screenshots. Greenshot has too many options to list here. However, it solves every problem I outlined with the Microsoft alternatives, and goes so much further.

Here’s a quick rundown of my favorite features, which are always just one rebindable hotkey away:

  • a magnifying cursor for precise selection
  • output options, including filename formatting, and a compression slider
  • external commands
  • integration for services such as Flickr, Imgur, and MS Office
  • a handy context menu for quick preferences
  • an editor with shapes, text, copy, paste, and more!
Snipe those borders perfectly with this brilliant magnifier.

Please, allow me to take a moment to appreciate using a single file for settings. Greenshot uses a single greenshot.ini file, meaning migrating or backing up my preferences is as easy as copying one file.

I highly recommend checking out the official Greenshot.org, or its git repo. I give this application 10 “quality desktop tools made for this decade” … out of 10.

Wen

How and why I created Wen: Chinese Character practice.

Image of farmland between mountains on a foggy day.
The view from the train window.

On a train ride from Hangzhou to Guilin, China, I began writing a program to help learn Chinese characters. The idea is simple: present a character on the screen, with or without Pinyin, and the user will input the translation. The program presents a score at the end.

This original Python iteration uses dictionary files with comma-separated components: the Chinese character, the Pinyin with tone numbers, and the definition separated by forward slashes (“/”). An example would be:

零, li2ng, 0/zero

The program then splits up each section, replaces the tone numbers with diacritics (i.e. “líng”), and compares user input to each instance of the definitions. You can look at the code for this original command-line version here.

However, this is the year 2021, and users, including myself, expect an application like this to have a graphical interface, perhaps even over the web. I would even venture to say that some among us would even launch the program on their phones. Ask no more, the online, user-friendly version can be found here, and a live version is hosted here.

What began as a curious venture into the uncharted world of JavaScript, the aptly-named Wen Online is the culmination of my week-long journey of learning the language. Wen Online features state-of-the-art drop-down menus and bleeding-edge submit and review buttons.

Rendered in the beautiful default browser font, this program is lightning-fast and just sips data at 2-3 kilobytes per chapter (excluding the > 500 word cumulative exam, clocking in at a whopping 57 kilobytes).

All jokes aside, I have worked on larger projects, and for longer, but Wen has been the one I am most proud of. Chinese is a notoriously hard language to learn, and after studying for more than 5 years, I still have light-years to go. I personally use Wen multiple times per week, and have found it to work better for rote memorization than anything else, including flashcards. I think this is because of the need for input, further securing my memory through typing.