Programming Leftovers
-
Felt Presence LLC ☛ Not everyone needs to be talking to customers
Real collaboration is when someone knows something deeply, another person knows something else deeply, and we put our heads together. We bridge the gaps, we fill in different perspectives, we add in information the other doesn't have. It's 1+1=3. More comes out than we put in.
-
Caleb Hearth ☛ Truncate Date to Calendar.Component in Swift
I’m frequently wanting to work with truncated dates in Swift apps, especially when dealing with Swift Charts. Foundation provides Calendar.startOfDay(for:) to get the first moment of a day, and that’s been really useful. The extension below will do something similar for an arbitrary1 Calendar.Component to truncate that date to the first moment of that component.
-
Bryce Wray ☛ Sass mixed declarations change
In recent months, I’ve settled on keeping this Hugo-based website’s styling on a combination of vanilla CSS and, in production only, PostCSS. However, I still have code that allows me to use Sass if desired; so, out of curiosity I thought I’d see how it’s doing with newer versions of Dart Sass, to which I keep my repo updated. Turned out I had to make a number of changes, specifically due to a fairly recent change in Dart Sass.
-
Rlang ☛ How to Compare Two Vectors in base R With Examples
As a beginner R programmer, you may often need to compare two vectors to check for equality, find common elements, or identify differences. In this article, we’ll explore various methods to compare vectors in base R, including match(), %in%, identical(), and all.equal(). By the end, you’ll have a solid understanding of how to efficiently compare vectors in your R projects.
-
Cliff L Biffle ☛ From Hubris To Bits
The Hubris “build system” is not so much a build system, and more of a fancy linker.
At its simplest, building a Hubris application image consists of the following steps: [...]
-
Armin Ronacher ☛ Playground Wisdom: Threads Beat Async/Await
It's been a few years since I wrote about my challenges with async/await-based systems and how they just seem to not support back pressure well. A few years later, I do not think that this problem has subsided much, but my thinking and understanding have perhaps evolved a bit. I'm now convinced that async/await is, in fact, a bad abstraction for most languages, and we should be aiming for something better instead and that I believe to be thread.
-
MaskRay ☛ Removing global state from LLD
LLD, the LLVM linker, is a mature and fast linker supporting multiple binary formats (ELF, Mach-O, PE/COFF, WebAssembly). Designed as a standalone program, the code base relies heavily on global state, making it less than ideal for library integration. As outlined in RFC: Revisiting LLD-as-a-library design, two main hurdles exist: [...]
-
Python
-
Miguel Grinberg ☛ Is Python Really That Slow?
My standard response when someone asks me how I deal with Python being such a slow language is that Python is by far the fastest to write, cleanest, more maintainable programming language I know, and that a bit of a runtime performance penalty is a small price to pay when I'm rewarded with significant productivity gains. I rarely feel Python slows me down, and on the other side I constantly marvel at how fast I code with it compared to other languages.
This weekend I was supposed to attend PyCon Ireland, but a nasty cold is forcing me to stay home instead. Without a lot of energy to do much else, I decided to pass the time running some benchmarks to help me form a better mental image of Python's often criticized performance.
-
Eno Such ☛ Security means securing people where they are
The drop-off is stark: GitLab is #2, but with only 1.99% of all projects8.
This tells an important baseline story: if PyPI builds a security feature that needs to interoperate with source forges or CI/CD providers, then overwhelming majority of its packages can be best served by starting with GitHub.
That doesn’t mean that PyPI should stop with just GitHub, or GitHub plus GitLab, or anything else of the sort. It just tells us where the starting point should be.
-
James Bennett ☛ Introducing DjangoVer
Version numbering is hard, and there are lots of popular schemes out there for how to do it. Today I want to talk about a system I’ve settled on for my own Django-related packages, and which I’m calling “DjangoVer”, because it ties the version number of a Django-related package to the latest Django version that package supports.
But one quick note to start with: this is not really “introducing” the idea of DjangoVer, because I know I’ve used the name a few times already in other places. I’m also not the person who invented this, and I don’t know for certain who did — I’ve seen several packages which appear to follow some form of DjangoVer and took inspiration from them in defining my own take on it.
-
Archipylago ☛ Let's solve Advent of Code puzzles together - archipylago sprint
While the snow hasn't yet made its first appearance for this year here in Turku, a peek at the calendar reveals that Christmas is right around the corner. For developers, that means Advent of Code is approaching.
-
-
Java
-
Medevel ☛ 23 Years of HyperSQL: Java’s Reliable Database Marks Milestone with Major Update
HSQLDB stands as a testament to Java's versatility in database management - a pure Java RDBMS that emerged from the innovative Hypersonic SQL initiative back in 2001.
-