869 private links
A two hour long ride full of fun quirks in human languages.
A nice electronic circuit simulator tool.
A comprehensive note on functional analysis.
A really nice article on how to synchronize game state over a network with latency and high packet loss. The protocol described in the last is quite clever:
Instead of detecting packet loss after the fact and resending lost packets, we redundantly include all inputs in each UDP packet until we know for sure the other side has received them
By the way, the website seems to have a lot of worth reading articles on game development, especially networking related ones: https://gafferongames.com/
I never fully understood the concept of voicing:
- if 'b' and 'p' are really the same except for the voiceness, how can we still tell the difference in whisper?
- how can we produce 'b' unvoiced as well as unvoiced vowels, etc.
- i don't feel my lips are moving the same way when producing 'b' and 'p'
The answer: they are not exactly the same. The textbook is lying to you. See the post for more.
Interesting knowledge I learned today.
There are two ways your knife can get dull: 1) The blade wears down or 2) The blade's edge is not aligned properly.
The sharpening pole is not actually a sharpener, it's what's called a "honing steel". The tool doesn't actually sharpens the knife - its function is to re-align the blade so it's straight again.
The author wrote a program that solves Mario levels by exploring the state space with a path-finding algorithm with a guiding heuristic. This is a nice demo of how you sometimes don't need sophisticated algorithm or machine learning to tackle complex problems.
A series of courses to get your hands wet (dry?) on learning electronics. Ben Eater style.
An interactive guide on SVG path directives.
An interview of Douglas Hofstadter on recent AI development.
A clever way of adding new syntax to Python - through the # coding: xxx
option with a custom encoding handler.
# coding: cursed-for
for (i = 5; i < 10; i += 2):
print(i)
The SQL Join can be thought of as the follows:
- A join is a lookup
- A join is a nested loop over rows
- A join is a nested loop over columns
- A join is compatible alternate realities
- A join is flatMap
- A join is the solution to the N+1 problem
- A join is paths through a graph
- A join is a minimal model
- A join is typechecking
- A join is an operation in the Set monad
- A join is the biggest acceptable relation
- A join is a…join
- A join is a ring product
These are nice ways to illustrate a non-trivial algebraic structure.
An advanced QR code toolkit with a lot of styles tweakable. Can be used as input to generate natural qr code with stable diffusion (controlnet).
Checkout https://github.com/antfu/sd-webui-qrcode-toolkit as well.
TIL the SQLite's built-in VACCUM INTO 'db.bak'
and .backup db.bak
commands.
SQLite journal modes (DELETE and WAL) really clearly explained. Simple and easily to follow procedures on how SQLite achieve ACID.
Trim a piece of music to a specified length, or edit it by specifying the sections to avoid, prefer, or repeated. Let the tool find out how to make the cut and make transit natural.
It works algorithmically (i.e. not using an AI) and computation is done locally on the browser. However, the file you submitted will be uploaded to server and kept indefinitely, which is concerning - be aware.
Oxford's publications on algorithms, functional programming, and category theories. I peeked through a few articles. From those I learned novel ideas and enjoyed them.
Bash tip: put cleanup code in a function called finish
and register it with trap finish EXIT
.
A open source tool to convert email-only newsletter to RSS feed.
I read this article when it was trending on Hacker News in 2022. It changed my consumption habits (both in terms of buying and using) a lot. Whatever I want to buy or consume, I think about the benefit it brings me versus the cost - in terms of money, my time, and mental effort. My sense of "value" has changed a lot.
Someone in the comments (https://news.ycombinator.com/item?id=36353272) talks about there being a third price - the cost of disposal. I couldn't agree more. This has bothered me - I tend to get attached to possessions. Every time I move and have to make the decision to throw away familiar things, I fall into depression for weeks.