
Yukihiro Matsumoto, the creator of Ruby programming language,
famously said: “I hope to see Ruby help every programmer in the
world to be productive, and to enjoy programming, and to be happy.”
Honestly, not many programming languages were built with developer’s
happines in mind. And to be honest, Ruby is a joy to work with. It’s
fairly easy to learn, easy to read, yet, very powerful. Also, with the
appearance of Ruby on Rails, it became insanely productive. But first
things first.
Read more: https://nurkiewicz.com/97
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Feb 13, 2023
4 min

Border Gateway Protocol, BGP for short, is probably the most
important protocols you might have never heard of. Well, you did at
least once, in October 2021. When Facebook, WhatsApp, Instagram and
Messenger all went down because of BGP misconfiguration. Or that one day
back in 2008 when all YouTube traffic was accidentally routed to
Pakistan. Because of BGP… misconfiguration. So what’s the big deal with
BGP? First we must understand how the Internet works.
Read more: https://nurkiewicz.com/96
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Feb 6, 2023
4 min

SQLite is by far the most common SQL database ever deployed. Are you
lsitening to this on iPhone or Android device? It runs SQLite. Or maybe
through a web browser? Chrome, Safari, Firefox, Opera and Android
Browser all use SQLite underneath. Are you running MacOS or Windows?
It’s built-in. Most Linux distributions have it as well. “But I’m
listening to your podcast while driving a car”, you say. Well, most
automotive systems use SQLite internally. If you happen to listen to my
podcast while coding in PHP or Python, they include SQLite out-of-the
box. Oh, and it’s the default choice for Ruby on Rails as well. I’m
pretty sure SQLite is used somewhere on the International Space Station
and it maybe even landed on other planets? So, what makes this unsung
hero so popular to run at least one trillion databases
worldwide?
Read more: https://nurkiewicz.com/95
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Jan 23, 2023
4 min

Scala is a programming language running on the Java Virtual Machine.
It’s statically typed, and you can use it both as functional and
object-oriented language. Even at the same time. The functional side of
Scala supports higher-order (and higher-kinded) types. For those of you
know what it means. On the other hand, object-relational features of
Scala are equally strong. Including powerful trait composition, that you
can somewhat compare to multiple inheritance. Combine than with great
Java interoperability and no wonder why Scala became a go to language
for many ex-Java developers.
Read more: https://nurkiewicz.com/94
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Jan 16, 2023
4 min

K-means clustering is an algorithm for partitioning data into
multiple, non-overlapping buckets. For example, if you have a bunch of
points in two-dimensional space, this algorithm can easily find
concentrated clusters of points. To be honest, that’s quite a simple
task for humans. Just plot all the points on a piece of paper and find
areas with higher density. For example, most of the points are located
on the top-left of the plane, some at the bottom and a few at the
centre-right. However, this is not that straightforward once you can no
longer rely on graphical representation. For instance, when your data
points live 3-, 4- or 100-dimensional space. Turns out, this is not that
uncommon. Let me clarify.
Read more: https://nurkiewicz.com/93
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Jan 11, 2023
4 min

Clojure is a dynamically, strongly typed programming language. It’s a
dialect of Lisp running on the Java Virtual Machine. Lisp is 6
decades old and has a really weird syntax. That weird syntax is called
Polish prefix notation. Basically, in every other language
you’ve used math operators like plus or minus are infix. It means they
are placed between operands. For example, 1 + 2. In
Clojure, you always put the operator (or any other function for that
matter) in front. So simple addition becomes… + 1 2.
Read more: https://nurkiewicz.com/92
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Nov 28, 2022
4 min

There are two main ways to communicate between components in your
distributed system: synchronous and asynchronous. Synchronous
communication is like making a phone call. The system on the other side
must be present and you actively wait for a response to your every
question. Examples of this style include REST, SOAP and GraphQL.
Read more: https://nurkiewicz.com/91
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Nov 21, 2022
4 min

After many dramatic events around Twitter lately, many people,
including myself, began experimenting with Mastodon. Superficially it’s
an open-source clone of the former that anyone can deploy and host.
However, once you look deeper, it’s actually a completely different
philosophy and architecture. Let’s focus on how Mastodon federated
network is built. To understand the difference, we’ll start from
scratch.
Read more: https://nurkiewicz.com/90
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Nov 15, 2022
4 min

RabbitMQ is a message broker, allowing asynchronous communication in
distrubuted systems. The key advantages of RabbitMQ include: 15 years of
open source history, battle proven Erlang implementation and support for
industry standard protocols. RabbitMQ is among the most popular
implementations of message brokers. Others include ActiveMQ for Java, celery for Python and Kafka - if you consider it a message
broker. Also, pretty much all cloud providers have their proprietary
implementations, like, Google
Pub/Sub, Amazon
Kinesis, Azure
Service Bus and so on. RabbitMQ at its core implements AMQP, a standard protocol for
information interchange. So not only it’s open source, it’s also built
on top of open standards.
Read more: https://nurkiewicz.com/89
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Oct 12, 2022
3 min

Many people, when asked about SLA, simply shout 99%. The correct
answer to that question is probably a long, boring PDF, written by
lawyers. Yes, SLA is a legal obligation. Not a metric or a number. You
probably meant SLI or SLO.
Read more: https://nurkiewicz.com/88
Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter
Oct 3, 2022
4 min
Load more
