Plurrrr

a tumblelog
week 18, 2020

Rehousing an Ephebopus cyanognathus

In the early afternoon I rehoused the Ephebopus cyanognathus sling that arrived two days ago. Yesterday evening I noticed that it had constructed a hiding spot with some leaf litter and webbing that reached the lid of the small container that I had prepared for it last Friday.

Ephebopus cyanognathus hiding spot
Ephebopus cyanognathus hiding spot made of leaf litter.

As I was afraid that it would make this hiding spot taller, and hence I would break it each time I removed the lid, I decided to move the tarantula to a larger and much higher enclosure.

Ephebopus cyanognathus terrarium from above
Ephebopus cyanognathus terrarium from above.

I used two cork tubes, a fake plant, and plenty of leaf litter. For substrate I used slightly moist coco peat, about 2 inch (5cm). Transferring the spider went very easy, I was able to move it with some webbed substrate and leaf litter. In my (short) experience this species can move very fast in short bursts.

Ephebopus cyanognathus resting on a cork tube
Ephebopus cyanognathus resting on a cork tube.

The terrarium is quite large for such a small spider, but I am sure I will find where it is going to set up its hiding spot, most likely constructed from leaf litter.

In the above photo you can see the metallic blue chelicerae it is named after.

Ubuntu without Snap

Ubuntu 20.04 LTS uses Snap to distribute certain packages by default, including Chromium. This was a mistake and yields dysfunctional systems. Here’s how to fix it.

Source: Ubuntu without Snap, an article by Raphael ‘kena’ Poss.

Value-Oriented Programming

At WWDC 2015, in a very influential session titled Protocol-Oriented Programming in Swift, Dave Abrahams explained how Swift’s protocols can be used to overcome some shortcomings of classes. He suggested this rule: “Don’t start with a class. Start with a protocol”.

Source: Value-Oriented Programming, an article by Matt Diephouse.

Ubuntu 20.04 LTS’ snap obsession has snapped me off of it

Like everyone else, I got excited about the latest Ubuntu LTS release and installed it on day one. A week in, I’m sorry to say that I leave disappointed. The amount of unready snap features being effectively forced onto users is affecting Ubuntu’s usability and user-friendliness.

Source: Ubuntu 20.04 LTS’ snap obsession has snapped me off of it, an article by Jatan Mehta.

Awk in 20 Minutes

Awk is a tiny programming language and a command line tool. It's particularly appropriate for log parsing on servers, mostly because Awk will operate on files, usually structured in lines of human-readable text.

Source: Awk in 20 Minutes, an article by Fred Hebert.

Three tarantula slings

On Monday I ordered the following three tarantula slings with Exotic-Spiders:

  • 0.0.1 Caribena versicolor (2cm) €10.00
  • 0.0.1 Ephebopus cyanognathus (3cm) €20.00
  • 0.0.1 Psalmopoeus cambridgei (2cm) €5.00

They were shipped the next day but due to delays arrived only today. Luckily everything arrived in good health.

Three vials, each with a spiderling
Three vials, each with a spiderling.

The first two on the above list were on the wishlist I made back in March. I added an Psalmopoeus cambridgei because I am very happy with the Psalmopoeus irminia I got the 7th of April.

Caribena versicolor sling in its terrarium
Caribena versicolor sling in its terrarium.

First, I rehoused the Caribena versicolor sling to a small terrarium that I just had prepared. As this is an arboreal species I used a small cork tube filled with some moss and added some small fake plants so it can climb away from the substrate, for which I used slightly moist coco peat, about an inch (2.5cm). I also drilled three rows of small holes in both sides of the terrarium as well as several holes in the lid to provide ventilation.

Ephebopus cyanognathus sling in its terrarium
Ephebopus cyanognathus sling in its terrarium.

Next, I rehoused the Ephebopus cyanognathus sling to a small terrarium. I used a lot of substrate, slightly moist coco peat, about 2 inches (5cm). In the middle I made a small starter burrow and on the top of the substrate I put some leafs, small leaf cuttings, and two twigs. For inspiration I used the YouTube video Ephebopus cyanognathus-Guyane-2007, which shows this species being teased out of its natural burrow.

After I had put the spider in its terrarium and after I had taken some photos I pushed it carefully with a brush in the direction of the burrow I had made and it entered it.

Edit: I rehoused this tarantula 2 days later.

Psalmopoeus cambridgei sling in its terrarium
Psalmopoeus cambridgei sling in its terrarium.

Finally, I rehoused the Psalmopoeus cambridgei sling to a small terrarium. I used pieces of cork bark and a small fake plastic plant to provide hiding and climbing spots as this species is arboreal. Again I used coco peat for substrate, about one inch (2.5cm).

The three sling terrariums on my desk
The three sling terrariums on my desk.

