PLAY PODCASTS
Coding Blocks

Coding Blocks

242 episodes — Page 4 of 5

Ep 92Azure Functions and CosmosDB from MS Ignite

This is a special collaboration featuring John Calloway of The Six Figure Developer and our own Allen Underwood. The episode was recorded out at Microsoft Ignite 2018, and features talk about the future of cloudy infrastructures with a particular focus on Azure Functions and Azure Cosmos DB.

Oct 21, 20181h 7m

Ep 91How to Learn Programming Skills

We continue our dive into how to learn things while Michael's voice sounds an awful lot like Joe's, Joe says it's a square, and Allen says it's as triangle ... oh, and Google Feud is back!

Oct 8, 20181h 12m

Ep 90Comparing Git Workflows

We have some fun with our names, get ahead of ourselves during Survey Says, and vet Michael's tip on-air as we take a deep dive into comparing some popular Git workflows and when should we use which.

Sep 24, 20181h 48m

Ep 89Does Big O Matter?

We wrap up our conversation on complexity and play some more over/under as Allen thinks learning is backwards, Michael doesn't write clean code, and Joe brings his dog to the discussion.

Sep 10, 20181h 52m

Ep 88What is Algorithmic Complexity?

We continue our dive into Rob Conery's The Imposter's Handbook as Allen is Allen, Joe is Michael, Michael is Joe.

Aug 27, 20181h 41m

Ep 87Thunder Talks

Joe's voice sounds funny, Allen has a theme, and Michael pours one out for Media Play as Michael's and Allen's impersonation of Joe is on point (#NailedIt).

Aug 13, 20182h 0m

Ep 86Lightning Talks

We meet up around the water cooler for a quick round of lightning talks as Allen and Michael sing FizzBuzz while Joe passes the caching buck.

Jul 30, 20181h 58m

Ep 85Graph Algorithms

We continue digging into Rob Conery's The Imposter's Handbook as Joe explains Florida time, Allen likes greedy algorithms, and Michael shares his geography knowledge.

Jul 16, 20181h 15m

Ep 84Algorithms You Should Know

It's time we discuss algorithms we all need to know as we continue diving into Rob Conery's The Imposter's Handbook while Michael will read anything, Allen questions Greenland's name, and Joe talks wormholes.

Jun 25, 20182h 15m

Ep 83Search Driven Apps

We're talking databases, indexes, search engines, and why they're basically microwaves in this episode while Joe wears a polo, Allen's quick brown fox jumps over whatever, and Michael gives out fake URLs.

Jun 11, 20182h 18m

Ep 82Programmer Strengths and Weaknesses

Inspired by Rob Conery's The Imposter's Handbook, we take an introspective look at ourselves to find two weaknesses and one strength while Allen shows off his vocal prowess in song, Joe needs a list, and Michael is a dash.

May 28, 20181h 50m

Ep 81Understanding Complexity Theory

This episode we talk complexity theory while digging into Rob Conery's The Imposter's Handbook as Allen channels his inner Austin Powers, Michael finds linearly to complex to pronounce, and Joe ruins Batman for the rest of us.

May 14, 20181h 51m

Ep 80Docker for Developers

This episode we're talking about server naming conventions, confusing command line arguments, and how high we can get our voices. Huge thanks to the NSA and the freedom of information act for making this episode possible.

May 1, 20182h 6m

Ep 79Design Anti-Patterns: YoYo, The God Object and More

This week we're talking about some software anti-patterns, and the kinds of maintenance problems that arise from them. There are some anti-patterns we're very familiar with, and some we aren't so familiar with.

Apr 16, 20181h 28m

Ep 78Deliberate Practice for Programmers

It's time for more cowbell as we have a special guest in the studio, Will Madison (@IAmWillMadison), join us as Allen finally gets tripped up trying to pronounce a name, Joe teaches us the value of practice, and Michael evacuates in a rainbow colored straight line.

Apr 3, 20182h 16m

Ep 77Clean Architecture - Are Microservices Truly Decoupled?

