Creating a macOS application bundle

I really like the Crusader network test application for measuring network throughput and latency. It’s cross-platform and provides a useful reference for network measurements. But the macOS binary opens a Terminal window that’s confusing and “gets in the way”. Furthermore, you have to know which binary to use – Intel or Apple Silicon.

I decided to create a double-clickable “macOS application bundle” that hides the unwanted stuff and launches the proper binary file. In addition, it now has a nice icon file.

It turns out to be pretty straightforward to make the bundle. Even though the bundle isn’t signed (and needs to be granted permission to run the first time), it operates exactly as desired.

I put the process into the create-crusader-macos-app repo. The script shows how to combine all the pieces – downloading the binary file(s) from its own repo, the Info.plist file, the .icns that contains the icons, and a startup script that are required for the bundle.

It’s now easy to build the app anytime a new version gets released.

qStudio & PRQL – a pretty good match

I’ve been following the progress of qStudio – a SQL IDE that runs on Windows, macOS, and Linux. It’s great for running SQL queries against a database. I haven’t used its Pulse features to create real-time graphs of live data, though.

My use of qStudio is driven because it includes the PRQL compiler that takes a modern query language and compiles it to SQL statements. The qStudio IDE allows me to write straightforward PRQL queries and immediately execute them against my SQL database.

Quick Start: My friends want to pick through some of the SQL data we’ve collected for a project. I wrote a series of tutorials that show how to get started using qStudio with PRQL. They are at https://github.com/richb-hanover/qStudio-PRQL_Quick_Start

Installation: There’s a pretty good qStudio installer for Windows on the Downloads page. And the .jar file seems to work fine on Linux. But it’s a bit of a pain to run the .jar file on macOS. So I created a macOS application bundle for the combination of qStudio and PRQL. You can download the macOS file from: https://randomneuronsfiring.com/wp-content/uploads/qStudio.zip Check the Quick Start #2 for details on approving it to run on macOS.

WPNTFIIWDKIB

We promise not to fix it if we don’t know it’s broke. My mentor at Dartmouth College, Stan Dunten, said this all the time.

That’s why I always send in short reports to webmaster@…. mentioning something that didn’t look right. Most of the time it’s something silly. And sometimes I get a heartfelt “Thanks!” because I pointed out a real problem.

Save money while keeping latency low

I often hear people saying they have bad responsiveness / high latency on their high-speed internet connection. Even though they have a contract for 500 mbps+ service from their ISP, a speedtest shows high ping times when the link is loaded.

The answer is well-known – install a router with SQM that knows how to control latency (“bufferbloat”). But… they counter, a router to handle my high-speed network is expensive! And that blows out my budget!

I posted a contrarian viewpoint in a post on the OpenWrt forum:

Save money and purchase a 250mbps to 350mbps connection and use good SQM (for example, the IQrouter v3, or any reasonable performance OpenWrt compatible router.)

Unless you’re unusual, and the transfer speeds of your bulk up/downloads are unacceptable, it’s likely that a lower speed to your ISP with a modestly-priced router that controls latency will make you just as happy.

Not only will you save money with a less-expensive router, you save every month with a lower ISP bill.

uBlock Origin and other blockers

Many people are surprised to hear that their web browsing doesn’t have to be crowded out by intrusive ads. There is an entire industry of “ad blockers” and “content blockers” that claim to fix this.

uBlock Origin is the one I use. Its author, “gorhill” states that it’s Free. Open-source. For users by users. No donations sought.

Accept no substitutes! The other products carry names that combine the words “ad”, “block”, “guard”, “plus” and a whole host of synonyms. And I wouldn’t trust any of them – they all come with with strings (or fees) that make them less than perfect.

For Chrome or Firefox:

  • To install uBlock Origin, Google “ublock origin” (use that exact phrase) and then click the link for “ublockorigin.com
  • Follow the instructions

For Safari:

  • uBlock Origin is no longer available for Safari
  • Use AdGuard for Safari. It’s also free, and seems to follow the same ethos as uBlock Origin. (Tested with current Safari on 12Feb2023).
  • For a state of uBlock Origin for Safari, and the recommendations that lead me to AdGuard for Safari, see https://github.com/el1t/uBlock-Safari/issues/158

For Other Browsers:

Astonishing Lidar View of NH

The NH Stone Wall Mapper project uses Lidar data to display small variations in ground elevation. A UNH project built this map to identify stone walls in the state.

This site can be “misused” (in a good way) to show lots of other topographic features. Here’s a “Lidar view” of the grounds of Loch Lyme Lodge, near Post Pond. The features are shaded as if the sun were shining from the northeast. (Update: 31 Dec: Thanks to the good folks at the NH Geological Survey, the link now goes directly to the desired view!)

But wait… there’s more! You can turn on and off various “layers” to see other kinds of information. To do this:

  1. At the top-left, click the Layers Icon to display various layers
  2. Check on or off the Hillshade box to “show or hide the trees”…
  3. Click the More… icon to enable other features, such as the “Swipe Layers” that lets you compare two layers…

So much fun – play around!. Turn on/off layers, scroll to other parts of NH. If you find something interesting, send me a note and I’ll post it. Enjoy!

Transmission of Covid-19

A friend (thanks, Ted!) directed me to a nice science-based article that assigns some probabilities of risks of transmitting a disease like coronavirus. The author highlights two major scenarios:

  1. Warm body transmission: how far apart should you be from other people if you want to avoid transmission from another “warm body”
  2. Surface-based transmission: what precautions should you take when you go somewhere that others have passed through recently.

You won’t be surprised by the takeaways:

  • 6 foot distancing is good
  • wearing a mask is good
  • washing hands is good

…but some of the discussion and details are interesting. View the full article at Medium.