Tux Machines

Programming Leftovers

Posted by Roy Schestowitz on Aug 10, 2023

=> Gemini Articles of Interest | Hello from Ares!

nesting allocators

=> ↺ nesting allocators

I regularly point people to Tmandry's 2021 post "Contexts and Capabilities in Rust". While nobody is actively working on the design at the moment, it's more because of prioritization than anything else. It seems like it could make certain usage patterns a lot nicer in Rust, and one of those is probably working with custom allocators. I've been working a lot with slab allocators recently, and I'd love it if they were easier to work with in Rust. So I wanted to take a moment to talk about allocators, capabilities as a language feature, and why I believe that would work well.

Coding of domain names to wire format at gigabytes per second

=> ↺ Coding of domain names to wire format at gigabytes per second

When you enter in your browser the domain name lemire.me, it eventually gets encoded into a so-called wire format. The name lemire.me contains two labels, one of length 6 (lemire) and one of length two (me). The wire format starts with 6lemire2me: that is, imagining that the name starts with an imaginary dot, all dots are replaced by the length (in bytes) of the upcoming label. The numbers are stored as byte values, not ASCII digits.

Definition of good in SLI

=> ↺ Definition of good in SLI

In a recent article, we discussed the service level indicator formula:
(SLI = \frac {\text{good}} {\text{valid}} \times 100)
Another article discussed the valid. This article talks about the definition of good.

Mastering Data Transformation with the scale() Function in R

=> ↺ Mastering Data Transformation with the scale() Function in R

Data analysis often requires preprocessing and transforming data to make it more suitable for analysis. In R, the scale() function is a powerful tool that allows you to standardize or normalize your data, helping you unlock deeper insights. In this blog post, we’ll dive into the syntax of the scale() function, provide real-world examples, and encourage you to explore this function on your own. The scale() function can be used to center and scale the columns of a numeric matrix, or to scale a vector. This can be useful for a variety of tasks, such as: [...]

Statistician’s Time Series Hack

=> ↺ Statistician’s Time Series Hack

The tl;dr of this article is: to model latent common causes without having to list them explicitly, condition on the previous observation.
Let’s dig into what that means.

Programs shouldn't commit to fixed and predictable log messages

=> ↺ Programs shouldn't commit to fixed and predictable log messages

The simple problem with making promises about what your program's logs will contain is that promises create official APIs. Everything you promise about your logs becomes part of your program's functional API, something you've told people that they can confidently use and rely on. If you promise that you'll log certain messages in certain situations and you don't always, you've made this into a bug by definition; if you change what messages you emit in these circumstances in a future version, you've created an API incompatibility.

Mastering Data Visualization: A Guide to Harnessing the Power of R’s par() Function

=> ↺ Mastering Data Visualization: A Guide to Harnessing the Power of R’s par() Function

When it comes to data visualization in R, the par() function is an indispensable tool that often goes overlooked. This function allows you to control various graphical parameters, unleashing a world of customization possibilities for your plots. In this blog post, we’ll demystify the par() function, break down its syntax, and provide you with hands-on examples to help you create stunning visualizations.

Announcing GoReleaser v1.20 — a quality-of-life release

=> ↺ Announcing GoReleaser v1.20 — a quality-of-life release

I’ve been releasing GoReleaser Pro Nightlies for a while now, but it never had a fixed schedule, and the OSS version never had a nightly release either.
Starting now, the Pro Nightly will be released every Wednesday, and the OSS every Thursday.

Bayes' Rule

=> ↺ Bayes' Rule

Bayes’ Rule is a formula used to update the probability of an event given new evidence. It’s a fundamental concept in probability theory. The formula can be expressed as:
P(A|B) = (P(B|A) * P(A)) / P(B)

GIL removal and the Faster CPython project

=> ↺ GIL removal and the Faster CPython project

The Python global interpreter lock (GIL) has long been a barrier to increasing the performance of programs by using multiple threads—the GIL serializes access to the interpreter's virtual machine such that only one thread can be executing Python code at any given time. There are other mechanisms to provide concurrency for the language, but the specter of the GIL—and its reality as well—have often been cited as a major negative for Python. Back in October 2021, Sam Gross introduced a proof-of-concept, no-GIL version of the language. It was met with a lot of excitement at the time, but seemed to languish to a certain extent for more than a year; now, the Python Steering Council has announced its intent to accept the no-GIL feature. It will still be some time before it lands in a released Python version—and there is the possibility that it all has to be rolled back at some point—but there are several companies backing the effort, which gives it all a good chance to succeed.

Not just an annoying list of questions

=> ↺ Not just an annoying list of questions

Imagine if – as a job applicant – you could put yourself right in front of the hiring lead, and tell them, in your own words, in your own time, without interruption or distraction or pressure, why you think you’d be an excellent person for the role.
What kind of applicant would benefit the most?

Nvidia announces major updates to Omniverse with generative AI and OpenUSD

=> ↺ Nvidia announces major updates to Omniverse with generative AI and OpenUSD

Nvidia Corp. today announced a major release to Omniverse, its hyper-realistic real-time 3D graphics collaboration and simulation platform, that will allow enterprises to build better 3D models and scenes using OpenUSD and artificial intelligence.

=> gemini.tuxmachines.org

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

This content has been proxied by September (ba2dc).