Tux Machines

Programming Leftovers

Posted by Roy Schestowitz on Apr 21, 2023

=> today's howtos | Microsoft Trouble, Front Group ('Linux' Foundation), and Ransomware Attack

Game of Trees 0.87 released

=> ↺ Game of Trees 0.87 released

A highlight of this release is the addition of gitwrapper(1), a utility facilitating co-existence with git.

Life is maintenance, maintenance is life

=> ↺ Life is maintenance, maintenance is life

Over my relatively short career (6+ years), I’ve noticed a change in the way I approach building things. When I was still an inexperienced junior developer who barely survived operating in a Linux environment and saw backend development as a black box, I was happy to get things working at all.
Nowadays, no matter what I do, I have to take maintenance into account.

qlcal 0.0.5 on CRAN: Updates from QuantLib 1.3.0

=> ↺ qlcal 0.0.5 on CRAN: Updates from QuantLib 1.3.0

qlcal delivers the calendaring parts of QuantLib. It is provided (for the R package) as a set of included files, so the package is self-contained and does not depend on an external QuantLib library (which can be demanding to build). qlcal covers over sixty country / market calendars and can compute holiday lists, its complement (i.e. business day lists) and much more.

Why tests flake more on CI than locally

=> ↺ Why tests flake more on CI than locally

In order to understand why a CI test run is more susceptible to flakiness than a local test run, we can go through all the root causes for flakiness one-by-one and consider how a CI test run has a different susceptibility to that specific flaky test cause than a local test run.
The root causes we’ll examine (which are all explained in detail in this post) are leaked state, race conditions, network/third-party dependency, fixed time dependency and randomness.

Invalid at computed-value time

=> ↺ Invalid at computed-value time

I rewatched Lea Verous’s talk about custom properties recently and learned something I missed the first time I watched it.
A declaration of a custom property can be invalid at computed-value time, if its value is invalid. Depending on the property’s type, this results in the property being set to unset, so either the property’s inherited value or its initial value, depending on whether the property is inherited or not.
That’s confusing, I know; here’s an example to better understand why it’s essential to know that.

Why Perl?

=> ↺ Why Perl?

I sometimes get asked why I use Perl so much. Am I not a fan of strongly typed functional programming? Yeah, I am. Ask me to write something that is known, for sure, to become a big system and I’ll pick strongly typed functional programming without hesitation.11 And, of course, put me in a team that uses Blub, and I’ll pick up Blub in a heartbeat. Except php. I tried to give php an honest chance recently (“It has changed”, they said, “It is much better with modern practices”) but it was painful all the way through, even when I tried to do everything right. But most of the software I write is not for sure going to become a big system. Here’s what Perl does well: [...]

Learning OCaml: Quoted String Literals

=> ↺ Learning OCaml: Quoted String Literals

While learning OCaml I’ve noticed one curious feature - it has two types of string literals. The first type are the common and quite familiar “double-quoted string literals” (or perhaps simply “string literals”?): [...]

Typos that omit security features and how to test for them

=> ↺ Typos that omit security features and how to test for them

The source fortification is a security mitigation that replaces certain function calls with more secure wrappers that perform additional runtime or compile-time checks.

Dirk Eddelbuettel: qlcal 0.0.5 on CRAN: Updates from QuantLib 1.3.0

=> ↺ Dirk Eddelbuettel: qlcal 0.0.5 on CRAN: Updates from QuantLib 1.3.0

The fifth release of the still new-ish qlcal package arrivied at CRAN just now.

=> ↺ qlcal | ↺ CRAN

qlcal delivers the calendaring parts of QuantLib. It is provided (for the R package) as a set of included files, so the package is self-contained and does not depend on an external QuantLib library (which can be demanding to build). qlcal covers over sixty country / market calendars and can compute holiday lists, its complement (i.e. business day lists) and much more.

=> ↺ qlcal | ↺ QuantLib | ↺ QuantLib | ↺ qlcal

=> ↺ qlcal | ↺ CRAN | ↺ qlcal | ↺ QuantLib | ↺ QuantLib | ↺ qlcal

Jamie McClelland: Electron doesn't like negative layout coordinates

=> ↺ Jamie McClelland: Electron doesn't like negative layout coordinates

I got a second external monitor. Overkill? Probably, but I like having a dedicated space to instant messaging (now left monitor) and also a dedicated space for a web browser (right monitor).
But, when I moved signal-desktop to the left monitor, clicks stopped working. I moved it back to my laptop screen, clicks started working. Other apps (like gajim) worked fine. A real mystery.

Defining interfaces in C++: concepts versus inheritance

=> ↺ Defining interfaces in C++: concepts versus inheritance

In a previous blog post, I showed how you could define ‘an interface’ in C++ using concepts. For example, I can specify that a type should have the methods has_next, next and reset: [...]

Porting to Qt6 in practice

=> ↺ Porting to Qt6 in practice

Recently I started using KTimeTracker to record the time I spent working, and I really like it. So far it's the only productivity app that meets my needs. So I began playing with porting it to Qt6. I'm weak with algorithms, but I know my way with building programs. I made a long fluff post about compilation, even. So I was feeling confident that I would make at least some progress.

What’s new in R 4.3.0?

=> ↺ What’s new in R 4.3.0?

Logic will get you from A to B. Imagination will you take everywhere. (Einstein)

The Rust Programming Language Blog: Announcing Rust 1.69.0

=> ↺ The Rust Programming Language Blog: Announcing Rust 1.69.0

The Rust team is happy to announce a nice version of Rust, 1.69.0. Rust is a programming language empowering everyone to build reliable and efficient software.

Let’s Learn More About Python Data Classes

=> ↺ Let’s Learn More About Python Data Classes

Since their introduction in Python 3.7, data classes have emerged as a popular choice for Python classes that store data. In a previous tutorial, we talked about what data classes are and some of their features, including out-of-the-box support for object comparison, type hints, and default values of fields. In this follow-up tutorial, we’ll continue to explore some more features of Python data classes.
We’ll take a closer look at setting default values with default_factory, initializing new fields from pre-existing fields with post_init, and much more. We’ll also discuss the improved support for slots in data classes since Python 3.10.

=> gemini.tuxmachines.org

Proxy Information
Original URL
gemini://gemini.tuxmachines.org/n/2023/04/21/Programming_Leftovers.1.gmi
Status Code
Success (20)
Meta
text/gemini;lang=en-GB
Capsule Response Time
141.374288 milliseconds
Gemini-to-HTML Time
5.081593 milliseconds

This content has been proxied by September (3851b).