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.
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.
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.
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.
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.
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
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.
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 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.
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!
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.
It is extremely rare for a new plant species to be discovered in
Japan, a nation where flora has been extensively studied and
documented. Nevertheless, Professor Suetsugu Kenji and his
associates have recently uncovered a stunning new species of orchid
whose rosy pink petals bear a striking resemblance to glasswork.
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.
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?
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.
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.
In this opinionated series, my aim is to provide a structured path
that takes you from a simple NixOS configuration to a more complex
one, while explaining the underlying concepts along the way.
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.
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!
People change their names for all sorts of reasons. They get
married, they transition, or they just decide a different name
better suits them. When this happens, things break. Recently I
talked about how email address changes break
things. Today
it's how to fix this issue with git.
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?
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.
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.
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.
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.
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.