Skip to main content
Spotify for Podcasters
Around IT in 256 seconds

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
Available on
Apple Podcasts Logo
Google Podcasts Logo
Overcast Logo
RadioPublic Logo
Spotify Logo
Currently playing episode

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

Around IT in 256 secondsJan 18, 2022

00:00
04:14
#97: Ruby: help every programmer to be productive and to be happy
Feb 13, 202304:10
#96: Border Gateway Protocol: the duct tape that makes the Internet work
Feb 06, 202304:13
#95: SQLite: the most ubiquitus database on the planet. And beyond!
Jan 23, 202304:16
#94: Scala: language with academic background and huge industry adoption
Jan 16, 202304:16
#93: K-means clustering: machine learning algorithm to easily split observations into multiple buckets
Jan 11, 202304:16
#92: Clojure: a languages that will change the way you think about programming
Nov 28, 202204:16
#91: Asynchronous communication: loose coupling in distributed systems
Nov 21, 202204:12
#90: Mastodon: next-generation, open source social network
Nov 15, 202204:16
#89: RabbitMQ: A proven message broker for asynchronous communication

#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 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, 202203:46
#88: SLI, SLO and SLA: a number, a threshold and a legal document respectively
Oct 03, 202204:12
#87: Artificial neural networks: imitating human brain to solve problems like humans
Sep 27, 202204:15
#86: Proof of stake: how to cut global energy usage by 0.2%
Sep 19, 202204:16
#85: Genetic algorithm: natural selection helps to solve coding problems
Sep 13, 202204:16
#84: Non-fungible token (NFT): digital, decentralized art market
Aug 29, 202204:06
#83: Real-time bidding: how online tracking helps serving ads
Aug 23, 202204:16
#82: MongoDB: the most popular NoSQL database
Aug 16, 202204:15
#81: Quarkus: supersonic, subatomic Java (guest: Holly Cummins)
Aug 05, 202204:07
#80: Ethereum: a distributed virtual machine for exchanging money and bored apes
Jul 04, 202204:16
#79: QUIC: what makes HTTP/3 faster
Jun 30, 202204:04
#78: Stuxnet: computer virus that you can admire
Jun 20, 202204:16
#77: DDoS: take down a server, one request at a time
Jun 13, 202204:14
#76: 12th Factor App: portable and resilient services start here. Part 8-12/12
Jun 06, 202204:16
#75: 12th Factor App: portable and resilient services start here. Part 1-7/12
May 31, 202204:14
#74: SOAP: (not really) Simple Object Access Protocol
May 16, 202204:14
#73: Neo4j: all your data as a graph?
May 10, 202204:16
#72: React.js: library that won frontends?
May 06, 202204:12
#71: Erlang: let it crash!
Apr 26, 202204:16
#70: CRDT: Conflict-free Replicated Data Type (guest: Martin Kleppmann)
Apr 12, 202204:09
#69: DevOps: not a job position, but culture and mindset
Feb 14, 202204:05
#68: ACID transactions: don't corrupt your data
Feb 01, 202204:16
#67: Version control systems: auditing source code, tracking bugs and experimenting
Jan 25, 202204:13
#66: Aspect-oriented programming: another level of code modularization
Jan 18, 202204:14
#65: Zero Downtime deployment: If it hurts, do it more often
Jan 10, 202204:04
#64: TypeScript: will it entirely replace JavaScript?
Jan 03, 202204:16
#63: Logging libraries: auditing and troubleshooting your application
Dec 27, 202104:16
#62: Object-relational mapping: hiding vs. introducing complexity
Dec 20, 202104:16
#61: Spring framework: 2 decades of building Java applications
Dec 15, 202104:16
#60: Haskell: purely functional and statically typed programming language
Dec 07, 202104:11
#59: How compilers work: from source to execution
Nov 29, 202104:14
#58: Consumer-driven Contracts: TDD between services
Nov 22, 202104:14
#57: Kotlin: Much more than 'better Java'
Nov 16, 202103:54
#56: Test-driven development: It's not about testing
Nov 02, 202104:15
#55: Percentages, percentage points and basis points: understand your metrics
Oct 25, 202104:16
#54: Immutability: from data structures to data centers
Oct 19, 202104:16
#53: CDN: Content Delivery Network: global scale caching
Oct 11, 202104:16
#52: How computers work: from electrons to Electron
Oct 04, 202104:16
#51: Cloud computing: more than renting servers per minute
Sep 27, 202104:13
#50: Property-based testing: find bugs automatically by generating thousands of test cases
Sep 21, 202104:16
#49: Functional programming: academic research or new hope for the industry?
Sep 13, 202104:13
#48: Distributed tracing: find bottlenecks in complex systems
Sep 07, 202104:16
#47: Terraform: managing infrastructure as code
Jul 05, 202104:15
#46: Kubernetes: Orchestrating large-scale deployments
Jun 29, 202104:13
#45: Node.js: running JavaScript on the server (!)
Jun 21, 202104:16
#44: RESTful APIs: much more than JSON over HTTP
Jun 15, 202104:16
#43: Public-key cryptography: math invention that revolutionized the Internet
Jun 07, 202104:16
#42: Flow control and backpressure: slowing down to remain stable
May 31, 202104:14
#41: Unicode: can you see these: Æ, 爱 and 🚀?
May 24, 202104:16
#40: Docker: more than a process, less than a VM
May 18, 202104:15
#39: DNS: one of the fundamental protocols of the Internet

