news
Programming Leftovers
-
Miguel Young de la Sota ☛ What the Hell Is a Target Triple?
Many different compilers have different mechanisms for classifying and identifying targets. A target is a platform that the compiler can produce executable code for. However, due to the runaway popularity of LLVM, virtually all compilers now use target triples. You may have already encountered one, such as the venerable x86_64-unknown-linux, or the evil x86_64-pc-windows. This system is convoluted and almost self-consistent.
But what is a target triple, and where did they come from?
-
Gregory Hammond ☛ Why Website accessibility tests aren't perfect
When you have a website that you think is accessible, you want to test it to see what you may have missed. There are numerous ways to do that, however none of the tools catch absolutely everything.
-
Sean Goedecke ☛ Designing software that could possibly work
Whenever anyone describes a piece of software to me, I think about how I would build it. Software engineers do this a lot, but many of them don’t do it very well. I know that because I see a lot of technical discussions about specific details in a general plan that could not possibly work. For instance, arguing about whether to use prop-drilling or context-passing to supply a piece of data to the frontend that we do not and will never have access to, or the exact persistent-data-storage strategy to implement in a backend service that must remain stateless.
To avoid this, I think it’s a good idea to trace one important user flow end-to-end in your head. What does that mean in practice?
-
Eric MacAdie ☛ Thoughts on a Common Lisp tutorial
Based on a few things he has said in the tutorial and in some of his blog posts, I think he uses Common Lisp for work. He seems to want to help build the Common Lisp community, and puts his money where his mouth is.
-
Rlang ☛ R Version 4.5.0 is Out!
The work of this release involved many people, and there are 150 changes. I think it’s worthwhile reading over these changes, and I am incredibly grateful to all the amazing volunteers who put their time and energy into continuing to make R stable, and awesome.
I thought I’d share just a couple of the changes that jumped out at me as I was reading.
-
[Old] GNU ☛ Thank You, Larry McVoy
McVoy first blustered and threatened, but ultimately chose to go home and take his ball with him: he withdrew permission for gratis use by free software projects, and Linux developers will move to other software. The program they no longer use will remain unethical as long as it is nonfree, but they will no longer promote it, nor by using it teach others to give freedom low priority. We can begin to forget about that program.
We should not forget the lesson we have learned from it: Nonfree programs are dangerous to you and to your community. Don't let them get a place in your life.
-
Ruby 3.4.3 Released
Ruby 3.4.3 has been released.
This is a routine update that includes bug fixes. Please refer to the release notes on Microsoft's proprietary prison GitHub for further details.
-
Ruben Schade ☛ Over/under with Lazybear
I would classify Codeberg as being underrated. It provides a valuable service not enough people know about. Being based in Europe, it’s also a less troublesome area than a certain juristicion operate by a large orange. My blog is backed up to Codeberg, despite only briefly mentioning ocean liners of the early Twentieth Century from time to time.
-
Rlang ☛ The apply() Family of Functions in R
The apply() family of functions in R is a powerful tool for applying operations to data structures like matrices, data frames, and lists. These functions help you write concise and efficient code by avoiding explicit loops.
-
Rlang ☛ Mastering Data Preprocessing in R with the `recipes` Package
Data preprocessing is a critical step in any machine learning workflow. It ensures that your data is clean, consistent, and ready for modeling.
-
Perl / Raku
-
The Weekly Challenge ☛ CVE in Perl
You can use CPAN module CPAN::Audit to scan installed modules for known CVEs.
-
-
Python
-
SANS ☛ xorsearch.py: Searching With Regexes, (Mon, Apr 14th)
-
Raymond Camden ☛ Build Your Own Localized Events Calendar using Diffbot's Knowledge Graph
Finding out what's going on in your city can be a bit of a chore. For me, I use a combination of Facebook, specifically accounts for local organizations and news channels, and our local Reddit forum. This is... haphazard at best. I'm sure local "city wide" calendars exist, but I'm not aware of any that is used by the majority of folks nor do I trust them to actually cover everything going on. Having played with Diffbot's Knowledge Graph last month ("Automating and Responding to Sentiment Analysis with Diffbot's Knowledge Graph"), I thought I'd do some digging to see what would be possible via their API. Here's what I was able to build.
-
Nicholas Tietz-Sokolsky ☛ Python is an interpreted language with a compiler
On the surface level, it seems like the distinction between compiled and interpreted languages is obvious: compiled languages have a compiler, and interpreted languages have an interpreter. We typically call Java a compiled language and Python an interpreted language. But on the inside, Java has an interpreter and Python has a compiler.
-
-
Shell/Bash/Zsh/Ksh
-
[Old] GitLab ☛ An ssh adventure; or, why l10n support is important(*)
... where vim's -u is like bash's --rcfile. Pretend you just observed me performing some advanced editing maneuvers on that file. After all this toil, I'm now happy, and confident this amazing function is going to pay off within a few years at most: [...]
-
-
Java
-
Adam Young: Javac for Building the PrismLauncher on Ubuntu
I peridocially fall of the wagon and get drawn back into playing Minecraft. I’ve decided that, in order to make this time not wasted, I need to do something constructive with this urge. Last time I played Minecraft, I found the MultiMC launcher would no longer work. Being a fan of C++ and open source projects, I was not happy with this state. A friend suggested I try the PrismLauncher fork of the code base.
Prism does not seem to have a native Debian based build available, although I admit I did not look very hard.
-