Monitoring Legible News

I was sent a link to Legible News last November by someone who had read my post on the now-defunct Breaking News. Legible News is a website that simply scrapes headlines from Wikipedia’s Current Events once per day and presents them in a legible format. This seems like a simple thing, but is far beyond the capabilities of most news organizations today.

Legible News provides no update notification mechanism. I addressed this by plugging it into my urlwatch system. Initially this presented two problems: the email notification included the HTML markup, which I didn’t care about, and it included both the old and new content of every changed line – effectively sending me the news from today and yesterday.

The first problem was easily solved by using the html2text filter provided by urlwatch. This strips out all markup, which is what I thought I wanted. I ran this for a bit before deciding that I did want the output to contain links. What I really wanted was some sort of html2markdown filter.

I also realized I did not just want to be sent new lines, but every line anytime there was a change. If the news yesterday included a section titled “Armed conflicts and attacks”, and the news today included a section with the same title, I wanted that in my output despite it not having changed.

I solved both of these problems using the diff_tool argument of urlwatch. This allows the user to pass in a special tool to replace the default use of diff to generate the notification output. The tool will be called with two arguments: the filename of the previously downloaded version of the URL and the filename of the current version. I wrote a simple script called html2markdown.sh which ignores the first argument and simply passes the second argument to Pandoc for formatting.

1
2
3
4
5
6
7
#!/bin/sh

pandoc --from html \
--to markdown_strict \
--reference-links \
--reference-location=block \
$2

This script is used as the diff_tool in the urlwatch job definition.

1
2
3
4
kind: url
name: Legible News
url: https://legiblenews.com/
diff_tool: /home/pigmonkey/bin/html2markdown.sh

The result is the latest version of Legible News, nicely converted to Markdown, delivered to my inbox every day. The output would be even better if Legible News used semantic markup – specifically heading elements – but it is perfectly serviceable as is.

After I built this I discovered that somebody had created an RSS feed for Legible News using a service called Feed43.

Wired is running an editorial arguing that the 10,000-year clock is a waste of time (get it?).

The thrust of the article seems to be that the world sucks today, and that building a monument to inspire long-term thinking is a waste of resources – “a pleasant distraction” – since everybody alive today will be dead before any good comes of it. Which, I don’t know, seems like it’s sort of the point.

There’s plenty to criticize about The Long Now – I swing by The Interval once a year or so, always hoping that it will have become an interesting place to spend time and always leaving disappointed – but I don’t think the idea of the clock is one of them. The rate of progress on the clock(s) is another matter.

The article, however, reminded me of the idea of protopia, a neologism first coined by Kevin Kelly and lately championed – in a slightly different manner – by Monika Bielskyte.

Cloth masks are probably ineffective (at best) at preventing respiratory infection.

At worst, they may create a breeding ground for pathogens. A study of healthcare workers found that “moisture retention, reuse of cloth masks and poor filtration may result in increased risk of infection.” Stick with real N95 respirators, which may not look as hip, but do actually work.

Clothing provides shelter, cultural signaling, and the structure upon which other tools are carried.

I enjoyed EDC Part 0: The Individual Uniform at Swift, Silent, Deadly.

New Year, New Drive

My first solid state drive was a Samsung 850 Pro 1TB purchased in 2015. Originally I installed it in my T430s. The following year it migrated to my new X260, where it has served admirably ever since. It still seems healthy, as best as I can tell. Sometime ago I found a script for measuring the health of Samsung SSDs. It reports:

------------------------------
 SSD Status:   /dev/sda
------------------------------
 On time:      17,277 hr
------------------------------
 Data written:
           MB: 47,420,539.560
           GB: 46,309.120
           TB: 45.223
------------------------------
 Mean write rate:
        MB/hr: 2,744.720
------------------------------
 Drive health: 98 %
------------------------------

The 1 terabyte of storage has begun to feel tight over the past couple of years. I’m not sure where it all goes, but I regularly only have about 100GB free, which is not much of a buffer. I’ve had my eye on a Samsung 860 Evo 2TB as a replacement. Last November my price monitoring tool notified me of a significant price drop for this new drive, so I snatched one up. This weekend I finally got around to installing it.

The health script reports that my new drive is, in fact, both new and healthy:

------------------------------
 SSD Status:   /dev/sda
------------------------------
 On time:      17 hr
------------------------------
 Data written:
           MB: 872,835.635
           GB: 852.378
           TB: .832
------------------------------
 Mean write rate:
        MB/hr: 51,343.272
------------------------------
 Drive health: 100 %
------------------------------

When migrating to a new drive, the simple solution is to just copy the complete contents of the old drive. I usually do not take this approach. Instead I prefer to imagine that the old drive is lost, and use the migration as an exercise to ensure that my excessive backup strategies and OS provisioning system are both fully operational. Successfully rebuilding my laptop like this, with a minimum expenditure of time and effort – and no data loss – makes me feel good about my backup and recovery tooling.

humangear capCAP+

