Jacob Zelko jacobzelko.com

A terminal-based workflow for research, writing, and programming

As both a researcher and a programmer, switching between word processors, programming environments and file explorers was a pain. In this blog post, I show how I streamlined this process to where I never have to leave my terminal to write papers in LaTeX and Markdown, run code snippets directly from my scripts to a REPL, and save sessions and layouts so in just a few clicks.

A terminal-based workflow for research, writing, and programming

Hardware clockworkpi.com

An open source portable terminal for every dev

DevTerm is a post-modern, digital minimalist lifestyle. The A5 notebook size integrates complete PC functions with a retro-futurism design, a 6.8-inch ultra-wide screen, classic QWERTY keyboard, necessary interfaces, high-speed wireless, long battery life, and even includes a practical thermal printer.

It even includes a printer?! This thing is bonkers. Pre-order today. Shipping “before April 2021”.

An open source portable terminal for every dev

Linux lists.busybox.net

Understanding bin, sbin, usr/bin, usr/sbin

This post to the BusyBox mailing list from back in 2010 was a fun read to get the backstory on bin, sbin, usr/bin, and usr/sbin.

You know how Ken Thompson and Dennis Ritchie created Unix on a PDP-7 in 1969?
Well around 1971 they upgraded to a PDP-11 with a pair of RK05 disk packs (1.5
megabytes each) for storage.

When the operating system grew too big to fit on the first RK05 disk pack (their
root filesystem) they let it leak into the second one
, which is where all the
user home directories lived (which is why the mount was called /usr). They
replicated all the OS directories under there (/bin, /sbin, /lib, /tmp…) and
wrote files to those new directories because their original disk was out of
space. When they got a third disk, they mounted it on /home and relocated all
the user directories to there so the OS could consume all the space on both
disks and grow to THREE WHOLE MEGABYTES (ooooh!).

Linode Icon Linode – Sponsored

Understanding Kubernetes: A guide to modernizing your cloud infrastructure

logged by @logbot permalink

Learn fundamental concepts of Kubernetes, from the components of a Kubernetes cluster to network model implementation. After reading this guide, you’ll have a working knowledge of containers and be able to jump right in and deploy your first Kubernetes cluster.

This is a free guide and available as an instant download with no registration required.

Start on Linode today and receive $100 in credit.

macOS 336699.org

Growl is being retired

A sad, but unsurprising day:

Growl is being retired after surviving for 17 years. With the announcement of Apple’s new hardware platform, a general shift of developers to Apple’s notification system, and a lack of obvious ways to improve Growl beyond what it is and has been, we’re announcing the retirement of Growl as of today.

Growl is one of the reasons I originally fell in love with the Mac. It belongs in the pantheon of open source projects that don’t merely cease to exist, but are so influential that they change the very platform they are built on.

Thanks to everyone who contributed to this amazing project over the years. 💚

Devon C. Estes devonestes.com

Three classes of problems found by mutation testing

Devon C. Estes:

It’s fairly common for folks who haven’t used mutation testing before to not immediately see the value in the practice. Mutation testing is, after all, still a fairly niche and under-used tool in the average software development team’s toolbox. So today I’m going to show a few specific types of very common problems that mutation testing is great at finding for us, and that are hard or impossible to find with other methods

He goes on to detail the “multiple execution paths on a single line” problem, the “untested side effect” problem, and the “missing pin” problem.

Medium Icon Medium

OpenStreetMap is having a moment

Joe Morrison on how OpenStreetMap has quietly become a core piece of open source infrastructure:

OpenStreetMap is now at the center of an unholy alliance of the world’s largest and wealthiest technology companies. The most valuable companies in the world are treating OSM as critical infrastructure for some of the most-used software ever written.

What a success story. Do you think it can be repeated?

OpenStreetMap is having a moment

AI (Artificial Intelligence) nullprogram.com

You might not need machine learning

Chris Wellons:

Machine learning is a trendy topic, so naturally it’s often used for inappropriate purposes where a simpler, more efficient, and more reliable solution suffices. The other day I saw an illustrative and fun example of this: Neural Network Cars and Genetic Algorithms. The video demonstrates 2D cars driven by a neural network with weights determined by a generic algorithm. However, the entire scheme can be replaced by a first-degree polynomial without any loss in capability. The machine learning part is overkill.

Yet another example of a meta-trend in software: You might not need $X (where $X is a popular tool or technique that is on the upward side of the hype cycle).

Patrick DeVivo augmentable.medium.com

Identifying code churn with AskGit SQL

In which I detail A SQL query that helps you identify files in a codebase that have “churned” in the past year. In other words, list the files that have been changed by the most number of commits in the last year.

SELECT file,
       COUNT(*)
FROM   stats
       JOIN commits
         ON stats.commit_id = commits.id
WHERE  commits.author_when > DATE('now', '-12 month')
       AND commits.parent_count < 2 -- ignore merge commits
GROUP  BY file
ORDER  BY COUNT(*) DESC
LIMIT  50

Ina Fried axios.com

Making sense of the $28 billion Salesforce-Slack deal

If you missed the news…Salesforce is buying Slack for $28 billion. To be clear, the deal is $27.7 billion in cold hard cash plus Salesforce stock. But who cares about money, amirite? Why does this deal even make sense?

Ina Fried for Axios:

[Salesforce] CEO Marc Benioff characterized the move as a bet that the pandemic-driven shift to remote work isn’t a temporary blip but rather a permanent transformation.

Slack has the lead in its still-nascent space, but was facing a challenge of its own — namely that Microsoft’s rival Teams was bundled into Office subscriptions. As a standalone company, Slack couldn’t easily manage such a move, nor could it afford to get into a price war.

I liked what Aaron Levie (Co-founder and CEO of Box) said about this deal and the future of work:

What’s amazing is that even though the current wave of enterprise software to power the future of work has been going strong for 10+ years, we’re still in the very earliest of stages in this market. The last decade has been about building the tools that power new ways to work from anywhere, collaborate with anyone, and automate workflows and business processes in the cloud. The next decade will be the era when organizations adopt these technologies en masse and transform their enterprises. While many of us in Silicon Valley and similar ecosystems have been using tools like Slack for years now (and even Microsoft Teams, more recently), 90%+ of the world’s digital workers are still not leveraging these modern platforms for the majority of their work. While it’s hard to imagine, we’re still in the early innings of this market.

Machine Learning blog.exxactcorp.com

A friendly introduction to Graph Neural Networks

Graph neural networks (GNNs) belong to a category of neural networks that operate naturally on data structured as graphs. Despite being what can be a confusing topic, GNNs can be distilled into just a handful of simple concepts.

Practical uses of GNNS include making traffic predictions, search rankings, drug discovery, and more.

James Sinclair jrsinclair.com

Sick of the stupid jokes? Write your own arbitrary-precision JavaScript math library

JavaScript cops a lot of sneers and snide remarks. Some of them are deserved. Others, not so much. One that often comes up is floating point numbers. And in days past, it was a legitimate criticism.

It’s not that JavaScript did floating point numbers any worse than other languages. It uses the same IEEE standard that most of them do. The trouble is that floating point numbers were the only option. There was no other number type in JavaScript.

That’s no longer the case.

For over a year now, BigInt has officially been part of the TC39 ECMAScript standard. So we have another option for number types, besides floating point.

How does that help though?

Well, BigInt values are not restricted to 64 bits. They can be arbitrarily long. With a little mathematical care, we can use them to make very high precision calculations. And it’s not terribly hard either. You can write your own library from scratch with the power of BigInt.

0:00 / 0:00