We're back with our last deep dive into Robert C. Martin's latest book, Clean Architecture, while Allen suffers from sleep deprivation, Joe shows us his dance moves, and Michael's mind is blown on how to unit test.

Mar 19, 20182h 11m

Ep 76Clean Architecture - What is the Humble Object Pattern?

It's time for another deep dive into Robert C. Martin's Clean Architecture as Joe puts us on the spot, Allen has a new mission, and Michael shares his Easter eggs.

Mar 7, 20181h 44m

Ep 75Clean Architecture - Make Your Architecture Scream

Michael can't tell higher from lower, Allen puts his views where he wants them, and Joe snaps it to a Slim Jim as we discuss how to make our architectures scream while discussing Robert C. Martin's Clean Architecture.

Feb 19, 20182h 25m

Ep 74Clean Architecture - The Art of Drawing Lines

It's time for another deep dive into Robert C. Martin's Clean Architecture as Allen warns us about driving in front of him, Joe tries to describe a diagram again, and Michael can't understand the survey results.

Feb 5, 20181h 53m

Ep 73Clean Architecture - Keeping Your Options Open

Joe drinks too much coffee, Allen spits his coffee out, and Michael feels vindicated as the discussions about Robert C. Martin's latest book, Clean Architecture, continues.

Jan 23, 20182h 19m

Ep 72Clean Architecture - How to Quantify Component Coupling

Joe baits Michael, Michael takes the bait, and Allen lets it happen, as Uncle Bob explains how we can quantify the coupling between our components from his latest book, Clean Architecture.

Jan 8, 20182h 19m

Ep 71Clean Architecture - Components and Component Cohesion

Joe is down with OCP, Michael argues DRY, and Allen deletes our show notes as we dig into Components and Component Cohesion from Robert C. Martin's (aka Uncle Bob) Clean Architecture.

Dec 11, 20171h 58m

Ep 70How to Spend $2,500 on Developer Gear

We're back with another installment as we challenge ourselves to compare how we'd each spend $2,500 on developer gear as Allen waxes on about the loudest quiet keyboard, Joe teaches us how cheese is made, and Michael puts some neon on his computer.

Nov 13, 20171h 58m

Ep 69Clean Architecture - Programming Paradigms

Michael forgets what his favorite part of the show is, Joe makes us wait to learn what his favorite part is, and Allen pronounces it "pair-a-dig-'ems" as we continue our deep dive into Uncle Bob's latest book: Clean Architecture.

Oct 30, 20172h 8m

Ep 68Clean Architecture - Fight for Architecture

Joe learns of our harebrained idea, Michael learns of Eisenhower's matrix, and Allen explains polyfills as we begin our dive into Uncle Bob's latest book, Clean Architecture.

Oct 2, 20171h 37m

Ep 67Object Oriented Mistakes

Allen brings the dad jokes, Michael unplugs, and Joe gets a second wind as we discuss the anti-patterns found in object oriented programming.

Sep 18, 20171h 55m

Ep 66Project Management Anti-patterns

It's time for another episode as Joe wants to choke a developer, Michael scraps his new social networking platform, and Allen finally learns of dad jokes while we continuing the anti-pattern conversation.

Sep 5, 20172h 5m

Ep 65Software Design Anti-patterns

We've discussed design patterns too much. Now it's time for some discussion about anti-patterns as Joe has dark visions about robots, Allen has to take sensitivity training, and Michael picks Arial.

Aug 20, 20172h 4m

Ep 64What is Supple Design?

More Domain Driven Design talk this week: Supple Design, Declarative(ish?) Programming, and Ohio Envy.

Jul 27, 20172h 21m

Ep 63Explicit Constraints, Processes, Specification Pattern, and more

Know what Joe and Waldo have in common? We can't find either, as this week, it's just Allen and Michael to continue the dive into Domain Driven Design.

Jul 10, 20172h 3m

Ep 62Strategic Design and Domain Events

We're not saying that Michael is Carmen Sandiego. We're just saying that nobody has ever seen them in a room together. And this week, we don't know where in the world either are, as Allen and Joe continue the Domain Driven Design discussion without Michael. Nor Carmen.

