Podcast for developers, testers, SREs... and their managers.I explain complex and convoluted technologies in a clear way, avoiding buzzwords and hype.Never longer than 4 minutes and 16 seconds.Because software development does not require hours of lectures, dev advocates' slide decks and hand waving… read more
Linear regression is one of the simplest machine learning algorithms. But also quite useful. It takes a bunch of existing, known observations and …
Clocks are important to computers. Computers need to order events in a way understandable to humans. Every computer has a bunch of internal counters, like CPU ticks. But they only work within one machine. We need a way …
Event sourcing is an alternative technique of storing business data. Rather than updating a single database record, every change is captured in an immutable, append-only log. We never overwrite existing data. Instead, …
Let’s try to cheat the blockchain. If my wallet has exactly one bitcoin, I can’t spend it twice. Once it’s written into an immutable blockchain, …
Blockchain is a technology used for storing data without a central database. Data is organized in an ever-growing list of blocks with each block …
According to some estimates, even half of the trading volume in the American stock exchange is generated by computers. Specifically, computer …
In the old days an application consisted of a monolithic backend and a database. Once they were deployed their location never changed. So the only …
Creating new objects, arrays or strings is so straightforward that we often forget what happens underneath. And I don’t mean trying to figure out what this refers to in JavaScript objects. I mean: memory management. On …
It's a common misconception that Moore's law is dead. That's because many believe it's about the speed of a CPU. But in reality Gordon Moore meant the number of transistors, not the clock frequency. And also, it's now …
HTTP is historically request-response-driven. This means a server is idle as long as no-one asks it to do something. Typically fetching data or accepting some form. In reality, we’d often like to receive data from the …
We tend to focus on testing happy paths and expected edge cases. But how do you make sure that your system can survive minor infrastructure and network failures, as well as application bugs? Especially in microservice …
GraalVM is a set of tools that aim to improve the performance and interoperability of Java Virtual Machine. Taking advantage of GraalVM not only …
Source code can then be executed in two ways. Language implementations in general either interpret or compile it. In order to run an interpreted program, you need one extra binary: an interpreter. Interpretation is …
[...] All of this complexity is somewhat hidden with BPM framework. First of all the process is first drawn. Using a special notation known as BPMN. This is actually quite natural. You use arrows to show how insurance …
Akka is a toolkit for building highly scalable, concurrent applications. It's written in Scala and based on the ideas from Erlang. Its approach to …
Imagine I wrote a script that takes your codebase and removes a random line. Fairly simple. Or maybe some more subtle change, like replacing plus with minus operator? Or switching `x` and `y` parameters with each other? …
When choosing or learning a new programming language, type system should be your first question. How strict is that language when types don't really …
Cassandra is an open-source NoSQL database. It's heavily optimized for writes, but also has intriguing read capabilities. Cassandra has near-linear scalability. In terms of CAP theorem it favours availability over …
Typically, more than one developer is working on the same codebase. How do they share their work? The simplest approach is a common Dropbox folder. …
MapReduce is a programming model for processing large amounts of data. It works best when you have a relatively simple program, but data is spread …
HTTP protocol is fundamental to the Internet. It's a simple request-response protocol where the request is initiated by the client, typically a web …
I find it quite fascinating how many failures in complex systems could be avoided if we simply... tried again. So how so you retry effectively, so …
Kafka is not a message broker. However, it can be used as such very effectively. Instead, I'd like to think about as a very peculiar database. A …
Speed of light is not as abstract to us, software engineers, as you might think. If you are deploying to the cloud or if you want to squeeze every …
Little's law is an astounding equation that's dead simple, yet it can bring an amazing insight into what your distributed system is capable of.
Read more: https://256.nurkiewicz.com/6
Newsletter: …
Read more: https://256.nurkiewicz.com/5
Newsletter: https://256.nurkiewicz.com/newsletter
More resources:
* asm.js: https://en.wikipedia.org/wiki/Asm.js
* WebAssembly: https://en.wikipedia.org/wiki/WebAssembly
* …
Read more: https://256.nurkiewicz.com/4
Newsletter: https://256.nurkiewicz.com/newsletter
4th edition of the newsletter, apart from transcript, contains GraphQL scalability tricks, enjoy!
More resources:
* AWS Lambda: …
Read more: https://256.nurkiewicz.com/3
Newsletter: https://256.nurkiewicz.com/newsletter
More resources:
Notable implementations of service mesh:
* https://istio.io/
* https://linkerd.io/
More details:
* What's a service mesh? And why do I need one? (https://buoyant.io/2017/04/25/whats-a-service-mesh-and-why-do-i-need-one/
Circuit breaker is a design pattern that prevents cascading failures in distributed systems. More details: https://microservices.io/patterns/reliability/circuit-breaker.html and …
I explain software development in no more than 4 minutes and 16 seconds.
Notifications of new episodes: https://256.nurkiewicz.com/newsletter
User voice: suggest topics: …
Connect with listeners
Podcasters use the RadioPublic listener relationship platform to build lasting connections with fans
Yes, let's begin connectingFind new listeners
Understand your audience
Engage your fanbase
Make money