#39: DNS: one of the fundamental protocols of the Internet

Domain name system (DNS for short) is one of the fundamental protocols of the Internet. In the Internet all communication is routed through IP addresses. Traditionally, these addresses consist of four numbers, like 91.198.174.192. Each and every server, as well as your computer, is identified using such an address. But we no longer remember phone numbers, let alone IP addresses! Remembering that the aforementioned IP belongs to wikipedia.org is tedious. DNS is often compared to a global phone book. A phone book that maps easy to remember domains like wikipedia.org or gmail.com to IP addresses - usable by machines. Without DNS the Internet could technically work. Just like you could use your phone without contacts, memorizing all phone numbers. DNS servers not only free us from remembering IP addresses. They know all of them.

Read more: https://256.nurkiewicz.com/39

Get the new episode straight to your mailbox: https://256.nurkiewicz.com/newsletter

May 11, 202104:12
#38: HTTP cookies: from saving shopping cart to online tracking
Mar 30, 202104:04
#37: Fallacies of distributed computing
Mar 22, 202104:13
#36: Microservices architecture: principles and how to break them
Mar 16, 202104:11
#35: Reactive programming: from spreadsheets to modern web frameworks
Mar 02, 202104:16
#34: SQL joins
Feb 22, 202104:16
#33: OAuth 2.0
Feb 16, 202104:14
#32: (Cryptographic) hash function
Feb 08, 202104:16
#31: Redis
Feb 01, 202104:16
#30: Linear Regression
Jan 18, 202104:16
#29: Time synchronization
Jan 12, 202104:00
#28: Event sourcing
Jan 05, 202104:06
#27: Proof-of-work algorithm in blockchain
Dec 29, 202004:16
#26: Blockchain
Dec 22, 202003:55
#25: High-frequency trading
Dec 14, 202004:16
#24: Service discovery
Dec 08, 202004:05
#23: Garbage collection
Nov 30, 202004:16
#22: Moore's Law
Nov 23, 202004:12
#21: SSE and WebSockets
Nov 03, 202004:14
#20: Chaos engineering

#20: Chaos engineering

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 or serverless environment, where there are tons of moving parts. I've seen too many times systems that fail miserably because some minor dependency was malfunctioning. For example, you have a tiny service that displays a small social widget on your website. When that service is down, the rest of the website should work. But without proper care and testing, you may end up with global HTTP 503 failure. Code reviews and unit tests are fine, but the ultimate test is... turning off that service on production. And making sure the rest actually works. This is called chaos engineering.

Believe it or not, many organizations do practice deliberately injecting faults into production. Now, turning off a service's instance on production is probably the easiest test you can conduct. The client must catch an exception and handle the failure gracefully. Sometimes by retrying, hoping to reach another healthy instance. Sometimes by returning a fallback value that's less relevant or up-to-date. Ideally, the end-user should not realize one of the services is down. Of course, that would mean that a failed service is not needed at all and can be shut down forever. So in practice, we expect visible, but insignificant degrade in service quality.

Read more: https://256.nurkiewicz.com/20

Get the new episode straight to your mailbox: https://256.nurkiewicz.com/newsletter

Oct 26, 202004:15
#19: GraalVM
Oct 19, 202004:15
#18: JIT - Just-in-time compilation
Oct 12, 202004:16
#17: BPM: Business process modeling
Oct 06, 202004:16
#16: Akka
Sep 22, 202004:16
#15: Mutation testing
Sep 14, 202003:55
#14: Static, Dynamic, Strong and Weak Type Systems
Aug 31, 202004:14
#13: Cassandra
Aug 18, 202004:16
#12: Continuous integration, delivery and deployment
Aug 11, 202004:15
#11: MapReduce
Aug 04, 202004:16
#10: HTTP protocol
Jul 27, 202004:16
#9: Retrying failures
Jul 21, 202004:16
#8: Kafka's design
Jul 14, 202004:15
#7: Speed of light
Jul 06, 202004:12
#6: Little's law
Jun 30, 202004:10
#5: asm.js and WebAssembly

#5: asm.js and WebAssembly

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 backend: https://emscripten.org/

* Quake in the browser (asm.js): http://www.quakejs.com/

* Unity Engine in the browser (WebAssembly): https://blogs.unity3d.com/2018/08/15/webassembly-is-here/

Jun 16, 202004:13
#4: Serverless

#4: Serverless

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/

* Google Cloud Functions: https://cloud.google.com/functions/

* Azure Functions: https://azure.microsoft.com/en-us/services/functions/

* Spring Cloud Function: https://spring.io/projects/spring-cloud-function

Jun 08, 202004:15
#3: GraphQL
Jun 02, 202004:16
#2: Service Mesh

#2: Service Mesh

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? (https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh)
* InfoQ (https://www.infoq.com/servicemesh/)
* Service Mesh Landscape (https://layer5.io/landscape)
* Service Mesh Comparison (https://servicemesh.es/)


Read more at: https://256.nurkiewicz.com/2

Most episodes are originally much longer. If you wish to hear full, director's cut version, check out my mailing list: https://256.nurkiewicz.com/newsletter. I will also notify you about new episodes and add some extra content like transcripts.

Suggest your topics: https://github.com/nurkiewicz/256/issues/new/choose

May 26, 202004:16
#1: Circuit Breaker
May 12, 202004:14
#0: Meta
Apr 27, 202003:31