Plurrrr

home

Infiesto (2023)

Two detectives are called to a small mining town in the Asturian mountains where a young woman who had been left for dead for months has suddenly appeared, leaving the detectives to question what dark forces are at work.

In the evening Esme wanted to watch a Spanish language movie. After some searching and browsing on Netflix we selected Infiesto. I liked the movie and give it a 7 out of 10.

Fatal Intrusion

Carmen Sanchez is a tough Homeland Security agent who plays by the rules. But when her sister is attacked, revealing a connection to a series of murders across Southern California, she realizes a conventional investigation will not be enough to stop the ruthless perpetrator.

With nowhere else to turn, Sanchez enlists the aid of Professor Jake Heron, a brilliant and quirky private security expert who, unlike Sanchez, believes rules are merely suggestions. The two have a troubled past, but he owes her a favor and she’s cashing in. They team up to catch the assailant, who, mystifyingly, has no discernible motive and fits no classic criminal profile. All they have to go on is a distinctive tattoo and a singular obsession that gives this chillingly efficient tactician his nickname: Spider.

Over the next seventy-two hours, Sanchez and Heron find themselves in the midst of a lethal chess match with the killer as they race to stop the carnage. As the victims mount, so do the risks. Because this spider’s web of intrigue is more sinister―and goes far deeper―than anyone could possibly anticipate.

In the afternoon I started to read Fatal Intrusion by Jeffery Deaver and Isabella Maldonado.

Incoming (2024)

Four freshmen navigate the terrors of adolescence at their first-ever high school party.

In the evening Alice, Esme, and I watched Incoming. I liked the movie and had a few laughs. I give it a 7 out of 10.

The Other Woman (2014)

After discovering that her boyfriend is married, Carly meets the wife he's been betraying; when yet another affair is discovered, all three women team up to plot revenge on the three-timing S.O.B.

In the evening Esme and I watched The Other Woman. The movie was a bit boring and I give it a 5 out of 10.

Bad Boys: Ride or Die (2024)

When their late police captain gets linked to drug cartels, wisecracking Miami cops Mike Lowrey and Marcus Burnett embark on a dangerous mission to clear his name.

In the evening Esme and I watched Bad Boys: Ride or Die. Well, actually I watched because Esme fell asleep halfway. I think the movie was ok and give it a 6 out of 10.

Longlegs (2024)

In pursuit of a serial killer, an FBI agent uncovers a series of occult clues that she must solve to end his terrifying killing spree.

In the evening Esme, Alice, and I watched Longlegs. I liked the movie somewhat and give it a 6 out of 10.

Alien Clay

The planet of Kiln is where the tyrannical Mandate keeps its prison colony, and for inmates, the journey there is always a one-way trip. One such prisoner is Professor Arton Daghdev, xeno-ecologist and political dissident. Soon after arrival, he discovers that Kiln has a secret. Humanity is not the first intelligent life to set foot there.

In the midst of a ravenous, chaotic ecosystem are the ruins of a civilization, but who were the vanished builders and where did they go? If he can survive both the harsh rule of the camp commandant and the alien horrors of the world around him, then Arton has a chance at making a discovery that might just transform not only Kiln, but distant Earth as well.

In the evening I started in Alien Clay by Adrian Tchaikovsky.

Back (sort of)

After a hiatus of more than a year I have decided to blog again. However, no more daily link dumps. Those ate too much of my time. So expect less posts.

What to expect

  • update on when I start to read a book
  • short review of a book when I have finished reading it
  • short review of a movie I watched
  • photos of our new family member: Lina
  • photos of my "pets": scorpions and tarantulas
Lina the European shorthair cat in her rattan cat
basket
Lina the European shorthair cat in her rattan cat basket.

Books I read earlier this year

A short overview of books I read earlier this year:

Licanius Trilogy

The Licanius Trilogy by James Islington consists of the following books:

I had some problems following the story in the second book. The first book is good and the third book is better. Give it a try if you're into fantasy.

The Ghost Orchid

Between the second and third book of the Licanius Trilogy by James Islington I read The Ghost Orchid by Jonathan Kellerman. It was a good read, recommended.

The Lost Coast

After the Licanius Trilogy by James Islington I read The Lost Coast by Jonathan and Jesse Kellerman. This is the fifth book in the Clay Edison series and in my opinion the best so far. Excellent read, highly recommended.

