In MySQL, use “utf8mb4” instead of “utf8” (2016)
Today’s bug: I tried to store a UTF-8 string in a MariaDB “utf8”-encoded database, and Rails raised a bizarre error:
The latest blog posts to take off on Hacker News. 3,821 posts.
Today’s bug: I tried to store a UTF-8 string in a MariaDB “utf8”-encoded database, and Rails raised a bizarre error:
[Translations: Japanese] The Amish have the undeserved reputation of being luddites, of people who refuse to employ new technology. It’s well known the strictest of them don’t use electricity, or automobiles, but rather farm with manual tools and ride in … Continue reading →
For the past few months, I have been working on a project called CAMLBOY, a Game Boy emulator that runs in the browser.
In previous years, the core team have asked the community to write new years blog posts about Rust in the coming year. They haven't this year, but I wanted to write one anyway. However, it turned out to be harder than expected. Perhaps that's due to Rust being in an
Rewriting the Inhyped.com React frontend in ReScript brought a sound type system and easy JS interop, at the cost of a small community.
Typically: * Chapter 1: Types * Chapter 2: Variables * Chapter 3: Operators/Math * Chapter 4: Control structures * Chapter 5: Arrays * Chapter 6: Functions * Chapter 7: Structs * Chapter 8: Classes and Objects * Chapter 9: Methods * Chapter 10: Inheritance and Polymorphism * Chapter 11: Some advanced thing X * Chapter…
Sometime in 2024, the IEEE will unveil a new 802.11 standard that will bring new capabilities to everyone’s favorite wireless communication standard. But the upcoming 802.11bf standard isn’t for communication — it’s for sensing. The newest version of Wi-Fi layers on the ability to sense people or objects by using math…
This is going to be a somewhat experimental post. In class, I mentioned that when solving the type of homework problems encountered in a graduate real analysis course, there are really only about a…
There is something seriously wrong with the IT industry. It's so bad that I haven't managed to find a single industry with the same massive amount of stupidity, with the exception of perhaps the fashion industry.
Before the term was hijacked by crypto-grifters (and, admittedly, a few genuinely neat projects), web 3 (point oh) referred to Tim Berners-Lee's project to promote a standard way to expose and parse metadata on the web. It never took off. In this piece, I'll argue that a breakthrough idea introduced last year by HN…
Have you ever noticed that gradients tend to look a little gray and washed-out in the middle? This happens because of a mathematical quirk with RGB colors. Fortunately, we can work around this quirk, and create beautiful, lush, saturated gradients.
Eric Bailey recently wrote on CSS-Tricks about testing your website on a crappy laptop and it reminded me of this anecdote from my own life. About a month ago…
and i think you do too - but i'll tell you anyway
I am afraid to inform you that you have built a compiler. I know you wanted a “simple prototype” that would just add that one feature to your programming model. You said that “SSA is an overkill” and “it’s just way too much infrastructure to maintain for a simple task” and yet, six months later, you have pile of…
Summary: In 2021 I learned Smalltalk, mostly using the lovely Pharo implementation. While the syntax of the language is quite nice, it...
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
Travel, books, politics, history and opinionating on life in Taiwan.
Milton Friedman’s interest rate fallacy is one of the most mystifying and counterintuitive facts in modern finance.
“Thanks” to the pandemic, I’ve spent much more time figuring out how to deal with video and live streaming than I ever thought I would. It’s turned out to be a surprisingly rewarding experience. In no particular order, here are some things I’ve learned along the way.
Data-driven approach to history
Update: Everything in this article about Davis is also currently true in the following cities:
Over the weekend, a developer named Marak Squires intentionally sabotaged his popular NPM package colors and his less popular package faker . As I write this, NPM claims 18,971 direct dependents for colors and 2,751 for faker . Open Source Insights counts at least 42,000 more indirect dependents for colors . Many…
Or: Why can't you just merge my ten-line PR already? I maintain over 200 open source projects. Apparently (this is news to me) I am ranked in the top 200 GitHub users by followers, and there are 18,000 forks and 42,000 stars across my repos. On an average day, I see between 50-100 emails across my repositories for…
A love letter to Ruby and Rails.
This post describes the inner workings of LatencyFleX, which is a set of libraries that achieves latency reduction for video games, made as a vendor-agnostic alternative to Nvidia Reflex. A technology called Nvidia Reflex was released in 2020. It drastically improved system latency, by adjusting the pacing of the…
Trashing legacy software is fun. It creates camaraderie.
If you go out seeking to learn why blockchains and the systems built atop them are apparently the future of our web, you’ll begin to see some common themes. These fall apart under further scrutiny.