by failing to provide programmers with features they need to make the best use of modern hardware, programmers instead resort to enabling an option that is known to be blatantly unsafe. — Beware of fast-math
2025-06-08: Sad Sad Apple Tears: A thoughtful review and commentary on Apple’s evolution from a developer’s point of view. #apple
2025-06-10:
The fundamental difference between streaming and downloading is what your device does with those frames of video. — The Difference Between Downloading and Streaming
2025-06-10: I never could get used to Pandas data frame (while I’m able to use any Scheme or Lisp data frame frameworks, and Mathematica association lists or tabular data structure). Good points discussed here, although I’m a vanailla R user (no tidyverse): Why pandas feels clunky when coming from R. #python
2025-06-10: I was a happy user of newsboat until it stopped working on my MacBook, for whatever reason. It probably just works right now, but since I’m definitely out of sync with my RSS feeds, I was looking for a way to have it both on my old iPhone (this excludes de facto most modern readers, including NNW) and my MacBook. It looks like lire fits the bill, although there are occasional iCloud syncing issues (sync time and rate limit). Anyway, that’s still better than Reeder which does not sync to iCloud at all. #apple
2025-06-10: It’s not going to put me out of a job. This is from 2017 but still relevant as of today.
At least 75% of the actual job of programming is figuring out what a person means when they ask for something. This is not a problem that a machine can solve for you, for the same reason that it’s harder to build a robot that builds other robots than to just build a robot. Have you had words with Siri lately? Do you think Siri is in a good position to understand your intent, or it’s maybe just searching for command words in a limited lexicon? Do you really think it could find Henry’s stool? Or does it seem more likely that it would get confused and require a human… trained to translate… high-level human-language… into language suitable for… the machine?Why I’m not especially interested in machine learning
2025-06-10: When good pseudorandom numbers go bad: An interesting discussion about eigen decomposition with applications to sampling from multivariate distribution. #rstats
2025-06-10:
» brew info --cask container
==> container: 0.1.0
https://github.com/apple/container
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/c/container.rb
==> Namecontainer
==> Description
Create and run Linux containers using lightweight virtual machines
==> Artifactscontainer-0.1.0-installer-signed.pkg (Pkg)
==> Analyticsinstall: 63 (30 days), 63 (90 days), 63 (365 days)
More info: Apple supercharges its tools and technologies for developers to foster creativity, innovation, and design. #apple
2025-06-12: LOL I just switched back to NetNewsWire as my default feed reader. Lire app uses too much RAM and does not sync correctly to iCLoud. #apple
2025-06-14: SIMD-friendly algorithms for substring searching.
2025-06-14: Setup an OpenBSD VM on macOS Using UTM. #apple
#unix
2025-06-14: Why doesn’t Rust care more about compiler performance?. #rust
2025-06-18:
The distinction some make between prototyping and software development has vexed me my whole career. I have never seen a version 1.0 of a system that was acceptable. I find that every software group messes with the software up until the very time it’s deployed or delivered. — The Art of Lisp & Writing
2025-06-18: TIL about lstr, a fast and minimalist directory tree viewer, with interactive mode.
2025-06-23: /me is listening to “Shanghaï Gesture” by The Names
2025-06-25:Summertime
2025-06-25:
Software development needs more simple joy, and I’ve found that creating toy programs is a great way to remember why I started working with computers again. — Writing Toy Software Is A Joy
2025-06-25: I have the following Jupyter kernels installed on my HD:
» jupyter kernelspec list
Available kernels:
python3 /Users/chl/.local/lib/jupyter/share/jupyter/kernels/python3
clojupyter /Users/chl/Library/Jupyter/kernels/clojupyter
common-lisp /Users/chl/Library/Jupyter/kernels/common-lisp
racket /Users/chl/Library/Jupyter/kernels/racket
wolfram /Users/chl/Library/Jupyter/kernels/wolframlanguage14.1
I renamed clojupyter snapshot to something more convenient to handle when calling jupyter console
. I’m using OpenJDK 24.0.1 from Homebrew (which I symlinked in macOS default $JAVA_HOME
, using sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
) and I kept getting this annoying warning:
WARNING: A restricted method in java.lang.System has been calledWARNING: java.lang.System::load has been called by org.sqlite.SQLiteJDBCLoader in an unnamed module (file:/Users/chl/Library/Jupyter/kernels/clojupyter/clojupyter-standalone.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
To get ride of the warning, simply add --enable-native-access=ALL-UNNAMED
in the kernel.json
init file.
2025-06-25: TIL about this little trick: Restrict sftp with Linux user namespaces. #unix
2025-06-25: Fun with uv and PEP 723: I came across many similar posts about this new way to run Python scripts via uv. I switched to uv for managing python version and dependencies in virtual environments and I think it’s been one of the best addition to the language ecosystem in a while. #python
2025-06-26: I guess my Scheming with Vim will be easier to find on the www.