Plurrrr

a tumblelog
week 26, 2020

Aphonopelma seemanni: it's a girl

In the afternoon I carefully removed the exuviae of the Aphonopelma seemanni I keep from its burrow. It had started molting yesterday in the evening.

The spermathecae of an Aphonopelma seemanni
The spermathecae of an Aphonopelma seemanni.

I carefully moistened the molt with some water and manipulated it to open it up enough to see the spermathecae (female) or not (male). As this is a large molt I was able to see the spermathecae with the naked eye; it's a girl!

As the spermathecae look dark I guess they are weakly sclerotized.

I bought this tarantula 7th of March 2020 and this was the first time it molted in my care.

Eight tips to relieve those Postgres headaches

Welcome to this practical, non-exhaustive guide to some of the common issues you’ll encounter while using Postgres. We’ll go beyond the basic advice of adding indices to your queries using sequential scans. There are also a few extra tips for those using the AWS RDS service. Enjoy!

Source: Eight tips to relieve those Postgres headaches, an article by Vojtech Vondra.

Correlation VS Causation

The concepts of correlation and causation are sometimes confusing to amateur researchers. In practice, I often saw researchers considering a correlation as causation and making mistakes in conclusions. Mathematically, correlation is the necessary but insufficient condition for causation. In other words, if two things have causation relationship, these two things must have correlation relationship as well. However, if two things have correlation relationship, these two things do not necessarily have causation relationship.

In this blog post, I would use an example to talk about the concepts of correlation and causation, how to verify causation using experiments, and the caveats in using experiments to verify causation.

Source: Correlation VS Causation, an article by Lei Mao.

Aphonopelma seemanni molting

In the evening, when checking upon the Aphonopelma seemanni I keep I noticed that it was upside down in its burrow. This means the tarantula is going through ecdysis; the shedding of its old exoskeleton.

Aphonopelma seemanni molting
Aphonopelma seemanni molting.

The tarantula has been restless for about a week or so, getting out of its burrow entirely, and moving around a bit. Maybe it was looking for a better spot to moult? Or maybe because the room temperature exceeded 30°C (86°F) now and then?

In the above photo you can see the silk the tarantula has spun to close off the entry to its burrow.

If all goes well I expect to be able to collect an exuviae, the cast off exoskeleton, tomorrow, which can be used to determine the sex of the tarantula which I don't know at this time of writing. I hope female as females live much longer compared to males.

How does SQLite work? Part 1: pages!

I wanted to hack on SQLite, because I’ve used it before, it requires no configuration or separate server process, I’d been told that its source code is well-written and approachable, and all the data is stored in one file. Perfect!

Source: How does SQLite work? Part 1: pages!, an article by Julia Evans.

How to learn JavaScript

Since I’ve mentioned that I recently learned JavaScript, people have asked me how and what I recommend. So here’s my experience and best advice for 2020.

Source: How to learn JavaScript, an article by Derek Sivers.

Building a high performance JSON parser

JSON is important, damn near everything that we do as programmers or operators involves JSON at some point. JSON decoding is expensive, if your product talks JSON then performance of marshalling data in and out of JSON is important. This is a talk about designing an efficient replacement for encoding/json.Decoder.

Source: Building a high performance JSON parser, an article by Dave Cheney.

Chromatopelma cyaneopubescens eating

In the afternoon I gave the Chromatopelma cyaneopubescens, common name "Green Bottle Blue" (GBB for short), that I keep a mealworm.

Chromatopelma cyaneopubescens eating
Chromatopelma cyaneopubescens eating.

This tarantula molted a week ago.

Logistic Regression from scratch

Sometimes it's necessary to split existing data into several classes in order to predict new, unseen data. This problem is called classification and one of the algorithms which can be used to learn those classes from data is called Logistic Regression.

Source: Logistic Regression from scratch, an article by Philipp Muens.

PyTorch - how it is designed and why

