Programming/Development and Arduino Hacking
-
Noel Rappin ☛ Better Know A Ruby Thing: Method Lookup
Before we get fully started here, a couple of notes on Better Know Singleton Classes, which, among other things, got mentioned on Hacker News, giving me comments there for the first time in years, maybe for the first time ever.
One Hacker News comment suggested that “Eigenclass” was coined by _why the lucky stiff as a joke and was then adopted by the community. I looked this up and that doesn’t seem to be the case… _why’s Poignant Guide To Ruby uses “metaclass” when it discusses this feature (at least the version I have does…). Matz used “eigenclass” in the O’Reilly Ruby book. (You didn’t ask, but version 1 of the Pickaxe uses “singleton class”, per https://ruby-doc.com/docs/ProgrammingRuby/).
-
Hackaday ☛ Clock Mechanism Goes Crazy For Arduino
You’ve doubtless seen those ubiquitous clock modules, especially when setting clocks for daylight savings time. You know the ones: a single AA battery, a wheel to set the time, and two or three hands to show the time. They are cheap and work well enough. But [Playful Technology] wanted to control the hands with an Arduino directly and, in the process, he shows us how these modules work.
-
Hackaday ☛ Taming The Wobble: An Arduino Self-Balancing Bot
Getting a robot to stand on two wheels without tipping over involves a challenging dance with the laws of physics. Self-balancing robots are a great way to get into control systems, sensor fusion, and embedded programming. This build by [mircemk] shows how to make one with just a few common components, an Arduino, and a bit of patience fine-tuning the PID controller.
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: RcppNLoptExample 0.0.2: Minor Updates
An update to our package RcppNLoptExample marking the first update since the intial release more than four year ago. The nloptr package, created by Jelmer Ypma, has long been providing an excellent R interface to NLopt, a very comprehensive library for nonlinear optimization. In particular, Jelmer carefully exposed the API entry points such that other R packages can rely on NLopt without having to explicitly link to it (as one can rely on R providing sufficient function calling and registration to make this possible by referring back to nloptr which naturally has the linking information and resolution). This package demonstrates this in a simple-to-use Rcpp example package that can serve as a stanza.
-
Hackaday ☛ Old Chromebooks Get Second Life As Video Wall
What would you do with dozens and dozens of outdated Chromebooks that are no longer getting updates from the Google Mothership? It’s a situation that plenty of schools will have to deal with in the near future, and we can only help that those institutions have students as clever as [Varun Biniwale] and his friend [Aksel Salmi] to lean on — as they managed to recycle ten of these outdated laptops into an impressive video display.
-
Ruben Schade ☛ The ISO 639-1 language code for Japanese is ja
I’ve got a longer post about mixed-language support in HTML and XML documents pending, but in the meantime I realised I’ve been defining Japanese wrong for probably years.
This was the output from the W3C Validator on a test document I uploaded: [...]
-
K Desktop Environment/KDE SC/Qt
-
Python
-
Nelson Elhage ☛ Performance of the Python 3.14 tail-call interpreter
About a month ago, the CPython project merged a new implementation strategy for their bytecode interpreter. The initial headline results were very impressive, showing a 10-15% performance improvement on average across a wide range of benchmarks across a variety of platforms.
Unfortunately, as I will document in this post, these impressive performance gains turned out to be primarily due to inadvertently working around a regression in LLVM 19. When benchmarked against a better baseline (such GCC, clang-18, or LLVM 19 with certain tuning flags), the performance gain drops to 1-5% or so depending on the exact setup.
-
ID Root ☛ Contact Management System Project in Python
In this tutorial, we will show you how to create Contact Management System Project in Python. A contact management system is an essential tool for organizing and maintaining your personal or business contacts.
-
Rlang ☛ Word-Online: recreating Karpathy’s char-RNN (with supervised linear online learning of word embeddings) for text completion
R and Python implementations of word completion
-