Sometimes we want better-than-firewall security for things. For instance: An industrial control system for a municipal water-treatment plant should never have data come in or out Or, a variant of the industrial control system: it should only permit telemetry and monitoring data out, and nothing else in or out A system dedicated to keeping your … Continue reading How Gapped is Your Air?→| The Changelog
I loaded up this title with buzzwords. The basic idea is that IM systems shouldn’t have to only use the Internet. Why not let them be carried across LoRa radios, USB sticks, local Wifi networks, and yes, the Internet? I’ll first discuss how, and then why. How do set it up I’ve talked about most … Continue reading Building an Asynchronous, Internet-Optional Instant Messaging System→| The Changelog
“OK,” you’re probably thinking. “John, you talk a lot about things like Gopher and personal radios, and now you want to talk about building a reliable network out of… USB drives?” Well, yes. In fact, I’ve already done it. What is sneakernet? Normally, “sneakernet” is a sort of tongue-in-cheek reference to using disconnected storage to … Continue reading Dead USB Drives Are Fine: Building a Reliable Sneakernet→| The Changelog
It seems that lately I’ve written several shell implementations of a simple queue that enforces ordered execution of jobs that may arrive out of order. After writing this for the nth time in bash, I decided it was time to do it properly. But first, a word on the why of it all. Why did … Continue reading Fast, Ordered Unixy Queues over NNCP and Syncthing with Filespooler→| The Changelog
Note: this post is also available on my website, where it will be updated periodically. When things are difficult – maybe there’s been a disaster, or an invasion (this page is being written in 2022 just after Russia invaded Ukraine), or maybe you’re just backpacking off the grid – there are tools that can help … Continue reading Tools for Communicating Offline and in Difficult Circumstances→| The Changelog
I have a problem.| The Changelog
How to retry asynchronous function using the callback pattern, promise chain and async await. Mental model for asynchronous JavaScript.| Tan Li Hau's Blog
Marcus Collins (Loughborough) and I just published some of the findings of the Post-Pandemic Pedagogy project. We investigated what history students and lecturers thought about teaching during the …| Making Digital History
Is synchronous XHR obsolete? Some reasons that synchronous XHR may here to stay.| WaspDev
Executive Summary| Webtide
After looking at some rare poor performance in rclone, I have created a package for read-ahead functionality, which I have implemented a few times in different contexts. This gave me the opportunity to create a solid implementation with solid tests to make sure it works with good performance. For the impatient here is the package:...| defer time.Sleep()
While asynchronous technology offers many benefits, preserving a certain level of human connection between co-workers is essential. Get tips to achieve it:| Gavel International
Animation is a pain if you do not know how it is implemented. Basically, you are updating a value with respect to time. This is generally done by calculating the time elapsed since the last frame and interpolating this value between...| Ali Naci Erdem Personal Blog RSS
Java’s Virtual Threads (aka Project Loom or JEP 444) have arrived as a full platform feature in Java 21, which has generated considerable interest and many projects (including Eclipse Jetty) are adding support. | Webtide