Abigail (2024)

In the evening Jaiden, Alice and her boyfriend Arda, Esme, and I watched Abigail. I recommend not to read up on this movie but just watch it. I liked it a lot—especially the explosions—and give it an 8 out of 10.

Toxic Prey

Gaia is dying.

That, at least, is what Dr. Lionel Scott believes. A renowned expert in tropical and infectious diseases, Scott has witnessed the devastating impact of illness and turmoil at critical scale. Society as it exists is untenable, and the direct link to Earth’s death spiral; population levels are out of control and people have allowed disarray and disorder to run rampant. While most are concerned about deadly disease, Scott knows that it is truly humanity itself that will destroy Gaia. It’s only by removing the threat that the planet can continue to prosper, and luckily, Scott is just the right man for the job…

When Scott then disappears without a trace, Letty Davenport is tasked with tracking down any and all leads. Scott’s connections to sensitive research into virus and pathogen spread has multiple national and international organizations on high alert, and his shockingly high clearance levels at various institutions, including the Los Alamos National Laboratory, make him the last person they’d like to go missing. As the web around Scott becomes more tangled, Letty calls in her father, Lucas, help her lead a group of specialists to find Scott as soon as possible. But as Letty and Lucas begin to uncover startling and disturbing connections between Scott and Gaia conspiracists, their worst fears are confirmed, and it quickly becomes a race to find him before the virus he created becomes the perfect weapon.

In the evening I started in Toxic Prey, book 34 in the Prey series by John Sandford.

Nix shell template

Nix shells are the best tool for creating software development environments right now. This article provides a template to get you started with Nix shells from scratch, and explains how to add common features.

Source: Nix shell template, an article by Victor Engmark.

TIL - IN is not the same as ANY

Not exactly from today, rather from a month or two ago, but still on my “noteworthy list”. So after a remarkably long quiet period of no surprises (Postgres doesn’t generally surprise one badly), I managed to learn something controversial - a thing considered generally good, using ANY instead of IN-list in this case, can have downsides nevertheless!

Source: TIL - IN is not the same as ANY, an article by Kaarel Moppel.

Corinna in the Perl Core

It’s been a years-long, painful process, but with the release of Perl v.5.38,0, the first bits of Corinna have been added to the Perl core. For those who have not been following along, Corinna is a project to add a new object system to the Perl core. Note that it’s not taking anything away from Perl; it’s adding a core object system for better memory consumption, performance, and elegance.

Source: Corinna in the Perl Core, an article by Curtis “Ovid” Poe.

Demystifying Text Data with the unstructured Python Library

In the world of data, textual data stands out as being particularly complex. It doesn’t fall into neat rows and columns like numerical data does. As a side project, I’m in the process of developing my own personal AI assistant. The objective is to use the data within my notes and documents to answer my questions. The important benefit is all data processing will occure locally on my computer, ensuring that no documents are uploaded to the cloud, and my documents will remain private.

To handle such unstructured data, I’ve found the unstructured Python library to be extremely useful. It’s a flexible tool that works with various document formats, including Markdown, , XML, and HTML documents.

Source: Demystifying Text Data with the unstructured Python Library (+alternatives), an article by Saeed Esmaili.

Image Upscaling Using Neural Networks

Do you remember those classic scenes from CSI TV series? When a detective, peering at a pixelated image from a surveillance camera, instructs the tech whiz, "zoom enhance". With some keyboard strokes, the blurry image transforms, revealing a perfectly clear license plate. We've all had a good laugh at that, dismissing it as pure Hollywood bullshit, right?

Source: Image Upscaling Using Neural Networks.

Regex engine internals as a library

Over the last several years, I’ve rewritten Rust’s regex crate to enable better internal composition, and to make it easier to add optimizations while maintaining correctness. In the course of this rewrite I created a new crate, regex-automata, which exposes much of the regex crate internals as their own APIs for others to use. To my knowledge, this is the first regex library to expose its internals to the degree done in regex-automata as a separately versioned library.

This blog post discusses the problems that led to the rewrite, how the rewrite solved them and a guided tour of regex-automata’s API.

Source: Regex engine internals as a library, an article by Andrew Gallant.

