Notes on software...
The case for comments in code
When I first started programming, especially when asked for code
samples, my comments lacked purpose...
over a year ago
When I first started programming, especially when asked for code
samples, my comments lacked purpose and would often duplicate in
English what the code clearly indicated. I knew that "commenting is
good" but as a beginner I had no further insight.
Over time with the help of books...
Bryan Braun - Blog
Links #11
Here are some more links to things that I keep thinking about. I shared a bit more detail on these...
a month ago
Here are some more links to things that I keep thinking about. I shared a bit more detail on these ones than I usually do—there were so many good quotes to include. Enjoy!
Selfishness & Therapy Culture
Earlier this year, there was a post in the New York Times called “Sometimes,...
Notes on software...
Intercepting and modifying Linux system calls with ptrace
How software fails is interesting. But real-world errors can be
infrequent to manifest....
a year ago
How software fails is interesting. But real-world errors can be
infrequent to manifest. Fault
injection
is a formal-sounding term that just means: trying to explicitly
trigger errors in the hopes of discovering bad logic, typically
during automated tests.
Jepsen
and ChaosMonkey...
computers are bad
2024-03-17 wilhelm haller and photocopier accounting
In the 1450s, German inventor Johannes Gutenburg designed the movable-type
printing press, the first...
9 months ago
In the 1450s, German inventor Johannes Gutenburg designed the movable-type
printing press, the first practical method of mass-duplicating text. After
various other projects, he applied his press to the production of the Bible,
yielding over one hundred copies of a text that...
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.
Good Enough
You Complete Me
When Good Enough was in its infancy as a truly American LLC (formed in Delaware and representing one...
a month ago
When Good Enough was in its infancy as a truly American LLC (formed in Delaware and representing one or two people who were
only semi-serious about a business), it was fun to play around with building websites.
Shawn and I were truly just playing and exploring, more than anything...
Gwern.net Newsletter
June gwern.net newsletter
June 2020 gwern.net newsletter with 3 new pages/essays, and links on CRISPR, population screening,...
over a year ago
June 2020 gwern.net newsletter with 3 new pages/essays, and links on CRISPR, population screening, AI scaling, politics, and technological unemployment.
Jonas Hietala
How I wrote a book using Pollen
I wrote an online book using Pollen, a static site generator in Racket. An earlier post contains my...
over a year ago
I wrote an online book using Pollen, a static site generator in Racket. An earlier post contains my first impressions of it, but as the book is now completed I think I can summarize some implementation details in more detail with this post.
I really like the markup language and...
Home on Erik...
Nearest neighbors and vector models – part 2 – algorithms and data structures
This is a blog post rewritten from a presentation at NYC Machine Learning on Sep 17. It covers a...
over a year ago
This is a blog post rewritten from a presentation at NYC Machine Learning on Sep 17. It covers a library called Annoy that I have built that helps you do nearest neighbor queries in high dimensional spaces.
Home on Erik...
MCMC for marketing data
The other day I was looking at marketing spend broken down by channel and wanted to compute some...
over a year ago
The other day I was looking at marketing spend broken down by channel and wanted to compute some simple uncertainty estimates. I have data like this:
<th> Total spend </th> <th> Transactions </th> Channel A <td> 2292.
Notes on software...
Windows
It has been six years since I last used Windows for any remotely
serious software development. I've...
over a year ago
It has been six years since I last used Windows for any remotely
serious software development. I've used Ubuntu, Arch, or FreeBSD
since. But eventually I spent so much time working around common
workplace tasks that I decided to put Windows 10 Pro on my work
laptop.
Windows...
Lars Lofgren
Forbes Marketplace: The Parasite SEO Company Trying to Devour Its Host
Are you sick of Forbes appearing in search results? For topics that Forbes doesn’t have any...
3 months ago
Are you sick of Forbes appearing in search results? For topics that Forbes doesn’t have any expertise in? Here’s the organic rankings for “best pet insurance”: Forbes ranks #2. Not sure a business website knows how pet insurance actually works. But okay. They also have the #1...
Jonas Hietala
August theme: Bare Minimum
This time I’ll be following my inspiring site and declare Bare Minimum as the theme for my next...
over a year ago
This time I’ll be following my inspiring site and declare Bare Minimum as the theme for my next game. This could really be anything, from graphics to user interaction… But I’ve got an idea. It’ll be a real challange for me to make but hopefully I’ll have a game in a few weeks...
Jonas Hietala
Building my ultimate keyboard
The Cybershard keyboard.
What comes to mind when you see the description “the ultimate...
a month ago
The Cybershard keyboard.
What comes to mind when you see the description “the ultimate keyboard”?
There are many keyboards in this world; here are some that might fit the “ultimate” moniker:
Das Keyboard 4 Ultimate mechanical keyboard
DataHand
Ergodox EZ
Glove80
Happy...
Arduino Blog
ardEEG is an Arduino UNO R4 WiFi shield for measuring biosignals
The secrets to most of the mind’s mysteries may still elude us, but we’ve made a tremendous amount...
7 months ago
The secrets to most of the mind’s mysteries may still elude us, but we’ve made a tremendous amount of progress in reading signals produced by the brain. We may not understand exactly what is going on, but we can see the result and utilize it. And now you can start...
./techtipsy
So you need some tech tips...
I’m an experienced software developer located in Estonia 🇪🇪🇪🇺 .
I don’t simply get things done,...
over a year ago
I’m an experienced software developer located in Estonia 🇪🇪🇪🇺 .
I don’t simply get things done, I get them done done.
Here’s what I bring to the table:
software development skillset
building useful solutions
monitoring, observability
incident response
I know how to use...
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.
./techtipsy
Shrinkflation, SanDisk style
2023-02-16 update: this post is not about the “GB vs GiB” issue, or the “lost disk space” that...
a year ago
2023-02-16 update: this post is not about the “GB vs GiB” issue, or the “lost disk space” that you
notice after formatting the device in an OS. Please read the article in full before
making inaccurate comments online.
For many years, I have used two SanDisk Ultra 16 GB USB flash...
computers are bad
2023-06-30 calling in the alarm
I currently find myself on vacation in the Canadian Rockies, where internet is
hard to come by. But...
a year ago
I currently find myself on vacation in the Canadian Rockies, where internet is
hard to come by. But here's something short while I'm temporarily back in the
warm embrace of 5G: more about burglar alarms. I recently gave a presentation
on this topic and I'll probably record it for...
Old Vintage...
An Apple district manager's Macintosh Portable in 1989-91 (featuring GEIS AppleLink and a look at...
a late prototype Macintosh Portable. But it turns out it's not merely notable for what it is than...
10 months ago
a late prototype Macintosh Portable. But it turns out it's not merely notable for what it is than what it has on it: a beta version of System 6.0.6 (the doomed release that Apple pulled due to bugs), Apple sales databases, two online services — the maligned Mac Prodigy client,...
Posts on Made of...
A Cursed Bug
In my day job at Anthropic, we run relatively large distributed systems to train large language...
over a year ago
In my day job at Anthropic, we run relatively large distributed systems to train large language models. One of the joys of using a lot of computing resources, especially on somewhat niche software stacks, is that you spend a lot of time running into the long-tail of bugs which...
./techtipsy
How I treat my urge to hoard data
The tagline for /r/datahoarder reads:
“It’s A Digital Disease!”. I agree.
At some point I realized...
over a year ago
The tagline for /r/datahoarder reads:
“It’s A Digital Disease!”. I agree.
At some point I realized that the pursuit to hoard all the things will just keep
on consuming more and more of my time and money. Storage is cheap up until to a
point, once you find yourself tracking hard...
Matt Mullenweg
RIP Quincy Jones
Quincy Jones had such an impact on the culture that it’s impossible to summarize. His discography is...
a month ago
Quincy Jones had such an impact on the culture that it’s impossible to summarize. His discography is amazing. I feel so lucky to have met him in 2012 when I was much earlier in my career, and he didn’t have any reason to give me time, but he treated everyone as if they were...
Old Vintage...
Teaching Apple Cyberdog 1.0 new tricks (featuring OpenDoc)
this cyberdog (image credit).
that cyberdog, though this is one of my favourite weirdo pinball...
a year ago
this cyberdog (image credit).
that cyberdog, though this is one of my favourite weirdo pinball machines.
that cyberdog.
our PowerBook Duo 2300 rehabilitated, guess what we're gonna look at?
Internet document?
Thus was the nucleus of Cyberdog (named for the famous New...
Ken Shirriff's blog
Wealth distribution in the United States
Forbes recently published the Forbes 400 List for 2024, listing the
400 richest people in the United...
2 months ago
Forbes recently published the Forbes 400 List for 2024, listing the
400 richest people in the United States.
This inspired me to
make a histogram to show the distribution of wealth in the United States.
It turns out that if you put Elon Musk on the graph,
almost the entire US...
Simply Explained
Multitasking on ESP32 with Arduino and FreeRTOS
By now, it's no secret that the ESP32 is my go-to chip for making IoT devices. They're small,...
over a year ago
By now, it's no secret that the ESP32 is my go-to chip for making IoT devices. They're small, powerful, have a ton of onboard features, and they're relatively easy to program.However, when using it together with Arduino, all your code runs on a single core. That seems a bit...
Home on Erik...
Where do locals go in NYC?
One obvious thing to anyone living in NYC is how tourists cluster in certain areas. I was curious...
over a year ago
One obvious thing to anyone living in NYC is how tourists cluster in certain areas. I was curious about the larger patterns around this, so I spent some time looking at data. The thing I wanted to understand is: what areas are dominated by tourists?
Buck on Software
23 things you should know
1: Management’s true confidence is reflected in how fast they are hiring
over a year ago
1: Management’s true confidence is reflected in how fast they are hiring
GitButler
Git Merge 2024
Git Merge 2024 has wrapped and we all had a heck of a good time. Here's the overview.
3 months ago
Git Merge 2024 has wrapped and we all had a heck of a good time. Here's the overview.
computers are bad
2024-07-13 the contemporary carphone
Cathode Ray Dude, in one of his
many excellent "Quick Start" videos, made an interesting observation...
5 months ago
Cathode Ray Dude, in one of his
many excellent "Quick Start" videos, made an interesting observation that
has stuck in my brain: sophisticated computer users, nerds if you will, have
a tendency to completely ignore things that they know are worthless. He was
referring to the...
Lars Lofgren
My 7 Rules for A/B Testing That Triple Conversion Rates
I really don’t care how any given A/B test turns out. That’s right. Not one bit. But wait, how do I...
over a year ago
I really don’t care how any given A/B test turns out. That’s right. Not one bit. But wait, how do I double or triple conversion rates without caring how a test performs? I actually care about the whole SYSTEM of testing. All the pieces need to fit together just right. If not,...
Jonas Hietala
No game this month
Well here I am in the end of the month - without a game. It’s a failure I know but once again I lack...
over a year ago
Well here I am in the end of the month - without a game. It’s a failure I know but once again I lack inspiration and then it’s really hard to do something. Instead I’ve been thinking of something I could do that would make me wanna code like really bad again. I’m thinking of...
seangoedecke.com RSS...
Mistakes engineers make in large established codebases
Working in large established codebases is one of the hardest things to learn as a software engineer....
yesterday
Working in large established codebases is one of the hardest things to learn as a software engineer. You can’t practice it beforehand (no…
Willem's Blog
Lessons from a takeaway plastic bag
How we're tricked into repeated purchases replacing perfectly fine products just for the sake of...
over a year ago
How we're tricked into repeated purchases replacing perfectly fine products just for the sake of change.
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...
Louwrentius
Script that deletes old files to keep disk from filling up
When a disk has no free space left, all kinds of trouble can occur.
Therefore, I've created a...
over a year ago
When a disk has no free space left, all kinds of trouble can occur.
Therefore, I've created a script that monitors the used space of a volume
and deletes the oldest file if a certain threshold is reached.
The script will keep on deleting the oldest file present on disk until...
Applied Cartography
Bluesky is good
Three months ago, I wrote Bluesky et al, in which I walked through the various platforms vying for...
3 weeks ago
Three months ago, I wrote Bluesky et al, in which I walked through the various platforms vying for the dubious title of "Twitter's successor" and landed on Bluesky as being my favorite, perhaps less out of its ostensible inherent virtues and more out of the size of its...
Willem's Blog
Tablet as Tool
Discover the hidden advantages of the iPad Pro in this insightful blog post, offering tips and...
a year ago
Discover the hidden advantages of the iPad Pro in this insightful blog post, offering tips and personal experiences to help you maximise the tablet's potential and redefine your workflow.
Jonas Hietala
March Theme: 10 seconds
Well well here’s something interesting. The Experimental Gameplay Project has given us a really...
over a year ago
Well well here’s something interesting. The Experimental Gameplay Project has given us a really interesting thing to focus on: Time. Like Braid, it’s time for us to make something interesting with time itself. 10 seconds is the constraint and that’s not a lot, but perhaps enough?
Computer Ads from...
Bible Research Systems' THE WORD Processor
For Those Who Seek.
5 months ago
Simply Explained
Shelly 2.5: Flash ESPHome Over The Air!
It's no secret that I'm a fan of Shelly products to automate various devices in my house. They're...
over a year ago
It's no secret that I'm a fan of Shelly products to automate various devices in my house. They're well built, tiny and rock solid, and best of all: compatible with ESPHome.I flashed ESPHome onto all my Shelly 1's, but for some reason, I have issues with my Shelly 2.5 devices......
Posts on Made of...
Stripe's monorepo developer environment
I worked at Stripe for about seven years, from 2012 to 2019. Over that time, I used and contributed...
7 months ago
I worked at Stripe for about seven years, from 2012 to 2019. Over that time, I used and contributed to many generations of Stripe’s developer environment – the tools that engineers used daily to write and test code. I think Stripe did a pretty good job designing and building that...
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).
./techtipsy
Database optimization adventures on low-end hardware
I used to work on a short-term project a while ago where the goal was to visualize some metrics that...
over a year ago
I used to work on a short-term project a while ago where the goal was to visualize some metrics that were collected from
a pretty fancy smart home setup. This data included power usage of various sections of the building, temperature
sensors, water usage levels and more. The data...
Computer Ads from...
Maxell's MF 2-DD Floppies
The Gold Standard
a month ago
Home on Erik...
hdfs2cass
Just open sourced hdfs2cass which is a Hadoop job (written in Java) to do efficient Cassandra...
over a year ago
Just open sourced hdfs2cass which is a Hadoop job (written in Java) to do efficient Cassandra bulkloading. The nice thing is that it queries Cassandra for its topology and uses that to partition the data so that each reducer can upload data directly to a Cassandra node.
heavymeta.org
CrowdStrike's Impact on Aviation
Just after midnight Eastern Time on July 19, 2024, the enterprise cybersecurity
company CrowdStrike...
5 months ago
Just after midnight Eastern Time on July 19, 2024, the enterprise cybersecurity
company CrowdStrike YOLOed a software update to millions of Windows machines. Or
as they put it:
On July 19, 2024 at 04:09 UTC, as part of ongoing operations, CrowdStrike
released a sensor...
Louwrentius
Why security is all about defense in depth
Many people asume that if you regularly update your computer, you are safe from hackers. But nothing...
over a year ago
Many people asume that if you regularly update your computer, you are safe from hackers. But nothing could be further from the truth. Keeping your systems up-to-date only protects you against exploits for publicly known vulnerabilities.
Your systems are still not protected...
Home on Erik...
Pareto efficency
Pareto efficiency is a useful concept I like to think about. It often comes up when you compare...
over a year ago
Pareto efficiency is a useful concept I like to think about. It often comes up when you compare items on multiple dimensions. Say you want to buy a new TV. To simplify it let's assume you only care about two factors: price and quality.
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.
Posts on Made of...
Check Plus: An EDSL for writing unit tests in C
Check is an excellent unit-testing framework for C code, used by a number of relatively well-known...
over a year ago
Check is an excellent unit-testing framework for C code, used by a number of relatively well-known projects. It includes features such as running all tests in separate address spaces (using fork(2)), which means that the test suite can properly report segfaults or similar crashes...
Willem's Blog
Impact of training
Join me on an intriguing journey as I explore the transformative impact of effective training and...
a year ago
Join me on an intriguing journey as I explore the transformative impact of effective training and data analysis on my performance in the Fietselfstedentocht 2023.
./techtipsy
ASRock X570M Pro4 motherboard overview
Not too long ago, I had the goal of consolidating all my computing needs onto a
single desktop PC....
over a year ago
Not too long ago, I had the goal of consolidating all my computing needs onto a
single desktop PC. That meant moving from an mITX-based build to something that
had a bit more expandability. Since I already had a
Fractal Meshify C Mini,
I decided to go for an mATX motherboard. And...
Lars Lofgren
The Stupidity of Google’s Site Reputation Abuse Policy
Site reputation abuse is when a third-party abuses the reputation of a domain to rank a bunch of...
a month ago
Site reputation abuse is when a third-party abuses the reputation of a domain to rank a bunch of pages in Google. The SEO community refers to this type of thing as parasite SEO. Google has gone so far as to publish an official policy (documented here) on how this isn’t allowed:...
Home on Erik...
Learning from users faster using machine learning
I had an interesting idea a few weeks ago, best explained through an example. Let's say you're...
over a year ago
I had an interesting idea a few weeks ago, best explained through an example. Let's say you're running an e-commerce site (I kind of do) and you want to optimize the number of purchases.
Let's also say we try to learn as much as we can from users, both using A/B tests but also...
computers are bad
2023-04-27 los alamos - compound to county pt I
This weekend, I found myself staying in Los Alamos for a volunteer role in
which I judge children on...
a year ago
This weekend, I found myself staying in Los Alamos for a volunteer role in
which I judge children on the quality of their software. Clearly this is not
the kind of opportunity I would turn down, but I also always take an excuse to
drive back up the hill. I only lived in Los...
Home on Erik...
I believe in the 10x engineer, but...
The easiest way to be a 10x engineer is to make 10 other engineers 2x more efficient. Someone can be...
over a year ago
The easiest way to be a 10x engineer is to make 10 other engineers 2x more efficient. Someone can be a 10x engineer if they do nothing for 364 days then convinces the team to change programming language to a 2x more productive language.
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...
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...
Louwrentius
Tracking down a faulty Storage Array Controller with ZFS
One day, I lost two virtual machines on our DR environment after a storage vMotion.
Further...
over a year ago
One day, I lost two virtual machines on our DR environment after a storage vMotion.
Further investigation uncovered that any storage vMotion of a virtual machine residing on our DR storage array would corrupt the virtual machine's disks.
I could easily restore the affected...
Engineers Need Art
SystemSix
SystemSix is a desk calendar project that displays the weather forecast and phase of the moon on an...
over a year ago
SystemSix is a desk calendar project that displays the weather forecast and phase of the moon on an e-ink display.
computers are bad
2023-11-19 Centrex
I have always been fascinated by the PABX - the private automatic branch
exchange, often shortened...
a year ago
I have always been fascinated by the PABX - the private automatic branch
exchange, often shortened to "PBX" in today's world where the "automatic" is
implied. (Relatively) modern small and medium business PABXs of the type I like
to collect are largely solid-state devices that...
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...
Christian Selig
Introducing Tiny Storage: a small, lightweight UserDefaults replacement
Hey I'm a developer not an artist
Following my last blog post about difficulties surrounding...
2 months ago
Hey I'm a developer not an artist
Following my last blog post about difficulties surrounding UserDefaults and edge cases that lead to data loss (give it a read if you haven’t, it’s an important precursor to this post!), I wanted to build something small and lightweight that...
computers are bad
2024-09-14 the national warning system
Previously on Deep Space Nine, we discussed the extensive and variable products
that AT&T and...
3 months ago
Previously on Deep Space Nine, we discussed the extensive and variable products
that AT&T and telephone operating companies sold as private
lines. One of the
interesting properties of private line systems is that they can be ordered as
four-wire. Internally, the telephone network...
Home on Erik...
I already found the best gifs
Just search for “hackers gif“.
There you go. Fun for your work emails for the next 500 years. From...
over a year ago
Just search for “hackers gif“.
There you go. Fun for your work emails for the next 500 years. From the awesome movie Hackers. That movie together with The Warriors convinced me that I wanted to live in NYC when I was like… 14 years old.
Arduino Blog
A DIY bottle-labeling machine perfect for homebrewers
While it is certainly possible (and common) to put homebrewed beer into kegs, that requires...
6 months ago
While it is certainly possible (and common) to put homebrewed beer into kegs, that requires regulated gas and large refrigeration space. A keg is also more difficult to transport and overkill if you just want to bring a few beers to a friend’s backyard BBQ. For those reasons,...
Odds and Ends of...
Odds and Ends #48: The most important week of Labour government so far?
Plus a British tech unicorn, a nuclear energy ticking time bomb and... New Zealand's weird...
a week ago
Plus a British tech unicorn, a nuclear energy ticking time bomb and... New Zealand's weird Parliament.
Arduino Blog
This fake CRT TV works using lasers and UV magic
Until the 21st century, cathode-ray tube (CRT) TVs were pretty much the only option. As such, media...
a month ago
Until the 21st century, cathode-ray tube (CRT) TVs were pretty much the only option. As such, media was made to suit them. Retro video game consoles in particular look best on CRT TVs. But those old TVs are getting hard to find and desirable models are now quite expensive. So,...
computers are bad
2023-11-04 nuclear safety
Nuclear weapons are complex in many ways. The basic problem of achieving
criticality is difficult on...
a year ago
Nuclear weapons are complex in many ways. The basic problem of achieving
criticality is difficult on its own, but deploying nuclear weapons as
operational military assets involves yet more challenges. Nuclear weapons must
be safe and reliable, even with the rough handling and...
./techtipsy
How to save an old printer from the e-waste pile with a Raspberry Pi
A family member has a Canon PIXMA MP250 printer, originally released in 2009.
It has been a very...
6 months ago
A family member has a Canon PIXMA MP250 printer, originally released in 2009.
It has been a very reliable piece of hardware, especially for a printer.
Then came Windows 10. The printer would not work out of the box with it and
the official drivers got stuck during installation....
lcamtuf’s thing
Random objects: Intel Edison
A glimpse of the missteps of x86 in the embedded world.
6 months ago
A glimpse of the missteps of x86 in the embedded world.
./techtipsy
My trip to the Communication and Laptop Museum in Estonia
While on vacation I went on a small road-trip across Estonia. During the second half of the trip I...
a year ago
While on vacation I went on a small road-trip across Estonia. During the second half of the trip I ended up being in Võrumaa,
and while driving I suddenly remembered a random fact that some people mentioned in a hackerspace Slack channel: there’s
a new museum around here!
The...
Ken Shirriff's blog
Antenna diodes in the Pentium processor
I was studying the silicon die of the Pentium processor and noticed some puzzling structures...
a month ago
I was studying the silicon die of the Pentium processor and noticed some puzzling structures where
signal lines were connected to the silicon substrate for no apparent reason.
Two examples are in the photo below, where the metal wiring (orange) connects to small square regions of...
Home on Erik...
Microsoft's new marketing strategy: give up
I think it's funny how MS at some point realized they are not the cool kids and there's no reason to...
over a year ago
I think it's funny how MS at some point realized they are not the cool kids and there's no reason to appeal to that target audience. Their new marketing strategy finally admits what's been long known: the correlation between “business casual” and using Microsoft products:
Arduino Blog
Why is STEAM education important for kids? 6 activity tips
School’s out for summer – at least for most of us. While the majority of children (and teachers!)...
6 months ago
School’s out for summer – at least for most of us. While the majority of children (and teachers!) will probably be breathing a huge sigh of relief, parents face a new challenge: how to keep kids engaged during the long break. Of course, downtime is important, but there are also...
Jonas Hietala
I Made It!
It’s been over a year, but I haven’t lost (most) my touch yet! For the second time I’ve completed a...
over a year ago
It’s been over a year, but I haven’t lost (most) my touch yet! For the second time I’ve completed a Ludum Dare! Not an easy feat and yet there are tons of games that look absolutely wonderful. I’m not there yet but now I have at least gotten back into game making again, long...
Jonas Hietala
Motivation is Valuable
It’s funny how motivation can play such a huge role with my productivity. I’m currently having two...
over a year ago
It’s funny how motivation can play such a huge role with my productivity. I’m currently having two math courses; one mandatory about analysis in multiple variables and vector analysis and one voluntary about advanced linear algebra. I don’t like the analysis course, didn’t like...
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...
computers are bad
2024-09-08 private lines
I have been meaning, for some time, to write about common carrier switching
arrangements (CCSAs)....
3 months ago
I have been meaning, for some time, to write about common carrier switching
arrangements (CCSAs). These could be considered an early form of products like
"virtual private ethernet:" a private telephone network that was served by the
same switching machines that handled the...
./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...
Style over Substance
CANARY Corrugated Cardboard Cutter
The CANARY corrugated cardboard cutter is definitely in my top 10 list of most useful purchases...
over a year ago
The CANARY corrugated cardboard cutter is definitely in my top 10 list of most useful purchases ever. During the COVID-19 lockdowns, we all started shopping online a lot more. The number of cardboard boxes in our house basically quadrupled overnight and cutting them down to size...
Matt Mullenweg
Carmack & Rogan
I guess something has changed with the Joe Rogan / Spotify deal and now all the old episodes are on...
a month ago
I guess something has changed with the Joe Rogan / Spotify deal and now all the old episodes are on YouTube again, which means the gems from the archives can now pop up. I was alerted to this conversation between Joe Rogan and John Carmack, and it’s pure gold. I know I’m five...
./techtipsy
How to start your self-hosting adventure: a high-level overview
Reddit is a great starting point for getting new ideas for your homelab: racks full of machines
in...
over a year ago
Reddit is a great starting point for getting new ideas for your homelab: racks full of machines
in /r/homelab, storage measured in terabytes (or even petabytes) over
at /r/datahoarder, all the different services that people host over at
/r/selfhosted. This can be a bit...
Home on Erik...
More Luigi alternatives
The workflow engine battle has intensified with some more interesting entries lately! Here are a...
over a year ago
The workflow engine battle has intensified with some more interesting entries lately! Here are a couple I encountered in the last few days. I love that at least two of them are direct references to Luigi!
Jonas Hietala
2017 in Review
In contrast to previous years I haven’t kept up with the blog. For good reason I’d say since we got...
over a year ago
In contrast to previous years I haven’t kept up with the blog. For good reason I’d say since we got a child in October! It really alters your perspectives and other things suddenly feel a little less important and of course there’s less time to do other stuff.
A little late and...
Notes on software...
Tail call elimination
In this post we'll explore what tail calls are, why they are useful,
and how they can be eliminated...
over a year ago
In this post we'll explore what tail calls are, why they are useful,
and how they can be eliminated in an interpreter, a compiler targeting
C++, and a compiler targeting LLVM IR.
Tail calls
A tail call is a function call made at the end of a block that
returns the value of the...
Louwrentius
Linux: script that creates table of network interface properties
My server has 5 network interfaces and I wanted a quick overview of some properties. There may be an...
over a year ago
My server has 5 network interfaces and I wanted a quick overview of some properties. There may be an existing linux command for this but I couldn't find it so I quickly wrote my
own script (download).
This is the output:
The only requirement for this script is that you have...
Posts on Made of...
Git in pictures
In my previous blog post, I discussed how git is distinctive among version control system in the way...
over a year ago
In my previous blog post, I discussed how git is distinctive among version control system in the way in which it makes the backend model that is being used to store data the most important element of the tool, and that experts use it by having the complete model in their head,...
Notes on software...
Running SQL Server in a container on Github Actions
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.
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.
./techtipsy
I tried out the CyberPower UT650EG UPS
After some spicy feedback to my post where a ThinkPad T430 acted as a server,
I decided to try out...
over a year ago
After some spicy feedback to my post where a ThinkPad T430 acted as a server,
I decided to try out one UPS that was recommended on the basis of it being much
more power efficient compared to the APC UPS that I previously ran.
That UPS? CyberPower UT650EG.
Why switch out a...
Willem's Blog
Wearing Grand Seiko
I am glad I took the opportunity to wear a Grand Seiko, learning first hand about its craftsmanship,...
over a year ago
I am glad I took the opportunity to wear a Grand Seiko, learning first hand about its craftsmanship, innovation and practicality.
Jonas Hietala
Undo git reset --hard
I purposefully and more or less idiotically executed git reset --hard <hash> in hopes of going back...
over a year ago
I purposefully and more or less idiotically executed git reset --hard <hash> in hopes of going back a bit. What I didn’t realize then is that you throw away all the commits between now until <hash>. Not quite what was planned.
After a bit of panic I found the answer:
Find your...
Posts on Made of...
Confessions of a programmer: I hate code review
Most of the projects I've been working on today have fairly strict code review policies. My work...
over a year ago
Most of the projects I've been working on today have fairly strict code review policies. My work requires code review on most of our code, and as we bring on an army of interns for the summer, I've been responsible for reviewing lots of code. Additionally, about five months ago...
./techtipsy
ThinkPad T40: it can still run modern Linux, for now
I recently busted out my old ThinkPad T40, the last of the OG IBM ThinkPads.
I picked it up some...
7 months ago
I recently busted out my old ThinkPad T40, the last of the OG IBM ThinkPads.
I picked it up some time around my university days because I liked collecting
ThinkPads at the time, and it was a nice complement to my existing ThinkPad T60
and T430.
The battery is dead, but everything...
Arduino Blog
This Kenyan engineer modernizes vintage cars with a custom ECU and EFI upgrades
The automotive industry’s switch from carburetion to fuel injection was one of the most effective...
3 months ago
The automotive industry’s switch from carburetion to fuel injection was one of the most effective advancements of the 20th century. Electronic fuel injection allows for precise control over an internal combustion engine’s air-fuel mixture, which dramatically improves fuel...
Vitalik Buterin's...
[Mirror] Zk-SNARKs: Under the Hood
over a year ago
Louwrentius
Configuring SCST iSCSI target on Debian Linux (Wheezy)
My goal is to export ZFS zvol volumes through iSCSI to other machines. The platform I'm using is...
over a year ago
My goal is to export ZFS zvol volumes through iSCSI to other machines. The platform I'm using is Debian Wheezy.
There are three iSCSI target solutions available for Linux:
LIO
IET
SCST
I've briefly played with LIO but the targetcli tool is interactive only. If you want to...
Avestura's Blog
Versioning microservices in GitLab monorepos and polyrepos
What are some possible options to version projects for a microservices project in Gitlab?
over a year ago
What are some possible options to version projects for a microservices project in Gitlab?
Arduino Blog
Arduino and Truesense partner to bring UWB technology to millions
We are excited to announce our latest partnership with Truesense, a leader in ultra-wideband (UWB)...
2 months ago
We are excited to announce our latest partnership with Truesense, a leader in ultra-wideband (UWB) technology, known for its innovative software and hardware solutions. This collaboration enhances our ecosystem of hardware products, software solutions, and cloud services,...
anderegg.ca
Anzu Castle Gracula
Turns out you can release a QBasic game on Steam if it’s packaged correctly. Beside being a nerdy...
a month ago
Turns out you can release a QBasic game on Steam if it’s packaged correctly. Beside being a nerdy oddity, this game is extremely well made and quite fun! Lots of Castlevania II vibes going on here. Check out Anzu Castle Gracula on Steam, or give it a shot on Itch.io.
Bryan Braun - Blog
One Million Checkboxes and the fear of viral success
When Nolen Royalty’s One Million Checkboxes site went viral, several people sent me links to it.
If...
4 months ago
When Nolen Royalty’s One Million Checkboxes site went viral, several people sent me links to it.
If you haven't heard of One Million Checkboxes, see the Wikipedia article for more details.
I loved everything about One Million Checkboxes. It was simple but strangely compelling....
Simply Explained
Home Energy Monitor: V2
My DIY home energy monitor has been running for almost a year now. It's been recording my...
over a year ago
My DIY home energy monitor has been running for almost a year now. It's been recording my electricity consumption every second and everything is neatly archived in my AWS account.Still, though, there is room for improvement. It's time to look back, evaluate & improve the design....
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...
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...
lcamtuf’s thing
The untimely demise of an image upscaler
ML-based image enhancement models are great. Unfortunately, some of them are great only once.
4 months ago
ML-based image enhancement models are great. Unfortunately, some of them are great only once.
Notes on software...
One year as a solo dev building open-source data tools without funding
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.
computers are bad
2024-07-20 minuteman missile communications
A programming note: I am looking at making some changes to how I host things
like Computers Are Bad...
5 months ago
A programming note: I am looking at making some changes to how I host things
like Computers Are Bad and wikimap that are going to
involve a lot more recurring expense. For that and other reasons, I want to see
if y'all would be willing to throw some money my way. If everyone...
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...
Applied Cartography
Mass renaming files in fish on macOS
One of many two-liners to come as I migrate things from the old site onto Obsidian:
brew install...
a year ago
One of many two-liners to come as I migrate things from the old site onto Obsidian:
brew install rename
rename "s/.mdx/.md/" **.md
Willem's Blog
Tips for Long-Distance Cycling
Embark on your own long-distance cycling adventure by learning from my post-COVID...
a year ago
Embark on your own long-distance cycling adventure by learning from my post-COVID Fietselfstedentocht experience, packed with invaluable tips and tricks.
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...
Arduino Blog
How to customize your Arduino Cloud IoT dashboards on the go
The Arduino Cloud has long been a trusted platform for makers, engineers, and developers to manage...
2 months ago
The Arduino Cloud has long been a trusted platform for makers, engineers, and developers to manage their IoT projects with ease. From tracking sensor data to automating smart devices, the cloud enables seamless connectivity. Complementing this, the Arduino IoT Remote mobile app...
Simply Explained
ESP32 Cam: cropping images on device
The ESP32 camera is the cheapest microcontroller with a built-in camera that you can buy. The OV2640...
over a year ago
The ESP32 camera is the cheapest microcontroller with a built-in camera that you can buy. The OV2640 sensor has a max resolution of 1600x1200, but sometimes you don't need the entire image.In this post I'll show how to crop the images on the ESP32 itself, before sending it of to...
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...
computers are bad
2024-01-21 multi-channel audio part 1
Stereophonic or two-channel audio is so ubiquitous today that we tend to refer
to all kinds of...
11 months ago
Stereophonic or two-channel audio is so ubiquitous today that we tend to refer
to all kinds of pieces of consumer audio reproduction equipment as "a stereo."
As you might imagine, this is a relatively modern phenomenon. While stereo
audio in concept dates to the late 19th...
Posts on Made of...
Property-Based Testing Is Fuzzing
“Property-based testing” refers to the idea of writing statements that should be true of your code...
over a year ago
“Property-based testing” refers to the idea of writing statements that should be true of your code (“properties”), and then using automated tooling to generate test inputs (typically, randomly-generated inputs of an appropriate type), and observe whether the properties hold for...
csvbase blog
DuckDB isn't just fast
A whistlestop tour of the cool bits of DuckDB
7 months ago
A whistlestop tour of the cool bits of DuckDB
Arduino Blog
This Halo helmet features an adjustable-transparency RGB-backlit visor
The Halo franchise is full of iconic designs, from vehicles like the Warthog to weapons like the...
a month ago
The Halo franchise is full of iconic designs, from vehicles like the Warthog to weapons like the Needler. But the armor, such as the Spartan armor worn by Master Chief, is arguably the most recognizable. The helmets are especially cool, and LeMaster Tech put his own unique spin...
Arduino Blog
Assess your aquarium’s health with an AI-enabled ultrasonic sensor
Below the surface of any body of water, harmful amounts of toxic gases and contaminates can...
8 months ago
Below the surface of any body of water, harmful amounts of toxic gases and contaminates can accumulate, which leads to a loss in fish and plant populations if not fixed quickly. But because most water testing, especially in aquariums, is done primarily on the surface, vital...
Arduino Blog
The new Auxivo EduExo Pro helps students with exoskeleton research
Emerging technologies initially develop at a slow pace and that is due in large part to the lack of...
5 months ago
Emerging technologies initially develop at a slow pace and that is due in large part to the lack of resources available to students. Complex technology is built on existing knowledge and higher education students need the tools to gain hands-on experience. To help educate the...
computers are bad
2023-04-10 solving problems with chatgpt
One of the foundational goals of computer technology, at least as understood by
popular culture, is...
a year ago
One of the foundational goals of computer technology, at least as understood by
popular culture, is to automate away our jobs. When your job is (put simply) to
get computers to work correctly, there's sort of an irony to this view of
things. Still, just within the span of my...
./techtipsy
The IPv6 situation on Docker is good now!
Good news, everyone! Doing IPv6 networking stuff on Docker is actually good now!
I’ve recently...
a week ago
Good news, everyone! Doing IPv6 networking stuff on Docker is actually good now!
I’ve recently started reworking my home server setup to be more IPv6 compatible, and as part of that I learned that
during
the summer of 2024 Docker shipped an update that eliminated a
lot of the...
Notes on software...
Writing a lisp compiler from scratch in JavaScript: 4. LLVM conditionals and compiling fibonacci
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
5. LLVM system calls
6. an x86 upgrade
In this post we'll extend the
compiler's LLVM backend to
support compiling conditionals such that we can support...
Good Enough
Issue 0: Collector's Item
1. Oh, hello.
We didn’t see you there. How are you doing?
You’ve somehow ended up with a collector’s...
over a year ago
1. Oh, hello.
We didn’t see you there. How are you doing?
You’ve somehow ended up with a collector’s item in your hands: the very first Good Enough Newsletter. This is the beginning of what we (Barry Hess & Shawn Liu) hope to be a years-long series of communiqués with our rabid...
Matt Mullenweg
Age-gating
I’m not opposed to age-gating at all, I think it’s appropriate in many situations and useful, and...
a month ago
I’m not opposed to age-gating at all, I think it’s appropriate in many situations and useful, and democratic societies can decide their own rules there. But it should be handled and authenticated as low-level as possible, at the operating system layer. See also: Australia’s...
Good Enough
Season 3, Issue 1: Whale, Hello There!
Dear friends, we have not been good at writing this newsletter regularly. But writing is hard work,...
a year ago
Dear friends, we have not been good at writing this newsletter regularly. But writing is hard work, and there’s only so much time we have, and there was the winter break and Shawn kept getting sick—we have many excuses, how much time do you have?
Gosh, since July of last year?...
Jonas Hietala
October theme says: Numbers
New month and a new theme. As with the two previous games I’m following The Experimental Gameplay...
over a year ago
New month and a new theme. As with the two previous games I’m following The Experimental Gameplay Project theme which this month is numbers. What’s it gonna be? A sudoku game or something more… thrilling? I’ll see what I can do :)
Arduino Blog
A new Plug and Make Kit challenge! A game of rhythm and creativity
The Arduino Plug and Make Kit is all about unleashing creativity while simplifying the process of...
3 weeks ago
The Arduino Plug and Make Kit is all about unleashing creativity while simplifying the process of turning ideas into reality. It enables everyone to focus on the fun of creating with the power of the UNO R4 WiFi and a user-friendly, modular design – bypassing the complexities of...
Jonas Hietala
The T-34/1 keyboard layout
This is the revision of the T-34 keyboard layout that I use as my primary driver. I’ve used this...
over a year ago
This is the revision of the T-34 keyboard layout that I use as my primary driver. I’ve used this particular version without any major changes for almost 3 months, so I’d say it’s a good improvement over the last revision.
There are two large changes from T-34/0: swapping o and...
Willem's Blog
Fixed Gear Gran Fondo
Taking a fixed gear road bike for a gran fondo! Let some of my fun be of inspiration to you!
over a year ago
Taking a fixed gear road bike for a gran fondo! Let some of my fun be of inspiration to you!
Willem's Blog
Is the Apple Watch the modern tool watch?
I tested the Apple Watch during my work in Frankfurt this week where I had to go inside an internet...
over a year ago
I tested the Apple Watch during my work in Frankfurt this week where I had to go inside an internet data centre.
Notes on software...
Why (and how) to read books
The last time I read for fun was in elementary school. Since college I
knew I must read more, but I...
over a year ago
The last time I read for fun was in elementary school. Since college I
knew I must read more, but I never forced myself to build the
habit. Then three years ago I spent time around my brother and a
coworker who were avid readers. This "peer pressure" helped me get
started.
Since...
Notes on software...
Notes from Neal Gabler's Walt Disney
Disney was a celebrity by his mid-30s, Disney the company was famous
by 1930s.
Even though...
a year ago
Disney was a celebrity by his mid-30s, Disney the company was famous
by 1930s.
Even though politically the 1930s was considered the decade of
Roosevelt (elected President in 1933), culturally the 1930s was
considered the decade of Mickey Mouse.
Almost every new...
Good Enough
TIL: Fixing Broken Social Share Images in Twitter/X
I have an admission to make.
Social share images for Pika were broken on Twitter/X, LinkedIn, and...
a month ago
I have an admission to make.
Social share images for Pika were broken on Twitter/X, LinkedIn, and Apple Messages for months.
And it made me sad.
But in the past few months we got it fixed.
And that made me very happy!
We really love our Pika social share images.
They are...
Vitalik Buterin's...
Layer 2s as cultural extensions of Ethereum
7 months ago
Arduino Blog
Using Arduino with gaming
It’s not surprising that the Arduino community is packed to the brim with examples of gaming-related...
2 months ago
It’s not surprising that the Arduino community is packed to the brim with examples of gaming-related projects. Both activities tend to attract people with a love for problem-solving, technology, and getting immersed in one challenging activity for hours at a time. The result is...
Ken Shirriff's blog
Reverse-engineering an analog Bendix air data computer: part 4, the Mach section
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
svg: {
fontCache:...
10 months ago
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
svg: {
fontCache: 'global'
},
chtml: { displayAlign: 'left' }
};
MathJax.Hub.Config({
"HTML-CSS": { scale: 175}
});
.MathJax {font-size: 1em !important}
In the 1950s, many fighter...
Notes on software...
Surveying SQL parser libraries in a few high-level languages
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.
Birchtree
Apple’s 2024 report card: the Mac 💻
This is the third in a series of posts reviewing Apple’s 2024 across their major product lines. I...
6 days ago
This is the third in a series of posts reviewing Apple’s 2024 across their major product lines. I did this last year and you can read last year’s Mac report card here.
MacBook Pro
The MacBook Pro continues to get a relentless stream of updates, as
Home on Erik...
Google diversity memo, global warming, Pascal's wager, and other stuff
There's about 765 million blog posts about the diversity “memo” that leaked out of Google a couple...
over a year ago
There's about 765 million blog posts about the diversity “memo” that leaked out of Google a couple of weeks ago. I think the case for any biological difference is pretty weak, and it bothers me when people refer to an “interest gap” as anything else than caused by the...
Vitalik Buterin's...
On Nathan Schneider on the limits of cryptoeconomics
over a year ago
Jonas Hietala
Customizing Neovim
Scripting is configuration. Configuration is scripting.
TJ DeVries A different take on editing...
8 months ago
Scripting is configuration. Configuration is scripting.
TJ DeVries A different take on editing code
I’ve been using Neovim since it forked from Vim almost 8 years ago, and I used Vim many years before that.
I feel quite comfortable with Neovim, and I’ve gone down the...
Old Vintage...
With PowerPC, Windows CE and the WiiN-PAD slate, everyone's a WiiN-er (except Data General)
Telemedicine (and mobile health generally) accumulated a hunk of public mindshare during the...
8 months ago
Telemedicine (and mobile health generally) accumulated a hunk of public mindshare during the pandemic emergency, but speaking as someone with a day job in public health for almost two decades, it's always been a buzzword in certain corners of IT with enough money sloshing around...
Yazin Alirhayim
The best bank in Bahrain … is Meem
Yes, that’s right. The best bank in Bahrain is … Meem. This nomination will be especially shocking...
over a year ago
Yes, that’s right. The best bank in Bahrain is … Meem. This nomination will be especially shocking to those of you that read my last post that ripped the Meem app to shreds.
Criteria for ‘best bank’
My criteria for “best bank” isn’t the best user experience or customer support....
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.
Odds and Ends of...
Odds and Ends #44: The New Statesman still needs fixing
Plus Channel Tunnel news, a NIMBY assault on an excellent pub, and more!
a month ago
Plus Channel Tunnel news, a NIMBY assault on an excellent pub, and more!
Arduino Blog
You can now work in collaboration in Arduino Cloud
In today’s busy world, getting students or engineers to work together is key to tackling complex IoT...
3 months ago
In today’s busy world, getting students or engineers to work together is key to tackling complex IoT projects. Traditional code sharing and editing methods, like using offline IDEs or swapping files manually, often slow down projects and lead to mistakes. This can be a hassle and...
On Life and Lisp
OpenGL 3.1 on Asahi Linux
Upgrade your Asahi Linux systems, because your graphics drivers are getting a big boost:...
a year ago
Upgrade your Asahi Linux systems, because your graphics drivers are getting a big boost: leapfrogging from OpenGL 2.1 over OpenGL 3.0 up to OpenGL 3.1! Similarly, the OpenGL ES 2.0 support is bumping up to OpenGL ES 3.0. That means more playable games and more functioning...
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...
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...
Birchtree
My favorite (and least favorite) movies of 2024
I’ve watched 48 new release movies in 2024, and with just a few weeks left in the year, I wanted to...
2 weeks ago
I’ve watched 48 new release movies in 2024, and with just a few weeks left in the year, I wanted to make what is my current top 10 (plus honorable mentions & worst movies). As we get to the end of the year and you might have some
Notes on software...
The world of PostgreSQL wire compatibility
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.
Good Enough
Season 1, Issue 2: Just the Two of Us
0. Everyone Likes a Giveaway
Stick around to hear how you can win a fabulous prize by hardly doing...
over a year ago
0. Everyone Likes a Giveaway
Stick around to hear how you can win a fabulous prize by hardly doing anything. Take it away, fellas…
1. Still Positive
Did you know that once you acquire COVID-19 your PCR test can be positive for up to 90 days? Did you know that the at-home tests...
Old Vintage...
Niklaus Wirth dies
Reported yesterday. The first computer program I remember in school was Apple Presents Apple, which...
12 months ago
Reported yesterday. The first computer program I remember in school was Apple Presents Apple, which was written in UCSD Pascal; the first actual compiler I ever used was Turbo Pascal 5.5 (purloined from a campus NetWare server), and the first actual compiler I ever used on the...
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...
Louwrentius
LFS - Linux Firewall Script released
I started a small new Google project for a new script I wrote called LFS.
It stands for Linux...
over a year ago
I started a small new Google project for a new script I wrote called LFS.
It stands for Linux Firewall Script.
I run a small Linux box as an internet router that doubles as a firewall. The
firewall is configured using iptables. In my opinion, iptables is not the
easiest tool to...
Matt Blewitt
On That Okta LDAP Bug
A quick explanation of the Okta AD/LDAP DelAuth bug that was being shared around, and the importance...
2 months ago
A quick explanation of the Okta AD/LDAP DelAuth bug that was being shared around, and the importance of sensible defaults.
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.
Jonas Hietala
Pushing toward Git
The time has come; it’s time for me to move my source out in the open for the first time.
Repository...
over a year ago
The time has come; it’s time for me to move my source out in the open for the first time.
Repository deleted, never became anything
Available on Github
It’s nothing special really, if you want take a look at the code and help me improve it.
Notes on software...
Let's build a distributed Postgres proof of concept
What is CockroachDB under the hood? Take a look at
its go.mod
and notice a number of dependencies...
over a year ago
What is CockroachDB under the hood? Take a look at
its go.mod
and notice a number of dependencies that do a lot of work: a
PostgreSQL wire protocol
implementation, a storage
layer, a Raft implementation
for distributed consensus. And not
part of go.mod but still building on 3rd...
Christian Selig
Using PHPickerViewController Images in a Memory-Efficient Way
PHPickerViewController is (in my opinion) one of the more exciting parts of iOS 14. We developers...
over a year ago
PHPickerViewController is (in my opinion) one of the more exciting parts of iOS 14. We developers now have a fully-fledged photo picker that we can just use, rather than having to spend a bunch of our time creating our own (much like SFSafariViewController did for developers and...
computers are bad
2023-06-12 radio on the tv
Like many people in my generation, my memories of youth are heavily defined by
cable television. I...
a year ago
Like many people in my generation, my memories of youth are heavily defined by
cable television. I was fortunate enough to have a premium cable package in
my childhood home, Comcast's early digital service based on Motorola equipment.
It included a perk that fascinated me but...
Jonas Hietala
Let's build a VORON: Filters
I can print, but the printer is missing a very important thing that I alluded to in the previous...
a year ago
I can print, but the printer is missing a very important thing that I alluded to in the previous post: filtering dangerous particles and fumes.
This is mostly covered by the kit, but I was missing some parts from the print it forward and the kit didn’t include a HEPA...
Good Enough
TIL: Use touch-action: manipulation; to avoid double-tap-to-zoom
Recently we built and launched A Good Enough Guestbook, a place where you can send us doodles and...
a year ago
Recently we built and launched A Good Enough Guestbook, a place where you can send us doodles and they’ll print out on our little printer. It’s quite lovely and fun, and you should send us a doodle. We might also have more in store for these printers in the future.
In the...
Notes on software...
Writing a lisp compiler from scratch in JavaScript: 2. user-defined functions and variables
Previously in compiler basics:
1. lisp to assembly
3. LLVM
4. LLVM conditionals and...
over a year ago
Previously in compiler basics:
1. lisp to assembly
3. LLVM
4. LLVM conditionals and compiling fibonacci
5. LLVM system calls
6. an x86 upgrade
In this post we'll extend the compiler to support defining functions
and variables. Additionally, we'll require the...
Old Vintage...
Composite and hard reset mods for the Tandyvision One
I still have my literal first home computer (the Tomy Tutor), and it so happens I also have my...
3 weeks ago
I still have my literal first home computer (the Tomy Tutor), and it so happens I also have my literal first game console: the Tandyvision One, Tandy Radio Shack's label variant of the Mattel Intellivision Master Component.
The Mattel Intellivision proper originally hails...
Ken Shirriff's blog
The transparent chip inside a vintage Hewlett-Packard floppy drive
While repairing an eight-inch HP floppy drive, we found that the problem was a broken interface...
a year ago
While repairing an eight-inch HP floppy drive, we found that the problem was a broken interface chip.
Since the chip was bad, I decapped it and took photos.
This chip is very unusual: instead of a silicon substrate, the chip is formed on
a base of sapphire, with silicon and metal...
./techtipsy
btrbk is awesome
I like having a safety net whenever I’m doing something potentially destructive,
which is why I use...
over a year ago
I like having a safety net whenever I’m doing something potentially destructive,
which is why I use the btrfs file system for my operating system and my data.
Snapshots are one half of my “whoops, there goes all my work” strategy (backups
are the other half).
I’ve written about...
Arduino Blog
7 powerful ways to integrate Collaborative Coding into education with the Arduino Cloud
Collaborative coding in education can be a game-changer for students, providing them with real-world...
2 months ago
Collaborative coding in education can be a game-changer for students, providing them with real-world skills in communication, teamwork, and problem-solving. With the new collaborating coding feature of the Arduino Cloud, students can collaborate in real time on coding projects,...
Simply Explained
Filtering spam on YouTube with TensorFlow & AI
My YouTube channel has been attracting a lot of spammers. They try to trick people by saying they...
over a year ago
My YouTube channel has been attracting a lot of spammers. They try to trick people by saying they know how to profit from trading cryptocurrencies or that they can recover lost wallet keys.I've been marking these comments as spam, thinking that YouTube would learn to recognize...
Home on Erik...
Recurrent Neural Networks for Collaborative Filtering
I’ve been spending quite some time lately playing around with RNN’s for collaborative filtering....
over a year ago
I’ve been spending quite some time lately playing around with RNN’s for collaborative filtering. RNN’s are models that predict a sequence of something. The beauty is that this something can be anything really – as long as you can design an output gate with a proper loss function,...
Simply Explained
My Sixth Year as YouTube Creator (statistics + retrospective)
Every new year I reflect on the previous year and set new goals. Last year has been my most...
over a year ago
Every new year I reflect on the previous year and set new goals. Last year has been my most successful year on YouTube so far, and I'd like to share some statistics and thoughts. I will also go over how my email newsletter is doing and where I'm headed. And finally, I'll set...
Good Enough
TIL: Turbo Stream and personalised content
Hotwire and Turbo are great for very quickly and easily adding real-time updating of webpages...
a year ago
Hotwire and Turbo are great for very quickly and easily adding real-time updating of webpages without requiring the browser to reload the whole page.
But if the information you want to stream back from your server to the client has anything specific to the current user — like...
Vitalik Buterin's...
Blockchain voting is overrated among uninformed people but underrated among informed people
over a year ago
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...
Home on Erik...
Buffet lines are terrible, but let's try to improve them using computer simulations
My company has a buffet every Friday, and the lines grow to epic proportions when the food arrives....
over a year ago
My company has a buffet every Friday, and the lines grow to epic proportions when the food arrives. I've suspected for years that the “classic” buffet line system is a deeply flawed and inefficient method, and every time I'm stuck in the line has made me more convinced.
Home on Erik...
Interview with a Data Scientist: Erik Bernhardsson
I was featured in Peadar Coyle's interview series interviewing various “data scientists” – which is...
over a year ago
I was featured in Peadar Coyle's interview series interviewing various “data scientists” – which is kind of arguable since (a) all the other ppl in that series are much cooler than me (b) I'm not really a data scientist.
Neil Madden
When a KEM is not enough
In my previous post, I described the KEM/DEM paradigm for hybrid encryption. The key encapsulation...
over a year ago
In my previous post, I described the KEM/DEM paradigm for hybrid encryption. The key encapsulation mechanism is given the recipient’s public key and outputs a fresh AES key and an encapsulation of that key that the recipient can decapsulate to recover the AES key. In this post I...
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...
Christian Selig
Choosing a travel pack is hard
I love the “carry-on only” traveling style, it’s cheaper and you don’t have to worry about airlines...
8 months ago
I love the “carry-on only” traveling style, it’s cheaper and you don’t have to worry about airlines losing your stuff. Outside of requiring a bit more planning, what’s not to love?
Turns out this is a beloved product category with a passionate community behind it, and as a result...
Abort Retry Fail
Unboxing New Old Stock Windows 3.11
A Photo Gallery
a year ago
Yazin Alirhayim
Serializing and deserializing a Cookie Jar
I was recently working on a way to serialize and deserialize a Faraday connection that uses...
over a year ago
I was recently working on a way to serialize and deserialize a Faraday connection that uses HTTP::CookieJar to manage persistent cookies across requests.
I needed to do this because I wanted a way to “freeze” an HTTP connection instance, and later “thaw” it to resume the...
Willem's Blog
Art of visualisation
You learn from experts if you have the privilege to work with them, this month I had a chance to...
over a year ago
You learn from experts if you have the privilege to work with them, this month I had a chance to help a professional food photographer.
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...
Electronics etc…
Setting Up a Symmetricom SyncServer S200 Network Time Protocol Server
Introduction
What was the SyncServer S200 Supposed to be Used For?
IMPORTANT: Use the Right GPS...
5 months ago
Introduction
What was the SyncServer S200 Supposed to be Used For?
IMPORTANT: Use the Right GPS Antenna!
The SyncServer S200 Outside and Inside
Installing the Missing BNC Connectors
Setting Up a SyncServer S200 from Scratch
Opening up the SyncServer S200
The SyncServer File...
Arduino Blog
Finally, you can DIY your own espresso machine
Caffeine lovers take their coffee very seriously and that is most apparent when you dive into the...
3 months ago
Caffeine lovers take their coffee very seriously and that is most apparent when you dive into the world of espresso machines. To satisfy enthusiasts, an espresso machine needs to provide precise control over temperature, pressure, and flow to enable the perfect pull. But if...
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...
Posts on Made of...
Disable Transparent Hugepages
tl;dr “Transparent Hugepages” is a Linux kernel feature intended to improve performance by making...
over a year ago
tl;dr “Transparent Hugepages” is a Linux kernel feature intended to improve performance by making more efficient use of your processor’s memory-mapping hardware. It is enabled ("enabled=always") by default in most Linux distributions.
Transparent Hugepages gives some applications...
Home on Erik...
Luigi success
So Luigi, our open sourced workflow engine in Python, just recently passed 1,000 stars on Github,...
over a year ago
So Luigi, our open sourced workflow engine in Python, just recently passed 1,000 stars on Github, then shortly after passed mrjob as (I think) the most popular Python package to do Hadoop stuff. This is exciting!
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...
Vitalik Buterin's...
Against choosing your political allegiances based on who is "pro-crypto"
5 months ago
Abort Retry Fail
Housekeeping for 20240309
Super quick updates
9 months ago
Louwrentius
An ode to the 10,000 RPM Western Digital (Veloci)Raptor
Introduction
Back in 2004, I visited a now bankrupt Dutch computer store called MyCom1, located at...
over a year ago
Introduction
Back in 2004, I visited a now bankrupt Dutch computer store called MyCom1, located at the Kinkerstraat in Amsterdam. I was there to buy a Western Digital Raptor model WD740, with 74 GB of capacity, running at 10,000 RPM.
When I bought this drive, we were still in...
Old Vintage...
Reversing the Web-@nywhere Watch: browse fragments of the Web on your wrist
In the halcyon days of analogue modems and POTS dialup Internet, when the only wireless connection...
11 months ago
In the halcyon days of analogue modems and POTS dialup Internet, when the only wireless connection in your house was between the cordless phone and the wall, anything having to do with the Web was best consumed in small bites (pun intended). If you wanted to take data with you,...
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
Introducing Arduino cores with ZephyrOS (beta): take your embedded development to the next level
Last July, when we announced the beginning of the transition from Mbed to Zephyr, we promised to...
4 weeks ago
Last July, when we announced the beginning of the transition from Mbed to Zephyr, we promised to release the first beta by the end of 2024. Today, we are excited to announce the first release of Arduino cores with ZephyrOS in beta! ZephyrOS is an open-source, real-time operating...
Birchtree
Starship is a late contender for favorite new things in 2024
I don't have a huge love for Star Fox 64. I mean I played it with friends and I still have the...
a week ago
I don't have a huge love for Star Fox 64. I mean I played it with friends and I still have the cartridge all these years later, but it's not as big a part of my childhood as Ocarina of Time was. That said, the Ocarina
Jonas Hietala
2021 in review
A new year is always a good time to review the past year. Funny how this is already the 12th year...
over a year ago
A new year is always a good time to review the past year. Funny how this is already the 12th year I’ve done this kind of quick review… Time sure flies.
2021 Non-Geek Achievements
Started strength training using a strength coach from Kabuki.
I got inspired by the book Peak that...
Good Enough
Yes, Facebook Is Terrible, but Also…
I’m not on Facebook.
It was eight or ten years ago when I left for good.
While there were some good...
a year ago
I’m not on Facebook.
It was eight or ten years ago when I left for good.
While there were some good and useful interactions, the algorithm brought me down, I didn’t have a lot of desire to keep up with old acquaintances, and hearing everyone’s political stance was not good for...
Louwrentius
Smoking coolermaster Silent Pro M 600W TN6M50
So I was just messing around on my work station, when suddenly I smelled the
smell any person...
over a year ago
So I was just messing around on my work station, when suddenly I smelled the
smell any person familiar with electronics fears. The smell of some electrical
component burning.
The whole upper floor smelled like something was smoldering. So I shut down
both my storage servers....
Louwrentius
Automated install of Debian Linux based on PXE net booting
Every honest and good system administrator is continue bussy with automating
his work. For two...
over a year ago
Every honest and good system administrator is continue bussy with automating
his work. For two reasons:
Repeating the same task over and over again is friggin boring. A system
administrator has better things to do, such as drinking coffee.
Humans make mistakes, especially if...
Vitalik Buterin's...
El recurso escaso más importante es la legitimidad
over a year ago
Louwrentius
Howto get the hard disk size under Linux?
A: There is no single tool for this job, but it seems that Fdisk is just fine:
server:~# fdisk -l 2>...
over a year ago
A: There is no single tool for this job, but it seems that Fdisk is just fine:
server:~# fdisk -l 2> /dev/null | grep Disk | grep -v identifier
Disk /dev/sda: 500.0 GB, 500028145664 bytes
Disk /dev/sdb: 500.0 GB, 500028145664 bytes
Disk /dev/sdc: 1000.1 GB, 1000123400192...
Jonas Hietala
IDA Summer of Code 2014: Summary
This is a wrap-up post of my entry to IDA Summer of Code this year.
Quick stats
65 merged...
over a year ago
This is a wrap-up post of my entry to IDA Summer of Code this year.
Quick stats
65 merged commits
6790 lines added
2822 lines deleted
36 pull requests, 34 merged
12 pull requests directly fixing issues
rest either documentation or cleanup
1 RFC submitted...
Willem's Blog
Migrating to the Cloud
Helping a customer clear its on-premise data room and migrate to the cloud: an adventure full of...
over a year ago
Helping a customer clear its on-premise data room and migrate to the cloud: an adventure full of cables, cabinets and bandwidth!
Notes on software...
io_uring basics: Writing a file to disk
King and I wrote a blog
post
about building an event-driven cross-platform IO library that...
a year ago
King and I wrote a blog
post
about building an event-driven cross-platform IO library that used
io_uring on Linux. We sketched out how it works at a high level but I
hadn't yet internalized how you actually code with io_uring. So I
strapped myself down this week and wrote...
Louwrentius
ZFS: Performance and capacity impact of ashift=9 on 4K sector drives
Update 2014-8-23: I was testing with ashift for my new NAS. The ashift=9 write performance...
over a year ago
Update 2014-8-23: I was testing with ashift for my new NAS. The ashift=9 write performance deteriorated from 1.1 GB/s to 830 MB/s with just 16 TB of data on the pool. Also I noticed that resilvering was very slow. This is why I decided to abandon my 24 drive RAIDZ3...
Posts on Made of...
On git and usability
I’ve been helping a number of people get started working with git over the last couple of weeks, as...
over a year ago
I’ve been helping a number of people get started working with git over the last couple of weeks, as Ksplice has brought on some new interns, and we’ve had to get them up to speed on our internal git repositories. (As you might expect from a bunch of kernel hackers, we use git for...
Simply Explained
ESP32: Keep WiFi connection alive with a FreeRTOS task
I have a few ESP32's running in my house. A few of them are running 24/7 and require an always-on...
over a year ago
I have a few ESP32's running in my house. A few of them are running 24/7 and require an always-on WiFi connection. That's been quite tricky to implement. I used to include various checks throughout my code, but that's not scalable.What I need is something running in the...
Applied Cartography
Using Cursor to port Django tests to pytest
When it comes to AI tooling, I am equal parts optimist and cynic. I have no moral qualm with using...
4 months ago
When it comes to AI tooling, I am equal parts optimist and cynic. I have no moral qualm with using these tools (Supermaven is a pretty heavy part of my day-to-day work), but have found most tools quite bad by the metric of "do they make me more productive on Buttondown's code...
Posts on Made of...
Tracking down a memory leak in Ruby's EventMachine
At Stripe, we rely heavily on ruby and EventMachine to power various internal and external services....
over a year ago
At Stripe, we rely heavily on ruby and EventMachine to power various internal and external services. Over the last several months, we’ve known that one such service suffered from a gradual memory leak, that would cause its memory usage to gradually balloon from a normal ~50MB to...
Simply Explained
How WebP Images Reduced My Bandwidth Usage by 50%
Last year I migrated this website from Jekyll to Eleventy. This year, I’m finally implementing WebP...
over a year ago
Last year I migrated this website from Jekyll to Eleventy. This year, I’m finally implementing WebP images to save bandwidth and make this site even faster to load! This simple change reduced my bandwidth usage by 50% and is still backwards compatible with old devices 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...
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...
computers are bad
2024-03-09 the purple streetscape
Across the United States, streets are taking on a strange hue at night. Purple.
Purple streetlights...
10 months ago
Across the United States, streets are taking on a strange hue at night. Purple.
Purple streetlights have been reported in Tampa, Vancouver, Wichita, Boston.
They're certainly in evidence here in Albuquerque, where Coal through downtown
has turned almost entirely to mood lighting....
./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...
Applied Cartography
The taste of beer
Unlike stories, real life, when it has passed, inclines toward obscurity, not clarity.
There’s a...
7 months ago
Unlike stories, real life, when it has passed, inclines toward obscurity, not clarity.
There’s a relatively famous line from Bezos, circulated first at YC in ’08 and then more recently by the folks at Acquired (a great pod!):
Jeff uses this analogy for AWS. He talks about...
Jonas Hietala
Hearthstone on Wine
I like Hearthstone and recently the next expansion Goblins vs Gnomes so I wanted to install and play...
over a year ago
I like Hearthstone and recently the next expansion Goblins vs Gnomes so I wanted to install and play it. It didn’t work in vanilla wine, with a “time out error”, but I found a bug report which makes it work. Here’s a short summary:
Get wine source from git. My version was...
Bryan Braun - Blog
Capability makes your life simpler
If you can tolerate discomfort, then you can camp much lighter. Camping lighter means you spend less...
5 months ago
If you can tolerate discomfort, then you can camp much lighter. Camping lighter means you spend less time and energy packing, setting-up, tearing down, and unpacking. The same goes for travel. Fewer clothes and shoes means less luggage to carry, manage, and lose. You can board...
Matt Blewitt
Point and Call
It’s 2AM. You’re paged to respond to a failing set of components that you are the Subject Matter...
over a year ago
It’s 2AM. You’re paged to respond to a failing set of components that you are the Subject Matter Expert (SME) for. Sleepy, you load up the playbook for when the SplineReticulatorBlocked alert has gone off, and start executing. The Incident Commander (IC) is vaguely aware of what...
Home on Erik...
Books I read in 2015
Early last year when I left Spotify I decided to do more reading. I was planning to read at least...
over a year ago
Early last year when I left Spotify I decided to do more reading. I was planning to read at least one book per week and in particular I wanted to brush up on management, economics, and technology.
Neil Madden
On PBKDF2 iterations
There has been a lot of discussion recently around the LastPass breach, especially with regards to...
a year ago
There has been a lot of discussion recently around the LastPass breach, especially with regards to the number of PBKDF2 iterations applied to the master password to derive the vault encryption key. Other people have already dissected this particular breach, but I want to more...
Notes on software...
The limitations of LLMs, or why are we doing RAG?
This is an external post of mine. Click
here
if you are not redirected.
6 months ago
This is an external post of mine. Click
here
if you are not redirected.
./techtipsy
Whacky setups: seedbox on a wall
The Orange Pi Zero is one hell of an SBC. It has served as
a Wi-Fi access point for months without...
over a year ago
The Orange Pi Zero is one hell of an SBC. It has served as
a Wi-Fi access point for months without issues
and as a testbed for playing around with MySQL.
I wanted it to be a useful device again, but had trouble finding an use case for it due to its hardware limitations.
After...
Louwrentius
Compiling Handbrake CLI on Debian Lenny
In this post I will show you how to compile Handbrake for Debian Lenny. Please
note that although...
over a year ago
In this post I will show you how to compile Handbrake for Debian Lenny. Please
note that although the Handbrake GUI version does compile on Lenny, it crashes
with a segmentation fault like this:
Gtk: gtk_widget_size_allocate(): attempt to allocate widget with width -5
and height...
Louwrentius
Determining smartphone market share using wireless sniffing
I started a project to see if I could track smartphone users by sniffing for
wifi-clients. Most...
over a year ago
I started a project to see if I could track smartphone users by sniffing for
wifi-clients. Most smartphones support wifi and most people don't bother disabling
wifi when they go outdoors1. If wifi is left on, it is possible to detect these
smartphones and track their movement. To...
Arduino Blog
Explore e-paper technology with Nano Matter and the new EPDK-Matter from Pervasive Displays
We’re excited to share that Pervasive Displays has just launched the E-Paper Development Kit for...
3 weeks ago
We’re excited to share that Pervasive Displays has just launched the E-Paper Development Kit for Matter! This groundbreaking, self-contained kit is designed to revolutionize how smart home devices use e-paper displays, enhancing user experience while driving down energy...
computers are bad
2024-01-31 multi-channel audio part 2
Last time, we left off at the fact that modern films are distributed with their
audio in multiple...
11 months ago
Last time, we left off at the fact that modern films are distributed with their
audio in multiple formats. Most of the time, there is a stereo version of the
audio, and a multi-channel version of the audio that is perhaps 5.1 or 7.1 and
compressed using one of several codecs that...
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...
computers are bad
2024-10-19 land art and isolation
Prescript: I originally started writing this with the intent to send it out to
my supporter's...
2 months ago
Prescript: I originally started writing this with the intent to send it out to
my supporter's newsletter, EYES ONLY, but it
got to be long and took basically all day so I feel like it deserves wider
circulation. You will have to tolerate that it begins in the more
conversational...
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...
Notes on software...
Standard ML in 2020
Incredibly, Standard ML implementations are still actively
developed. MLton, Poly/ML,
MLKit,
SML#...
over a year ago
Incredibly, Standard ML implementations are still actively
developed. MLton, Poly/ML,
MLKit,
SML# and
SML/NJ
are the most prominent. Discussion on the future direction of Standard
ML remains healthy as
well.
And somehow OCaml's lesser known cousin still beats out OCaml...
Simply Explained
Tracking gas usage with ESPHome, Home Assistant, and TCRT5000
In 2019, I built an energy monitor to keep track of our electricity consumption. Then, in 2021, Home...
over a year ago
In 2019, I built an energy monitor to keep track of our electricity consumption. Then, in 2021, Home Assistant added an Energy Management feature that keeps track of electricity and gas usage. So naturally, I had to make my gas meter smart as well.
Jonas Hietala
The T-34 keyboard layout
A couple of months ago I started looking into ergonomical keyboards; mainly split keyboards with...
over a year ago
A couple of months ago I started looking into ergonomical keyboards; mainly split keyboards with much fewer keys, like the 36-key Gergoplex and the 44-key Kyria. I may write another post about the reasons why, but long story short I started getting pain in my thumbs, fingers,...
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...
Buck on Software
Thinking incrementally about SaaS
An overview of the key output of the growth software machine
over a year ago
An overview of the key output of the growth software machine
Applied Cartography
Why should a company?
For a long time, my goal with Buttondown was largely around failure avoidance: "I want to get my...
9 months ago
For a long time, my goal with Buttondown was largely around failure avoidance: "I want to get my first paying customer so I know it's not a fake product"; "I want to hit a thousand dollars in revenue so I know it's not just friends humoring me"; "I want to make $10K/mo or else I...
detreville
The IBM 701
"IBM's first computer"
a year ago
Arduino Blog
Meet Real Robot One V2: A mini DIY industrial robot arm
Started in 2022 as an exploration of what’s possible in the field of DIY robotics, Pavel Surynek’s...
5 months ago
Started in 2022 as an exploration of what’s possible in the field of DIY robotics, Pavel Surynek’s Real Robot One (RR1) project is a fully-featured 6+1-axis robot arm based on 3D-printed parts and widely available electronics. The initial release was constructed with PETG...
Arduino Blog
Easily add Python-controlled GPIO pins to any computer
Let’s say that, hypothetically, you wanted to use your computer to blink an LED or read the state of...
6 months ago
Let’s say that, hypothetically, you wanted to use your computer to blink an LED or read the state of a button. Could you? Almost certainly not — at least not without additional hardware. Most modern computers don’t provide any interface for direct interaction with low-level...
Posts on Made of...
Some Android reverse-engineering tools
I’ve spent a lot of time this last week staring at decompiled Dalvik assembly. In the process, I...
over a year ago
I’ve spent a lot of time this last week staring at decompiled Dalvik assembly. In the process, I created a couple of useful tools that I figure are worth sharing.
I’ve been using dedexer instead of baksmali, honestly mainly because the former’s output has fewer blank lines and so...
Vitalik Buterin's...
What do I think about Community Notes?
a year ago
Matt Mullenweg
Welcoming Harper
As announced by Automattic and covered by TechCrunch, I want to take a moment to welcome Elijah...
a month ago
As announced by Automattic and covered by TechCrunch, I want to take a moment to welcome Elijah Potter and Harper to join Automattic. Harper is a super-fast (way faster than LanguageTool and Grammarly), local English grammar checker. The technology is nascent, but I’m very...
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,...
Arduino Blog
Controlling a drum machine with the Arduino Opta
Makers have long asked the question “why bother with an expensive PLC when I can just use an...
6 months ago
Makers have long asked the question “why bother with an expensive PLC when I can just use an Arduino?” The answer comes down to the priorities and needs of industrial clients. In a factory automation setting, the client will prioritize durability, reliability, and serviceability...
Style over Substance
My Home Assistant setup (2023 edition)
For the past few years, I have been running Home Assistant to make my apartment a smart home. It’s...
a year ago
For the past few years, I have been running Home Assistant to make my apartment a smart home. It’s become such a hobby of mine that I’ve even started coding add-ons for it. While there are other popular automation platforms, Home Assistant’s versatility blows the rest out of the...
seangoedecke.com RSS...
Keep incidents boring
The internet is full of exciting incident war stories. Tough engineering problems, solved under...
over a year ago
The internet is full of exciting incident war stories. Tough engineering problems, solved under pressure by sleep-deprived developers. In an…
Arduino Blog
Ride safer with these DIY bicycle lights
Many people around the world live in cities designed for cars, with bicycle use being a distant...
5 months ago
Many people around the world live in cities designed for cars, with bicycle use being a distant afterthought. That makes cycling dangerous and lights can do a lot to make riding safer. That’s why Giovanni Aggiustatutto designed this DIY system that includes headlights, a...
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
Why I still won't switch to Linux and keep my Mac
The current state of Linux is amazing. If we take a look at, for example,
Ubuntu Linux, we have to...
over a year ago
The current state of Linux is amazing. If we take a look at, for example,
Ubuntu Linux, we have to admit that the Linux desktop is really becoming a
nice, user-friendly environment. I'm truly starting to like what I see. I
considered whiping Mac OS X from my macbook, but there...
Arduino Blog
Making fire detection more accurate with ML sensor fusion
The mere presence of a flame in a controlled environment, such as a candle, is perfectly acceptable,...
4 months ago
The mere presence of a flame in a controlled environment, such as a candle, is perfectly acceptable, but when tasked with determining if there is cause for alarm solely using vision data, embedded AI models can struggle with false positives. Solomon Githu’s project aims to lower...
GitButler
Stacked Branches with GitButler
GitButler can now manage dependent branches that are stacked, including managing stacked GitHub PRs.
4 weeks ago
GitButler can now manage dependent branches that are stacked, including managing stacked GitHub PRs.
Neil Madden
I still don’t really get “hash shucking”
If you want to learn how to store passwords securely, you could do a lot worse than looking at the...
a year ago
If you want to learn how to store passwords securely, you could do a lot worse than looking at the OWASP Password Storage Cheat Sheet. These cheat sheets are generally pretty good, and the password storage one is particularly good. The editors do a great job of keeping it up to...
Computer Ads from...
Oberon International' Omni-Reader
Audio Engineers announce a revolution in taking words from page to your computer
2 weeks ago
Audio Engineers announce a revolution in taking words from page to your computer
seangoedecke.com RSS...
Building multiplayer games with socket.io and HTML5 Canvas
I’ve been building crappy hobby games on and off for my whole coding life. One of my very first apps...
over a year ago
I’ve been building crappy hobby games on and off for my whole coding life. One of my very first apps was a Visual Basic game - I was in…
Notes on software...
Finishing up a FreeBSD experiment
I've been using FreeBSD as my daily driver at work since
December. I've successfully done my job and...
over a year ago
I've been using FreeBSD as my daily driver at work since
December. I've successfully done my job and I've learned a hell of a
lot forcing myself on CURRENT... But there's been a number of issues
with it that have made it difficult to keep using, so I replaced it
with Arch Linux...
Notes on software...
Make your own way
Over the years, I have repeatedly felt like I missed the timing for a
meetup or an IRC group or...
a year ago
Over the years, I have repeatedly felt like I missed the timing for a
meetup or an IRC group or social media in general. I'd go to a meetup
every so often but I'd never make a meaningful connection with people,
whereas everyone else knew each other. I'd join an IRC group and...
Home on Erik...
Luigi conquering the world
I keep forgetting to buy a costume for Halloween every year, so this year I prepared and got myself...
over a year ago
I keep forgetting to buy a costume for Halloween every year, so this year I prepared and got myself a Luigi costume a month in advance. Only to realize I was going to be out of town the whole weekend.
computers are bad
2024-12-04 operators on the front
At the very core of telephone history, there is the telephone operator. For a
lot of people, the...
a month ago
At the very core of telephone history, there is the telephone operator. For a
lot of people, the vague understanding that an operator used to be involved is
the main thing they know about historic telephony. Of course, telephone
historians, as a group, tend to be much more...
./techtipsy
How to mess up a simple ThinkPad X230 BIOS flash and how to recover from it
Background
I have a Lenovo ThinkPad X230. It’s a small and good laptop that I’ve used as my main...
over a year ago
Background
I have a Lenovo ThinkPad X230. It’s a small and good laptop that I’ve used as my main laptop and a server as well.
A couple of years ago I messed around with flashing alternative BIOS implementations on the X230, such
as the skulls project, which made installing...
Notes on software...
A Programmer-Friendly I/O Abstraction Over io_uring and kqueue
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.
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...
seangoedecke.com RSS...
How I ship projects at big tech companies
I have shipped a lot of different projects over the last ~10 years in tech. I often get tapped to...
a month ago
I have shipped a lot of different projects over the last ~10 years in tech. I often get tapped to lead new ones when it’s important to get…
Jonas Hietala
Moving to FastMail
About two years ago after Lavabit’s shutdown I searched for a replacement email provider. For some...
over a year ago
About two years ago after Lavabit’s shutdown I searched for a replacement email provider. For some reason I settled on eumx which I used since then. Yesterday I got an email saying the recurring billing could not be renewed as I had my old credit card registered and it got me...
detreville
A writer's autobiography
(Just not mine.)
a year ago
Buck on Software
Vertical Aggregation
I’ve written in the past that I think returns for SaaS won’t be as attractive over the next decade.
over a year ago
I’ve written in the past that I think returns for SaaS won’t be as attractive over the next decade.
./techtipsy
How to make digital copies of your old video tapes
Introduction
This is a short overview of one way to take your old video tapes and make digital...
over a year ago
Introduction
This is a short overview of one way to take your old video tapes and make digital copies of their contents.
To get started, you will need the following:
old video tapes that you want to make copies of (VHS and its variants)
a device that can read analog AV signals...
Posts on Made of...
amd64 and va_arg
A while back, I was poking around LLVM bugs, and discovered, to my surprise, that LLVM doesn’t...
over a year ago
A while back, I was poking around LLVM bugs, and discovered, to my surprise, that LLVM doesn’t support the va_arg intrinsic, used by functions to accept multiple arguments, at all on amd64. It turns out that clang and llvm-gcc, the compilers that backend to LLVM, have their own...
Home on Erik...
State drift
I generally haven't written much about software architecture. People make heuristics into religion....
over a year ago
I generally haven't written much about software architecture. People make heuristics into religion. But here is something I thought about: how to build in self-correction into systems. This has been something just vaguely sitting in my head lacking a clear conceptual definition...
anderegg.ca
A look back at 2024, and what’s next for 2025
At the end of last year, I wrote about wanting to focus on the web in 2024. How did that shake...
3 days ago
At the end of last year, I wrote about wanting to focus on the web in 2024. How did that shake out?
Top level stats
I considered 2023 the first year that I honestly tried getting back into blogging. My goal then was to post something every month, and I managed that with 14 posts...
Matt Blewitt
Movement for Engineers
Until we get get to be chromed-up cyborgs, we’re stuck with our meat bodies, and like many things,...
a year ago
Until we get get to be chromed-up cyborgs, we’re stuck with our meat bodies, and like many things, they need regular maintenance. Here is a brief introduction to keeping your body moving as someone who spends a lot of time sitting down.
Matt Mullenweg
DrupalCon Singapore
This week, DrupalCon Singapore is bringing together an incredible community of Drupal platform...
3 weeks ago
This week, DrupalCon Singapore is bringing together an incredible community of Drupal platform creators, developers, and supporters. Last year, I had the chance to share the stage with Dries Buytaert, the founder of Drupal, and the conversation stuck with me. It highlighted the...
Home on Erik...
More Luigi!
Continuing in the same spirit of shameless self-promotion, here's some recent Luigi press:
Reddit...
over a year ago
Continuing in the same spirit of shameless self-promotion, here's some recent Luigi press:
Reddit thread A Guide to Python Frameworks for Hadoop (slides from the NYC Hadoop User Group) This presentation from the Open Analytics NYC meetup about how Foursquare uses Luigi Luigi...
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
Louwrentius
Visual representation of hard drives and their temperature
If you build a NAS with many drives, it may be of interest to you which
drives get hot and where...
over a year ago
If you build a NAS with many drives, it may be of interest to you which
drives get hot and where they are located in the chassis. My Norco 4020 case
has twenty drives in RAID 6, plus two operating system drives in RAID 1. I
wrote a script that shows me the temperature of each...
Ken Shirriff's blog
Interesting double-poly latches inside AMD's vintage LANCE Ethernet chip
I've studied a lot of chips from the 1970s and 1980s, so I usually know what to expect.
But an...
a year ago
I've studied a lot of chips from the 1970s and 1980s, so I usually know what to expect.
But an Ethernet chip from 1982 had something new: a strange layer of yellow wiring on the die.
After some study, I learned that the yellow wiring is a second layer of resistive polysilicon,...
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.
Ken Shirriff's blog
Inside an unusual 7400-series chip implemented with a gate array
When I look inside a chip from the popular 7400 series, I know what to expect: a fairly simple...
9 months ago
When I look inside a chip from the popular 7400 series, I know what to expect: a fairly simple die,
implemented in a straightforward, cost-effective way.
However, when I looked inside a military-grade chip built by Integrated Device Technology (IDT)4
I found a very unexpected...
Jonas Hietala
Embedding youtube videos with Hakyll
A while ago a made a timelapse of my entry to Ludum Dare. This is how I parse and embed videos using...
over a year ago
A while ago a made a timelapse of my entry to Ludum Dare. This is how I parse and embed videos using Hakyll.
I don’t want to remember any special syntax for embedding, I don’t want to bother (remember?) to use something like {% youtube: <link> %} or whatever syntax we might find...
Notes on software...
Notes on running Electron
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.
Ian's Blog
All About Apache Cassandra: Snapshots
The concept of a "Snapshot"
In computing, a snapshot is a point-in-time copy of data or state of a...
over a year ago
The concept of a "Snapshot"
In computing, a snapshot is a point-in-time copy of data or state of a machine.
You ever end up doing something like this?
Each one of these files is a snapshot, as it's a copy of your essay at the point-in-time when you saved it.
Snapshots provide us...
On Life and Lisp
Vulkan 1.4 sur Asahi Linux
English version follows.
Aujourd’hui, Khronos Group a
sorti la spécification 1.4 de l’API graphique...
a month ago
English version follows.
Aujourd’hui, Khronos Group a
sorti la spécification 1.4 de l’API graphique standard Vulkan. Le projet
Asahi Linux est fier d’annoncer le
premier pilote Vulkan 1.4 pour le matériel d’Apple. En effet, notre
pilote graphique Honeykrisp
est reconnu
par...
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...
Arduino Blog
This Arduino-controlled machine dispenses the perfect bowl of cereal
Breakfast cereal is controversial. Milk or cereal first? Best cereal to milk ratio? Favorite cereal?...
7 months ago
Breakfast cereal is controversial. Milk or cereal first? Best cereal to milk ratio? Favorite cereal? Most attractive mascot? The opportunities for debate never end. But we can all agree that consistency is key when it comes to the milk:cereal ratio — nobody changes that up from...
Home on Erik...
Waiting time, load factor, and queueing theory: why you need to cut your systems a bit of slack
I've been reading up on operations research lately, including queueing theory. It started out as a...
over a year ago
I've been reading up on operations research lately, including queueing theory. It started out as a way to understand the very complex mortgage process (I work at a mortgage startup) but it's turned into my little hammer and now I see nails everywhere.
Notes on software...
Languages you can run in the browser, part 1: Python, JavaScript, SQLite
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.