hrbrmstr's Daily Drop

Share this post

2022-08-29.01

dailyfinds.hrbrmstr.dev

2022-08-29.01

gping; Visualizing Codebases; arxiv2notion

boB Rudis
Aug 29, 2022
2
1
Share this post

2022-08-29.01

dailyfinds.hrbrmstr.dev

Let's start the week with a refresh of a foundational command line tool, a new way to view codebases, and something to help you/your team organize research links.

gping

When there's a need to investigate network issues, the "ping" command line utility almost types itself for most of us. Most hosts/devices are configured to honor to these Internet Control Message Protocol (ICMP) messages, and this simple echo request/echo reply exchange lets us know if the receiver's network stack is up and how much Comcast (feel free to substitute your own ISP hate target) has screwed up their network that day.

With ping you eventually get a wall of text to run mental distribution calculations on. This is fine, but we can do better. Enter gping. With gping, you'll get a live, text-based chart of all hosts you enter on the command line. The example in the section header was generated by

gping 8.8.8.8 9.9.9.9 1.1.1.1 

(testing the connections to three major DNS providers). The scales auto-adjust, and you can pick the colors you like the most vs leave them to the built-in sequence.

You can also use gping to graphically benchmark program execution via the --cmd option. Unlike the default "ping" functionality, you can only benchmark one command with this option. Here's a snapshot of my weatherkit command line utility, showing a fairly consistent response time from Apple's REST API servers:

gping --cmd weatherkit

And, that's it! No "options DoS" with gping. It's a highly focused utility that works great on all platforms.

Share

Visualizing Codebases

This GitHub Next project tries to answer the question: "How can we "fingerprint" a codebase to see its structure at a glance?", and walks through some traditional examples of how to get an overview of a directory tree of code. Then, it drops a bit of circle-packed crunchy goodness via the repo visualizer tool.

To see it in action, just hit up this free Azure app which lets you enter any ⁣owner/repo reference and kicks back an interactive circle-packing explorer view. The section header image is a screen capture of the awesome Pandoc repo.

And, you're not limited to just an online tool. You can add an SVG of your own repo to your project via a GitHub action the GH team has made available. This is a demo of it, and adding it to your own project is as straightforward as:

  • creating a new GitHub Action by adding a .yml file inside the .github/workflows directory. For example: .github/workflows/create-diagram.yml

  • adding the actions/checkout and githubocto/repo-visualizer Actions; and,

  • adding the diagram image to your README: ![Visualization of the codebase](./diagram.svg)

Once you push, you can watch the GHA run in the Actions tab of your repository. Within a minute, you should have a visualization of your codebase in your README.

These "do one, focused thing well" resources are the bees knees.

Leave a comment

arxiv2notion

Photo by ilgmyzin on Unsplash

You can skip this if you don't use Notion for personal notes or team/company knowledge management. Notion is like Obsidian and all the other "linked markdown notes" programs/services out there.

Most readers are familiar with arXiv, a "free distribution service and an open-access archive for 2,117,633 scholarly articles in the fields of physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering and systems science, and economics."

If you're in a team that's researched-focused, you likely stalk arXiv for new and interesting papers aligned with your research priorities. We care quite a bit about new data science and cybersecurity research at GreyNoise, and we use Notion, so this open-source extension will be helpful in automagically maintaining an arXiv collection. The setup is a bit klunky, but it works and will save me just enough time to risk having another extension installed (seriously, try not to use browser extensions, they're mostly security risks these days).

FIN

We stated out with a ping and we'll leave you with:

traceroute 2001:bc8:3eff:c0::ff

If you aren't IPv6-capable or don’t feel like installing `traceroute` (for many OSes, it’s not part of the included batteries), then you can read the output here. Quite the clever way to separate one's self from a semi-crowded talent pool. ☮

1
Share this post

2022-08-29.01

dailyfinds.hrbrmstr.dev
1 Comment
Jan Katins
Aug 29, 2022Liked by boB Rudis

Thanks for reminding me to setup a web clipper for obsidian :-) Went with https://github.com/coddingtonbear/obsidian-web

Expand full comment
ReplyGift a subscriptionCollapse
TopNewCommunity

No posts

Ready for more?

© 2023 boB Rudis
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing