Programming/Development, Open Hardware, and Kernel Work
-
Terence Eden ☛ Updates to ActivityPub in a single PHP file
A few weeks ago, I built an ActivityPub Server in a Single PHP File. It's a proof of concept showing how easy it is to turn a website into a full-featured Fediverse participant.
-
Caleb Hearth ☛ Reading JSON from a Rails API in Swift
Swift’s Codable interface allows a Swift type to be converted to and from, among other things, JSON. Besides casing disagreements which can be handled with custom CodingKey enums, converting from Rails-generated JSON to a Swift type is pretty straightforward, but one issue is that Rails’ encoding of dates is not compatible with Swift’s JSONDecoder’s default format.
-
Federal News Network ☛ Scaling data safely: Enhancing data security in data storage solutions
As businesses are producing more and more data, there must be somewhere for that data to go. One source reports that around 90% of the world’s data was generated in the last two years alone, showing massive growth in data production year over year.
-
Rlang ☛ insufficient Gibbs sampling bridges as well!
Antoine Luciano, Robin Ryder and I posted a revised version of our insufficient Gibbs sampler on arXiv last week (along with three other revisions or new deposits of mine’s!), following comments and suggestions from referees. Thanks to this revision, we realised that the evidence based on an (insufficient) statistic was also available for approximation by a Monte Carlo estimate attached to the completed sample simulated by the insufficient sampler. Better, a bridge sampling estimator can be used in the same conditions as when the full data is available! In this new version, we thus revisited toy examples first explored in some of my ABC papers on testing (with insufficient statistics), as illustrated by both graphs on this post.
-
[Old] Mark Dominus ☛ The Universe of Discourse : Puzzling historical artifact in “Programming Erlang”?
Eventually I decided that it was just that this sort of thing is now in the water we swim in, but it wasn't yet in the primeval times Armstrong was writing about. Sometimes problems are ⸢obvious⸣ because it's thirty years later and everyone has thirty years of experience dealing with those problems.
-
Rebecca Owen ☛ First Year in Chronicling Commits
I spoke about the early days of development with Charlie on Launched. Reflecting on this, if there are any takeaways, I think it is about consistency. Largely motivated by the uncertain amounts of time I get to work on this while juggling parenting and the day job, I try and break down all features into the smallest possible units. Once I have small tasks to work on, I find it much easier to accomplish meaningful work and maintain momentum, even if I only have 10-15 minutes available in a day.
-
Barry Kauler ☛ easyVoid problem with user-installed packages
Here is the previous blog post in this easyVoid and woofV project:
https://bkhome.org/news/202403/xbpsget-cli-utility-to-install-xbps-packages.html
In a nutshell, woofV builds an easyVoid distribution with XBPS package manager handling all package installation, update, removal, etc. woofV creates 'easy.sfs' with all packages populated in it by XBPS.
However, there is an elephant in the room. Actually, there are a couple of elephants; considering just one of them here. The problem is, how to handle user-installed packages when there is a version update?
-
Qt ☛ Commercial LTS Qt 6.5.5 Released
We have released Qt 6.5.5 LTS for commercial license holders today. As a patch release, Qt 6.5.5 does not add any new functionality but provides bug fixes and other improvements.
-
Medevel ☛ 10 Free Open-source TailwindCSS Components to Supercharge Your App's Aesthetic
Now, TailwindCSS is a significant player in the CSS framework realm and a true game-changer. Its utility-first approach equips developers with the tools to create custom designs directly within their HTML.
-
Medevel ☛ 12 Top Free To Use TailwindCSS Landing Page Templates for 2024
-
Chen HuiJing ☛ The value of live web design
Over the years, I’ve regularly seen blog posts or articles talking about “should designers code?” (less of “should developers learn design?” 🤷). I even chimed in with a tangential opinion piece back in the day. Tangential because I never said designers should code. Haha.
What I found is that after 9 years, my experiences have not changed my opinion back then. Namely:
An ideal web design process involves close collaboration between the users, designers and developers.
-
Hackaday ☛ Accelerate Your Large Builds Locally With Distcc
The motto of Sun Microsystems back in the day was “The Network Is The Computer” which might be kind of relevant when CPUs were slower and single-core affairs, but lately to get a faster compile, you’d simply throw more cores and memory at the problem. The thing is, most of us don’t do huge compilations all that often, we can’t remember the last time we even attempted a Linux kernel build. However if you do find yourself with a sudden need to do so, and have access to a pile of machines hooked to a network, then why not check out distcc: the fast distributed C/C++ Compiler? We’ve seen a few mentions in comments and a HaD links article referencing it, but never explicitly covered the tool. So here we go.
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: tinythemes 0.0.2 at CRAN: Maintenance
A first maintenance of the still fairly new package tinythemes arrived on CRAN today. tinythemes provides the
theme_ipsum_rc()
function from hrbrthemes by Bob Rudis in a zero (added) dependency way. A simple example is (also available as a demo inside the package) contrasts the default style (on left) with the one added by this package (on the right): [...] -
Perl / Raku
-
Rakulang ☛ Rakudo Weekly 2024.10 Grammarism
Daniel Mita has written a nice blog post explaining how they solved four exercises from Exercism using grammars in the Raku Programming Language: Practicing Raku Grammars On Exercism! Rakudo Compiler Release Justin DeVuyst (kudos, yet again!) has produced the second Rakudo compiler release of 2024: 2024.02, a leap release no less!
-
-
Python
-
Tom's Hardware ☛ Annoyed by bursty fans and bloated apps, engineer writes software in Python to better control his NZXT Kraken AIO
Software engineer Cal Bryant created his own fan/pump control software in Python that can read and manipulate the fan and pump speeds of his Kraken X53 AIO.
-
Scott Willsey ☛ Raycast Script Command for Text Parsing
I previously wrote about using Raycast script commands to switch default browsers. Raycast script commands are really good for scripting all kinds of other things too. One example is a Python script command I created yesterday for the purpose of grabbing a couple values from a JSON file and formatting them into a markdown hyperlink and putting it on the clipboard.
-
Identifying harmful activity on your captured traffic
This Python script utilises Wireshark or TCPdump to analyse network traffic stored in a specified .pcap or .pcapng file. The objective is to detect potential malicious activities and attacks.
-
Hackaday ☛ Pager Lives Again Thanks To Python And Mastodon
Pagers were a big deal for a while there, even if they never quite made it into the pantheon of excellent sitcom plot devices like answering machines did. Anyway, [Finnley Dolfin] had some pagers and gave them a refresh for the modern era, using them to receive message alerts from Mastodon.
-
-
R
-
Rlang ☛ A Beginner’s Guide to Renaming Data Frame Columns in R
Welcome back, fellow R enthusiasts! Today, we’re diving into a fundamental yet crucial aspect of data manipulation: renaming data frame columns.
-
Rlang ☛ Modeling the Oscar for Best Picture (and Some Insights About XGBoost)
The Academy Awards are a week away, and I’m sharing my
machine-learning-based predictions for Best Picture as well as some
insights I took away from the process (particularly XGBoost’s
sparsity-aware split finding).
-
-
Rust
-
Niko Matsakis: Borrow checking without lifetimes
This blog post explores an alternative formulation of Rust’s type system that eschews lifetimes in favor of places. The TL;DR is that instead of having
'a
represent a lifetime in the code, it can represent a set of loans, likeshared(a.b.c)
ormut(x)
. If this sounds familiar, it should, it’s the basis for polonius, but reformulated as a type system instead of a static analysis. This blog post is just going to give the high-level ideas. In follow-up posts I’ll dig into how we can use this to support interior references and other advanced borrowing patterns. In terms of implementation, I’ve mocked this up a bit, but I intend to start extending a-mir-formality to include this analysis.
-
-
Open Hardware/Modding
-
Arduino ☛ This Arduino GIGA R1 WiFi project turns a coffee maker into a more accessible appliance
While many of the things we interact with every day have become more usable by people with disabilities, the kitchen remains as one important area of our lives that still lacks many accessibility features.
-
CNX Software ☛ 2×2 Quad Display Board uses Raspberry Pi Pico W or ESP32-S3-WROOM-1 module to drive four displays (Crowdfunding)
SB Components’ 2×2 Quad Display Board is an MCU development board fitted with either a Raspberry Pi Pico W board or an ESP32-S3-WROOM-1 module used to drive four small color displays in square or round shapes. The board specifically features either four 1.54-inch square TFT displays or four 1.28-inch round displays, a microSD card, an RTC with coin-cell battery holder, and a USB-C port for power and programming, plus a few buttons.
-
-
Kernel Space
-
It's FOSS ☛ The Book You Need to Get Started With GNU/Linux Kernel Development
The Linux Kernel Programming (Second Edition) is a must-read for anyone who is interested in writing code for the Linux Kernel.
-
Collabora ☛ Release the panthor!
Late last week, the long-awaited kernel driver supporting 10th-generation Arm Mali GPUs was merged into drm-misc. The existing Gallium driver support has also been extended, effectively enabling GPUs on Rockchip's RK3588 platforms.
-