Home on Erik...
We are still early with the cloud: why software development is overdue for a change
This is is in many respects a successor to a blog post I wrote last year about what I want from...
over a year ago
This is is in many respects a successor to a blog post I wrote last year about what I want from software infrastructure, but the ideas morphed in my head into something sort of wider.
Simply Explained
MAX17043: Battery Monitoring Done Right (Arduino & ESP32)
Building a battery-powered IoT device? Then you'll want to monitor the battery's percentage. Here's...
over a year ago
Building a battery-powered IoT device? Then you'll want to monitor the battery's percentage. Here's how to do it properly.
Birchtree
2 weeks to go and I don't think I'll have to eat that AirPod
Last month I made the courageous promise that I would eat an AirPod if a 9to5Mac writer's prediction...
5 days ago
Last month I made the courageous promise that I would eat an AirPod if a 9to5Mac writer's prediction that "[b]efore the end of the year, I have no doubt Apple’s AI features—especially what’s coming in 18.2—will become
Willem's Blog
Influencing purchase behaviour
For my work I am continuously looking into scientific sources to improve e-commerce performance,...
over a year ago
For my work I am continuously looking into scientific sources to improve e-commerce performance, conversion rates and online revenue. Use this useful report to apply behavioural sciences principles to your advantage.
Posts on Made of...
Some notes on CVE-2010-3081 exploitability
Most of you reading this blog probably remember CVE-2010-3081. The bug got an awful lot of publicity...
over a year ago
Most of you reading this blog probably remember CVE-2010-3081. The bug got an awful lot of publicity when it was discovered an announced, due to allowing local privilege escalation against virtually all 64-bit Linux kernels in common use at the time.
While investigating...
Neil Madden
Multiple input MACs
When working with Message Authentication Codes (MACs), you often need to authenticate not just a...
over a year ago
When working with Message Authentication Codes (MACs), you often need to authenticate not just a single string, but multiple fields of data. For example, when creating an authenticated encryption mode by composing a cipher and a MAC (like AES-CBC and HMAC), you need to ensure the...
computers are bad
2023-08-07 STIRred AND SHAKEN
In a couple of days, I pack up my bags to head for DEFCON. In a rare moment of
pre-planning, perhaps...
a year ago
In a couple of days, I pack up my bags to head for DEFCON. In a rare moment of
pre-planning, perhaps spurred by boredom, I looked through the schedule to see
what's in store in the world of telephony. There is a workshop on SS7, of
course [1], plenty of content on cellular, but...
Willem's Blog
One year on the ultimate commuter bike
Answering questions from one of the most popular posts of last year, I am reviewing my commuter bike...
over a year ago
Answering questions from one of the most popular posts of last year, I am reviewing my commuter bike after one year of extensive use through winter and summer.
Louwrentius
Why the iPad will be a breakthrough in human computing
The fact is that computers aren't made for humans. Computers are just made,
and humans have to...
over a year ago
The fact is that computers aren't made for humans. Computers are just made,
and humans have to adjust to them.
The problem is that most people that are not into technology just don't
understand how computers work. Should I single click of double click? Click
left or right?
The...
Willem's Blog
Using the reMarkable paper tablet
The paper-like display makes you forget about reMarkable's digital innards, working with this tablet...
over a year ago
The paper-like display makes you forget about reMarkable's digital innards, working with this tablet is therefore quite remarkable!
Good Enough
TIL: Deploying a Sinatra app to Render.com
This morning I wanted to deploy a simple Sinatra app to Render.com.
It wasn’t super obvious to me,...
a year ago
This morning I wanted to deploy a simple Sinatra app to Render.com.
It wasn’t super obvious to me, so I figured I’d write down what worked in the end.
First, a Gemfile:
# Gemfile
source 'https://rubygems.org'
gem 'sinatra'
gem 'sinatra-contrib'
gem 'puma'
* I’m pretty sure...
Birchtree
AI, self-driving, and evolving your opinions on new tech over time
Casey Newton on Platformer: The Phony Comforts of AI Skepticism
The most persuasive way you can...
2 weeks ago
Casey Newton on Platformer: The Phony Comforts of AI Skepticism
The most persuasive way you can demonstrate the reality of AI, though, is to describe how it is already being used today. Not in speculative sci-fi scenarios, but in everyday offices and laboratories and schoolrooms....
Applied Cartography
You should build this:
A prior iteration of this site had a page called "Project ideas" that listed a bunch of things that...
2 months ago
A prior iteration of this site had a page called "Project ideas" that listed a bunch of things that I'd like to build. This was a good idea and useful in its own right (I got a few people to build companies and projects based on them, and it was a useful avenue by which folks...
Engineers Need Art
Apple Interview (1995)
Recalling my somewhat unusual interview with Apple back in 1995.
over a year ago
Recalling my somewhat unusual interview with Apple back in 1995.
Ken Shirriff's blog
Standard cells: Looking at individual gates in the Pentium processor
Intel released the powerful Pentium processor in 1993,
a chip
to "separate the really power-hungry...
5 months ago
Intel released the powerful Pentium processor in 1993,
a chip
to "separate the really power-hungry folks from ordinary mortals."
The original Pentium was followed by the Pentium Pro, the Pentium II, and others, spawning a long-running brand of high-performance processors, Intel's...
Computer Ads from...
E-Z Tax
The Tax Break You've Been Looking for !
8 months ago
The Tax Break You've Been Looking for !
Notes on software...
Writing a SQL database from scratch in Go: 2. binary expressions and WHERE filters
Previously in database basics:
1. SELECT, INSERT, CREATE and a REPL
3. indexes
4. a...
over a year ago
Previously in database basics:
1. SELECT, INSERT, CREATE and a REPL
3. indexes
4. a database/sql driver
In this post, we'll extend gosql
to support binary expressions and very simple filtering on SELECT
results via WHERE. We'll introduce a general mechanism...
Simply Explained
Securely access home network with Cloudflare Tunnel and WARP
When Cloudflare announced that their Tunnel service would become free, I saw an opportunity to...
over a year ago
When Cloudflare announced that their Tunnel service would become free, I saw an opportunity to strengthen the security of my Home Assistant instance. Until now, I have been using Cloudflare's CDN to connect to my HA instance, but that required opening ports on my router and...
Jonas Hietala
Let's build a VORON: Printing & Tuning
It’s up and running, and now it’s finally printing time!
Less exciting—but necessary—tuning the...
a year ago
It’s up and running, and now it’s finally printing time!
Less exciting—but necessary—tuning the printer to make the prints better.
Filament shipment
Even though I’ve been building the printer for more than a month, I wasn’t ready for it being time for printing so soon.
I don’t...
Willem's Blog
Building the blog... in style!
Find out if it is possible to turn a computer from the 90s into a modern development machine.
over a year ago
Find out if it is possible to turn a computer from the 90s into a modern development machine.
Vitalik Buterin's...
How do trusted setups work?
over a year ago
computers are bad
2023-11-25 the curse of docker
I'm heading to Las Vegas for re:invent soon, perhaps the most boring type of
industry extravaganza...
a year ago
I'm heading to Las Vegas for re:invent soon, perhaps the most boring type of
industry extravaganza there could be. In that spirit, I thought I would write
something quick and oddly professional: I'm going to complain about Docker.
Packaging software is one of those fundamental...
Christian Selig
More Efficient/Faster Average Color of Image
Skip to the ‘Juicy Code 🧃’ section if you just want the code and don’t care about the preamble of...
over a year ago
Skip to the ‘Juicy Code 🧃’ section if you just want the code and don’t care about the preamble of why you might want this!
Finding the average color of an image is a nice trick to have in your toolbelt for spicing up views. For instance on iOS, it’s used by Apple to make their...
Jonas Hietala
Netrunner ID draft Örebro
I entered an ID draft tournament in Netrunner hosted in Örebro and this is a brief overview of what...
over a year ago
I entered an ID draft tournament in Netrunner hosted in Örebro and this is a brief overview of what happened. Disclaimer: My memory is a little bit fuzzy and the events may or may not correspond to what actually happened.
The draft
The idea was to randomly sort all entrants and...
./techtipsy
Surviving the front page of HackerNews on a 50 Mbps uplink
Around a month ago I shared my blog post
on HackerNews. I guess I lucked out with the choice of the...
over a year ago
Around a month ago I shared my blog post
on HackerNews. I guess I lucked out with the choice of the topic, because it
brought out a lot of enthusiasts who shared their own experiences with older
machinery that still works in 2022. I really appreciate the feedback and...
GitButler
GitButler is joining the Open Source Pledge
GitButler is joining the Open Source Pledge to help move towards a more sustainable open source...
3 months ago
GitButler is joining the Open Source Pledge to help move towards a more sustainable open source ecosystem.
axio.ms
MicroMac, a Macintosh for under £5
A microcontroller Macintosh
This all started from a conversation about the RP2040 MCU, and building...
6 months ago
A microcontroller Macintosh
This all started from a conversation about the RP2040 MCU, and building a simple desktop/GUI for it. I’d made a comment along the lines of “or, just run some old OS”, and it got me thinking about the original Macintosh.
The original Macintosh was...
Electronics etc…
Installing Linux GPIB Drivers for the Agilent 82357B
Introduction
Other Installation Instructions
Agilent 82357B Initialization Process
Installing the...
a year ago
Introduction
Other Installation Instructions
Agilent 82357B Initialization Process
Installing the Agilent 82357B GPIB Driver on an Ubuntu Linux Distribution
References
Introduction
I’ve started to grow a collection of older test equipment from the eighties, the
nineties, and the...
Jonas Hietala
Food vacation in Japan
Me and my friend spent 2 weeks in Japan and had a great time. I wasn’t planning on taking a lot of...
over a year ago
Me and my friend spent 2 weeks in Japan and had a great time. I wasn’t planning on taking a lot of pictures, but I ended up sending a bunch back home as a ways of keeping my family up to date. When I look back most of them are about food… So I’ll turn this into a post about the...
Willem's Blog
Increase traffic to your blog with a RSS feed
Using NodeJS I added RSS feeds to my blog as support for feeds can still provide you with value....
over a year ago
Using NodeJS I added RSS feeds to my blog as support for feeds can still provide you with value. Read about the "how" and "why" in this post.
Home on Erik...
Nearest neighbor methods and vector models – part 1
This is a blog post rewritten from a presentation at NYC Machine Learning last week. It covers a...
over a year ago
This is a blog post rewritten from a presentation at NYC Machine Learning last week. It covers a library called Annoy that I have built that helps you do (approximate) nearest neighbor queries in high dimensional spaces.
Jonas Hietala
How I did the layout for my self-published book
This is a rundown of how I typeset and laid out my self-published book for the web version, the EPUB...
10 months ago
This is a rundown of how I typeset and laid out my self-published book for the web version, the EPUB version, and the printed version.
I was planning to include many more details, but the project took a lot longer than planned so I’ve forgotten some things.
Web page
I started...
Good Enough
The Element of Surprise
Good Enough happens to be a remote team. This isn't from some strongly-held belief that remote is...
a year ago
Good Enough happens to be a remote team. This isn't from some strongly-held belief that remote is best, but rather as a side effect of how we all happened to meet each other. We met remotely, we did not end up all moving into some commune, and so to work together we must work...
computers are bad
2023-01-16 huff-duff
We've talked a fair amount about HF radio recently, in the context of OTH
radar. Recall that an...
a year ago
We've talked a fair amount about HF radio recently, in the context of OTH
radar. Recall that an extremely useful property of HF radio here is that HF
frequencies can reflect off of the upper layers of the atmosphere, causing them
to rebound towards earth at a range much further...
Notes on software...
Analyzing large JSON files via partial JSON parsing
This is an external post of mine. Click
here
if you are not redirected.
over a year ago
This is an external post of mine. Click
here
if you are not redirected.
Vitalik Buterin's...
Possible futures of the Ethereum protocol, part 6: The Splurge
a month ago
Gwern.net Newsletter
November newsletter
November 2020 gwern.net newsletter with links on DL and genomics scaling, dark mode rewrite, 1...
over a year ago
November 2020 gwern.net newsletter with links on DL and genomics scaling, dark mode rewrite, 1 essay, and 1 opera review ('The Ring' cycle).
Jonas Hietala
Computer upgrade
After 5 years or so I’ve made a large upgrade to my desktop, and this post contains details and some...
a year ago
After 5 years or so I’ve made a large upgrade to my desktop, and this post contains details and some pictures about the process.
It was time
I didn’t really want to do an upgrade right now, but I felt I had to do it.
Sometimes the lag had gotten very noticeable, for example when...
Home on Erik...
Pinterest open sources Pinball
Pinterest just open sourced Pinball which seems like an interesting Luigi alternative. There's two...
over a year ago
Pinterest just open sourced Pinball which seems like an interesting Luigi alternative. There's two blog posts: Pinball: Building workflow management (from 2014) and Open-sourcing Pinball (from this week). The author has a comment in the comments thread on Hacker News:
Willem's Blog
Business in a bag
After much testing I have selected a bag and set of cases to fit my entire business, wherever I go.
over a year ago
After much testing I have selected a bag and set of cases to fit my entire business, wherever I go.
Lighthouse Blog
Introducing Lighthouse - The RSS reader, newsletter reader, and read-it-later app to fight content...
8 months ago
Good Enough
TIL: Listen for JavaScript events only once!
A common thing I find myself doing in Javascript is adding some event driven behavior that I only...
a year ago
A common thing I find myself doing in Javascript is adding some event driven behavior that I only want to happen once. Let’s say I have a big button that starts the process of lowering a certain spy into a pool of certain doom — I don’t want a second button press to awkwardly...
Louwrentius
Please use ZFS with ECC Memory
In this blogpost I argue why it's strongly recommended to use ZFS with ECC memory when building a...
over a year ago
In this blogpost I argue why it's strongly recommended to use ZFS with ECC memory when building a NAS. I would argue that if you do not use ECC memory, it's reasonable to also forgo on ZFS altogether and use any (legacy) file system that suits your needs.
Why ZFS?
Many people...
Vitalik Buterin's...
On Medium-of-Exchange Token Valuations
over a year ago
Willem's Blog
Outside the comfort zone: amateur acting
This month I strapped myself with sensors during a little experiment outside my comfort zone: I...
over a year ago
This month I strapped myself with sensors during a little experiment outside my comfort zone: I debuted as amateur actor!
Vitalik Buterin's...
收入-邪恶曲线:思考“公共物品融资优先”的另一种方式
over a year ago
Arduino Blog
This nature-inspired display reacts to ambient sounds
We all need ways to calm down and relax, and few things are as effective as nature itself. Taking...
a week ago
We all need ways to calm down and relax, and few things are as effective as nature itself. Taking inspiration from organic patterns and smooth, flowing waves, dzeng on Instructables has built an LED wall light that responds in real-time to the sounds within a room. The project...
Good Enough
Cool Songs Don’t Die
Earlier this week, I watched the pilot episode of Alias. Yes, that Alias – the one that began airing...
a year ago
Earlier this week, I watched the pilot episode of Alias. Yes, that Alias – the one that began airing 22 years ago and ran for 5 seasons and was a pretty big hit and launched the careers of two bonafide movie stars and featured a cast of very well known supporting actors. So yeah,...
Neil Madden
API Security in Action is published!
I wasn’t expecting it so quickly, so it caught me a little off guard, but API Security in Action is...
over a year ago
I wasn’t expecting it so quickly, so it caught me a little off guard, but API Security in Action is now finally published. PDF copies are available now, with printed copies shipping by the end of the month. Kindle/ePub take a little bit longer but should be out in a few weeks...
Arduino Blog
This perplexing robotic performer operates under the control of three different Arduino boards
Every decade or two, humanity seems to develop a renewed interest in humanoid robots and their...
2 months ago
Every decade or two, humanity seems to develop a renewed interest in humanoid robots and their potential within our world. Because the practical applications are actually pretty limited (given the high cost), we inevitably begin to consider how those robots might function as...
Matt Blewitt
Table Stakes
This is a short post on what I see are table stakes for any new user-facing service, security-wise....
over a year ago
This is a short post on what I see are table stakes for any new user-facing service, security-wise. Mostly focused on user-focused, rather than intra-service, considerations.
Home on Erik...
Slides from NYC Machine Learning talk
Slides from the talk. Slightly edited because (a) some of the slides make little sense taken out of...
over a year ago
Slides from the talk. Slightly edited because (a) some of the slides make little sense taken out of context (b) Slideshare seem to have problem converting some of the stuff.
Collaborative filtering at Spotify from Erik Bernhardsson
Jonas Hietala
The current Cybershard layout
This is the keyboard layout I’m using for my custom keyboard that I generated, printed, and...
3 weeks ago
This is the keyboard layout I’m using for my custom keyboard that I generated, printed, and hand-wired.
It’s a minimalistic keyboard of 35 keys and features an integrated trackball on the right-hand side.
The keyboard layout started out as a direct copy of the T-34 keyboard...
Computer Ads from...
OS-9 Bonus Content
A detailed look at OS-9 for Tandy Color Computers
3 months ago
A detailed look at OS-9 for Tandy Color Computers
Vitalik Buterin's...
The different types of ZK-EVMs
over a year ago
Willem's Blog
Using AI to generate code
Discover how AI-generated code can revolutionise your software development process and optimise...
a year ago
Discover how AI-generated code can revolutionise your software development process and optimise cloud performance in our fascinating exploration of GPT-4's transformative capabilities.
Posts on Made of...
A Brief Introduction to termios: termios(3) and stty
(This is part two of a multi-part introduction to termios and terminal emulation on UNIX. Read part...
over a year ago
(This is part two of a multi-part introduction to termios and terminal emulation on UNIX. Read part 1 if you’re new here)
In this entry, we’ll look at the interfaces that are used to control the behavior of the “termios” box sitting between the master and slave pty. The behaviors...
Jonas Hietala
Ludum Dare 29 Entry
After months of procrastination it is time for me to enter Ludum Dare again!
I am totally...
over a year ago
After months of procrastination it is time for me to enter Ludum Dare again!
I am totally unprepared, but I did setup a setup which actually compiles. I never got audio to run but hopefully I can manage something.
Repository: https://github.com/treeman/LD29. Going for C++ this...
Willem's Blog
Search like a pro: Google search operators
Read along for a comprehensive list of advanced Google search operators that allow you to filter...
over a year ago
Read along for a comprehensive list of advanced Google search operators that allow you to filter your search results.
Home on Erik...
Why software projects take longer than you think: a statistical model
Anyone who built software for a while knows that estimating how long something is going to take is...
over a year ago
Anyone who built software for a while knows that estimating how long something is going to take is hard. It's hard to come up with an unbiased estimate of how long something will take, when fundamentally the work in itself is about solving something.
Notes on software...
Emulating linux/AMD64 userland: interpreting an ELF binary
In this post we'll stumble toward a working emulator for a barebones C
program compiled for...
over a year ago
In this post we'll stumble toward a working emulator for a barebones C
program compiled for linux/AMD64. The approach will be slightly more
so based on observation than by following a spec; a great way
to quickly become familiar with a topic, and a bad way to...
Louwrentius
Parallel / distributed password cracking with John the Ripper and MPI
This article has been updated to reflect the changes for John version 1.7.8 as released in june...
over a year ago
This article has been updated to reflect the changes for John version 1.7.8 as released in june 2011.
The most important change is the fact that MPI support is now integrated in the jumbo patch.
The original John the Ripper off-line password cracker only uses a single processor...
Ken Shirriff's blog
Inside the Intel 386 processor die: the clock circuit
Processors are driven by a clock, which controls the timing of each step inside the chip.
In this...
a year ago
Processors are driven by a clock, which controls the timing of each step inside the chip.
In this blog post, I'll examine the clock-generation circuitry inside the Intel 386 processor.
Earlier processors such as the 8086 (1978) were simpler, using two clock phases internally.
The...
Vitalik Buterin's...
Against choosing your political allegiances based on who is "pro-crypto"
5 months ago
Home on Erik...
Luigi: complex pipelines of tasks in Python
I'm shamelessly promoting my first major open source project. Luigi is a Python module that helps...
over a year ago
I'm shamelessly promoting my first major open source project. Luigi is a Python module that helps you build complex pipelines of batch jobs, handle dependency resolution, and create visualizations to help manage multiple workflows. It also comes with Hadoop support built in...
Christian Selig
Trials and Tribulations of Making an Interruptable Custom View Controller Transition on iOS
I think it’s safe to say while the iOS custom view controller transition API is a very powerful one,...
over a year ago
I think it’s safe to say while the iOS custom view controller transition API is a very powerful one, with that power comes a great deal of complexity. It can be tricky, and I’m having one of those days where it’s getting the better of me and I just cannot get it to do what I want...
Home on Erik...
It's called Berkson's paradox!
As noted by multiple tweets, my previous post describes a phenomenon denoted Berkson's...
over a year ago
As noted by multiple tweets, my previous post describes a phenomenon denoted Berkson's paradox.
Here's another example: Why Are Handsome Men Such Jerks?
Neil Madden
Parse, don’t type-check
There’s a fantastic article from last year titled Parse, don’t validate. I’d highly recommend it to...
over a year ago
There’s a fantastic article from last year titled Parse, don’t validate. I’d highly recommend it to any programmer (along with the more recent follow up Names are not type safety). The basic idea is that there are two ways to check that some input to a function is valid: A...
Jonas Hietala
Reinstalling Slackware
So I reinstalled slackware on my machine and decided to take some rough notes of the most important...
over a year ago
So I reinstalled slackware on my machine and decided to take some rough notes of the most important steps I made. I did not document the steps in detail, and some are very specific for my setup. But maybe it can be useful for someone, or myself.
Basic steps
Make slackware usb...
Abort Retry Fail
The History of Lotus
The Hardest Working Software in the World
a year ago
The Hardest Working Software in the World
Vitalik Buterin's...
The Dawn of Hybrid Layer 2 Protocols
over a year ago
Willem's Blog
The joy of a simple laptop
This week I tested the Surface Laptop Go with Windows 10 and quite frankly was amazed by the...
over a year ago
This week I tested the Surface Laptop Go with Windows 10 and quite frankly was amazed by the experience!
./techtipsy
Accidentally turning the ASRock DeskMini X300 into a semi-passively cooled PC
After playing around with fan curves on my ASRock DeskMini X300
based home server, I noticed one...
over a year ago
After playing around with fan curves on my ASRock DeskMini X300
based home server, I noticed one interesting thing. At least it was
interesting to me.
Background
I had one goal: to try to see if I could turn it into a semi-passive PC by only
turning the fan on when the PC was...
Arduino Blog
GLEWBOT scales buildings like a gecko to inspect wall tiles
A great deal of building maintenance expenses are the result of simple inaccessibility. Cleaning the...
7 months ago
A great deal of building maintenance expenses are the result of simple inaccessibility. Cleaning the windows are your house is a trivial chore, but cleaning the windows on a skyscraper is serious undertaking that needs specialized equipment and training. To make exterior wall...
Jonas Hietala
September theme: Failure
I’m out of the busy mode and here’s the new theme! I’ve got an idea and I’ll be beginning very soon...
over a year ago
I’m out of the busy mode and here’s the new theme! I’ve got an idea and I’ll be beginning very soon I hope and again I’m following Experimental Gameplay Project’s site.
Let’s rock!!
Willem's Blog
Cash is king, or is it?
Is the time right to ditch the wallet?
over a year ago
Is the time right to ditch the wallet?
Azad's Blog
Simulating + Streaming a 4k, 90hz, ultrawide, HDR PC monitor to Apple Vision Pro
VR headsets can be pretty awesome at simulating monitors of any size and shape. Most VR headsets are...
3 months ago
VR headsets can be pretty awesome at simulating monitors of any size and shape. Most VR headsets are also capable of outputting at a high refresh rate (60hz, 90hz, 120hz, or even 144hz). Some headsets (like Apple Vision Pro) can also output in HDR! The beauty of it all is that in...
Christian Selig
Juno for YouTube has been removed from the App Store
For those not aware, a few months ago after reaching out to me, YouTube contacted the App Store...
2 months ago
For those not aware, a few months ago after reaching out to me, YouTube contacted the App Store stating that Juno does not adhere to YouTube guidelines and modifies the website in a way they don’t approve of, and alludes to their trademarks and iconography.
I don’t personally...
Louwrentius
Distributed Parallel Processing Shell Script (PPSS) released
I'd like to announce the release of the distributed version of the Parallel
Processing Shell Script...
over a year ago
I'd like to announce the release of the distributed version of the Parallel
Processing Shell Script (PPSS). PPSS is a bash script that allows you to
run commands in parallel. It is written to make use of current multi-core
CPUs.
The new distributed version of PPSS allows you to...
Applied Cartography
Postgres batch enqueuing in ten lines of Django
It hasn't failed me yet:
BATCH_SIZE = 100
def batch_proess(queryset) -> None:
count =...
a year ago
It hasn't failed me yet:
BATCH_SIZE = 100
def batch_proess(queryset) -> None:
count = queryset.count()
if count == 0:
time.sleep(10)
return
with transaction.atomic():
batch = list(
queryset.select_for_update(of=("self",),...
Posts on Made of...
Two kinds of testing
While talking about thinking about tests and testing in software engineering recently, I’ve come to...
over a year ago
While talking about thinking about tests and testing in software engineering recently, I’ve come to the conclusion that there are (at least) two major ideas and goals that people have when they test or talk about testing. This post aims to outline what I see as these two schools,...
Notes on software...
Writing a Jinja-inspired template library in Python
In this post we'll build a minimal text templating library in Python
inspired by Jinja. It will be...
over a year ago
In this post we'll build a minimal text templating library in Python
inspired by Jinja. It will be able to display variables and iterate
over arrays.
By the end of this article, with around 300 lines of code, we'll be
able to create this program:
from pytemplate import...
Louwrentius
Script that shows relevant disk information
I wrote a small Python script called 'showdisks' that displays relevant information about any...
over a year ago
I wrote a small Python script called 'showdisks' that displays relevant information about any physical storage devices supported by hdparm.
Information such as model and capacity are shown, but also controller and device path.
This script only requires python and hdparm.
I hope...
Arduino Blog
Exercise while you game with this interactive treadmill add-on
Motion-based controls for games have been around for decades, but even with the latest generation of...
3 months ago
Motion-based controls for games have been around for decades, but even with the latest generation of virtual reality headsets, gaming is still done with relatively limited movement unless one has access to an expensive VR walking/running setup. As an effort to get more physical...
Neil Madden
A few clarifications about CVE-2022-21449
Just a few quick notes/updates to correct some potentially inaccurate statements that are floating...
over a year ago
Just a few quick notes/updates to correct some potentially inaccurate statements that are floating around on Reddit/Twitter etc: The bug only impacts Java 15 and above. The original advisory from Oracle incorrectly listed earlier versions (like 7, 8 and 11) as being impacted....
Jonas Hietala
My Dream Game: The Tycoon
I’ve been playing Starcraft 2 a little this christmas. It wasn’t dead serious 1v1 which really is my...
over a year ago
I’ve been playing Starcraft 2 a little this christmas. It wasn’t dead serious 1v1 which really is my favorite but I’ve played 2v2 with some friends and I actually played the campaign a bit and it was pretty fun! Usually I never play the campaign on RTS games but this one I liked....
Louwrentius
Corsair CM PSU-750HX seems ok
I had to replace my Coolermaster PSU and after some searching on the interweb,
I chose the Corsair...
over a year ago
I had to replace my Coolermaster PSU and after some searching on the interweb,
I chose the Corsair CMPSU-750HX. One of the reasons is that Corsair states
that this PSU can withstand 50 degree Celcius in continuous operation on full
load.
The package is very, clean, with all the...
Ken Shirriff's blog
Inside the guidance system and computer of the Minuteman III nuclear missile
The Minuteman missile was introduced in 1962 as a key part of America's nuclear deterrent.
The...
4 months ago
The Minuteman missile was introduced in 1962 as a key part of America's nuclear deterrent.
The Minuteman III missile is currently the only US land-based intercontinental ballistic missile (ICBM), with
400 missiles ready for launch, spread across five central states.1
The missile...
latest projects -...
Smallest USB-C MIDI Synth
[Hardware] The smallest and silliest MIDI synth yet
a year ago
[Hardware] The smallest and silliest MIDI synth yet
Jonas Hietala
Postmortem: The Chronicles of Bim: The 100 Fake Afros
My first shooter! It’s working (although a friend got a null pointer error) so I’m a little...
over a year ago
My first shooter! It’s working (although a friend got a null pointer error) so I’m a little happy.
The Time
I spent about 24 hours on this game. A whopping 30% was break time, mostly me eating, reading manga or playing games… This is proof of me being really lazy this month I...
Louwrentius
FreeBSD 10.1 unattended install over PXE & HTTP (no NFS)
To gain some more experience with FreeBSD, I decided to make a PXE-based unattended installation of...
over a year ago
To gain some more experience with FreeBSD, I decided to make a PXE-based unattended installation of FreeBSD 10.1.
My goal is to set something up similar to Debian/Ubuntu + preseeding or Redhat/CentOS + kickstart.
Getting a PXE-based unattended installation of FreeBSD 10.1 was...
Posts on Made of...
The Window Manager I Want
Since I first discovered ratpoison in 2005 or so, I've basically exclusively used tiling window...
over a year ago
Since I first discovered ratpoison in 2005 or so, I've basically exclusively used tiling window managers, going through, over the years, StumpWM, Ion 3, and finally XMonad. They've all had various strengths and weaknesses, but I've never been totally happy with any of them. This...
Jonas Hietala
Extracting schedule information from timeedit
At LIU we use timeedit to track our schedules. Recently they updated their interface and improved...
over a year ago
At LIU we use timeedit to track our schedules. Recently they updated their interface and improved some parts. It’s now possible to create a prenumeration of a collection of courses exported as csv which can then be imported to other calendar apps. But they also started to...
Jonas Hietala
Groar
Download
Linux 64bit
Windows
So I actually finished Ludum Dare 33. I can’t believe how hard it was...
over a year ago
Download
Linux 64bit
Windows
So I actually finished Ludum Dare 33. I can’t believe how hard it was to actually make something! It continues to amaze me what fantastic stuff everyone manage to make in just 48 hours. This is what I came up with for the theme You are the Monster....
GitButler
Fearless Rebasing
GitButler now supports first class conflicts, which makes rebasing much less annoying. What is...
2 months ago
GitButler now supports first class conflicts, which makes rebasing much less annoying. What is "fearless rebasing"?
Buck on Software
Explaining the growth software sell-off
The terminal value double whammy of rising interest rates
over a year ago
The terminal value double whammy of rising interest rates
Gwern.net Newsletter
May 2021 Gwern.net Newsletter
links on AI hardware, diffusion models, optogenetics, brain scanning.
over a year ago
links on AI hardware, diffusion models, optogenetics, brain scanning.
Willem's Blog
Measuring cholesterol levels in blood
This week I had my blood examined to measure my cholesterol levels, taking a lipid profile. Know...
over a year ago
This week I had my blood examined to measure my cholesterol levels, taking a lipid profile. Know your LDL, HDL and Triglycerides numbers with a simple test.
Arduino Blog
An Arduino-powered robotic ukulele that plays itself
The ukulele has a bit of a reputation for being quaint, but it is a legitimate instrument like any...
4 months ago
The ukulele has a bit of a reputation for being quaint, but it is a legitimate instrument like any other and that means it takes a lot of practice to play competently. Zeroshot is too busy building cool stuff to bother with all of that, so he put his skills to use constructing...
Louwrentius
Debian Linux Preseeding - an installation framework
Look Ma!
No hands!
just watching a system PXE-boot and install itself into a fully...
over a year ago
Look Ma!
No hands!
just watching a system PXE-boot and install itself into a fully operational
system is fun. PXE boot and preseeding is not enough however to accomplish
this.
By itself, preseeding only installs a basic operating system. Next, you need
to configure all sorts of...
Posts on Made of...
Record/Replay testing in Sorbet
In 2017 and 2018, I (along with Paul Tarjan and Dmitry Petrashko) was a founding member of the...
over a year ago
In 2017 and 2018, I (along with Paul Tarjan and Dmitry Petrashko) was a founding member of the Sorbet project at Stripe to build a gradual static typechecking system for Ruby, with the aim of enhancing productivity on Stripe’s millions of lines of Ruby, and eventually producing a...
Willem's Blog
Realtime service uptime monitoring
Downtime happens and it is nothing to be ashamed of, just make sure that you set yourself up to...
over a year ago
Downtime happens and it is nothing to be ashamed of, just make sure that you set yourself up to discover problems as soon as possible! Know about problems before your customers do!
./techtipsy
VR, VFIO and how latency ruined everything
I’ve been running my all-in-one
PC for a while now. It was my desktop, my NAS and my gaming...
over a year ago
I’ve been running my all-in-one
PC for a while now. It was my desktop, my NAS and my gaming PC.
However, during the next couple of months I kept hitting small bumps along the
road. Most of these were quite straightforward to fix, but there is one that
finally convinced me to go...
Neil Madden
From KEMs to protocols
This is the third part of my series on Key Encapsulation Mechanisms (KEMs) and why you should care...
over a year ago
This is the third part of my series on Key Encapsulation Mechanisms (KEMs) and why you should care about them. Part 1 looked at what a KEM is and the KEM/DEM paradigm for constructing public key encryption schemes. Part 2 looked at cases where the basic KEM abstraction is not...
Home on Erik...
When machine learning matters
I joined Spotify in 2008 to focus on machine learning and music recommendations. It's easy to...
over a year ago
I joined Spotify in 2008 to focus on machine learning and music recommendations. It's easy to forget, but Spotify's key differentiator back then was the low-latency playback. People would say that it felt like they had the music on their own hard drive.
Good Enough
TIL: Victory Symbol
We noticed that the victory symbol at the bottom of our homepage looked different in Chrome than...
a year ago
We noticed that the victory symbol at the bottom of our homepage looked different in Chrome than Safari––it was playing smart and rendered the unicode character as an emoji. Lettini found a fix though! Append this string of code to the symbol: ︎.
So ✌︎ renders...
Willem's Blog
Using Google Free Android
Using a Google Free Android phone is uncommon these days, yet I decided to try the Volla Phone to...
over a year ago
Using a Google Free Android phone is uncommon these days, yet I decided to try the Volla Phone to experience its freedom and privacy.
Vitalik Buterin's...
What do I think about network states?
over a year ago
Style over Substance
Leitz Summicron 50mm f/2 rigid (type 2) lens
My newest lens acquisition wasn’t actually originally on my wishlist. I already had a 50mm Summicron...
over a year ago
My newest lens acquisition wasn’t actually originally on my wishlist. I already had a 50mm Summicron lens, though that was the first generation collapsible model known as a Type 1. This lens has lived on my Leica M3 permanently for the past few years, and I have enjoyed the hell...
latest projects -...
Simsim Pendant
[Concept] Mercurial Medallion
9 months ago
[Concept] Mercurial Medallion
Louwrentius
How traffic shaping can dramatically improve internet responsiveness
At work, access to the internet is provided by a 10 Mbit down / 1 Mbit up ADSL-connection. As we are...
over a year ago
At work, access to the internet is provided by a 10 Mbit down / 1 Mbit up ADSL-connection. As we are a mid-size company, bandwidth is clearly a severe constraint. But it was not our biggest problem. Even simple web-browsing was very slow.
As I was setting up a monitoring...
Arduino Blog
Arduino Education at Bett 2025: Shaping the future of K-12 and HE
Mark your calendars… Arduino Education is coming to Bett UK 2025! Taking place for three days from...
5 days ago
Mark your calendars… Arduino Education is coming to Bett UK 2025! Taking place for three days from January 22nd-24th at the ExCeL exhibition center in London, Bett is the ultimate global event for educational innovation. We are attending the stand with our partner CreativeHut...
Jonas Hietala
First impressions of Pollen
After having consumed Practical Typography I took a look at the library he wrote to create books for...
over a year ago
After having consumed Practical Typography I took a look at the library he wrote to create books for the web called Pollen written in Racket. I’ve only used it a little but I feel I can give my first impressions of it.
What I like
The first thing I really like is Pollen enables...
Jonas Hietala
2013 in Review
The year is almost over and I think I accomplished a lot this year. You can read my reviews of 2010,...
over a year ago
The year is almost over and I think I accomplished a lot this year. You can read my reviews of 2010, 2011 and 2012.
2013 Geek Achievements
Solved 213 UVa problems.
Got 43rd at NWERC 2013.
Placed high in IMPA, with one turn won.
Completed the online course Programming Languages in...
Arduino Blog
This miniature monorail stays upright with the help of gyro stabilization
Most monorail systems, like the kind at Disney and in Las Vegas, stay upright because the “rail” is...
3 months ago
Most monorail systems, like the kind at Disney and in Las Vegas, stay upright because the “rail” is actually a very wide beam. The car’s load tires (often literal truck or trailer tires) roll on top of that beam and guide tires clamp the sides of the beam, preventing the car from...
Arduino Blog
This beautiful table creates art in the sand
Kinetic sand art tables are pretty hot right now, because they look really cool. They’re like zen...
4 months ago
Kinetic sand art tables are pretty hot right now, because they look really cool. They’re like zen gardens that rake themselves in intricate patterns. But most of the builds we’ve seen use a conventional cartesian CNC layout or polar layout. This table by Newsons Electronics takes...
Jonas Hietala
The 4-Hour Chef: Scrambled Eggs
I’ve been listening to The Tim Ferriss Show a while now and he and his guests often inspire me to...
over a year ago
I’ve been listening to The Tim Ferriss Show a while now and he and his guests often inspire me to make changes and start doing new things. I got introduced to Josh Waitzkin’s excellent The Art of Learning and the meta skill of learning has since then fascinated me. So when I got...
Home on Erik...
The hardest challenge about becoming a manager
Note: this post is full of pseudo-psychology and highly speculative content. Like most fun stuff!
I...
over a year ago
Note: this post is full of pseudo-psychology and highly speculative content. Like most fun stuff!
I became a manager back in 2009. Being a developer is fun. You have this very tangible way to measure yourself.
Odds and Ends of...
How I learned to stop worrying and love the military industrial complex
Whether Trump wins or loses today, Europe should tool up and prepare to fight.
a month ago
Whether Trump wins or loses today, Europe should tool up and prepare to fight.
./techtipsy
About the time I used Google Drive as a CMS for a web app
Near the beginning of my software development career, I worked on a pretty
standard web application....
over a year ago
Near the beginning of my software development career, I worked on a pretty
standard web application. The project was not a commercial success, but it did
give me a good technical foundation that turned out to be very useful for my
career so far.
For those interested, the tech...
Louwrentius
Thunderbolt, a cheap high-speed storage interconnect?
Intel and Apple released Thunderbolt a high-speed (10 Gigabit/s) interface, that seems to replace...
over a year ago
Intel and Apple released Thunderbolt a high-speed (10 Gigabit/s) interface, that seems to replace both USB and Firewire. It is mainly targeted at end-user systems allowing to connect peripherals with just a single cable to a computer. Thunderbolt devices, like external hard...
Jonas Hietala
2012 Read Books
I read a post, sadly lost the link, where the author had recorded all books she had read during the...
over a year ago
I read a post, sadly lost the link, where the author had recorded all books she had read during the year and I thought it’d be pretty fun to do. So here goes, in a mostly ordered list.
The Art of Learning - Josh Waitzkin
Världens Whiskey
More of a reference book.
Linear Algebra...
Buck on Software
Category velocity
People make decisions, not businesses.
over a year ago
People make decisions, not businesses.
Home on Erik...
Why organizations fail
One of my favorite business hobbies is to reduce some nasty decision down to its absolute core...
over a year ago
One of my favorite business hobbies is to reduce some nasty decision down to its absolute core objective, decide the most basic strategy, and then add more and more modifications as you have to confront the complexity of reality (yes I have very lame hobbies thanks I know).
Home on Erik...
Machine, Platform, Crowd
I just bought Machine, Platform, Crowd: Harnessing Our Digital Future and discovered that it...
over a year ago
I just bought Machine, Platform, Crowd: Harnessing Our Digital Future and discovered that it mentions my blog – in particular the post When machine learning matters.
Ok, I lied a little bit. I didn't discover it serendipitously.
Home on Erik...
Implicit data and collaborative filtering
A lot of people these days know about collaborative filtering. It's that Netflix Prize thing, right?...
over a year ago
A lot of people these days know about collaborative filtering. It's that Netflix Prize thing, right? People rate things 1-5 stars and then you have to predict missing ratings.
While there's no doubt that the Netflix Prize was successful, I think it created an illusion that all...
Jonas Hietala
Long Term Goals
I have a lot of things I want to do. Right now I want to go to the kids training tomorrow and also...
over a year ago
I have a lot of things I want to do. Right now I want to go to the kids training tomorrow and also to our training time. I haven’t trained a lot lately so it feels good to do something again and training the kids is very rewarding. On Monday I have the next graph theory lecture...
Applied Cartography
Gosling’s Old Rum
Virginia has draconian liquor laws, which means I have to get interesting bottles shipped from...
10 months ago
Virginia has draconian liquor laws, which means I have to get interesting bottles shipped from [REDACTED], a site on which I am very prone to judging a book by its cover; every month I'll end up purchasing a bottle of something purely because it looks interesting and I can...
Odds and Ends of...
How to fix The Observer
Slow news is good news?
3 weeks ago
Home on Erik...
Installing TensorFlow on AWS
Curious about Google's newly released TensorFlow? I don't have a beefy GPU machine, so I spent some...
over a year ago
Curious about Google's newly released TensorFlow? I don't have a beefy GPU machine, so I spent some time getting it to run on EC2. The steps on how to reproduce it are pretty brutal and I wouldn't recommend going through it unless you want to waste five hours of your live.
Gwern.net Newsletter
May Gwern.net Newsletter
Link compilation newsletter with anime GAN updates, links on AI scaling, discussion of GPT-3, and 1...
over a year ago
Link compilation newsletter with anime GAN updates, links on AI scaling, discussion of GPT-3, and 1 book review.
Matt Blewitt
A Love Letter to Giant Robots
Ah, giant robots. I grew up thinking they are the coolest things ever, and I still do. My first...
6 months ago
Ah, giant robots. I grew up thinking they are the coolest things ever, and I still do. My first exposure to them was probably through 1994’s BattleTech animated series, where Adam Steiner piloted an AXM-2N Axman, in its frankly ridiculous neon green and purple paint job. And from...
Posts on Made of...
Finding near-duplicates with Jaccard similarity and MinHash
Suppose we have a large collection of documents, and we wish you identify which documents are...
5 months ago
Suppose we have a large collection of documents, and we wish you identify which documents are approximately the same as each other. For instance, we may have crawled the web over some period of time, and expect to have fetched the “same page” several times, but to see slight...
Jonas Hietala
Geekhack Toxic
I came back to Linköping yesterday and I had a package waiting for me to pick it up. What could it...
over a year ago
I came back to Linköping yesterday and I had a package waiting for me to pick it up. What could it be?
With a crummy mobile phone photo I give you my TOXIC keycaps mounted on my trusty old das keyboard:
Woooo
If only my GH60 could arrive some time this decade…
Notes on software...
Favorite compiler and interpreter resources
This is an external post of mine. Click
here
if you are not redirected.
a year ago
This is an external post of mine. Click
here
if you are not redirected.
Willem's Blog
Cyber security: 5 easy tips to protect your server against hackers
These 5 practical cyber security measures will improve the safety of server, website and data.
over a year ago
These 5 practical cyber security measures will improve the safety of server, website and data.
Jonas Hietala
Bitcoin's security isn't binary
I’d like to address a misconception that’s at the core in many Bitcoin discussions lately: Bitcoin’s...
over a year ago
I’d like to address a misconception that’s at the core in many Bitcoin discussions lately: Bitcoin’s security isn’t binary. In fact security in general isn’t black and white. It’s a trade-off being secure enough for your threat model vs the cost and feasibility of your...
Arduino Blog
5 ways to use Arduino with kids
One of the great things about making is that it really is for everyone — every budget, every skill...
7 months ago
One of the great things about making is that it really is for everyone — every budget, every skill level, and every age group. Children are one of the groups that can benefit the most from Arduino. Getting exposed to making and home automation from an early age can be enormously...
Louwrentius
ZFS performance on HP Proliant Microserver Gen8 G1610T
I think the HP Proliant Microserver Gen8 is a very interesting little box if you want to build your...
over a year ago
I think the HP Proliant Microserver Gen8 is a very interesting little box if you want to build your own ZFS-based NAS. The benchmarks I've performed seem to confirm this.
The Microserver Gen8 has nice features such as:
iLO (KVM over IP with dedicated network interface)
support...
Applied Cartography
Applied Cartography × People & Blogs
There are few pleasures greater than getting to be profiled for an interview series that you've been...
2 months ago
There are few pleasures greater than getting to be profiled for an interview series that you've been reading for months, and last week I got to do exactly that.
To browse Manu's site — not just this interview series — feels a bit like walking on a quiet beach in autumn: there's a...
Lighthouse Blog
Updates December 08: YouTube support
a year ago
Yazin Alirhayim
The Meem app: it sucks
If you’re a “digital only” bank like Meem, the app your customers use is all they see: it’s like a...
over a year ago
If you’re a “digital only” bank like Meem, the app your customers use is all they see: it’s like a virtual 🏦 branch.
That’s fitting, because you know what my impression of meem is as a user? When I open up their app, it feels like walking into a crowded butcher shop, with...
Jonas Hietala
Microfeatures in my blog
xkcd: Nerd sniping
A while I ago I encountered a blog post called Microfeatures I Love in Blogs and...
5 months ago
xkcd: Nerd sniping
A while I ago I encountered a blog post called Microfeatures I Love in Blogs and Personal Websites, and together with the related Hacker News discussion I got nerd sniped.
(I spent more time than I care to admit implementing new and exciting microfeatures for...
Good Enough
Adding Social Preview Images To Our 11ty Blog
Twitter X recently removed headlines and descriptions from link previews, in the name of...
a year ago
Twitter X recently removed headlines and descriptions from link previews, in the name of “esthetics.” Inspired by Steph Ango, while we try not to run our business on the whims of a social media platform, this change did push us into making a change we’ve been meaning to for...
Jonas Hietala
Starcraft 2 Keycaps
When I ordered this computer I was compelled, utterly compelled to buy a mechanical keyboard. Sure...
over a year ago
When I ordered this computer I was compelled, utterly compelled to buy a mechanical keyboard. Sure they cost almost 10x as much as a “regular” one and they didn’t even have these funky multimedia keys, what gives? Did I loose my insanity? It was supposed to give a great typing...
Home on Erik...
Simple sabotage for software
CIA produced a fantastic book during the peak of World War 2 called Simple Sabotage. It laid out...
a year ago
CIA produced a fantastic book during the peak of World War 2 called Simple Sabotage. It laid out various ways for infiltrators to ruin productivity of a company. Some of the advice is timeless, for instance the section about “General interference with Organizations and...
Bryan Braun - Blog
Setting up your /now page with an RSS feed
I have a /now page, which I use to tell people what I’m up to these days.
I like the concept of “now...
a month ago
I have a /now page, which I use to tell people what I’m up to these days.
I like the concept of “now pages” but I felt like it would be better if it had an RSS feed. The feed would give interested parties a way to subscribe to life changes.
The problem is that RSS feeds aren’t...
Home on Erik...
More recommender algorithms
I wanted to share some more insight into the algorithms we use at Spotify. One matrix factorization...
over a year ago
I wanted to share some more insight into the algorithms we use at Spotify. One matrix factorization algorithm we have used for a while assumes that we have user vectors $$ bf{a}_u $$ and item vectors $$ bf{b}_i $$ .
Posts on Made of...
Transformers for software engineers
Ever since its introduction in the 2017 paper, Attention is All You Need, the Transformer model...
over a year ago
Ever since its introduction in the 2017 paper, Attention is All You Need, the Transformer model architecture has taken the deep-learning world by storm. Initially introduced for machine translation, it has become the tool of choice for a wide range of domains, including text,...
Electronics etc…
Fake Parallel Printer - A Parallel Port Traffic Capturing Tool
Introduction
What Is Out There?
The Parallel Printer Port
Fake Printer Top Level Design Choices
Fake...
a year ago
Introduction
What Is Out There?
The Parallel Printer Port
Fake Printer Top Level Design Choices
Fake Printer HW Details
PCB Revision 1
PCB Revision 2
Firmware
Building a Fake Printer Tool Yourself
Programming the Raspberry Pico
Fake Printer as a USB Serial Device on your...
Ian's Blog
Why my Apps Aren't Available on Apple Vision Pro
Recently I have received some questions from users of both TLS Inspector and DNS Inspector enquiring...
4 months ago
Recently I have received some questions from users of both TLS Inspector and DNS Inspector enquiring why the apps aren't available on Apple's new Vision Pro headset. While I have briefly discussed this over on my Mastodon, I figured it might be worthwhile putting things down with...
Engineers Need Art
Soft Dorothy Software — Shareware Projects
Wherein I attempt to recover and restore old shareware code and program again like it's 1989.
3 months ago
Wherein I attempt to recover and restore old shareware code and program again like it's 1989.
Louwrentius
I switched my blog from Blogofile to Pelican
This blog is a static website, which makes it fast, simple and secure. It was generated by Blogofile...
over a year ago
This blog is a static website, which makes it fast, simple and secure. It was generated by Blogofile but I switched to Pelican.
Blogofile has seen almost no updates over the years and I consider the project dead. Realising that blogofile is dead, I decided to look around for...
Willem's Blog
The best bike computer app: Cyclemeter
Collect advanced bike ride data using your smartphone connected to external Bluetooth sensors and a...
over a year ago
Collect advanced bike ride data using your smartphone connected to external Bluetooth sensors and a steer mounted display.
Louwrentius
Fio-plot: creating nice charts from FIO storage benchmark data
New release of fio-plot
I've rewritten fio-plot, a tool that turns FIO benchmark data into nice...
over a year ago
New release of fio-plot
I've rewritten fio-plot, a tool that turns FIO benchmark data into nice charts. It allows you to create four types of graphs which will be discussed below.
The github project page explains how to run this tool.
Fio-plot also includes a benchmark script...
Arduino Blog
A miniature Vegas Sphere is the perfect nightlight
Sphere in Las Vegas is inarguably one of the most notable architectural achievements of the...
4 months ago
Sphere in Las Vegas is inarguably one of the most notable architectural achievements of the 21st century so far. Gaudy? Maybe. Controversial? Definitely. Interesting? Absolutely — no one can debate that with a straight face. When 15-year-old Ben Kennedy’s bedroom nightlight...
Arduino Blog
Arduino IDE 2.3.3: discover new support for shared spaces and more!
We’re excited to announce that the Arduino IDE 2.3.3 is now live! What’s in the new version This...
2 months ago
We’re excited to announce that the Arduino IDE 2.3.3 is now live! What’s in the new version This new release is packed with improvements, including one feature we’re particularly proud of: support for shared spaces in Arduino Cloud. If you have a Cloud Business plan or School...
Notes on software...
Speeding up Go's builtin JSON encoder up to 55% for large arrays of objects
This is an external post of mine. Click
here
if you are not redirected.
over a year ago
This is an external post of mine. Click
here
if you are not redirected.
Notes on software...
Writing a lisp compiler from scratch in JavaScript: 6. LLVM system calls
Previously in compiler basics:
1. lisp to assembly
2. user-defined functions and variables
...
over a year ago
Previously in compiler basics:
1. lisp to assembly
2. user-defined functions and variables
3. LLVM
4. LLVM conditionals and compiling fibonacci
5. an x86 upgrade
In this post we'll extend the ulisp
compiler's LLVM backend to
support printing integers to...
GitButler
GitButler 0.12 - "Stingy Baker"
New GitButler release is out! Undo anything, modify your commits with ease, new AI stuff and more!
6 months ago
New GitButler release is out! Undo anything, modify your commits with ease, new AI stuff and more!
lcamtuf’s thing
The marvelous disappearing capacitor
The performance of photodiode amplifiers can be improved in a clever way.
2 weeks ago
The performance of photodiode amplifiers can be improved in a clever way.
Neil Madden
Hybrid encryption and the KEM/DEM paradigm
If you know a bit about public key cryptography, you probably know that you don’t directly encrypt a...
over a year ago
If you know a bit about public key cryptography, you probably know that you don’t directly encrypt a message with a public key encryption algorithm like RSA. This is for many reasons, one of which being that it is incredibly slow. Instead you do what’s called hybrid encryption:...
Jonas Hietala
Zucchini Crabcakes
With a tiny bit more planning I made a dinner out the lessons 4 and 5 as the crabcakes were only...
over a year ago
With a tiny bit more planning I made a dinner out the lessons 4 and 5 as the crabcakes were only supposed to be an appetizer:
Crabcakes: Surprisingly delicious. Both me and Veronica gives them a 7.
Zucchini: While I thought they passed Veronica said “Zucchini is not my thing” and...
Ken Shirriff's blog
Inside an IBM/Motorola mainframe controller chip from 1981
In this article, I look inside a chip in the IBM 3274 Control Unit.1
But before I discuss the chip,...
5 months ago
In this article, I look inside a chip in the IBM 3274 Control Unit.1
But before I discuss the chip, I need to give some background on mainframes.
(I didn't completely analyze the chip, so don't expect a nice narrative or solid conclusions.)
Die photo of the Motorola/IBM SC81150...
Neil Madden
Towards a standard for bearer token URLs
In XSS doesn’t have to be Game Over, and earlier when discussing Can you ever (safely) include...
over a year ago
In XSS doesn’t have to be Game Over, and earlier when discussing Can you ever (safely) include credentials in a URL?, I raised the possibility of standardising a new URL scheme that safely allows encoding a bearer token into a URL. This makes it more convenient to use lots of...
seangoedecke.com RSS...
Learning incident response with problem sets
It’s hard to teach good incident response. A good understanding of how the system runs in production...
over a year ago
It’s hard to teach good incident response. A good understanding of how the system runs in production is essential, but how do you build that…
Jonas Hietala
Evolution of RTS games
Introduction
This is an essay for the course Game Design and I’m going to give you a ride through...
over a year ago
Introduction
This is an essay for the course Game Design and I’m going to give you a ride through the evolution of RTS game genre. I like RTS games and I’ve played them for as long as I can remember, from the classic Red Alert and Age of Empires to the newer Supreme Commander and...
Home on Erik...
We're hiring at Better
Just a quick note that my team is always hiring at Better. A lot of new people have been joining the...
over a year ago
Just a quick note that my team is always hiring at Better. A lot of new people have been joining the team here in NYC lately—the tech team has actually grown from 35 to 60 in just ~3 months.
Home on Erik...
Annoy – now without Boost dependencies and with Python 3 Support
Annoy is a C++/Python package I built for fast approximate nearest neighbor search in high...
over a year ago
Annoy is a C++/Python package I built for fast approximate nearest neighbor search in high dimensional spaces. Spotify uses it a lot to find similar items. First, matrix factorization gives a low dimensional representation of each item (artist/album/track/user) so that every item...
Arduino Blog
Enjoy a perpetual solar eclipse with this machine
Total solar eclipses are rare — at least from the perspective of any specific point on the planet. A...
5 months ago
Total solar eclipses are rare — at least from the perspective of any specific point on the planet. A total eclipse will occur somewhere on Earth once every 18 months or so, but that is more likely to track across the middle of the Pacific Ocean than wherever you happen to be....
Home on Erik...
I'm featured in Mashable
This article from today in Mashable describes some of the fun stuff I get to work with:
Erik...
over a year ago
This article from today in Mashable describes some of the fun stuff I get to work with:
Erik Bernhardsson is technical lead at Spotify, where he helped to build a music recommendation system based on large-scale machine learning algorithms, mainly matrix factorization of big...
Simply Explained
Secure Home Assistant Access with Cloudflare and Ubiquiti Dream Machine
I've become increasingly reliant on Home Assistant to automate various tasks around the house. But...
over a year ago
I've become increasingly reliant on Home Assistant to automate various tasks around the house. But how do you safely expose your instance to the internet for remote access?You want to be able to log in from a remote location, but how to keep others out? This post will show how...
Notes on software...
Writing a SQL database from scratch in Go: 4. a database/sql driver
Previously in database basics:
1. SELECT, INSERT, CREATE and a REPL
2. binary expressions...
over a year ago
Previously in database basics:
1. SELECT, INSERT, CREATE and a REPL
2. binary expressions and WHERE filters
3. indexes
In this post, we'll extend gosql
to implement the database/sql driver interface. This will
allow us to interact with gosql the same way we would...
./techtipsy
Tiered storage: use the right tool for the job
Hard drives are still the default choice for many homelab and data hoarding
enthusiasts. They still...
a year ago
Hard drives are still the default choice for many homelab and data hoarding
enthusiasts. They still hold the gigabytes per dollar advantage over SSD-s (for now),
and if you buy the big external drives and take the drives out of the enclosures,
you can get a pretty good...
Good Enough
TIL: Turbo Frames
DoEvery.Day calendar navigation was broken. We built it using Turbo Rails as it was being developed....
a year ago
DoEvery.Day calendar navigation was broken. We built it using Turbo Rails as it was being developed. As we have updated libraries, including Rails, the API has changed. In order to get the calendar navigation working again, I had to pull out some old hacks that made use of...
watchTowr Labs -...
Pots and Pans, AKA an SSLVPN - Palo Alto PAN-OS CVE-2024-0012 and CVE-2024-9474
It'll be no surprise that 2024, 2023, 2022, and every other year of humanities' existence has been...
a month ago
It'll be no surprise that 2024, 2023, 2022, and every other year of humanities' existence has been tough for SSLVPN appliances.
Anyhow, there are new vulnerabilities (well, two of them) that are being exploited in the Palo Alto Networks firewall and SSLVPN offering, and as ever,...
Posts on Made of...
A Go/C Polyglot
Writing a Go/C polyglot Someone on a Slack I’m on recently raised the question of how you might...
over a year ago
Writing a Go/C polyglot Someone on a Slack I’m on recently raised the question of how you might write a source file that’s both valid C and Go, commenting that it wasn’t immediately obvious if this was even possible. I got nerdsniped, and succeeded in producing one, which you can...
Notes on software...
Thinking about functional programming
Someone on Discord asked about how to learn functional programming.
The question and my initial...
a year ago
Someone on Discord asked about how to learn functional programming.
The question and my initial tweet on the subject prompted an
interesting
discussion
with Shriram
Krishnamurthi and other folks.
So here's a slightly more thought out exploration.
And just for backstory sake: I...
Louwrentius
RAID array size and rebuild speed
When a disk fails of a RAID 5 array, you are no longer protected against
(another) disk failure and...
over a year ago
When a disk fails of a RAID 5 array, you are no longer protected against
(another) disk failure and thus data loss. During this rebuild time, you are
vulnerable. The longer it takes to rebuild your array, the longer you are
vulnerable. Especially during a disk-intensive period,...
Jonas Hietala
Postmortem: A Geek Valentine
Ah man the mush in my brain is finally letting go and I’m starting to feel this tiny little...
over a year ago
Ah man the mush in my brain is finally letting go and I’m starting to feel this tiny little programming urge again… This time it’s not Haskell or a new experimental game that’s luring me on, no this time it’s me longing to create this fantastic awesome epic RTS game. Sadly it’s a...
Louwrentius
Some pretty NAS case designs
If you are planning on building your own NAS box, I have some suggestions
regarding the case.
In my...
over a year ago
If you are planning on building your own NAS box, I have some suggestions
regarding the case.
In my opinion, most computer case designers have absolutely no taste.
Antec and Lian Li do create nice cases, but not that spectacular. And Lian Li is
just very expensive. A fairly new...
Christian Selig
Smart Open Xcode
If you’re like me, you often have multiple versions of Xcode installed. One or two beta versions, a...
a year ago
If you’re like me, you often have multiple versions of Xcode installed. One or two beta versions, a stable version, and maybe another version in case the most recent stable version has something weird about it.
I also really like mapping my Caps Lock key to something more useful,...
Home on Erik...
Fun with trigonometry: the world's most twisted coastline
I just spent a few days in Italy, on the Ligurian coast. Even though we were on the west side of...
over a year ago
I just spent a few days in Italy, on the Ligurian coast. Even though we were on the west side of Italy, the Mediterranean sea was to the east, because the house was situated on a long bay.
watchTowr Labs -...
Auth. Bypass In (Un)Limited Scenarios - Progress MOVEit Transfer (CVE-2024-5806)
In the early hours of a day in a month in 2024, watchTowr Labs was sent a chat log:
13:37 -!-...
6 months ago
In the early hours of a day in a month in 2024, watchTowr Labs was sent a chat log:
13:37 -!- dav1d_bl41ne [def_not_phalanx@kernel.org] has joined #!hack (irc.efnet.nl)
13:37 -!- dav1d_bl41ne changed the topic of #!hack to: mag1c sh0w
Simply Explained
I Built a CO2 Sensor and It Terrifies Me
Governments are pushing CO2 sensors to fight the COVID-19 pandemic, but proper ventilation is...
over a year ago
Governments are pushing CO2 sensors to fight the COVID-19 pandemic, but proper ventilation is equally important for our health and even our cognitive performance.In this blog post we'll look at a DIY CO2 sensor: how it runs ESPHome, how it integrates with Home Assistant, how it...
Arduino Blog
Arduino Nicla Sense Env: adding advanced environmental sensing to a broad range of applications
We’re thrilled to announce the launch of Nicla Sense Env: the latest addition to our portfolio of...
2 months ago
We’re thrilled to announce the launch of Nicla Sense Env: the latest addition to our portfolio of system-on-modules and sensor nodes, empowering innovators with the tools to unlock new possibilities. This tiny yet powerful sensor node is designed to elevate your environmental...
Notes on software...
Writing a simple JSON library from scratch: a tour through modern C++
Modern C++ has a lot of cool features. Move semantics means passing
around structs in functions is...
over a year ago
Modern C++ has a lot of cool features. Move semantics means passing
around structs in functions is cheap. std::shared_ptr
means I don't have to manage any memory; no
more new/delete! (But try as I might to
understand std::unique_ptr, I'm just not there yet.)
The syntax has also...
Jonas Hietala
Let's build a VORON: Software
The build continues, now in a little more familiar territory.
Firmware flashing
To flash the...
a year ago
The build continues, now in a little more familiar territory.
Firmware flashing
To flash the firmware I had to order a microSD card reader.
With that on hand the flashing wasn’t difficult. The VORON docs walks you through the installation very well.
Mainsail
I chose to install...
Arduino Blog
Explore two ways to white label with Arduino Cloud
We’re excited to announce a brand-new feature called “Custom Branding,” which allows Enterprise plan...
7 months ago
We’re excited to announce a brand-new feature called “Custom Branding,” which allows Enterprise plan users to white label their workspace and enhance the overall user experience. This announcement is exciting because it empowers businesses to create a truly tailored environment...
Vitalik Buterin's...
The Revenue-Evil Curve: a different way to think about prioritizing public goods funding
over a year ago
Home on Erik...
Everything I learned about technical debt
I just made it to Sweden suffering from jet lag induced insomnia, but this blog post will not cover...
over a year ago
I just made it to Sweden suffering from jet lag induced insomnia, but this blog post will not cover that. Instead, I will talk a little bit about technical debt.
The concept of technical debt always resonated with me, partly because I always like the analogy with “real” debt.
Posts on Made of...
Computers can be understood
Introduction This post attempts to describe a mindset I’ve come to realize I bring to essentially...
over a year ago
Introduction This post attempts to describe a mindset I’ve come to realize I bring to essentially all of my work with software. I attempt to articulate this mindset, some of its implications and strengths, and some of the ways in which it’s lead me astray.
Software can be...
Home on Erik...
Language pitch
Here's a fun analysis that I did of the pitch (aka. frequency) of various languages. Certain...
over a year ago
Here's a fun analysis that I did of the pitch (aka. frequency) of various languages. Certain languages are simply pronounced with lower or higher pitch. Whether this is a feature of the language or more a cultural thing is a good question, but there are some substantial...
axio.ms
Mac SE/30 odyssey
I’ve always wanted an Apple Macintosh SE/30. Released in 1989, they look quite a lot like the other...
over a year ago
I’ve always wanted an Apple Macintosh SE/30. Released in 1989, they look quite a lot like the other members of the original “compact Mac” series, but pack in a ton of interesting features that the other compact Macs don’t have.
This is the story of my journey to getting to the...
Jonas Hietala
Rewriting my Neovim config in Lua
This screenshot betrays just how much productive time was wasted setting this up.
I’ve got tons of...
a year ago
This screenshot betrays just how much productive time was wasted setting this up.
I’ve got tons of things to do; clean the bathrooms, prototype an idea for a SaaS and ponder world peace.
So naturally the procrastination took over and I rewrote my Neovim configuration in...
Applied Cartography
Is cool enough?
Via HN I ran into not one but two extremely neat
and pleasant-looking libraries for URL...
9 months ago
Via HN I ran into not one but two extremely neat
and pleasant-looking libraries for URL manipulation. They look like great libraries, and a prior version of me would have taken a brief set of cursory
glances at the hodgepodge of janky URL manipulation code that I wrote for...
Jonas Hietala
November Theme: Art Game
Back over at The Experimental Gameplay Project a new theme has come up. My last three themes haven’t...
over a year ago
Back over at The Experimental Gameplay Project a new theme has come up. My last three themes haven’t been “my” themes: I’ve been following their lead and their themes and this month is no exception. This months’ apparently a big theme - Art. It’s even a collaboration with a big...
Arduino Blog
Marble art madness from a marvelous machine
Marbles are underrated. They’re very round, roll well, tend to be pretty shiny, and come in all...
2 months ago
Marbles are underrated. They’re very round, roll well, tend to be pretty shiny, and come in all sorts of neat colors. That last characteristic makes them suitable for artwork, like orbicular pixels. In his most ambitious project to date, Engineezy took advantage of those...
Abort Retry Fail
The Birth of Windows Gaming
Software is a fluid that expands to fill its container
a year ago
Software is a fluid that expands to fill its container
Louwrentius
Convert dos file to linux format wit vim
If you have some file that has been saved on a (Win)do(w)s host you may notice
that all lines end...
over a year ago
If you have some file that has been saved on a (Win)do(w)s host you may notice
that all lines end with ^M.
To fix this, you can use the tool dos2unix. If however this tool is not at
your disposal, you may have a problem. If vim is available, you do not have a
problem:
The trick...
Jonas Hietala
The ASIC pit of despair
Monero has once again changed the POW to brick ASICs following confirmation that 85% of Monero’s...
over a year ago
Monero has once again changed the POW to brick ASICs following confirmation that 85% of Monero’s hashrate were ASICs.
Recurring hard forks to brick ASICs is a very dangerous game and what better to illustrate this than with an xkcd-style plot?
You’re safe on the edges but how do...
Vitalik Buterin's...
Possible futures of the Ethereum protocol, part 2: The Surge
2 months ago
Home on Erik...
The mathematical principles of management
I've read about 100 management books by now but if there's something that always bothered me it's...
over a year ago
I've read about 100 management books by now but if there's something that always bothered me it's the lack of first principles thinking. Basically it's a ton of heuristics. And heuristics are great, but when you present heuristics as true objectives, it kind of clouds the...
Home on Erik...
Ping the world
I just pinged a few million random IP addresses from my apartment in NYC. Here's the result:
Some...
over a year ago
I just pinged a few million random IP addresses from my apartment in NYC. Here's the result:
Some notes:
What's going on with Sweden? Too much torrenting? Ireland is likewise super slow, but not Northern Ireland Eastern Ukraine is also super slow, maybe not surprising given...
Odds and Ends of...
Here's how AI can REDUCE health misinformation
How the government can build a bullshit detector
2 months ago
How the government can build a bullshit detector
Jonas Hietala
Poking at Emacs
I’ve been a vim vim fan for a while now and with some recent configs I’m starting to feel pretty...
over a year ago
I’ve been a vim vim fan for a while now and with some recent configs I’m starting to feel pretty confident and happy with it. For those who don’t know it’s basically a text editor, like notepad, but with a lot of keycommands which allows you to edit code (and text in general)...
Simply Explained
Integrate Home Assistant with Apple Reminders
I recently integrated Home Assistant with Apple Reminders so that automations can create new todos....
over a year ago
I recently integrated Home Assistant with Apple Reminders so that automations can create new todos. This is trickier as it sounds, because Reminders has no API that can be accessed from Home Assistant. Here's how I worked around that problem with a script, input text helper and...
computers are bad
2023-01-29 the parallel port
A few days ago, on a certain orange website, I came across an article about an
improvised parallel...
a year ago
A few days ago, on a certain orange website, I came across an article about an
improvised parallel printer capture device.
This contains the line:
There are other projects out there, but when you google for terms such as
"parallel port to usb", they drown in a sea of "USB to...
Louwrentius
Setup a VPN on your iPhone with OpenVPN and Linux
⚠️ 🚨 Update 2024 🚨⚠️
I'm not using OpenVPN anymore for my VPN needs and this article is considered...
over a year ago
⚠️ 🚨 Update 2024 🚨⚠️
I'm not using OpenVPN anymore for my VPN needs and this article is considered unmaintained.
It's stronly recommended not to use this tutorial and find up-to-date documentation.
I also have no plans to update this blogpost in the future.
[Update 2018]
This...
Computer Ads from...
Salamander Software's Franklin's Tomb
My name is Diamond, Dan Diamond. I'm a private cop.
9 months ago
My name is Diamond, Dan Diamond. I'm a private cop.
Jonas Hietala
Browse posts with telescope.nvim
I’ve used telescope.nvim's find files with
require("telescope.builtin").find_files for quite some...
7 months ago
I’ve used telescope.nvim's find files with
require("telescope.builtin").find_files for quite some time.
I use find files together with it’s cousin .oldfiles (find recently opened files) all the time for finding source code files, blog posts, and more.
But it’s naturally...
Posts on Made of...
Wordpress tricks: Disabling editing shortcuts
One of the major reasons I can’t stand webapps is because I’m a serious emacs junkie, and I can’t...
over a year ago
One of the major reasons I can’t stand webapps is because I’m a serious emacs junkie, and I can’t edit text in anything that doesn’t have decent emacs keybindings.
Fortunately, on Linux, at least, GTK provides basic emacs keybindings if you add
gtk-key-theme-name = "Emacs" to...
Louwrentius
Solaris is an obsolete platform
Assuming that the rumor is true and OpenSolaris will be slain by Oracle, we
must conclude that the...
over a year ago
Assuming that the rumor is true and OpenSolaris will be slain by Oracle, we
must conclude that the Solaris operating system is obsolete. Solaris can be
considered legacy. Sun was a hardware shop and to sell their hardware, they
needed a great operating system.
Sun had a great...
Home on Erik...
Music recommendations using cover images (part 1)
Scrolling through the Discover page on Spotify the other day it occurred to me that the album is in...
over a year ago
Scrolling through the Discover page on Spotify the other day it occurred to me that the album is in fact a fairly strong visual proxy for what kind of content you can expect from it. I started wondering if the album cover can in fact be used for recommendations.
Louwrentius
The future of ZFS now that OpenSolaris is dead
With the probable loss of OpenSolaris, there may be another, maybe more
devastating loss.
The very...
over a year ago
With the probable loss of OpenSolaris, there may be another, maybe more
devastating loss.
The very popular and very advanced Zetabyte File System (ZFS)
The only open source platform that actively supports ZFS is FreeBSD. And they
just 'copied' the code from OpenSolaris. Are they...
Computer Ads from...
VenturCom's VENIX
Mixing REAL Time With REAL UNIX Is Not Magic...It Is Technology.
10 months ago
Mixing REAL Time With REAL UNIX Is Not Magic...It Is Technology.
Louwrentius
Why I Do Use ZFS as a File System for My NAS
On February 2011, I posted an article about my motivations why I did not use ZFS as a file system...
over a year ago
On February 2011, I posted an article about my motivations why I did not use ZFS as a file system for my 18 TB NAS.
You have to understand that at the time, I believe the arguments in the article were relevant, but much has changed since then, and I do believe this article is...
Vitalik Buterin's...
Convex and Concave Dispositions
over a year ago
Gwern.net Newsletter
April 2021 newsletter
with links on AI scaling, particular new East Asian record-breaking work & deep reinforcement...
over a year ago
with links on AI scaling, particular new East Asian record-breaking work & deep reinforcement learning.
lcamtuf’s thing
The 101 of analog signal filtering
Some intuition about this topic can be developed without summoning the ghost of Pierre-Simon...
5 months ago
Some intuition about this topic can be developed without summoning the ghost of Pierre-Simon Laplace.
Jonas Hietala
A simple timeline using CSS flexbox
As I added a /now page to the site I also decided to refresh my /about page and I figured it would...
3 months ago
As I added a /now page to the site I also decided to refresh my /about page and I figured it would be neat to have timeline element where I could list some of the larger events in my life.
To my surprise it wasn’t too difficult to create one that looks pretty clean—the flexbox...
Lighthouse Blog
How to import feeds in Lighthouse
8 months ago
Jonas Hietala
The Experimental Games
It’s been nine months since I started doing Experimental Games and I think it’s time to evaluate and...
over a year ago
It’s been nine months since I started doing Experimental Games and I think it’s time to evaluate and maybe go in a new direction.
At first I had been stuck for ages with my never-ending projects and I had literally nothing to show for all my coding. Well now things have changed a...
./techtipsy
Lenovo ThinkPad P14s gen 4 (AMD): it doesn't suck under Linux
I’ve had the opportunity to try out another new laptop at work. I’ve used a brand new laptop...
8 months ago
I’ve had the opportunity to try out another new laptop at work. I’ve used a brand new laptop recently, and it was horrible.
But this time I’m pleasantly surprised.
The Lenovo ThinkPad P14s gen 4 has great specs:
CPU: AMD Ryzen 7 PRO 7840U (8 cores, 16 threads, up to 5.1 GHz)
GPU:...
Computer Ads from...
Vote for the Topic of the March 2024 Plus Post
If you are a paid subscriber, voting is open for one week
9 months ago
If you are a paid subscriber, voting is open for one week
Notes on software...
Exploring Postgres's arena allocator by writing an HTTP server from scratch
This is an external post of mine. Click
here
if you are not redirected.
a month ago
This is an external post of mine. Click
here
if you are not redirected.
Home on Erik...
New approximate nearest neighbor benchmarks
As some of you may know, one of my side interests is approximate nearest neighbor algorithms. I'm...
over a year ago
As some of you may know, one of my side interests is approximate nearest neighbor algorithms. I'm the author of Annoy, a library with 3,500+ stars on Github as of today. It offers fast approximate search for nearest neighbors with the additional benefit that you can load data...
Arduino Blog
Improve laser engraving speeds with an Arduino-controlled turntable
Engraving items with a laser-based system at home is amazingly convenient for one-off parts, but...
6 months ago
Engraving items with a laser-based system at home is amazingly convenient for one-off parts, but what happens when the production volume needs to increase? For element14 Presents host Clem Mayer, this usually meant preparing many uniform pieces of engraving stock, opening the...
Posts on Made of...
Three kinds of memory leaks
So, you’ve got a program that’s using more and more over time as it runs. Probably you can...
over a year ago
So, you’ve got a program that’s using more and more over time as it runs. Probably you can immediately identify this as a likely symptom of a memory leak.
But when we say “memory leak”, what do we actually mean? In my experience, apparent memory leaks divide into three broad...
computers are bad
2024-08-12 a pedantic review of the las vegas loop
Did you hear that Elon Musk dug a tunnel under the Las Vegas Convention
Center?
I think it is pretty...
4 months ago
Did you hear that Elon Musk dug a tunnel under the Las Vegas Convention
Center?
I think it is pretty universally known by now that the "Las Vegas Loop" is
impractical, poorly thought out, and generally an embarrassment to society and
industry. I will spare an accounting of the...
Notes on software...
Interpreting TypeScript
In addition to providing a static type system and compiler for a
superset of JavaScript, TypeScript...
over a year ago
In addition to providing a static type system and compiler for a
superset of JavaScript, TypeScript makes much of its functionality
available programmatically. In this post we'll use the TypeScript
compiler API to build an interpreter. We'll build off of a...
Posts on Made of...
Thoughts On Kubernetes
I spent a while the last week porting livegrep.com from running directly AWS to running on...
over a year ago
I spent a while the last week porting livegrep.com from running directly AWS to running on Kubernetes on Google’s Cloud Platform (specifically, the google container engine, which provisions and manages the cluster for me).
I left this experience profoundly enthusiastic about the...
Home on Erik...
Norvig's claim that programming competitions correlate negatively with being good on the job
I saw a bunch of tweets over the weekend about Peter Norvig claiming there's a negative correlation...
over a year ago
I saw a bunch of tweets over the weekend about Peter Norvig claiming there's a negative correlation between being good at programming competitions and being good at the job. There were some decent Hacker News comments on it.
Matt Blewitt
So, You Want To Build A DBaaS Part 2: Technical Bits
In my first post in this pseudo-series, we covered more of the theory and organisational practices...
a year ago
In my first post in this pseudo-series, we covered more of the theory and organisational practices around building and operating a database-as-a-service platform. In this post, I’ll cover some of the more technical aspects of this that I think are worth considering, drawn from my...
Louwrentius
My experiences with DFS replication on Windows 2008 R2
If you are considering implementing DFS replication, consider using Windows 2012 R2 because DFS...
over a year ago
If you are considering implementing DFS replication, consider using Windows 2012 R2 because DFS replication has been massively improved. It supports larger data sets and performance has dramatically been improved over Windows 2008 R2.
I've implemented DFS replication to keep two...
Willem's Blog
The Problem With Bitcoin
Some thoughts on the long term viability of Bitcoin's rising value.
a week ago
Some thoughts on the long term viability of Bitcoin's rising value.
Jonas Hietala
Exploring the Gleam FFI
My brain is a curious thing.
I’m on a business trip right now and I’ve set aside time to finish some...
11 months ago
My brain is a curious thing.
I’m on a business trip right now and I’ve set aside time to finish some important todos I want and need to get done.
But instead of focusing on them, I started playing around with Gleam—a young and interesting programming language.
My (current)...
Electronics etc…
Tektronix TDS 684B Oscilloscope Button Swap
Introduction
Removing the panels
Swapping a Rotary Encoder
Putting it all back together
End...
8 months ago
Introduction
Removing the panels
Swapping a Rotary Encoder
Putting it all back together
End Result
Introduction
I recently bought a TDS 684B for cheap at a government auction. With 1 GHz BW
and 5 Gsps sample rate, it can be used for those cases where my 350 MHz/2Gsps
Siglent...
Opsbros
Nokia 5110 - Back from the dead. Part 1: Nostalgia
I loved my Nokia 5110 and I wonder if it was possible to breathe new life into this long-shelved and...
over a year ago
I loved my Nokia 5110 and I wonder if it was possible to breathe new life into this long-shelved and still-memed mobile phone. As it turns out, not only is it possible, but it's going to be a lot easier than I anticipated.
Push to Prod
4 Ways To Say No, Elegantly and Effectively
In my early days at Netflix, my inability to say no led me into unpleasant terrain. Here's how I...
3 months ago
In my early days at Netflix, my inability to say no led me into unpleasant terrain. Here's how I evolved to navigate these situations more fluidly.
GitButler
Git Merge 2024
Git Merge 2024 has wrapped and we all had a heck of a good time. Here's the overview.
2 months ago
Git Merge 2024 has wrapped and we all had a heck of a good time. Here's the overview.
Home on Erik...
Missing the point about microservices: it's about testing and deploying independently
Ok, so I have to first preface this whole blog post by a few things:
I really struggle with the...
over a year ago
Ok, so I have to first preface this whole blog post by a few things:
I really struggle with the term microservices. I can't put my finger on exactly why. Maybe because the term is hopelessly ill-defined, maybe because it's gotten picked up by the hype train.
Christian Selig
Trials and tribulations of 360° video in Juno
In building Juno, a visionOS app for YouTube, a question that’s come up from users a few times is...
10 months ago
In building Juno, a visionOS app for YouTube, a question that’s come up from users a few times is whether it supports 360° and 180° videos (for the unfamiliar, it’s an immersive video format that fully surrounds you). The short answer is no, it’s sort of a niche feature without...
Simply Explained
Retrospective: My Fifth Year on YouTube
For the past 4 years, I have made a habit of reflecting on the previous year and set goals for the...
over a year ago
For the past 4 years, I have made a habit of reflecting on the previous year and set goals for the new year. This year is no exception, but now I try to set better goals while reflecting on some personal things in life.
Jonas Hietala
Christmas break
So school is on a break and I welcome it with all of my heart. The semester has been pretty fun and...
over a year ago
So school is on a break and I welcome it with all of my heart. The semester has been pretty fun and I really enjoy studying here. We had lisp the whole time which is a pretty sweet little language and if you haven’t, give it a shot. Then we had math and I do like math, although I...
Arduino Blog
DIY submersible pump controller helps retrieve well water
It might surprise our urban-dwelling readers, but wells are still very common in rural areas where...
6 months ago
It might surprise our urban-dwelling readers, but wells are still very common in rural areas where it is difficult or prohibitively expensive to run utilities. The CDC reports that more than 15 million households rely on groundwater and wells — and that’s just in the United...
Willem's Blog
Linking Lemmid Store with kitchens
Designing backend servers to connect with external services is challenging as you need to take into...
over a year ago
Designing backend servers to connect with external services is challenging as you need to take into account unreliability and unpredictability.
Neil Madden
Newsletter
Happy new year! I’m hoping to write a few posts on here over the next few weeks, but probably...
11 months ago
Happy new year! I’m hoping to write a few posts on here over the next few weeks, but probably exploring a few topics around AI and philosophy. If you’d prefer some more technical content around security and cryptography, then take a look at the newsletter I put out for my...
Computer Ads from...
MacWorld Interviews Apple CEO John Sculley (1987)
They discuss the future of Apple, personal computing, and the Mac II
a month ago
They discuss the future of Apple, personal computing, and the Mac II
Birchtree
Everything is a reaction, nothing is forever, and everything comes back (members post)
Why nothing stays popular forever.
2 weeks ago
Why nothing stays popular forever.
Posts on Made of...
Using X forwarding with screen by proxying $DISPLAY
If you’re reading this blog, I probably don’t have to explain why I love GNU screen. I can keep a...
over a year ago
If you’re reading this blog, I probably don’t have to explain why I love GNU screen. I can keep a long-running session going on a server somewhere, and log in and resume my session without losing any state.
I also love X-forwarding. I love being able to log into a remote server...
Style over Substance
My grandfather’s Rolleiflex 2.8D twin-lens reflex (TLR) camera
One of the first vintage cameras I ever got was my dad’s old Polaroid SX-70. Like so many family...
over a year ago
One of the first vintage cameras I ever got was my dad’s old Polaroid SX-70. Like so many family cameras it had disappeared into a closet decades ago and was only found again recently. When he gave it to me, he told me there was another classic camera he wanted to give me – if...
Willem's Blog
Fighting backscatter spam at server level
Deal with backscatter spam by implementing a stringent SMTP delivery policy at MTA level.
over a year ago
Deal with backscatter spam by implementing a stringent SMTP delivery policy at MTA level.
Louwrentius
Script that shows smart values of all disks'
Please use this tool on github instead of this ancient script.
So you have a Linux system with a lot...
over a year ago
Please use this tool on github instead of this ancient script.
So you have a Linux system with a lot of hard drives. If you want to quickly check on some key SMART values to determine the health of individual disks, you might be interested in this script.
I wrote a small Python...
Jonas Hietala
Ugly and Slow Progress
Ludum Dare is coming along… Slowly. The rust on me is probably so brown it’s nearly black. But I...
over a year ago
Ludum Dare is coming along… Slowly. The rust on me is probably so brown it’s nearly black. But I have an idea and it might be good, all I need to do is execute it. Right?
Programmer graphics coming to take you away!
Anyway it’s going to be a risk-like game with a twist: you can...
Posts on Made of...
Write yourself an strace in 70 lines of code
Basically anyone who’s used Linux for any amount of time eventually comes to know and love the...
over a year ago
Basically anyone who’s used Linux for any amount of time eventually comes to know and love the strace command. strace is the system-call tracer, which traces the calls that a program makes into the kernel in order to interact with the outside world. If you’re not already familiar...
Jonas Hietala
The Arty Timeline
While working on Jonas IceCream Stand I took a screenshot every day and I thought they looked pretty...
over a year ago
While working on Jonas IceCream Stand I took a screenshot every day and I thought they looked pretty cool so here they are:
And now I’m off with New World Order and (for once) I’ve got a really really good idea!
Louwrentius
Building a RAID 6 array of mixed drives
To be honest, 4 TB of storage isn't really necessary for home usage.
However, I like to collect...
over a year ago
To be honest, 4 TB of storage isn't really necessary for home usage.
However, I like to collect movies in full DVD or HD quality and so I need some
storage.
I decided to build myself a NAS box based on Debian Etch. Samba is used to
allow clients to access the data. The machine...
Posts on Made of...
Software Engineers should keep lab notebooks
Software engineers, as a rule, suck at writing things down. Part of this is training – unlike...
over a year ago
Software engineers, as a rule, suck at writing things down. Part of this is training – unlike chemists and biologists who are trailed to obsessively document everything they do in their lab notebooks, computer scientists are taught to document the end results of their work, but...
Arduino Blog
Play rock-paper-scissors using a time-of-flight sensor and an Arduino UNO R4
Owing to its simplicity and fast-paced nature, rock-paper-scissors is a great game to play with...
5 months ago
Owing to its simplicity and fast-paced nature, rock-paper-scissors is a great game to play with friends, and when it comes to translating it into a digital format, many creative adaptations can be made. This version by madmcu forgoes the typical three-button input scheme in favor...
Willem's Blog
Updating Snake '97
This month I bit the bullet big time: I redesigned the game engine of the wildly popular Snake '97...
over a year ago
This month I bit the bullet big time: I redesigned the game engine of the wildly popular Snake '97 game. Read about the design challenges in this blog post.
Neil Madden
Galois/Counter Mode and random nonces
It turns out you can encrypt more than 2^32 messages with AES-GCM with a random nonce under certain...
7 months ago
It turns out you can encrypt more than 2^32 messages with AES-GCM with a random nonce under certain conditions. It’s still not a good idea, but you can just about do it. #cryptography
Arduino Blog
This device prevents garage door security breaches
Your automatic garage door is almost certainly the most vulnerable access point in your house....
2 months ago
Your automatic garage door is almost certainly the most vulnerable access point in your house. Traditional systems are notorious for their susceptibility to replay attacks, but even more sophisticated modern garage door openers and those that lack remote functionality entirely...
Jonas Hietala
2016 in Review
See the previous reviews.
2016 Geek Achievements
Placed 2nd in Linköping’s Regional in...
over a year ago
See the previous reviews.
2016 Geek Achievements
Placed 2nd in Linköping’s Regional in Netrunner.
Won a couple of smaller Netrunner tournaments.
Got Veronica to play Game of Thrones with us. She beat us and she loved it!
Programmed a little bit of Elixir and a tiny bit of front...
./techtipsy
My experience at the k-space hackerspace hackathon
k-space is a hackerspace in Tallinn, Estonia, and they organized
a hackathon recently. Unlike in...
a year ago
k-space is a hackerspace in Tallinn, Estonia, and they organized
a hackathon recently. Unlike in most hackathons, in this one you could whatever you like with no
expectations about building a business or coming up with an MVP, just come on down to the space and
start working on...
Electronics etc…
HP 33120A Repair - Shutting Down the Eye of Sauron
Introduction
Opening Up an HP 33120A
A Walk Through the Block Diagram
Bug Hunting
Zener...
a year ago
Introduction
Opening Up an HP 33120A
A Walk Through the Block Diagram
Bug Hunting
Zener Replacement
Staring at the Eye of Sauron
FLIR IR Imaging
To Destroy a PCB in Order to Save It
Circuit Reconstruction
Success!
Trust but Verify
Conclusion
References
Introduction
When the...
Jonas Hietala
ISOC update
I have now worked a bit more than 3 weeks out of my 4 weeks of IDA Summer of Code and this is an...
over a year ago
I have now worked a bit more than 3 weeks out of my 4 weeks of IDA Summer of Code and this is an update post of what I’ve done so far. I will write a more extensive summary post at the end of the project. I was planning on writing a weekly summary, but that ship sailed a long...
Home on Erik...
Annoy 1.10 released, with Hamming distance and Windows support
I've been a bit bad at posting things with a regular cadence lately, partly because I'm trying to...
over a year ago
I've been a bit bad at posting things with a regular cadence lately, partly because I'm trying to adjust to having a toddler, partly because the hunt for clicks has caused such a high bar for me that I feel like I have to post something Pulitzer-worthy.
computers are bad
2024-10-12 commercial HF radio
According to a traditional system of classification, "high frequency" or HF
refers to the radio...
2 months ago
According to a traditional system of classification, "high frequency" or HF
refers to the radio spectrum between 3 and 30 MHz. The label now seems
anachronistic, as HF is among the lowest ranges of radio frequencies that see
regular use. This setting of the goalposts in the early...
Louwrentius
Understanding Ceph: open-source scalable storage
Introduction
In this blog post I will try to explain why I believe Ceph is such an interesting...
over a year ago
Introduction
In this blog post I will try to explain why I believe Ceph is such an interesting storage solution. After you finished reading this blog post you should have a good high-level overview of Ceph.
I've written this blog post purely because I'm a storage enthusiast and I...
Arduino Blog
Discover #Virgil: history comes to life with Arduino
We’re excited to introduce #Virgil, an innovative project that combines the power of Arduino...
2 months ago
We’re excited to introduce #Virgil, an innovative project that combines the power of Arduino technology with a passion for history, creating a groundbreaking interactive experience for museums. Using Arduino’s versatile and scalable ecosystem, #Virgil operates completely...
Notes on software...
Implementing the Raft distributed consensus protocol in Go
As part of bringing myself up-to-speed after joining TigerBeetle, I
wanted some background on how...
a year ago
As part of bringing myself up-to-speed after joining TigerBeetle, I
wanted some background on how distributed consensus and replicated state
machines protocols work. TigerBeetle uses Viewstamped
Replication. But I
wanted to understand all popular protocols and I decided to start...
Willem's Blog
Half Marathon
Discover my journey from noob to (half) marathon finisher and how I balanced data with fitness -...
9 months ago
Discover my journey from noob to (half) marathon finisher and how I balanced data with fitness - read about my experiences!
lcamtuf’s thing
Building a phosphorescence detector
There's very little written about natural phosphorescence. Let's design a device that can spot it in...
3 weeks ago
There's very little written about natural phosphorescence. Let's design a device that can spot it in the wild.
Louwrentius
Achieving 2.3 GB/s with 16 x 4 TB drives
I'm in the process of building a new storage server to replace my 18 TB NAS.
The server is almost...
over a year ago
I'm in the process of building a new storage server to replace my 18 TB NAS.
The server is almost finished, it's now down to adding disk drives. I'm using the HGST 4 TB 7200 RPM drive for this build (SKU 0S03356) (review).
I have not bought all drives at once, but slowly adding...
Willem's Blog
Snake '97 High Scores
Happily accepting the invitation to attend an exhibition of Snake 97 art works in Antwerp. This was...
over a year ago
Happily accepting the invitation to attend an exhibition of Snake 97 art works in Antwerp. This was totally WOW!
Jonas Hietala
fish_update_completions in Slackware 14.1
I’ve been trying out fish shell lately. A cool feature with fish is that it can automatically...
over a year ago
I’ve been trying out fish shell lately. A cool feature with fish is that it can automatically generate completions by parsing the installed man pages by running fish_update_completions.
Unfortunately this is what I got:
Traceback (most recent call last):
File...
Posts on Made of...
6.170, CVS, and SVN
I’m taking 6.170 Lab in Software Engineering this semester. The course sucks in various ways, but...
over a year ago
I’m taking 6.170 Lab in Software Engineering this semester. The course sucks in various ways, but one of the most egregious, in my opinion, is that they force you to use CVS for your version control. Problem sets are distributed by the TAs importing them into your repository, and...
Notes on software...
Writing a web server from scratch: 1. HTTP and sockets
Say we have some HTML:
<html>
<body>
<h1>Hello world!</h1>
</body>
</html>
And say we'd...
over a year ago
Say we have some HTML:
<html>
<body>
<h1>Hello world!</h1>
</body>
</html>
And say we'd like to be able to render this page in a web browser. If
the server is hosted locally we may want to enter
localhost:9000/hello-world.html in the address bar, hit
enter, make a...
Vitalik Buterin's...
Governance, Part 2: Plutocracy Is Still Bad
over a year ago
Arduino Blog
Expanding possibilities: Blues Wireless amplifies Opta’s connectivity
Blues Wireless and Arduino have joined forces to create the game-changing Blues Wireless for Arduino...
7 months ago
Blues Wireless and Arduino have joined forces to create the game-changing Blues Wireless for Arduino Opta, unveiled this week at the Automate Show in Chicago. The expansion module is an affordable solution to enhance connectivity options for Arduino Opta micro PLCs, and marks a...
Odds and Ends of...
Nobody knows what the National Data Library is (not even the government)
A policy wrapped in a mystery inside an enigma
a month ago
A policy wrapped in a mystery inside an enigma
Louwrentius
My 71 TiB ZFS NAS after 10 years and zero drive failures
My 4U 71 TiB ZFS NAS built with twenty-four 4 TB drives is over 10 years old and still going...
3 months ago
My 4U 71 TiB ZFS NAS built with twenty-four 4 TB drives is over 10 years old and still going strong.
Although now on its second motherboard and power supply, the system has yet to experience a single drive failure (knock on wood).
Zero drive failures in ten years, how is that...
Arduino Blog
ThermoGrasp brings thermal feedback to virtual reality
Imagine playing Half-Life: Alyx and feeling the gun heat up in your hand as you take down The...
2 months ago
Imagine playing Half-Life: Alyx and feeling the gun heat up in your hand as you take down The Combine. Or operating a robot through augmented reality and feeling coldness on your fingers when you get close to exceeding the robot’s limits. A prototype device called ThermoGrasp...
Jonas Hietala
I'm writing a book: Why Cryptocurrencies?
I decided to write a book. It’s called “Why Cryptocurrencies?” and I will be uploading chapters as I...
over a year ago
I decided to write a book. It’s called “Why Cryptocurrencies?” and I will be uploading chapters as I complete them. It’s available to read online for free. I’ve only uploaded the introductory parts but I’ve got a bunch more planned.
Why write a book you ask? Well, why not?
I...
Odds and Ends of...
Book now! Where we're going, we need roads (and trains)
My next in-person event/meet-up, with transport policy expert Michael Dnes!
3 weeks ago
My next in-person event/meet-up, with transport policy expert Michael Dnes!
Christian Selig
First on New Blog
Converted the blog over to a new Hugo theme! Hopefully everything here sorta works. Test post will...
a year ago
Converted the blog over to a new Hugo theme! Hopefully everything here sorta works. Test post will remove.
This goat’s name is apparently Gubgub, and very cute.
Old Vintage...
Scenes from the Solbourne Computer corporate video, March 1992
Solbourne Computer, which for a number of years was probably Sun's most significant early competitor...
a year ago
Solbourne Computer, which for a number of years was probably Sun's most significant early competitor in SPARC-based systems. Solbourne was the first to market in 1989 with multiprocessing SPARC servers based on their custom circuit-switched 108MB/s KBus interconnect, running a...
Applied Cartography
Typesafe routes in Vue
I watched Gary Bernhardt's talk on static routing back a few years ago and — I'm not sure if I would...
6 months ago
I watched Gary Bernhardt's talk on static routing back a few years ago and — I'm not sure if I would call it formative, but it stuck in my craw as a platonic ideal of sorts, as something I couldn't really justify adopting within Buttondown but really wanted.
I built out and...
Vitalik Buterin's...
El recurso escaso más importante es la legitimidad
over a year ago
Home on Erik...
Luigi talk tomorrow
At NYC Data Science meetup! Unfortunately the space is full but the talk will be livestreamed –...
over a year ago
At NYC Data Science meetup! Unfortunately the space is full but the talk will be livestreamed – check out the meetup web page for a link tomorrow.
computers are bad
2024-09-26 the GE switched services network
We currently find ourselves in something of a series, working our way from
private lines to...
2 months ago
We currently find ourselves in something of a series, working our way from
private lines to large
private line systems like the four-wire private-line national warning
system.
Let's continue to build on the concept of the private line into large
corporate systems.
In principle, a...
Willem's Blog
Limitations of sleep tracking using a wearable
Limitations of heart rate analyses during sleep, why you should reconsider tracking your sleep.
over a year ago
Limitations of heart rate analyses during sleep, why you should reconsider tracking your sleep.
Louwrentius
'Tip of the day for every Linux or Unix user: brace expantion'
Searching the web I discovered some really nice feature of the unix shell,
which I didn't know...
over a year ago
Searching the web I discovered some really nice feature of the unix shell,
which I didn't know about.
Try this:
touch foobar.conf
Now try this:
cp foobar.conf{,.bak}
It is equivalent to:
cp foobar.conf foobar.conf.bak
This is also the easiest way to create sequences. Do not use...
Ian's Blog
Hardware-Accelerated Video Encoding with Intel Arc on Redhat Linux
I've been wanting hardware-accelerated video encoding on my Linux machine for quite a while now, but...
a month ago
I've been wanting hardware-accelerated video encoding on my Linux machine for quite a while now, but ask anybody who's used a Linux machine and they'll tell you of the horrors of Nvidia or AMD drivers.
Intel, on the other hand, seems to be taking things in a much different, much...
Lighthouse Blog
Updates September 9: Feed finding
3 months ago
Jonas Hietala
On The Decline of FPS Games
Mr. Eriksson just sent me this link as a fitting video on my post on The Decline of FPS...
over a year ago
Mr. Eriksson just sent me this link as a fitting video on my post on The Decline of FPS Games.
https://www.youtube.com/watch?v=W1ZtBCpo0eU
Oh How true!
Vitalik Buterin's...
Analyzing Token Sale Models
over a year ago