Jun 26, 20171h 58m

Ep 61Aggregate Roots, Factories, and Repositories

Stitcher is back and so are we as Michael proves he doesn't have a career as a rapper, Allen can't type on his phone, and Joe tweets with famous authors as we continue our dive into Domain Driven Design talking about aggregate roots, factories, and repositories.

Jun 13, 20172h 11m

Ep 60The Domain in Domain Driven Design

We continue our Domain Driven Design conversation this week as Allen is indecisive, Michael decides for him, and Joe can't handle the night life.

May 29, 20171h 41m

Ep 59How to Jumpstart Your Next App

We're back with another exciting episode as Michael questions Hollywood, Allen dreams of his Hackintosh, and Joe is surrounded by Star Wars as we talk about how to jumpstart your next app with Michael Crump (@mbcrump) and Clint Rutkas (@clintrutkas).

May 11, 20171h 27m

Ep 58Why Domain Driven Design

This week, Michael asks his customers about their anemic domain model, Allen talks in front of people, and Joe plays Rocket League as we begin our dive into understanding domain driven design.

Apr 24, 20171h 32m

Ep 57How We Badly Built Stuff

This week we talk about all of the bad things we've done while making software. The good, the bad, ... oh wait, it compiles, never mind.

Mar 20, 20171h 38m

Ep 56Clean Code - How to Build Maintainable Systems

We're back with another deep dive into the infamous book Clean Code by Uncle Bob as Joe alters columns, Michael misreads things, and Allen has a positive customer service experience.

Mar 6, 20171h 58m

Ep 55Clean Code - How to Write Classes the Right Way

This week Allen is troubled by circles, Michael talks like a game show host, and Joe announces it's twins as we continue our deep dive into the classic Clean Code book by Robert C. Martin.

Feb 5, 20171h 23m

Ep 54Clean Code - How to Write Amazing Unit Tests

When and why should you write unit tests, and just how important are they? Take a listen and see what YOU think. For the full show notes visit: http://www.codingblocks.net/episode54

Jan 23, 20171h 20m

Ep 53Clean Code - Integrating with Third Party Libraries the Right Way

For the full show notes visit: http://www.codingblocks.net/episode53

Jan 8, 20171h 18m

Ep 52Clean Code - Error Handling

This week, we continue our Clean Code discussion as we dive into the joys and pains of error handing.

Dec 28, 20161h 25m

Ep 51Clean Code - Objects vs Data Structures

Dec 13, 20161h 50m

Ep 50Clean Code - Formatting Matters

