Around IT in 256 seconds

Around IT in 256 seconds

256.nurkiewicz.com
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. For those of you, who want to combat FOMO, while brushing your teeth. 256 secondsis plenty of time. If I can’t explain something within this time frame, it’s either too complex, or I don’t understand it myself. Hosted by Tomasz Nurkiewicz. Java Champion, CTO, trainer, O’Reilly author, blogger.


#16: Akka
Sep 22 • 4 min
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 achieve concurrency is quite radical. Rather than mutexes, semaphores and shared memory, Akka uses so-called…
#15: Mutation testing
Sep 14 • 3 min
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? OK, so now my script builds your…
#14: Static, Dynamic, Strong and Weak Type Systems
Aug 31 • 4 min
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 match? Will there be a conservative, slow and annoying compiler? Or maybe a fast feedback loop, often…
#13: Cassandra
Aug 18 • 4 min
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 consistency over availability. Interestingly, despite NoSQL…
#12: Continuous integration, delivery and deployment
Aug 11 • 4 min
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. This has several drawbacks, mainly we risk breaking other’s work with our half-done features. So we come up…
#11: MapReduce
Aug 4 • 4 min
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 across thousands of servers. MapReduce was invented and popularized by Google. I’ll talk about MapReduce in…
#10: HTTP protocol
Jul 27 • 4 min
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 browser. Read more: https://256.nurkiewicz.com/10 Get new episode straight to your mailbox:…
#9: Retrying failures
Jul 21 • 4 min
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 that your systems are much more fault-tolerant and less brittle? Read more: https://256.nurkiewicz.com/9 Get…
#8: Kafka’s design
Jul 14 • 4 min
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 database where inserts are insanely fast and sequential reads are preferred and very fast as well. In this…
#7: Speed of light
Jul 6 • 4 min
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 bit of performance in your app, speed of light holds you back. Light travels at an unbelievable speed of…
#6: Little’s law
Jun 30 • 4 min
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: https://256.nurkiewicz.com/newsletter More resources: *…
#5: asm.js and WebAssembly
Jun 16 • 4 min
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 * Compiling C/C++/Rust/… to asm.js via LLVM…
#4: Serverless
Jun 8 • 4 min
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: https://aws.amazon.com/lambda/ *…
#3: GraphQL
Jun 2 • 4 min
Read more: https://256.nurkiewicz.com/3 Newsletter: https://256.nurkiewicz.com/newsletter More resources: Official GraphQL website: https://graphql.org/ Curated collection of resources: https://github.com/chentsulin/awesome-graphql GitHub’s API explorer…
#2: Service Mesh
May 26 • 4 min
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/) * What’s a service mesh?…
#1: Circuit Breaker
May 12 • 4 min
Circuit breaker is a design pattern that prevents cascading failures in distributed systems. More details: https://microservices.io/patterns/reliability/circuit-breaker.html and https://docs.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker.…
#0: Meta
Apr 27 • 3 min
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: https://github.com/nurkiewicz/256/issues/new/choose Which programming languages count…