
Coding Blocks
Allen Underwood, Michael Outlaw, Joe Zack
All episodes
Best episodes
Top 10 Coding Blocks Episodes
Goodpods has curated a list of the 10 best Coding Blocks episodes, ranked by the number of listens and likes each episode have garnered from our listeners. If you are listening to Coding Blocks for the first time, there's no better place to start than with one of these standout episodes. If you are a fan of the show, vote for your favorite Coding Blocks episode by adding your comments to the episode page.

2023 Resolutions
Coding Blocks
01/02/23 • -1 min

Better Application Management with Custom Apps
Coding Blocks
07/10/23 • -1 min

How did We Even Arrive Here?
Coding Blocks
08/04/24 • -1 min
We were asked in one of our recent reviews in Apple Podcasts if we would share our career paths and how we got started and how we arrived where we are today. We took some of that info, threw it at Microsoft’s CoPilot / DALL E 3 and that’s the artwork for this episode – you may be a little surprised at how the 3 of us got started as software developers. We also have some fun things to share about recent purchases, tweaks, mistakes made and some information about the CrowdStrike outage that recently occurred.
Reviews
Thank you again for taking the time to share your review with us!
- iTunes: Ksed_NJ
News
Atlanta Dev Con
September 7th, 2024
https://www.atldevcon.com/
DevFest Central Florida
September 28th, 2024
https://devfestflorida.com/
This Episode
- Career paths – someone asked that we talk about our career paths https://en.wikipedia.org/wiki/Lou_Pearlman
- Enabling trace caused a bug that didn’t happen otherwise – in other words, errors in your code (such as in a toString()) could cause unforseen problems when working with other libraries and enabling verbose logging
- Upgraded the fans in my Omada switch...may have done something stupid – ie. you should never mess aorund inside electrical components when they were powered on else you may risk injury or even frying some expensive equipment
- The travel router experience has been awesome – we mentioned this thing in a recent episode and it really is awesome
Travel Router: https://amzn.to/3W5U8IS
Travel Router Case: https://amzn.to/3zufsyU - Great topic in the Coding Blocks slack #episode-discussion channel – can you buy your way out of a jam when older developers leave and tribal knowledge is abundant? ie. how much money would it take for you to work on an old jquery application nowadays, or maybe support a v1 MVC .NET application
- Some craziness with Crowdstrike and several industries coming to a standstill due to a bug
- Government Accountability Office blog entry on the CrowdStrike issue
https://www.gao.gov/blog/crowdstrike-chaos-highlights-key-cyber-vulnerabilities-software-updates#:~:text=Earlier this month%2C a software,Disruptions were widespread - Great explanation of what happened
https://www.youtube.com/watch?v=wAzEJxOo1ts
- Government Accountability Office blog entry on the CrowdStrike issue
- When is Programmer’s Day?
- International Programmer’s day is January 7th, for no reason I can find.
No joke, it depends! It’s the 256 day of the year, which changes with leap years. This year it’s on 9/12. - Guess we just need to celebrate all 3!
https://www.timeanddate.com/holidays/world/international-programmers-day
- International Programmer’s day is January 7th, for no reason I can find.
Resources
- Mentioned the old TRS-80 Radioshack handheld – here’s a page with some info on these dinosaurs
https://oldcomputers.net/~oldcompu/trs80pc1.html
Tips of the Week
- Hollow Knight, amazing created by 3 people (mostly) fantastic game, it’s not as hard or long as I thought it would be. The gameplay is amazing, the music is amazing, the story is hidden, but amazing. Just play it on just about any platform.
https://store.steampowered.com/app/367520/Hollow_Knight/ - Midinous is a cool way of generating midi visually with nodes, similar to decision trees, that can do cool things with randomness and weighting to manipulate all sorts of midi parameters (velocity, mod and pitch wheels, any parameters that your VSTs support!)
https://www.youtube.com/watch?v=rtTWtzWav8I
https://store.steampowered.com/app/1727420/Midinous/ - If that’s not low-level enough for you, check out overtone. It’s an open-source LISP-like wrapper around the SuperCollider audio engine that you can use to make really cool, live looping music.
https://overtone.github.io/ - Did you know that k9s has a slick way of supporting skins via XDG_CONFIG, you just drop in a couple skin fil...

