Programming Leftovers
-
Automatically Deploy VPS Apps from Git Triggers
I make a lot of silly projects, and one things I’ve wanted for a long time is a way to automate the deployment process using Git. So in this blog post, we are going to be tackling just that.
-
What I learned from pairing by default
For the vast majority of my career, I rarely pair-programmed. I’d even tried it a couple of times, but it was awkward and clunky and slow. I wasn’t sold. It became something I only did if I or somebody else was really (really) stuck on something, but never in the regular course of things.
[...]
Pairing all the time allowed people to be brought into the fold on day one and be relatively comfortable with the codebase by the time they had access, which for this client took at least a couple of weeks.
It helped to naturally share and normalize team practices, such as how we used git, without almost no friction and no real need for a “here’s how we … " document or retroactively correcting somebody.
-
Generating Dependency Data for kdesrc-build - Nico's blog
As you may know KDE consists of many different subprojects, where some projects depend on other projects. Most KDE projects depend on some KDE Frameworks, but other dependencies are also possible, e.g. plasma-desktop depends on plasma-workspace. To be able to automate building projects (for the CI system or tools like kdesrc-build) you need a machine-readable source of dependency information.
For a long time this information has been available in a set of files in repo-metadata. To declare for example plasma-desktop’s dependency on plasma-workspace one would write the line
kde/workspace/plasma-desktop: kde/workspace/plasma-workspace to the relevant file.
-
Fix mounts as msdos instead of vfat
It isn't just vfat being misreported, it may be that a script may misdetect PARTUUID when UUID is intended.
-
Optimizing compilers reload vector constants needlessly - Daniel Lemire’s blog
Modern processors have powerful vector instructions which allow you to load several values at once, and operate (in one instruction) on all these values. Similarly, they allow you to have vector constants. Thus if you wanted to add some integer (say 10001) to all integers in a large array, you might first load a constant with 8 times the value 10001, then you would load elements from your array, 8 elements by 8 elements, add the vector constant (thus do 8 additions at once), and then store the result. Everything else being equal, this might be 8 times faster.
An optimizing compiler might even do this optimization for you (a process called ‘auto-vectorization). However, for more complex code, you might need to do it manually using “intrinsic” functions (e.g., _mm256_loadu_si256, _mm256_add_epi32, etc.).
-
Day 10: SparrowCI pipelines cascades of fun - Raku Advent Calendar
Remember the young guy in the previous SparrowCI story? We have not finished with him yet …
Because New Year time is coming and brings us a lot of fun, or we can say cascades of fun …
So, our awesome SparrowCI pipelines plumber guy is busy with sending the gift to his nephew...
-
Kephra: goto (last) edit | lichtkind [blogs.perl.org]
Welcome to my musings: how editing should be (aimed to all users of an editor as food for thought). After select all I will today choose as feature of the day: goto edit (Strg+E) by which I mean jump to the location where you did the last change to the document. In latest version 0.404 I even extended the feature to make it more productive.
This feature can be implemented in 2 minutes so why even talk about it except bragging about it? If you think about editing strategically (first principles - step one - making requirements less dumb), you see that its not really about moving the caret to some position somewhere or selecting some text. Editing is ultimately an information game. How to get and organize information and apply them in the most effective way.
-
his Week in PSC (090)
We ran through the RFC tracker, putting the "updating *'* as package separator" for Tony Cook's pull request, and resetting the counter on the ?-> implementation, as Veesh G. has begun taking a crack at that.