Mastering Intermediate Linux Commands for Server Management

As a sysadmin, you often come across complex tasks that require more than just basic commands. That’s why it’s important to learn some intermediate-level Linux commands that can make your work easier and more efficient.

These commands can help you automate repetitive tasks, manage processes, and monitor system performance, among other things. In this article, we will explore some of these commands and their usage.

Source: Mastering Intermediate Linux Commands for Efficient Server Management, an article by Akash Rajpurohit.

Most Tests Should Be Generated

Traditional testing wisdom eventually invokes the test pyramid, which is a guide to the proportion of tests to write along the isolation / integration spectrum. There’s an eternal debate about what the best proportion should be at each level, but interestingly it’s always presented with the assumption that test cases are hand-written. We should also think about test generation as a dimension, and if I were to draw a pyramid about it I’d place generated tests on the bottom and hand-written scenarios on top, i.e. most tests should be generated.

Source: Most Tests Should Be Generated, an article by Alex Weisberger.

Two Ways to Turbo-Charge tox

The traditional way to speed up tox runs is running it as tox run-parallel (née tox --parallel or just tox -p). And while it’s currently broken in tox 4 for some users (yours truly included), it’s a great feature that Nox is sorely lacking.

But there are more ways, and I’d like to share two of them with you. Both methods don’t make much difference in CIs like GitHub Actions (just like tox run-parallel, mind you!), but they can do wonders for your local development. Which is where I have the least patience, so let’s dive right in!

Source: Two Ways to Turbo-Charge tox, an article by Hynek Schlawack.

Demystifying Pratt Parsers

Pratt parsers are a beautiful way of solving the operator precedence problem:

How can an expression like 1+2-3*4+5/6^7-8*9 be parsed to meet the expectations of your PEMDAS-trained brain? Where do you put the parentheses? What goes first?

Source: Demystifying Pratt Parsers, an article by Martin Janiczek.

How to think about async/await in Rust

Some documentation of Rust async and await has presented it as a seamless alternative to threads. Just sprinkle these keywords through your code and get concurrency that scales better! I think this is very misleading. An async fn is a different thing from a normal Rust fn, and you need to think about different things to write correct code in each case.

This post presents a different way of looking at async that I think is more useful, and less likely to lead to cancellation-related bugs.

Source: How to think about async/await in Rust, an article by Cliff L. Biffle.

Joins 13 Ways

Relational (inner) joins are really common in the world of databases, and one weird thing about them is that it seems like everyone has a different idea of what they are. In this post I’ve aggregated a bunch of different definitions, ways of thinking about them, and ways of implementing them that will hopefully be interesting. They’re not without redundancy, some of them are arguably the same, but I think they’re all interesting perspectives nonetheless.

Source: Joins 13 Ways, an article by Justin Jaffray.

You Don’t Need __all__

Every now and then, I get a PR from a well-meaning contributor trying to add __all__ to a Python module for whatever reason. I always decline these, they are unnecessary (at least for the way I structure my code) and I thought I’d write a short post explaining why.

Source: You Don’t Need all, an article by James Turk.

Tree-Structured Concurrency

In this post I want to provide you with a practical introduction to structured concurrency. I will do my best to explain what it is, why it's relevant, and how you can start applying it to your rust projects today. Structured concurrency is a lens I use in almost all of my reasoning about async Rust, and I think it might help others too.

Source: Tree-Structured Concurrency, an article by Yoshua Wuyts.

Cause of Death

On a quiet day, away from the hustle of Richmond, in a small cottage on the Virginia coast, Dr. Kay Scarpetta receives a disturbing phone call from the Chesapeake police. Thirty feet deep in the murky waters of Virginia's Elizabeth River, a scuba diver's body is discovered near the Inactive Naval Shipyard.As the police begin searching for clues, the wallet of investigative reporter Ted Eddings is found.

Unnerved by the possible identity of the victim, Scarpetta orders the crime scene roped off and left alone until she arrives. What was he doing there, searching for Civil War relics as the officer suggested, or was there a bigger story? As she rifles through the multitude of clues, a second murder hits much closer to home. This new development puts Scarpetta and her colleagues hot on the trail of a military conspiracy.

In the evening I started in Cause of Death, Kay Scarpetta book 7 by Patricia Cornwell.