In the afternoon I finished The Crimson
book 2 in the Powder Mage trilogy by Brian McClellan. While I liked
the previous book in the trilogy, Promise of
Blood, more I consider
this still a good book; not bad for the middle book in a trilogy.
If you like the Powder Mage trilogy, you might like:
Field Marshal Tamas has finally returned to Adopest, only to find
the capital in the hands of a foreign power. With his son Taniel
presumed dead, Tamas must gather his beleaguered forces and
formulate a plan to defeat the Kez - no easy task when you're
outnumbered and can't tell friend from foe.
The army is divided . . .
With their enemy bearing down on them, the Adran command is in
disarray. Someone, it seems, is selling secrets to the
Kez. Inspector Adamat is determined to flush out the traitor, but as
the conspiracy unravels, he will learn a horrifying truth.
And all hope rests with one man . . .
Taniel Two-Shot, the powder mage who shot a god in the eye, is on
the run. He possesses the sole means of defeating the Kez, but to do
so he must evade treachery at every turn. If he fails, Adro will
In the afternoon I started in The Autumn
the final book in the Powder Mage Trilogy by Brian McClellan.
Recently molted Aphonopelma seemanni eating
In the afternoon I gave 2 pre-killed mealworms, Tenebrio molitor, to
the female Aphonopelma seemanni I keep. The large tarantula started
the 27th of June,
2020 and still has a
very colorfull fresh look so I decided to take a few photos of her.
I pre-kill mealworms by crushing their heads to prevent them from
burrowing into the substrate. The tarantula doesn't seem to mind that
she doesn't have to hunt for her food; it's just delivered at the doorstep
of her burrow.
Beginner’s Guide To Abstraction
Abstraction is hard to define but the process typically goes like
you identify different chunks of code that you think are all
basically doing the same thing
you create a method or a class with a narrow interface which can
be substituted in for all the chunks of code you found
you go and swap out the chunks of code with a call to your
Recently I’ve switched back from macOS to GNU/Linux, as my primary
development environment, and I found out that my old
on remapping Enter to Control was no longer the optimal way to
achieve this. It took me a bit of digging, but eventually I found
(a plugin for the interception
framework), which does
exactly what I needed and it does it splendidly.
In this post we'll design a break glass procedure for reaching SSH
hosts in an emergency, using security keys that you can store
offline. This is just one approach, but you can adapt it to your
circumstances. We will store an offline SSH Certificate Authority on
a hardware security key, and have our hosts trust that CA. This will
work on pretty much any OpenSSH setup, including our single sign-on
Let’s get into dark mode in the context of websites. We’ll delve
into different options and approaches to implementing a dark mode
design and the technical considerations they entail. We’ll also
touch upon some design tips along the way.
A pipe is actually a very simple construct. We start two programs
and connect STDOUT of the first with STDIN of the second. From the
stand point of the programs they are writing to filehandles that
where opened without a filename. Raku allows us to do so by using
The sound of a purring cat is one of the most comforting sounds
available and can help soothe and calm you down when you're feeling
stressed. Naturally, it's not just the sound that is important, but
it's also the presence of the warm cuddly cat. Purrli tries to
recreate both the sound and the presence of your very own virtual
cat through a custom sound engine modelled after real purrs.
With a purr that delicately changes over time, Purrli aims at making
the experience as real and lively as possible. Just like a real cat,
Purrli will call for your attention. Just be careful when adjusting
the last slider, if you don't want to be nagged in the middle of
The history API maintains complete the navigation state. Whenever
a new page is navigated history.pushState is called and page is
added to the state. That means this event is called whenever the URL
Correlation and Covariance are two commonly used statistical
concepts majorly used to measure the linear relation between two
variables in data. When used to compare samples from different
populations, covariance is used to identify how two variables vary
together whereas correlation is used to determine how change in one
variable is affecting the change in another variable. Even though
there are certain similarities between these two mathematical terms,
these two are different from each other.
There are a lot of CSS properties that some don’t know about, or
they know about them, but forget to use them when they’re
specific result, or some can save your time by writing less CSS. As
a front-end developer, I came across such things every now and then,
and I asked myself, why not list all those less-used and interesting
CSS properties in an article?
Every startup in Silicon Valley is using Go to build their
infrastructure. Docker, Kubernetes, etcd, Terraform, Vault, Consul,
Traefik and lots of other cutting-edge projects are written in
Go. So what's going on? Why is everyone interested in this boring
PEP 622 proposes adding
a pattern matching construct to Python. Pattern matching allows the
programmer to destructure data with a syntax that mirrors the
construction syntax. The proposal brings Python in-line with many
other modern programming languages, like Haskell, OCaml, and
Rust. However, two features included in the proposal (or-patterns
and guards) interact in a perhaps surprising way—see this
paper for an
explanation of this interaction as it relates to OCaml, another
language with both or-patterns and guards.
An interesting concept that I’ve come across is port knocking. Note
that this is just an additional layer of security. Port knocking is
sending packets to a pre-defined sequence of ports, so that
recipient knows it is coming from a trusted client and open the port
for you. It is the same concept of making a secret doorbell ring
pattern with your close friends so that you know who is ringing the
A git tag is a marker for a specific point in time for your
repository. Well, although I say a "specific point in time", they
are really just a reference to a commit. These tags are stored as
files inside of the refs folder within the .git folder that is a
part of every git repository.
Animations have become an essential part of web design, and
developers now use these to beautify content on websites. Before the
release of CSS3, front-end developers had to perform animations with
introduction of CSS animations, developers can now perform
animations with ease.
In this article, I'm going to introduce you to CSS Transitions, walk
you through the process of creating simple CSS animations, explain
the Transition shorthand properties, and it's value.
Here’s a fancy new experimental feature in Chrome! Now, we can get
an overview of the CSS used on a site, from how many colors there
are to the number of unused declarations… even down to the total
number of defined media queries.
Git Switch and Restore: an Improved User Experience
If you’re like me and you’ve worked with Git for some time, you
might have a couple of commands committed to your memory—from git commit for recording your changes, to git log for sensing “where”
I have found git checkout to be a command that I reach for pretty
frequently, as it performs more than one operation. But a single
command doing more than one thing might produce a suboptimal user
experience for someone learning Git.
In the early evening I finished Promise of
book 1 in the Powder Mage trilogy by Brian McClellan. I liked this
book a lot; it's very good. In some ways it reminded me of the
Series by Brandon
Sanderson, especially the later books. If you have read this series
you might like Promise of Blood a lot, and vice versa.
The Crimson Campaign
Tamas' invasion of Kez ends in disaster when a Kez counteroffensive
leaves him cut off behind enemy lines with only a fraction of his
army, no supplies, and no hope of reinforcements. Drastically
outnumbered and pursued by the enemy's best, he must lead his men on
a reckless march through northern Kez to safety, and back over the
mountains so that he can defend his country from an angry god,
In the evening I started in The Crimson
book 2 in the Powder Mage trilogy by Brian McClellan.
Using Bash traps in your scripts
It's easy to detect when a shell script starts, but it's not always
easy to know when it stops. A script might end normally, just as its
author intends it to end, but it could also fail due to an
unexpected fatal error. Sometimes it's beneficial to preserve the
remnants of whatever was in progress when a script failed, and other
times it's inconvenient. Either way, detecting the end of a script
and reacting to it in some pre-calculated manner is why the
Python's reduce(): From Functional to Pythonic Style
is a function that implements a mathematical technique called
or reduction. reduce() is useful when you need to apply a
function to an iterable and reduce it to a single cumulative
value. Python’s reduce() is popular among developers with a
functional programming background, but Python has more to offer.
In this tutorial, you’ll cover how reduce() works and how to use
it effectively. You’ll also cover some alternative Python tools that
can be more
readable, and efficient than reduce().
A quick start “from scratch” on 3 basic machine learning models —
Linear regression, Logistic regression, K-means clustering, and
Gradient Descent, the optimisation algorithm acting as a driving
force behind them.
The purpose of this article is for coders to understand the inner
workings of basic machine learning algorithms. To make the best use
of the article, it is recommended to follow the code on your own
development environment to understand the process.