3factor app – Reliable Eventing
Coding Blocks
09/30/19 • 123 min

Caching Overview and Hardware
Coding Blocks
08/12/16 • 95 min

04/03/23 • -1 min

Intro to Apache Kafka
Coding Blocks
05/26/24 • -1 min
We finally start talking about Apache Kafka! Also, Allen is getting acquainted with Aesop, Outlaw is killing clusters, and Joe was paying attention in drama class.
The full show notes are available on the website at https://www.codingblocks.net/episode235
News
- Atlanta Dev Con is coming up, on September 7th, 2024 (www.atldevcon.com)
Intro to Apache Kafka
What is it?
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
Core capabilities
- High throughput – Deliver messages at network-limited throughput using a cluster of machines with latencies as low as 2ms.
- Scalable – Scale production clusters up to a thousand brokers, trillions of messages per day, petabytes of data, and hundreds of thousands of partitions. Elastically expand and contract storage and processing
- Permanent storage – Store streams of data safely in a distributed, durable, fault-tolerant cluster.
- High availability – Stretch clusters efficiently over availability zones or connect separate clusters across geographic regions.
Ecosystem
- Built-in stream processing – Process streams of events with joins, aggregations, filters, transformations, and more, using event-time and exactly-once processing.
- Connect to almost anything – Kafka’s out-of-the-box Connect interface integrates with hundreds of event sources and event sinks including Postgres, JMS, Elasticsearch, AWS S3, and more.
- Client libraries – Read, write, and process streams of events in a vast array of programming languages
- Large ecosystem of open source tools – Large ecosystem of open source tools: Leverage a vast array of community-driven tooling.
Trust and Ease of Use
- Mission critical – Support mission-critical use cases with guaranteed ordering, zero message loss, and efficient exactly-once processing.
- Trusted by thousands of organizations – Thousands of organizations use Kafka, from internet giants to car manufacturers to stock exchanges. More than 5 million unique lifetime downloads.
- Vast user community – Kafka is one of the five most active projects of the Apache Software Foundation, with hundreds of meetups around the world.
What is it?
- Getting data in real-time from event sources like databases, sensors, mobile devices, cloud services, applications, etc. in the form of streams of events. Those events are stored “durably” (in Kafka) for processing, either in real-time or retrospectively, and then routed to various destinations depending on your needs. It’s this continuous flow and processing of data that is known as “streaming data”
How can it be used? (some examples) - Processing payments and financial transactions in real-time
- Tracking automobiles and shipments in real time for logistical purposes
- Capture and analyze sensor data from IoT devices or other equipment
- To connect and share data from different divisions in a company
Apache Kafka as an event streaming platform?
- It contains three key capabilities that make it a complete streaming platform
- Can publish and subscribe to streams of events
- Can store streams of events durably and reliably for as long as necessary (infinitely if you have the storage)
- To process streams of events in real-time or retrospectively
- Can be deployed to bare metal, virtual machines or to containers on-prem or in the cloud
- Can be run self-managed or via various cloud providers as a managed service
How does Kafka work?
- A distributed system that’s composed of servers and clients that communicate using a highly performant TCP protocol
Servers
- Kafka runs as a cluster of one or more servers that can span multiple data centers or cloud regions
- Brokers – these are a portion of the servers that are the storage layer
- Kafka Connect – these are servers that constantly import and export data from existing systems in your infrastructure such as relational databases
- Kafka clusters are highly scalable and fault-tolerant
Clients
- Allows you to write distributed applications that allow to read, write and process streams of events in parallel that are fault-tolerant and scale
- These clients are available in many programming languages – both the ones provided by the core platform as well as 3rd party clients
Concepts
Events
- It’s a record of something that happened – also called a “record” in the...