Ten year ago I discussed the humangear capCAP. My conclusion was: the capitalization of the brand and product name is stupid, the cap itself is a good upgrade to any wide mouth (63mm) bottle, but it will allow a few drops to leak out of a wide mouth Klean Kanteen.

Recently I was made aware of a new model: the humangear capCAP+. This one adds silicone gaskets to both parts of the lid, and boasts compatibility with a wider range of bottles. However, humangear explicitly states that this one remains incompatible with the wide mouth Klean Kanteen.

I like to live dangerously, so I bought the new model anyway. For a couple weeks now I’ve been using it on the same Klean Kanteen Wide 27oz bottle used in the previous review. Despite humangear’s warning, I have had nary a drop leak out from the cap. I have tried to make the lid leak by filling the bottle and storing it on its side, and by balancing the bottle upside down on the cap, but no water has escaped.

humangear capCap+

Other changes in the new model include redesigned grip cutouts, which I find to have made no practical change to the functionality of the cap, and a cap retention thing that I thought would be kind of a gimmick but is actually surprisingly useful. (I will point out that the full name of this feature is the “humangear capCAP+ CapKeeper”. Someone at this brand hates English.)

humangear capCap+

The new model weighs 56 grams (2 oz), which is 20 grams (0.7 oz) more than the original capCAP.

I’m happy with the capCAP+. If you have the original capCAP, and it doesn’t leak on your bottle of choice, it probably is not worth upgrading. If it does leak, consider trying the new one. If you have neither model, but you use a wide mouth bottle and rely on something like the Guyot Designs Splashguard, the capCAP+ may improve your life.

The Dutch Reach

When opening the door of a vehicle with your closest arm – the left arm when exiting on the left side of the vehicle, for instance – your body is positioned straight ahead. A turn of the neck is required to see the side mirror, and a twist of the body is required to clear the blindspots of the mirror. Both of these movements require explicit motivation. With the dutch reach, you reach across your body with the opposite arm – your right arm when exiting on the left side of the vehicle. This forces your body to twist. You are automatically positioned to see the side mirror, and only a slight twist of the neck is required to clear the mirror’s blindspots.

The dutch reach is marketed as part of bicycle safety. As a biker I appreciate this, but I think this is only a small component of the method. It is about situational awareness. Sitting in a parked car is a vulnerable positionexiting more so. It is rational to want to know what you are about to step into when exiting.

Perhaps rebranding it as “tactical vehicle egress” would promote wider adoption.

The Toothbrush and Its Maintenance

I like RADIUS toothbrushes. I use the Source at home and the Tour elsewhere. Both utilize the same replaceable brush head. Anytime you’re dealing with tools that have replaceable, consumable parts – whether those parts are batteries, magazines, or toothbrush heads – the compatibility of those parts across the different tools is critical to user sanity. Replaceable toothbrush heads are convenient in that they decrease waste and allow you to stock up on multiple years worth of tooth cleaning supplies in a smaller space than would be required by the same number of toothbrushes.

I find the RADIUS heads to be effective at cleaning, and my dentist seems to approve of the results. I use both the “soft” and “flossing” heads, with no real preference between them. My experience is that bristles of both last an unusually long period of time when compared to other toothbrushes. To fully take advantage of the potential service live, the bristles must be periodically cleaned. I do this by soaking the head in a solution of 3% hydrogen peroxide for 20 minutes, which has been proven effective by multiple studies. I do this every other week or so.

I have a few travel toothbrush cases similar to these left over from before I found RADIUS (the Source handle is too chunky to fit in these). Each case consists of two parts. One half has a small hole for ventilation. The other half has no hole. I fill this hole-free half with 1/2 oz of hydrogen peroxide, shove the toothbrush in head first (the fat part of the Source handle that doesn’t fit in the case sits above this half, so it isn’t a problem), and then place it in a mason jar to hold it upright on my counter. Of the random assortment of containers around my home, this half of a travel toothbrush case is what I found allowed me to completely soak the head using the least amount of hydrogen peroxide.

After soaking, the Source toothbrush is stored in a covered holder on my wall, which allows it to air dry while keeping it protected from assault by airborne turd particles.

The Source handle can be sterilized in my kitchen autoclave, but the replaceable heads and the body of the Tour become deformed if exposed to these high pressures. I usually just wash the Source handle by hand with my normal dish soap when I think of it. Mold can grow in the socket of the handle that the head is shoved into, so this does need occasional cleaning. I clean the body of the Tour the same way when I return home from a trip.

The Tour toothbrush (complete with head) tips my scale at 20 grams (0.7 oz). It is neither the lightest nor the most compact travel option, but the convenience of the form factor combined with having the functionality of a full-sized toothbrush when deployed and the commonality of the replaceable head with my home solution makes me uninterested in lighter and smaller options that invariably sacrifice convenience.

I’ve found that when purchasing 16 oz or 32 oz bottles of hydrogen peroxide the necks always have 28-400 threading, regardless of brand. This allows me to replace the lid with one of the sprayers I use for my all-purpose cleaner, turning the hydrogen peroxide bottle into a convenient tool for disinfecting things like counter tops and my toilet cleaning brush.