Pytorch is a pretty intuitive tensor library which can be used for creating neural networks. There are many features in the framework, and core ideas that should be understood before one can use the library effectively.

The original tutorial by pytorch provides a very good introduction that guides the users along different concepts, explaining the different abstraction used in the framework. It was a pretty involved read, and assumes some knowledge on neural networks before everything on the page makes sense. So here, we will be filling in some of these gaps.

Source: PyTorch - how it is designed and why, an article by Ong Shu Peng.

Deciphering Python's Metaclasses

In Python, metaclass is one of the few tools that enables you to inject metaprogramming capabilities into your code. The term metaprogramming refers to the potential for a program to manipulate itself in a self referential manner. However, messing with metaclasses is often considered an arcane art that’s beyond the grasp of the proletariats.

Source: Deciphering Python’s Metaclasses, an article by Redowan Delowar.

Brachypelma smithi: it's a girl

Before I went to the bed I checked on the Brachypelma smithi I keep and found it already out of its molt but still upside down. The molting process had started yesterday in the evening.

Brachypelma smithi after molting
Brachypelma smithi after molting (00:33 AM).

About 10 hours later I took another photo of this specimen. It was now right side up and moved when I opened the plastic container I keep it in.

Brachypelma smithi after molting
Brachypelma smithi after molting (10:26 AM).

In the afternoon I decided to determine the sex of this specimen. I made the molt slightly wet and let it rest for a while; a moist exuviae is much easier to manipulate. In order to take a good photo of the spermathecae, if present, I put the exuviae on a piece of paper and shone a light underneath the paper.

Spermathecae of Brachypelma smithi
Spermathecae of Brachypelma smithi.

I used the macro lens I bought the 17th of June 2020, but with the LED ring light off, to take the above photo which is a 1:1 crop with some post processing in Pixelmator Version 3.9 Classic. The above photo clearly shows the spermathecae, which means that this specimen is female.

Announcing Perl 7

Perl 7.0 is going to be v5.32 but with different, saner, more modern defaults. You won’t have to enable most of the things you are already doing because they are enabled for you. The major version jump sets the boundary between how we have been doing things and what we can do in the future.

Source: Announcing Perl 7, an article by brian d foy.

Emacs Server – Why and why not?

Unknown to many of us, under the hood emacs was designed as a client/server architecture; which means, Emacs core runs as a daemon and you attach clients to it. Normally, we run both when we type emacs, but the execution of both the client and the server is transparent to the user. Before you attempt to do something fancy, this architecture is somewhat limited to localhost (1), which means that you can’t quite “remote into” an emacs running on a different host. In a world where we have tmux, mosh, and other multiplexers and mobile connectivity technologies, there may not seem like there’s much room for running emacs as a server, but we will see some advantages to this approach.

Source: Emacs Server – Why and why not?

Tolkien’s mythic plan for England

Tolkien saw a gap in England’s pre-history. There is English folklore. However, this tends to be local and on a rather small scale. There are Hengist and Horsa, the legendary first Anglo-Saxons to lead an expedition to our shores, but nothing with the grandeur and drama of the sagas mentioned above. Tolkien planned to fill in the gaps before Hengist and Horsa with a highly-developed imaginary world that harked back to a time of elves and fairies.

Source: Tolkien's mythic plan for England, an article by Niall Gooch.

The problem with Git flow

Sometimes, you can have too much of a good thing. That’s certainly true with Git flow, a well-known software development workflow that offers several options but can bog down users.

We developed GitLab Flow as the solution to eliminate messy complexity and streamline the development process. GitLab Flow brings issue tracking to the Git workflow, simplifying the process and removing confusion. The problem with Git flow

Source: The problem with Git flow, an article by Suri Patel.

PEP 622 -- Structural Pattern Matching

This PEP proposes adding pattern matching statements to Python in order to create more expressive ways of handling structured heterogeneous data. The authors take a holistic approach, providing both static and runtime specifications.

Source: PEP 622 -- Structural Pattern Matching.