For the full show notes visit: http://www.codingblocks.net/episode50 News Husain and Mike - Check your email! Shout out to AngryZoot! We just haven't mentioned her in a while, and she's awesome - and does martial arts Cynical Developer - James Studdart - Cake, XAML, React (Zac Braddy) Mark McDow - Winner of the O'Reilly Software Architecture Convention - $1700 Maurizio Pozzobon - Code Maid retraction O'Reilly discount code - 50% off print, 40% off e-books! (Soft Skills - JavaScript: The Good Parts) So - you should probably follow us on twitter, or join the mailing list! Michael attended DevFest 2016 - Google Developer Group http://www.gdgatl.xyz/ Secret Back Door in Some U.S. Phones Sent Data to China, Analysts Say http://www.nytimes.com/2016/11/16/us/politics/china-phones-software-security.html Allen attended MVP Summit - amazing Did some F# http://c4fsharp.net/ F# Dojo with Fractal Trees: https://github.com/c4fsharp/Dojo-Fractal-Forest Did some Bot programming - cool stuff Hololens: https://www.microsoft.com/microsoft-hololens/en-us Uhro Sharp - 3D programming in C# https://developer.xamarin.com/guides/cross-platform/urho/ Visual Studio for the Mac?! https://www.visualstudio.com/vs/visual-studio-mac/ Reply All - Pepe the Frog https://gimletmedia.com/episode/77-the-grand-tapestry-of-pepe/ Want a Coding Blocks sticker? Send us a Self-Addressed-Stamped-Envelope Clean Code - Drawing! Oddvar Tengesdal won a copy of Clean Code! Programming Beyond Practices http://shop.oreilly.com/product/0636920047391.do Survey [yop_poll id="26"] Formatting If your code is a mess, then people will assume that your attention to detail in how the app was coded is also a mess - perception Teams should adopt formatting rules and follow them Automated tools help with the process "Code formatting is important" Code formatting has a direct affect on maintainability and extensibility of code over time Vertical Formatting Try to keep max length around 500 lines long and smaller is better - FitNesse app is in this range Tomcat and Ant - several thousand lines long and at least half are over 200 Newspaper metaphor - read it vertically - headlines at the top detail increases as we go down the page Separate concepts with blank lines Closely associated code should be grouped together so it's dense Concepts (methods) that are closely related should be grouped as closely together as possible to keep from hunting through files Variable declarations should be as close to their usage as possible If the methods are short, then the variable declarations should be at the top of the function! Control variables for loop should be defined within the loop Instance variables should be declared at the top of a class When one function calls another, those should be close vertically in the file Conceptual affinity - when methods do similar things or are named similarly, they should also appear close to each other Vertical ordering of methods - the caller should be first, then the callee, and that method's callee, etc…on down the page New Survey New Macbooks - Death of Macbook Pro? - The beginning of a new awesome era? Horizontal Formatting How wide should a line be?! In the popular projects examined, it appeared that 40% of lines were between 20 and 60 characters Another 30% of lines were less than 10 characters… Author suggests that beyond 100-120 is careless Put spaces on both sides of an assignment operator (equals sign) Don't put spaces between the function name and the parens DO put spaces after individual arguments / parameters in a list - shows they are separate Also use spacing to indicate the precedence of operations - think of spacing in math equations with several parentheses - author calls it out for order of precedence, I actually don't like this one - I prefer grouping with parens Lining up variable declarations, names, types - found that it was distracting to the "story" of the code….I agree Hierarchically lining up code based on it's scope - super important Author would sometimes condense multiple lines into one (like a get; set;) eventually set it back for readability (breaking indentation) What about for PRINT statements in SQL??? while statements - indent the semicolon on the next line…otherwise they're hidden Follow the team's formatting rules…don't go vigilante He threw in Uncle Bob's formatting rules Resources we Like Clean Code Clean Code http://amzn.to/2cryvJR Tip of the Week Michael: Chrome Debugging - Break on Attribute Modification https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints Allen: Enforce code formatting amongst many editors for people on a team - from Gustav in our Slack community http://editorconfig.org/ Joe: Coding Math on Youtube: https://www.youtube.com/user/codingmath

Nov 29, 20162h 18m

Ep 49Clean Code - Comments Are Lies

This week, Michael fails geography, Allen introduces us to Croom, and Joe has to potty as we head into our third installment of the Clean Code series.

Nov 7, 20162h 19m

Ep 48Clean Code - How to Write Amazing Functions

We continue talking our way through Clean Code, taking a deep look at the building blocks of programming in the quest to write the best functions. Oh, and everybody sings. The original version of the show notes can be found at: http://www.codingblocks.net/episode48

Oct 17, 20162h 9m

Ep 47Clean Code - Writing Meaningful Names

