Silicon
I've been a fairly religious user of Carbon, the service and CLI utility that makes pretty images out of source code. It works great, but I'd rather not depend on an external service, and the CLI utility is less than optimal, and is written in javascript. The JS part isn't terrible, but I'd much rather a thin, compiled binary.
Thankfully, Aloxaf seems to have wanted the same thing and has built a Carbon-like CLI utility in Rust, and cleverly named it Silicon.
The section header image is an example of the output, and it has many options:
including the ability to take input from stdin and shove the output to the clipboard, and support the use of configuration files.
Aloxaf's blog is also something worth a visit, if only for the zsh
article series. Google Translate works well on the text.
HEAT
Saying it's been a hot summer in much of the Northern Hemisphere is an understatement. I recently discovered two heat-related resources by the U.S. government:
The National Integrated Heat Health Information System — https://www.heat.gov — an initiative that identifies needs for extreme heat services, develops science-based solutions, and leverages partnerships to empower communities with improved communications, capacity building, and decision-making.
— The CDC's Heat & Health Tracker — https://ephtracking.cdc.gov/Applications/heatTracker/ — which provides historical and recent local heat and health information, so communities can better prepare for and respond to extreme heat events.
The HEAT-dot-gov site's prominent map (which is also the section banner image) has polygons for areas with watches/warnings, and the colors reflect the maximum daily temperature of a given area. As of this edition's publish date, 47,359,558 humans (~14% of the U.S. population) are within extreme heat warning areas today.
On the CDC's site, the "Heat-Related Illness and Temperature map" shows the rate of emergency department (ED) visits associated with heat-related illness (HRI) per 100,000 ED visits by region and is updated daily. The CDC has quite a bit of heat-related data for y'all to crunch on.
Climate change is real, and it's good to see the adults in this administration doing something to help prevent needless suffering and death due to heat-related illnesses and conditions.
Both sites have quite a bit of information to explore, and I may do a separate blog post (or two) on the data and will likely wrap some of it in an R package.
Destination Unreachable
Since we discussed packet captures yesterday, it seems like a good time to drop this blog post — ICMP, Ping, and Traceroute - What I Wish I Was Taught — by Mdxkln (@mdxkln) into an edition.
Here's the setup for why you should read the article:
Most traffic on the internet is encapsulated in either TCP, or UDP. Ping however uses a protocol called ICMP. ICMP is a diagnostic protocol and has a number of different message types, each one responsible for communicating a specific event - be it a ping request (called an Echo Request), a ping reply (called an Echo Reply), or a number of other diagnostic results.
Each message type consists of two fields, a Type field, which is a general grouping of similar sub-types, called Codes. For example, the Destination Unreachable type contains multiple Codes, one of which is 1, which maps to the message Destination host unreachable.
The returned ICMP message can give us clues as to what is actually happening. Destination host unreachable is very different from Request timed out. The first indicates we don’t know how to get to a network, the second that we do, but there was no response.
Further, the system that replies with a Destination host unreachable is the system which doesn’t have a path to the requested network - so you immediately know where to start looking.
Let’s dig a little deeper into this because it gets interesting.
Give it a 👀 and commence smarter pinging and tracerouting.
FIN
Shout out to all my PacNW mates who are sweltering this week. Keep cool! ☮