Brachypelma smithi molting

In the evening, around 9:30 PM, I noticed that the Brachypelma smithi I keep since the 7th of March 2020 had turned itself upside down. This means that it's going in ecdysis; the shedding of its old exoskeleton.

Brachypelma smithi molting
Brachypelma smithi molting.

The previous time this specimen molted was the 16th of March 2020.

It's important to not disturb the spider during this process, which is often mistaken for dying by people new to keeping tarantulas. Moverover, after the process one has to wait at least 7 days before feeding the spider; its exoskeleton including the fangs have to harden out.

The End of OS X

What is striking about macOS 11.0 is the degree to which is feels more like a son of iOS than the sibling that Mac OS X was:

  • macOS 11.0 runs on ARM, just like iOS; in fact the Developer Transition Kit that Apple is making available to developers has the same A12Z chip as the iPad Pro.
  • macOS 11.0 has a user interface overhaul that not only appears to be heavily inspired by iOS, but also seems geared for touch.
  • macOS 11.0 attempts to acquire developers not primarily by being open and good, but by being easy and good enough.

Source: The End of OS X, an article by Ben Thompson.

Why I stay away from Python type annotations

Ever since optional static typing was added to Python 3.5+, the question of using type annotations keeps creeping back everywhere I work. Some see them as a step forward for the Future of Python™, but to me and many others it's a step back for what coding with Python fundamentally is. I've been in a number of debates over type annotations at work and so decided to compile some of the recurring points of discussion here.

Source: Why I stay away from Python type annotations, an article by Guillaume Pasquet.

Promise of Blood

It's a bloody business, overthrowing a king. Now, amid the chaos, a whispered rumour is spreading. A rumour about a broken promise, omens of death and the gods returning to walk the earth.

No one really believes these whispers.

Perhaps they should.

In the evening I started in Promise of Blood, book 1 in the Powder Mage trilogy by Brian McClellan.

A Conspiracy of Bones

Just after 1:30 AM I finished A Conspiracy of Bones, A Temperance Brennan Novel Book 19, by Kathy Reichs. While I did miss the lab work by Brennan a lot, I still consider it a good read.

An Overlooked Molt

After feeding the Hapalopus sp. Colombia "large", a dwarf tarantula sling I keep, I suddenly noticed a molt attached to the underside of the piece of cork bark the spider hides under.

I already suspected this little tarantula had molted when writing a blog entry the 18th of June which I linked to a post written the 18th of May. Each post shows the Hapalopus sp. with a mealworm, but the tarantula looks smaller and less colorfull in the older post.

And just now I had found proof that it had indeed molted somewhere between those two dates.

Giving water to a Caribena versicolor

In the afternoon I used a dosing syringe to add some water to a small terrarium in which I keep a Caribena versicolor sling. I moistened a part of the substrate furthest away from the cork bark the little spider resides most of the time and also put a few droplets on the corkbark itself.

Caribena versicolor next to a water droplet
Caribena versicolor next to a water droplet.

The spider walked around while I was doing this until it encountered a droplet. Then it started to drink. I got my iPhone 5 ready; attached a macro lens and a LED ring light which I had bought the 17th of June. But when I moved the phone close I bumped against the enclosure and scared the tarantula away from the water droplet, hence the above photo of the spider next to the droplet.

Spiders of the World

While watching WWDC Special Event Keynote on my iPhone 5 the doorbell rang. Another Father's day present!

Cover of Spiders of the World
Cover of Spiders of the World.

A book: Spiders of the World: A Natural History, edited by the late Norman I. Platnick with contributions by Rudy Jocqué, Gustavo Hormiga, Robert Raven, Martín J. Ramírez, and Peter Jäger.

Inside Spiders of the World
Inside Spiders of the World.

Browsing through the book it turned out to be fantastic; wonderful photos and explanatory text. I can't wait to read this book. Based on the photos alone highly recommended if you are interested in our eight legged friends.