In this episode, we take our first dive into the book Clean Code by Robert Martin and specifically we talk about writing meaningful names for all things code related. You'll be amazed at how following some decent rules that you can start naming things that will help you and fellow coders understand your code at a glance. You can see the original show notes and put your own stamp on our survey here: http://www.codingblocks.net/episode47 News Samsung 960 Pro http://www.anandtech.com/show/10698/samsung-announces-960-pro-and-960-evo-m2-pcie-ssds SQL Server 2016 Columnstore for real time operational analytics https://msdn.microsoft.com/en-us/library/dn817827.aspx Krebs site taken off Akamai http://www.zdnet.com/article/krebs-on-security-booted-off-akamai-network-after-ddos-attack-proves-pricey/ The best Android distribution is iOS? Outlaw's thoughts on various phone OS's Survey [yop_poll id="23"] Meaningful Names - Clean Code Chapter 2 "If a name requires a comment, then the name does not reveal its intent" Write explicit code - naming variables and methods can reveal the entire intent of the code Avoid using words that would be confusing like "List" as they refer to programming types and could be misleading : accountList should be accounts Avoid using characters that look like numbers i and L or capital o disinformative vs noninformative noise words "data" "info" - noninformative Types should almost never be in a name "table" "string" "object" Names should be distinguished so a user can look at them and understand the differences Use pronounceable names Use searcheable names - longer names trump shorter names Author's pref - single letter names should only be used as local variables inside small methods - length of the name should correspond to the size of its scope Avoid encoding names Avoid Hungarian Notation with typing as part of the variable name - simply not needed nowadays Stop prefixing member (instance) variables with m_ or _ Decorating Interfaces vs Classes with a prefix / suffix - opinion - he prefers ClassImp or vs IType Don't force someone to map variable names in their mind - n = username…smart programmer vs professional programmer - clarity is king Class names should be nouns - English 101 - NOT VERBS Method names should be verbs Use get, set, is - javabean standard When constructors are overloaded, use static factory methods with explicit names - liked this one, possibly make the constructors private Don't get cute with naming by means of jokes (inside or well known) Use consistent naming - Get, Set, Controller - makes it easier to understand and code various parts of an application Avoid puns - add for a collection vs add for setting a value - two different meanings with the same name Use technical names such as pattern names or CS terms in your names - other programmers will understand them better than the problem domain in some cases Fall back to the problem domain for a name if there is no suitable technical name Adding context to naming can clarify their use - prefixes can work but putting variables into classes may work out better "Hardest thing about choosing good names is that it requires good descriptive skills and a shared cultural background" Renaming things that don't make sense as you work in code is a good thing. Resources we Like Clean Code Clean Code by Robert C. Martin Even though we're giving our thoughts on the various ideas throughout the book, Clean Code has tons of excellent sample code that really helps drive the points home. We can't recommend it enough - it's probably one of the few books EVERY developer should read and revisit from time to time. http://amzn.to/2cryvJR Tip of the Week Allen: Implementing OAuth in ASP.NET for a number of providers http://www.oauthforaspnet.com/ Michael: Get out there! Go to conferences, meetups, do it all! http://www.connect.tech/ https://www.atlantacodecamp.com/2016

Sep 28, 20161h 51m

Ep 46Caching in the Application Framework

Storing smaller subsets of data in a faster, closer memory can make astronomical differences in performance. This episode we're talking about the caching tools and techniques that application frameworks provide. The original version of the shownotes can be found at: http://www.codingblocks.net/episode46

Aug 27, 20161h 56m

Ep 45Caching Overview and Hardware