In the above photo you can see all three terrariums in the foreground. In the back ground is the rest of my arachnid collection: seven more tarantulas and a small scorpion. I now own the following tarantula species:

  • Aphonopelma seemanni
  • Brachypelma smithi
  • Caribena versicolor
  • Chromatopelma cyaneopubescens
  • Ephebopus cyanognathus
  • Hapalopus sp. “Colombia” big
  • Heteroscodra maculata
  • Psalmopoeus cambridgei
  • Psalmopoeus irminia
  • Pterinochilus murinus RCF

And one scorpion: Chaerilus sp. Java.

Using PostgreSQL for JSON Storage

Well my friend, today is the day your wishes come true. In the blog post we will talk a little about how you can use PostgreSQL for all your JSON needs.

Source: Using PostgreSQL for JSON Storage, an article by Steve Pousty.

Building a WireGuard Jail with the FreeBSD's Standard Tools

Recently, I had an opportunity to build a WireGuard jail on a FreeBSD 12.1 host.

As it was really quick and easy to setup and it has been working completely fine for a month, I’d like to share my experience with anyone interested in this topic.

Source: Building a WireGuard Jail with the FreeBSD's Standard Tools.

10 Reasons to Use Haskell

Haskell is a blend of cutting edge research and well-tested, time-proven technology. It occupies a unique position between academia and industry. Some of its features, such as garbage collection and native code generation, can be found in mainstream languages. Other features, such as purity and lazy evaluation, are shared only by less popular, niche languages.

Source: 10 Reasons to Use Haskell, an article by Vladislav Zavialov.

Understanding Bayesian Inference

What do we mean when we say “Bayesian inference”? More specifically, what does Bayesian inference mean for my machine learning or data modelling problem? In this blogpost I will introduce Bayesian inference and explain how it is a machine learning paradigm. More importantly I will attempt to intuitively bridge the gap between Bayesian inference as a theoretical framework and Bayesian inference as a machine learning approach.

Source: Understanding Bayesian Inference, an article by Jonty Sinai.

Tmux for mere mortals

Tmux has liberated me from tiling window mangers. Not that I didn’t like those, but I occasionally have to work with macOS or default GNOME setups. And over the years I realised that I only need a terminal multiplexor to do terminal tiling for me, the rest of the windows are just fine to be full-screen in separate workspaces.

Source: Tmux for mere mortals, an article by Serge Zaitsev.

Ground Up Python Deployments

Deploying a simple web application can be a daunting task if you have never painstakingly done it by hand. There are numerous configuration files, package installations, and concepts involved in getting your brand new app up and running. Deploying your application traverses many different layers of the stack and requires at least basic knowledge of each to successfully deploy to the public internet. Over the last 4 years I have found many tutorials and copy-paste guides which do a great job at getting your app running on a publicly accessible server, but fail at teaching you how each of the technologies relate with one another along the way. This article is the first of many I will be writing as an attempt to organize my own notes as well as set groundwork for a technology presentation I am planning for a local technology conferences.

Source: Ground Up Python Deployments, an article by Michael Jonaitis.

The Optional `else` in Python’s `try` Statement

This post discusses the else clause in Python’s try statement. Although this particular use of else may not be as forgotten and controversial as its use in Python loops, a gentle reminder of how it works and when it’s useful may still be beneficial. Please note that this post only focuses on the else clause of the try statement and does not intend to cover the entire try statement. For a pretty good initial explanation of how the entire try statement works, refer to the official Python documentation on this topic.

Source: The Optional `else` in Python’s `try` Statement, an article by Shahriar Tajbakhsh.

PyTorch Distributed Training

In this blog post, I would like to present a simple implementation of PyTorch distributed training on CIFAR-10 classification using DistributedDataParallel wrapped ResNet models. The usage of Docker container for distributed training and how to start distributed training using torch.distributed.launch would also be covered.

Source: PyTorch Distributed Training, an article by Lei Mao.

Speed up your Docker builds with --cache-from

Using the Docker cache efficiently can result in significantly faster build times. In some environments though, like CI/CD systems, individual builds happen independent of each other and the build cache is never preserved. Every build starts from zero which can be slow and wasteful. This article will try to provide some solutions for these cases.

Source: Speed up your Docker builds with --cache-from, an article by Florin Lipan.

My Chromatopelma cyaneopubescens molted

In the evening, while checking on the tarantulas I keep, I noticed that the Chromatopelma cyaneopubescens had molted! Since it had been refusing food for several weeks and been lethargic I already suspected that it was in pre-molt.

Chromatopelma cyaneopubescens post molt
Chromatopelma cyaneopubescens after molting. Photo by Alice.

In the above photo you can see a part of the cast off exoskeleton in the top centre.

I will try to feed this little one after 7-10 days, so it can properly recover from the molting process.