Skip to content
Around IT in 256 seconds podcast artwork

PODCAST · technology

Around IT in 256 seconds

by Tomasz Nurkiewicz

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 seconds is 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. By Tomasz Nurkiewicz. Java Champion, CTO, trainer, O'Reilly author, blogger

Publisher-supplied feed metadata · PodParley refreshed Apr 14, 2026 · Source feed

Episodes

  1. #97: Ruby: help every programmer to be productive and to be happy

    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…

    more
  2. #96: Border Gateway Protocol: the duct tape that makes the Internet work

    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…

    more
  3. #95: SQLite: the most ubiquitus database on the planet. And beyond!

    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...

  4. #94: Scala: language with academic background and huge industry adoption

    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....

  5. #93: K-means clustering: machine learning algorithm to easily split observations into multiple buckets

    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...

  6. #92: Clojure: a languages that will change the way you think about programming

    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…

    more
  7. #91: Asynchronous communication: loose coupling in distributed systems

    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…

    more
  8. #90: Mastodon: next-generation, open source social network

    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…

    more
  9. #89: RabbitMQ: A proven message broker for asynchronous communication

    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...

  10. #88: SLI, SLO and SLA: a number, a threshold and a legal document respectively

    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…

    more
  11. #87: Artificial neural networks: imitating human brain to solve problems like humans

    An artificial neural network is a computer algorithm somewhat inspired by our brains. Superficially, our brain is a network of neurons connected with each other and communicating via electrical impulses. Artificial intelligence experts implemented a similar concept purely in software. An…

    more
  12. #86: Proof of stake: how to cut global energy usage by 0.2%

    p>A few weeks ago Ethereum blockchain moved from proof-of-work to a proof-of-stake algorithm. This step alone reduced global energy consumption by 0.2%. It’s as much as an energy usage of Austria. At this point, Ethereum, the second largest blockchain after Bitcoin, is using barely as much...

  13. #85: Genetic algorithm: natural selection helps to solve coding problems

    A genetic algorithm is a heuristic approach to solving complex computational problems. This includes various optimizations, especially around scheduling and design. For example, NASA designed a radio antenna for their spacecraft using a genetic algorithm. Its shape is quite complicated, like...

  14. #84: Non-fungible token (NFT): digital, decentralized art market

    Non-fungible tokens, NFTs for short, are financial instruments implemented on top of the blockchain. They can be bought and sold, just like cryptocurrencies. However, unlike bitcoins, each NFT is unique and traded individually. Whereas Bitcoins or ether are interchangeable, just like…

    more
  15. #83: Real-time bidding: how online tracking helps serving ads

    We all know this feeling. You search for a hotel in Paris and you keep getting ads for hotels and flights for weeks to come. Or something even scarier. You visit a blog post highlighting the first symptoms of a pregnancy. An hour later every single website on the planet advertises diapers and…

    more
  16. #82: MongoDB: the most popular NoSQL database

    MongoDB is a NoSQL database. Precisey speaking, it’s a document-oriented database. It stores arbitrarily complex key-value objects. For example, in a single Car object you can store as much information as you want. Not only license plate or manufacturing year. But also information about each...

  17. #81: Quarkus: supersonic, subatomic Java (guest: Holly Cummins)

    Quarkus is supersonic, subatomic Java. What does that mean? It means it’s Java, but really, really small. And really, really fast. Quarkus is a runtime framework which gives you access to programming models you’re probably familiar with. Like Microprofile, JAX-RS, CDI dependency injection. And…

    more
  18. #80: Ethereum: a distributed virtual machine for exchanging money and bored apes

    Ethereum is a network of computers with no central trusted authority. They achieve consensus by running computation-intensive algorithm, known as proof-of-work. The agreed state is added to an append only ledger, known as blockchain. Yes, Ethereum is yet another blockchain. And it’s used to track...

  19. #79: QUIC: what makes HTTP/3 faster

    QUIC can be thought of as the third fundamental protocol of the Internet. Next to UDP and TCP/IP. Let’s talk a little bit about these two. They both build upon IP, Internet Protocol. IP supports exchanging packets of data between two machines having… IP addresses. UDP adds ports. Port is a…

    more
  20. #78: Stuxnet: computer virus that you can admire

    Stuxnet was probably one of the most sophisticated pieces of software ever built. I can easily imagine a Hollywood movie about it. A computer program that could change the course of history. Ironically, Stuxnet was a computer virus. A virus that infected 200 thousand machines. But activated and...

  21. #77: DDoS: take down a server, one request at a time

    Denial-of-service attack tries to take down a server by sending specially-crafted requests. The simplest form of this attack is just sending a lot of requests in a short period of time. But more sophisticated methods are possible. For example, sending a single unusual request that overwhelms the...

  22. #76: 12th Factor App: portable and resilient services start here. Part 8-12/12

    In part 2 of the Twelve-Factor App, we’ll explore the second half of the principles. Be sure to listen to the previous episode as well. We still have only four minutes, so let’s go! Read more: https://nurkiewicz.com/76 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

  23. #75: 12th Factor App: portable and resilient services start here. Part 1-7/12

    Twelve-Factor App is a set of design guidelines defined by Heroku. These guidelines are best suited for cloud-native, portable and resilient services. In this episode, I’ll explain the first seven principles. I have four minutes left, so let’s go! Read more: https://nurkiewicz.com/75 Get the new...

  24. #74: SOAP: (not really) Simple Object Access Protocol

    SOAP, formerly known as Simple Object Access Protocol, is a messaging standard. SOAP is very broad and general. Technically, it can support request-response, as well as fire-and-forget communication. The underlying protocol is typically HTTP, but there’s nothing against using message brokers. Or...

  25. #73: Neo4j: all your data as a graph?

    Neo4j is a NoSQL database engine. What makes it different is the unusual data model. In Neo4j everything is modelled as a graph. A graph is a collection of nodes connected with edges. A typical example is a graph of friends on a social media website. Or a network of movies and actors. But it…

    more
  26. #72: React.js: library that won frontends?

    React.js is a JavaScript library for building dynamic user interfaces. React applications are built on top of reusable components. Components encapsulate look and feel, logic and state. Also, React has quite an advanced state propagation mechanism. In simple words, it means that the user…

    more
  27. #71: Erlang: let it crash!

    Erlang is a programming language designed for highly scalable, fault-tolerant systems. Its primary use case used to be telecommunication. But these days it powers some of the biggest distributed systems. For example, half-billion WhatsApp users. The unique features of Erlang allow it to achieve...

  28. #70: CRDT: Conflict-free Replicated Data Type (guest: Martin Kleppmann)

    Hello everyone! My name is Martin Kleppmann. I’m a researcher at the University of Cambridge. And I would like to tell you briefly about the technology called CRDTs. So, CRDT stands for Conflict-free Replicated Data Type. It’s a type of data structure that you can use to build collaboration...

  29. #69: DevOps: not a job position, but culture and mindset

    DevOps is a movement to bridge the gap between developers and operations teams. Traditionally, these two groups were separate and rarely interacted with each other. Developers didn’t quite understand how software is deployed and managed. Operation teams, on the other hand, treated software as a...

  30. #68: ACID transactions: don't corrupt your data

    Transactions in SQL databases are rock-solid. By reading and modifying data within a transaction we limit the risk of data corruption. Actually, there’s an acronym describing transactions: ACID. Which stands for: atomicity, consistency, isolation and durability. A good database engine follows…

    more
  31. #67: Version control systems: auditing source code, tracking bugs and experimenting

    Version control systems, like git, serve two purposes. First of all, they allow collaborating on the same code by multiple developers. Collaboration is needed for any non-trivial project. Secondly, they keep the history of changes. Modification history allows tracking bug fixes and regressions....

  32. #66: Aspect-oriented programming: another level of code modularization

    DRY, or don’t repeat yourself is a common principle in pSpring AOP riddlerogramming. That’s why we invented functions and objects. But some sources of duplication are really hard to get rid of. Well, sometimes it’s even hard to realize there’s duplication in the first place! Common examples are...

  33. #65: Zero Downtime deployment: If it hurts, do it more often

    Remember the days when deploying a new version of your application required downtime? If your application is particularly important, you might have had to schedule a maintenance window. Or perform the deployment in the middle of the night to avoid disruption. Today’s tools and DevOps practices...

  34. #64: TypeScript: will it entirely replace JavaScript?

    TypeScript is a programming language, a superset of JavaScript. This means any valid JavaScript program is also valid TypeScript. But not vice-versa! TypeScript adds a ton of features, addressing the shortcomings of JavaScript. The most important one is optional static typing, including...

  35. #63: Logging libraries: auditing and troubleshooting your application

    You can’t look at your application all the time. Instead, it should leave some sort of persistent trace. Such an audit log can be examined later on. However, it’s the responsibility of the application itself to log appropriately. But more importantly, the data it logs for later must be...

  36. #62: Object-relational mapping: hiding vs. introducing complexity

    Object-relational mapping, ORM for short, simplifies access to relational databases. Such frameworks help with developing applications without writing SQL. SQL was supposed to be easy to use for non-programmers. That’s part of the reason why SQL is so verbose. However, writing complex joins by…

    more
  37. #61: Spring framework: 2 decades of building Java applications

    Spring framework is probably the most popular and most successful application framework for Java. Writing a server or a web application before Spring was cumbersome. And it required an insane amount of boilerplate. Even in already bloated Java language. This framework was created sort of as a...

  38. #60: Haskell: purely functional and statically typed programming language

    Haskell is a purely-functional programming language. It is also statically and strongly typed. Haskell takes these characteristics to the extreme. For example, doing any input/output is considered impure from a functional programming point of view. So in some books, a simple “Hello, world”…

    more
  39. #59: How compilers work: from source to execution

    A compiler is an application that turns text into an executable program. It’s quite extraordinary how much work these complex pieces of software are doing. Pretty much every compiler works by executing several phases. Each phase takes the input of the previous ones to finally produce the runnable...

  40. #58: Consumer-driven Contracts: TDD between services

    Consumer-driven Contracts is an approach to testing integration between services. In a distributed system, many components talk to each other. Typically via request/response protocols or message queues. The client must know and understand the API provided by the server. What kind of endpoints are...

  41. #57: Kotlin: Much more than 'better Java'

    Kotlin is a programming language that runs mainly on Java Virtual Machine. This means it’s fully interoperable with Java and even other JVM languages. Developers can gradually rewrite their applications from Java to Kotlin. Or use Java libraries and frameworks inside Kotlin. But why bother with a...

  42. #56: Test-driven development: It's not about testing

    Test-driven development (TDD for short) means developing software by writing tests first. I hope you all write unit and integration tests. But do you write them before the actual production code? This approach to software development is just that. You must write a failing test first. And you are...

  43. #55: Percentages, percentage points and basis points: understand your metrics

    You might find this topic weird, but understanding percentages is crucial not only in banking. What does it mean when disk space decreased by 10 percent? How to scientificly measure relative system load? And how to sound smart when applying for mortgage? You’ll learn all that in the next four...

  44. #54: Immutability: from data structures to data centers

    Immutability means that when something was once created, it can’t be changed. This concept is tremendously important across our whole industry. Probably you’ve heard about immutable data structures. Let’s take an immutable list as an example. If you create such a list with a few items, you can’t...

  45. #53: CDN: Content Delivery Network: global scale caching

    CDN is a set of geographically distributed servers for fast content delivery. Without CDN all requests are routed to your own server, located somewhere in the world. For example, in San Francisco. If your visitor lives in Australia, the experience is rather poor. But now imagine the traffic to…

    more
  46. #52: How computers work: from electrons to Electron

    Today I’d like to explain how computers work. From the ground up, grossly simplifying. It all starts with an electric field. It’s a place where charged particles, like electrons, are attracted or repelled. The electricity flows through a piece of wire because of the difference in electric field...

  47. #51: Cloud computing: more than renting servers per minute

    Cloud computing is a broad term. In general, it refers to using hardware and software managed by someone else. Typically with very flexible pricing: we only pay for what we use and for the time we use it. We don’t build data centers ourselves. We don’t buy large servers and provision them. We...

  48. #50: Property-based testing: find bugs automatically by generating thousands of test cases

    Property-based testing is an approach to automatically test software against well-defined rules. We don’t specify desired output for a few inputs. Instead, we barely define properties that should always hold. It’s best explained with an example. How do you make sure that your compression…

    more
  49. #49: Functional programming: academic research or new hope for the industry?

    Functional programming means programming using functions. See, I need much less than 256 seconds for that! Unfortunately, this definition is as useful as saying that object-oriented programming means programming with objects. So let’s dive deeper. First of all, I mean pure functions as defined by...

  50. #48: Distributed tracing: find bottlenecks in complex systems

    Life used to be simple. In a traditional monolithic application, when a failure occurred, you could easily find the problem. When an exception bubbles up, it appears throughout all stack frames. You can easily examine which methods or functions were invoked from each other. You can see…

    more

