Plurrrr

a tumblelog
week 11, 2020

Implementing The Levenshtein Distance in Python

The Levenshtein distance is a text similarity measure that compares two words and returns a numeric value representing the distance between them. The distance reflects the total number of single-character edits required to transform one word into another. The more similar the two words are the less distance between them, and vice versa. One common use for this distance is in the autocompletion or autocorrection features of text processors or chat applications.

Source: Implementing The Levenshtein Distance in Python, an article by Ahmed Fawzy Gad.

Dark Mode Revisited

Dark mode has gone from an oddity to being fully supported on Safari, Firefox and Chrome. While this is great news (especially if you also get migraines), it also means that my hacked together dark mode post from less than a year ago is outdated. Time for round two.

Source: Dark Mode Revisited, an article by Derek Kedziora.

Be careful, Docker might be exposing ports to the world

Recently, I noticed logs for one of my web services had strange entries that looked like a bot trying to perform scripted attacks on an application endpoint. I was surprised, because all the endpoints that were exposed over the public Internet were protected by some form of authentication, or were locked down to specific IP addresses—or so I thought.

Source: Be careful, Docker might be exposing ports to the world, an article by Jeff Geerling.

Garden centre "De Carlton"

In the afternoon we went to garden centre "De Carlton" by bike. I took several photos with my iPhone 5. Esme bought 3 mini plants for in the kitchen and Adam bought a "lucky clover" starter set. We also bought plant food, and some candy to share on the ride back.

Cacti flowering
Cacti flowering.
Various bromeliads on display
Various bromeliads on display.

The best UI typeface goes unnoticed

Text is UI. And of course typography is so much more than just a typeface or the text in an app. It’s about balance, positioning, hierarchy and structure.

Source: The best UI typeface goes unnoticed, an article by Thomas Byttebier.

How to Make VirtualBox Full Screen

After installing a guest operating system (OS) on VirtualBox, the interface of the guest OS is displayed in a windowed mode by default. Moreover, the size of that window is usually not big, and if you maximize the window’s size, the resolution of the guest OS user interface is left the same. In the majority of cases, working in a guest OS with low resolution is not comfortable. Don’t worry, however, as it is possible for you to increase the screen resolution of the guest OS user interface as well as run a guest OS in the full screen mode.

Source: How to make VirtualBox full screen for Windows, macOS and Linux VMs, an article by Michael Bose.

Why I Don’t Use Classes

I also should note that I don’t actively avoid writing classes. I just lean toward other solutions, typically functional solutions over object-orientated solutions. Since I spend the majority of my time in the Typescript ecosystem, I have the luxury of choosing either paradigm to solve the current problem at hand.

Source: Why I Don't Use Classes, an article by Andy Peterson.

About unit and integration tests

The terms unit test and integration test are typically used as something different, or even opposite. In this blog post I explain why this is misleading and how I prefer to talk about isolation vs. integration instead.

Source: About unit and integration tests, an article by Torsten Mandry.

Solving Differential Equations with Transformers

In this article, I will cover a new Neural Network approach to solving 1st and 2nd order Ordinary Differential Equations, introduced in Guillaume Lample and François Charton (Facebook AI Research)’s ICLR 2020 spotlight paper, “Deep Learning for Symbolic Mathematics”. This paper tackles symbolic computation tasks of integration and solving 1st & 2nd order ODEs with a seq2seq Transformer, we will focus on the latter today.

Source: Solving Differential Equations with Transformers: Deep Learning for Symbolic Mathematics, an article by Ching Lam Choi.

Do not log

Almost every week I accidentally get into this logging argument. Here’s the problem: people tend to log different things and call it a best-practice. And I am not sure why. When I start discussing this with other people I always end up repeating the exact same ideas over and over again.

So. Today I want to criticize the whole logging culture and provide a bunch of alternatives.

Source: Do not log, an article by Nikita Sobolev.

Haskell with UTF-8

Bad news: something is wrong. Good news: it is not necessarily an issue with your code, it can be one of the libraries or build tools that you depend on.

Source: Haskell with UTF-8, an article by Kirill Elagin.

Getting started with Emacs

Learning Emacs is easy. It's loving Emacs that's hard. To love Emacs, you have to discover the features it has that you've been looking for, sometimes without knowing you've been missing them. And that takes experience.

The only way to get that experience is to start at the beginning—by actively using Emacs. Here are ten tips to help you figure out what works best for you.

Source: Getting started with Emacs, an article by Seth Kenlon.

Vim Creep

It all started out innocently enough. You experimented with it once or twice in your first year of college, but Nano and Pico were easier—closer to what you had already been using during high school on the Windows machines and Macs. But as time went on and you got more experience under your belt in the college-level computer science courses, you started to notice something: All of the really great programmers—the kind who churned out 4 line solutions for an assignment that took you 10 pages of code to complete; the kind who produced ridiculously over-featured class projects in a day while you struggled with just the basics for weeks—none of them used Nano or Pico.

Source: Vim Creep, an article by Rudis Muiznieks.

There's More to the JavaScript Console

We’ve probably all used console.log in our JavaScript projects. It’s a nice, quick, convenient way to view the value of a variable or to see what’s going on at a given time in the application. But there are many more options with the JavaScript console object that can help while working on your project. We’ll go over some of my favorites in this article, and hopefully you’ll remember to use them while working!

Source: There’s More to the JavaScript Console, an article by Preston Lamb.

What is the Difference Between CNN and RNN?

The main difference between CNN and RNN is the ability to process temporal information or data that comes in sequences, such as a sentence for example. Moreover, convolutional neural networks and recurrent neural networks are used for completely different purposes, and there are differences in the structures of the neural networks themselves to fit those different use cases.

Source: What is the Difference Between CNN and RNN?, an article by Lucas Scott.