Switching to a new language is always a big step, especially when
only one of your team members has prior experience with that
language. Early this year, we switched
Stream’s primary programming language from
Python to Go. This post will explain some of the reasons why we
decided to leave Python behind and make the switch to Go.
It seems to be widely accepted that creating a powerful, useful
Emacs setup "by hand" is just too much trouble, and you should
choose a "distro" like Doom Emacs. But is it really all so bad? If
you go the route of "hand-made", will you suffer through endless
nights of fixing your setup? The answer is: probably not, but read
on for more details!
In the evening I finished Dying of the
Light,
a novel by George R. R. Martin. While it was to me a slow read, I did
enjoy the story. It reminded me a lot of the books by Jack Vance. If
you like Dying of the Light you might like The Domains of
Koryphon
by Jack Vance. The book is also known under the by Jack Vance's
preferred title The Gray
Prince.
LAPD homicide lieutenant Milo Sturgis is a master detective. He has
a near-perfect solve rate and he’s written his own rule book. Some of
those successes—the toughest ones—have involved his best friend, the
brilliant psychologist Alex Delaware. But Milo doesn’t call Alex in
unless cases are “different.” This murder warrants an immediate
call. Milo’s independence has been compromised as never before, as the
department pressures him to cater to the demands of a mogul: a
hard-to-fathom, megarich young woman who is obsessed with reopening
the coldest of cases—the decades-old death of the mother she never
knew.
The facts describe a likely loser: a mysterious woman found with a
bullet in her head in a torched Cadillac that has overturned on
infamously treacherous Mulholland Drive. No physical evidence, no
witnesses, no apparent motive. And a slew of detectives have already
worked the case and failed. But as Delaware and Sturgis begin
digging, the mist begins to lift. Too many coincidences. Facts turn
out to be anything but. And as they soon discover, very real threats
lurking in the present.
In the evening I started in
Serpentine
by Jonathan Kellerman. This is book 36 in the Alex Delaware series. I
have read all previous books, and I highly recommend this series.
Go modules are a fundamentally misguided and harmful change in the
design of the Go ecosystem. I decline to adopt them or to use
software which requires use of them.
In this article, I'll try to take a closer look at the Operators
pattern, see which Kubernetes parts are involved in operators
implementation, and what makes operators feel like first-class
Kubernetes citizens. Of course, with as many pictures as possible.
As a huge fan of the work of Jack Vance I look forward to
Phaedra. I know some of the work of its Dutch author: Tais Teng. A long
time ago I read a collection of stories by Tais and I loved it.
I also look forward to Evolution Slam Dunk as I want to know more
about macro evolution. And based on what I've read this book is
well-researched.
Reading the above post motivated me to investigate its techniques on
a real world example. At work, there are some complex services with
many transitive dependencies. Since Haskell executables are
statically compiled by default, all the transitive dependencies are
included in the output.
Don’t know about you, folks, but I had a hard time remembering all
the Haskell arrows that you can bump into in all different
situations. For example, I guess I will never be able to use
ViewPatterns correctly on the first attempt. For me, the digest of
every use case of each arrow in Haskell sounds like a handy thing to
have, at least this information will be structured somewhere, so
here we go.
Source: Arrows Zoo, an
article by Veronika Romashkina.
An important part of each penetration test is the documentation of
all discovered vulnerabilities. The documentation often includes
program calls to further demonstrate how a vulnerability was found,
tested or exploited. To better visualise these steps in the context
of web applications, we often include invocations of the
command-line HTTP client curl. In the following,
we discuss how program calls can be styled for documentation to
appeal to all audiences.
"I want to work on optimizing all my queries all day long because it
will definitely be worth the time and effort," is a statement that
has hopefully never been said. So when it comes to query optimizing,
how should you pick your battles? Luckily, in PostgreSQL we have a
way to take a system-wide look at database queries:
Which ones have taken up the most amount of time cumulatively to execute
Which ones are run the most frequently
And how long on average they take to execute
And that's just a few places you can shine a light on, using
pg_stat_statements.
After a recent debugging session, discovering I had once again been
the victim of a dishonest function signature, I was... Well, let’s
just say I was unimpressed. Two thoughts popped up in my head – the
first one was «ahh.. this thing again..», and the second was «wait,
why is this still even a thing?». It left me in a state of
frustration.
In this blog post, I am talking about my journey from being an
Anti-TypeScript developer to a developer who now could not think
about going back to the plain JavaScript world 🚀 Maybe my thoughts
can help someone who is in the same boat as I was couple of years
back.
The if-statement is a very basic thing, not just in bash, but in all
of programming. I see them used quite a lot in shell scripts, even
though in many cases they can be replaced with something much more
elegant.
In this rather short article, I'll show how control operators can be
used instead. Many probably know about this, but don't realize how
to use them nicely. This will help you write cleaner shell scripts
in the future.
In the evening I noticed a cast-off exoskeleton next to the burrow
of the Ephebopus cyanognathus I keep. In the evening I took some
photos of the molt.
It's burrow is partially in the substrate and partially a tower it
made with silk, substrate, and dead leaves.