In this episode we give a general overview of caching, where it's used, why it's used, and what the differences in hardware implementations mean in terms we can understand. This will be foundational to understanding caching at a software level in an upcoming episode. There's also something about the number 37 that may be the most important number to remember...ever... Podcast News You can see all the show notes in their original form by visiting: http://www.codingblocks.net/episode45 Thanks for your patience, we had a couple of rough audio situations - and we appreciate you sticking with us! iTunes Reviews Hedgehog, Thiagoramos.ai, Btn1992, Jonajonlee, UndeadCodemonkey, zmckinnon, hillsidecruzr, Dibjibjub, ddurose Stitcher Reviews pchtsp, rafaelh, CK142, TheMiddleMan124, LocalJoost 60 TB SSD!!! https://www.engadget.com/2016/08/09/seagate-60tb-ssd/ Samsung 950 Pro M.2 PCI SSD Samsung 950 PRO Series - 512GB PCIe NVMe http://amzn.to/2b0adZt Full Review http://www.anandtech.com/show/9702/samsung-950-pro-ssd-review-256gb-512gb Ready Player One (fiction book) http://amzn.to/2aPaCi3 Ready Player One - Amazing Audio Book Clean Code episodes coming soon + book giveaway - Stay Tuned! Caching: Turtles all the way down Turtles all the way down??? https://en.wikipedia.org/wiki/Turtles_all_the_way_down Storing a subset of information for faster retrieval The hit ratio dramatically increases as the cache size increases Think about a simple web request… Browser cache DNS cache ISP caching CDN Whatever your application is doing (redis, framework, database, etc) PLUS whatever the various computers are doing Why don't we cache everything? Fast is expensive! Cache Invalidation is hard! Caching at the hardware level Interactive Cache Visualization Latency Numbers Every Programmer Should Know https://gist.github.com/jboner/2841832 Relative Memory Access Interactive Demo http://www.overbyte.com.au/misc/Lesson3/CacheFun.html Caching is a strategy that computers use going all the way down to the processor L1 .5ns As quick as a it gets, how long it takes light to travel 6" Managed by the CPU itself, no assembly available! L2 7ns 14 x slower than L1 L3 / L4 / Scratch etc Main Memory Have numbers for a "reference" and a 1mb sequential read 100ns - 250,000ns 14 - 35,714 x slower than L2 200 - 500,000 x slower than L1 Network Sending is quick, there are numbers for that In general, a lot of variability here Same datacenter 500,000 ns 2 x slower than Main Memory 1 million times slower than L1 SSD Wait, network faster than the hd??? Yes, but no 1mb sequential 1 million ns 2 x slower than Network 2 million x slower than L1 Spinning Disk Get your employer to get you an ssd! 1mb sequential read 20 million ns 20 x slower than SSD 40 million x slower than L1 Internet Rough gauge of internet speeds Highly variable (CDN + ISP caching, for example), but gives you a sense of scale 150 million ns 7.5 x slower than spinning disk 300 million times slower than L1 In more relatable terms. 1 second for L1 Cache 5 days for memory 11 days for data center 23 days for SSD 15 months for HD Almost 10 years for internet! Think about how those numbers cache RAM / Application cache Local Hard drive Network storage Cache Server DB Summary Hope we gave you a good idea of the importance and scale of caching in computing at the hardware level Things we didn't talk about coming in a future episode: Application / Software caching and caching algorithms Resources we Like Latency Numbers Every Programmer Should Know https://gist.github.com/jboner/2841832 How L1 and L2 caching work http://www.extremetech.com/extreme/188776-how-l1-and-l2-cpu-caches-work-and-why-theyre-an-essential-part-of-modern-chips Relative Memory Access Interactive Demo http://www.overbyte.com.au/misc/Lesson3/CacheFun.html Miscellaneous Michael's Favorite Meetup Ever The Atlanta JavaScript Meetup http://www.meetup.com/AtlantaJavaScript/events/222696324/?a=cr1_grp&rv=cr1 Hacking Interviews with: Nick Larsen - http://cultureofdevelopment.com/ Sam Lawrence - http://www.samelawrence.com/ Tip of the Week Algorithms to Live By Joe: Algorithms to Live By There's something about the number 37%... http://amzn.to/2aX1iJk Michael: Use Sublime to replace \n with an actual new line by turning on RegEx search and replace. Or in Michael's case, replace with actual \n\t characters. http://stackoverflow.com/questions/20515670/replace-n-with-actual-new-line-in-sublime-text Allen: Collaborative Markdown Editor - What?! http://www.hackmd.io

Aug 12, 20161h 35m

Ep 44Stack Overflow Salaries and Landing the Job

This week on Coding Blocks, Allen says www as best he can, Joe eats the microphone, and Michael does something crazy as we discuss Stack Overflow's Salary Calculator and our experiences in landing the job - what to do and what not to do.

Aug 2, 20162h 39m

Ep 43Nulls, Procs, and Imposter Syndrome

This time we're talking about problems with nulls, stored procedures, and impostor syndrome. Link to Episode 43's Full Show Notes: http://www.codingblocks.net/episode43

Jul 5, 20161h 40m