09/02/24 • -1 min
It’s time to talk about the types of things you should consider when diving into multi-tenant applications and things to be especially aware of if you attempt to make things faster by going multi-threaded at the same time. Join us as Allen continues is non-winning / non-losing streak, JZ is taken out by a storm, and Outlaw continues to ignore the notes for the intro to the show...
News
Reviews
- Spotify – Colum Ferry
Upcoming Events
- Atlanta Dev Con
September 7th, 2024
https://www.atldevcon.com/ - DevFest Central Florida on September 28th, 2024
https://devfestflorida.com/
Episode
- Single vs multi-tenanted applications and multi-threaded programming
- Be very careful about sharing state when doing anything in multi-threaded AND multi-tenanted applications
What are some important things to consider when writing multi-tenanted applications – per Claude
As mentioned in the episode, Claude’s answers seem to be very database heavy
- Data isolation: Ensure that each tenant’s data is securely separated and inaccessible to other tenants.
- Authentication and authorization: Implement robust systems to verify tenant identity and control access to resources.
- Scalability: Design the architecture to handle growth in both the number of tenants and data volume per tenant.
- Performance: Optimize database queries and resource allocation to maintain speed as tenant count increases.
- Customization: Allow for tenant-specific configurations and features without compromising the core codebase.
- Monitoring and logging: Implement comprehensive logging and monitoring to track usage, errors, and performance per tenant.
- Maintenance and updates: Design the system to allow for updates and maintenance with minimal disruption to tenants.
- Data backup and recovery: Implement tenant-specific backup and recovery processes.
- Compliance and data regulations: Ensure the system can meet various regulatory requirements that may differ by tenant.
- Tenant onboarding and offboarding: Create efficient processes for adding new tenants and removing old ones.
- Good feature flagging support?
- Tracing / OpenTelemetry
Can you elaborate on the data isolation?
Data isolation is crucial in multi-tenant systems to prevent unauthorized access and ensure data privacy. Here are some key strategies to ensure data isolation:
- Separate databases
- Use a separate database for each tenant
- Pros: Strong isolation, easier compliance
- Cons: Higher maintenance, potentially higher costs
- Use a separate database for each tenant
- Shared database with separate schemas
- Each tenant gets their own schema within a shared database
- Pros: Good isolation, more cost-effective than separate databases
- Cons: Requires careful access control, potential for errors
- Each tenant gets their own schema within a shared database
- Shared schema with tenant ID
- Use a single schema but include a tenant ID column in each table
- Pros: Most cost-effective, easiest to maintain
- Cons: Highest risk of data leaks, requires vigilant query filtering
- Use a single schema but include a tenant ID column in each table
- Row-level security
- Implement database-level security policies to restrict access based on tenant ID
- Particularly useful with shared schema approach
- Encryption
- Encrypt sensitive data, potentially using tenant-specific keys
- Adds an extra layer of protection even if other measures fail
- Connection pooling
- Use separate connection pools for each tenant to prevent session mixups
- Query filtering
- Always include tenant ID in queries, preferably at the database level
- Use ORMs or query builders that automatically add tenant filters
- API and application-level checks
- Validate tenant ID in all API calls and application logic
- Implement middleware to enforce tenant-specific access
Resources / Mentions
- Salable Postgres product – Citus
https://www.citusdata.com/ - Envelope encryption if you’re wanting to use tenant specific keys for multi-tenanted encryption – one approach is envelope encryption
https://en.wikipedia.org/wiki/Hybrid_cryptosystem#Envelope_encryption
https://cloud.google.com/kms/docs/envelope-encryption - OWASP multi-tenant or “Cloud Tenant” Isolation

3factor app – Async Serverless
Coding Blocks
10/14/19 • 91 min

Git from the Bottom Up – Reset, Stash, and Reflog
Coding Blocks
10/10/22 • -1 min
Show more best episodes

Show more best episodes
FAQ
How many episodes does Coding Blocks have?
Coding Blocks currently has 242 episodes available.
What topics does Coding Blocks cover?
The podcast is about How To, Podcasts, Technology and Education.
What is the most popular episode on Coding Blocks?
The episode title 'Google’s Engineering Practices – How to Navigate a Code Review' is the most popular.
What is the average episode length on Coding Blocks?
The average episode length on Coding Blocks is 105 minutes.
How often are episodes of Coding Blocks released?
Episodes of Coding Blocks are typically released every 14 days.
When was the first episode of Coding Blocks?
The first episode of Coding Blocks was released on Sep 9, 2013.
Show more FAQ

Show more FAQ