Programming Leftovers and Devices
-
Open Hardware/Modding
-
Hackaday ☛ Raspinamp: It Really Replicates Questionable Activities Involving Llamas
In the late 90s as MP3s and various file sharing platforms became more common, most of us were looking for better players than the default media players that came with our operating systems, if they were included at all. To avoid tragedies like Windows Media Center, plenty of us switched to Winamp instead, a much more customizable piece of software that helped pave the way for the digital music revolution of that era. Although there are new, official versions of Winamp currently available, nothing really tops the nostalgia of the original few releases of the software which this project faithfully replicates in handheld form.
-
Linux Gizmos ☛ Alinx VD100 Built Around AMD Versal AI Edge SoC
Alinx has unveiled the VD100 development board, featuring the AMD/Xilinx Versal Hey Hi (AI) Edge VE2302. This launch highlights the collaborative effort between Alinx, a Tier-1 System-on-Module partner, and AMD. The VD100 is tailored for edge computing applications and Hey Hi (AI) inference, showcasing its capability to manage diverse complex industrial tasks.
-
Hackaday ☛ An ESP32 MultiFactor TOTP Generator
MFA, or multifactor authentication, is a standard security feature these days. However, it can be a drag to constantly reach into one’s pocket, scroll to Google Authenticator (other MFA applications are available!), and find the correct TOTP code to log in to a site for a short while. [Allan Oricil] felt this pain point, so they took the problem by the horns and created a desktop MFA TOTP generator to make life just that little bit easier.
-
-
Modus Create LLC ☛ Extending destination-passing style programming to arbitrary data types in Linear Haskell
Three years ago, a blog post introduced destination-passing style (DPS) programming in Haskell, focusing on array processing, for which the API was made safe thanks to Linear Haskell. Today, I’ll present a slightly different API to manipulate arbitrary data types in a DPS fashion, and show why it can be useful for some parts of your programs.
The present blog post is mostly based on my recent paper Destination-passing style programming: a Haskell implementation, published at JFLA 2024. It assumes basic knowledge of Linear Haskell and intermediate fluency in Haskell.
-
Wouter Groeneveld ☛ Error Handling No-Goes In Go
I came across a weird function in our Go codebase the other day. It was supposed to do just one thing but accidentally did a bit more—you know how this goes. Suppose you’re validating some business rule and need to fetch a bit of data to do so: [...]
-
Java
-
Josh Austin ☛ Java is becoming more like Rust, and I am here for it!
As programming enhancements and sophistications gain popularity, many programming languages follow suit. Java is no different.
Rust has gained developer love year-over-year despite problems within the community. And for good reason: Rust enables developers to avoid entire categories of problems thanks to the compiler. The compiler demands correctness to the point some developers begin to experience some insecurity.
I’d like to showcase two Rust features that are part of what makes Rust excellent, and then compare them with recent innovations in Java.
-