Type above to search every episode's transcript for a word or phrase. Matches are scoped to this podcast.

Searching…

We're indexing this podcast's transcripts for the first time — this can take a minute or two. We'll show results as soon as they're ready.

No matches for "" in this podcast's transcripts.

Showing of matches

TOPICS IN THIS SHOW

Click any topic to search every transcript on PodParley for moments someone mentioned it.

Loading reviews...

ABOUT THIS SHOW

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 seconds is 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. By Tomasz Nurkiewicz. Java Champion, CTO, trainer, O'Reilly author, blogger

HOSTED BY

Tomasz Nurkiewicz

CATEGORIES

Frequently Asked Questions

How many episodes does Around IT in 256 seconds have?

Around IT in 256 seconds currently has 98 episodes available on PodParley. New episodes are automatically indexed when they're published to the podcast feed.

What is Around IT in 256 seconds about?

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...

How often does Around IT in 256 seconds release new episodes?

Around IT in 256 seconds has 98 episodes. Check the episode list to see recent publication dates and frequency.

Where can I listen to Around IT in 256 seconds?

You can listen to Around IT in 256 seconds on PodParley by clicking any episode. We provide an embedded audio player for direct listening, and you can also subscribe via your preferred podcast app using the RSS feed.

Who hosts Around IT in 256 seconds?

Around IT in 256 seconds is created and hosted by Tomasz Nurkiewicz.
URL copied to clipboard!