October 7, 2019
What actually happens when you type something in the search bar at the top of and hit enter? This awesome interview with Liangjie Hong, Director of Data Science and Machine Learning, answers that question all the way from the philosophical (what should we show first?) to the inner workings (what is a reverse index and how does it work?). We also dive into what it's like to intern at a tech company. Happy Hacking! Show Notes:
September 14, 2019
Every interview we do is such an exciting and unique experience. Patrick and I had great pleasure in hosting Andy and Dave, authors of "The Pragmatic Programmer". We pick their brains on a variety of topics including rapid prototyping, the 10x engineer, tech leadership, and how to get your first coding job. Their new book, "The Pragmatic Programmer: 20th Anniversary Edition" comes out today! I hope that this interview inspires you all to grab their new book; it will definitely be a book-of-the-show for me. Show notes:
July 13, 2019
Surprise! Weekend episode :-D Every piece of code you write is either going to be for computer-to-computer interaction, or for human-machine interaction. For the latter, how do you make your interface easy to understand and use? Erik Kennedy, independent UX/UI designer, dives into user interface (UI) design. We cover the best tools for making quick prototypes, common design mistakes, and his journey from software engineer to freelance designer. This episode is a great way to get excited about design and has plenty of resources for first-time designers. Check out the show notes for details! Show notes:
June 19, 2019
Hey all! Since episode 82, we received a ton of email asking for more info on functional programming (FP). To cover FP in great detail we are thrilled to chat with Adam Bell. Adam is the host of the Corecursive podcast and an engineer with many years of experience in FP. In this episode, we dive into what FP is all about, when it's useful, static/dynamic typing (our favorite topic), and other areas of FP. Thanks again for all of your emails and support. It is a treasure to hear your inspirational stories and we are so greatful to be creating content for over eight years. Happy hacking! Show notes:
May 21, 2019
Hey all!! Ask and ye shall receive! Someone in the Programming Throwdown discord suggested that we cover terminals and shells, so here we are! Despite sounding simple on the surface, there's decades of complexity around terminal emulators and system shells. Patrick and I unpack this and more in today's episode! Thanks so much for all of your emails and support on Patreon! It's your enthusiasm and financial support that enable us to teach so many people, and we are eternally grateful for your support! Show notes:
April 30, 2019
Hey all!! Today we are sitting down with Jerome Hardaway. Jerome is an Air Force Veteran and the founder of Vets Who Code: a non-profit dedicated to training Veterans in web development and connecting Veterans to hiring managers around the World. Whether you have served in the military or not, this inspiring podcast gives us all a glimpse into the boots of someone who rotated into a career in software development after school, and is full of great advice for newcomers to the field. Learn more about Vets Who Code, including how to donate to the cause, in the show notes below! We have more interviews in the future, but the next two months will just be Patrick and I. Keep sending us emails with topics that you want us to cover! Show notes:
April 1, 2019
If you use ASCII encoding, the entire Oxford dictionary is about 5 million bytes. A single 4K image contains 25 million bytes. If you watch a 4K video running at 60 frames-per-second, over 300 dictionaries worth of data are going through your tv every second. Let that sink in for a moment. One of the most magical areas of engineering is image processing. Everything from the way the images are stored to advanced AI techniques like face recognition have mind-boggling complexity. In this episode, we scratch the surface of image processing, but if an area from this show interested you and you would like to learn more, let us know! Show notes:
March 4, 2019
While the web is one of the easiest platforms for deploying software, it can also be one of the trickiest to debug. People have many different browsers, and some have plugins or settings that restrict functionality. It may be extremely difficult to reproduce errors on your development machine. As a result, we want to discover as many errors as possible before we launch a new site. With node.js and people running javascript on the server, static checks become even more important. Enter typescript! Typescript is a language that transpiles to javascript, but along the way it adds type checking and advanced javascript features. After checking the types, typescript produces javascript that can run in almost any browser. Show notes:
January 15, 2019
Happy New Year! Today we are sitting down with Stephen Wolfram, inventor of Mathematica, Wolfram Alpha, and Wolfram Language! In this super interesting episode, Stephen talks us through his journey as a mathematician, software architect, and language inventor. It was truly an honor to talk to Stephen and hear about his decades of experience. Check this interview out and give us feedback! Show notes:
January 2, 2019
Hey all! This is our annual holiday show! We give away prizes and talk about random news stories :-D. Thanks to everyone who chatted with us on Discord, and looking forward to a super exciting 2019! I'll be sending an email to all prize winners later today! Show notes:
December 4, 2018
Hey all! How do you find and triage bugs on other people's machines when they don't have the source code (or the knowledge to build it)? That's what we explain in today's episode! It's one of the topics that's rarely spoken about but extremely important to get right before shipping any software product. Happy hacking! This is the last episode before our Christmas special! If you are a patron, make sure Patreon has your up to date address so we can mail prizes! If you aren't on Patreon, sign up before our Christmas show to be entered in our raffle!! Show notes:
November 13, 2018
Hey all! First of all, sorry for the delay in publishing October's episode. There are some pretty intense wildfires close to where we live, but it looks like things are getting under control. Huge thanks to all the firefighters! In this episode Patrick and I talk about teaching kids to code! We discuss how we learned to code and what are ways to build logic and reasoning skills in kids of all ages. Also we talk about ways to get kids excited about the fundamentals behind coding and solving problems. Check out the show notes here: Do you have any good resources for teaching coding to kids? Let us know in the comments and we'll mention it in the next episode! Also this is the last chance to become a Patreon subscriber if you want to be entered in this year's annual give-a-away episode which will happen sometime in December! Last year we had a lot of trouble mailing the tokens to everyone, but our gears are turning around gift ideas for this year. Either way, a few lucky patrons will get free t-shirts! Become a patron here: Happy Hacking!
September 28, 2018
Hey everyone! This episode is an absolutely fascinating interview with Jonas Bonér, creator of Akka. We dive into reactive programming, the actor model, and the Akka toolkit. Jonas also describes his journey as a developer that led him to create Akka and found Lightbend with Martin Odersky, the creator of Scala. Jonas brings a ton of in-depth technical discussion, so buckle up! :-) Show Notes:
September 6, 2018
Hey all! Since setting up the #questions channel in discord, a lot of you have written some phenominal and thought-provoking questions both there and via email, so this is a great time to go back through our favorites and answer them in a Mailbag episode! Thanks for your support by checking out our Books of the Show links and our audible and patreon links! I was able to send out all the domestic Christmas gifts (email me if you haven't gotten yours!) but we could not ship them Internationally. I'm still looking for a solution there, and will keep you posted! Show Notes:
July 31, 2018
What is a thread/process? How can you speed up a program that requires a lot of compute resources? How can you have a single machine serve web pages to 100s of people, some of whom have slow connections? Patrick and I answer these questions on today's show: Concurrency! We have also set up a discord channel! We will be posting news stories as we find them and also record the show live! Check out our channel here: Show Notes:
July 1, 2018
Sunday is a non-traditional day for a new episode and this is definitely a non-traditional episode! Today we are talking about Technical Arguments. We cover the most common arguments/debates you will have on the job as a software engineer and how to make the best arguments to reach the best decisions with the least amount of friction. Patrick and I tried not to inject our own opinions, but it's hard not to add our two cents (yes, spaces really are better). This episode is the first of a potential new genre of show, where we talk about non-technical facets of being a software engineer. Listen to this episode and report back on whether we should do more shows like this one! If you want us to stick to our existing formats (technical topic and interview) let us know that too! Show Notes:
May 31, 2018
Web services are for much more than building websites: they are one of the most common techniques for passing information among programs. Creating a web API for your program is a great way to access it from a browser, another program, or a mobile app. Today we chat with Abhinav Asthana, CEO of Postman, about building, scaling, and testing web services! Show Notes:
May 2, 2018
Julia may be the most requested language we have ever received on the show, so Patrick and I took some time of the past few weeks to get familiar with Julia and share our findings. Overall, it's a really slick language that has data and process parallelism built into the language, so it will run on many threads or even many machines without having to design a communication system by hand. Show Notes:
April 4, 2018
Writing documentation is an art and there aren't many cut-and-dry rules that will guarantee the right documentation quality. In this episode Patrick and I chat about our lessons learned and also cover a bunch of ways to document and write self-documenting code. Show Notes:
March 5, 2018
Ever want to build your own robot? We explain how to do this using Arduino! Show notes:
January 30, 2018
Today we discuss Cryptocurrency and Smart Contracts with Amy Wan, CEO of Sagewise. Amy has a legal background and combines this with expertise in cryptocurrency, blockchain, ICOs, and smart contracts. Show Notes:
December 19, 2017
How can you use all of the computers in your lab/office at the same time to speed up tasks? Today we talk with Dori Exterman, CTO of Incredibuild, about parallel computing and the awesome tool Incredibuild has created that can run any multi-process program on several machines. Show Notes:
November 28, 2017
How can you maintain a separate version of your app/site in all langauges and locales? How do you handle right-to-left text, various currencies, and a bunch of languages with non-ascii characters? We explain all this and more in Internationalization! Show notes:
October 30, 2017
Today, we are going to talk about... office space! Not the hilarious 1999 movie directed by Mike Judge, but modern office spaces for engineers and developers. We cover office setups, desk setups, amenities, and more! We won't cover IDEs (check out episode 55 for that) but we do cover how to code comfortably. Show Notes:
September 28, 2017
Did you know that there was a programming language co-invented by a consortium of government offices and top businesses (at the time)? Today we talk about that language: COBOL, and also discuss the mainframe computers of that era that ran COBOL. Show notes:
August 17, 2017
Today we chat with Mark Engelberg about his background in software engineering and game design. Show notes:
July 19, 2017
Today we chat with John Sonmez about soft skills: communication, self-motivation, learning to learn, and negotiation, Show notes:
June 30, 2017
Today we explain how cryptocurrency works and why it is possible to buy and sell electonic currency. Show notes:
May 30, 2017
In this episode we explain how code reviews work and why they are so important. Show notes:
May 15, 2017
In this episode we interview Josh and Adam from Kobiton. They describe the challenges with releasing a mobile app for many platforms, and how Kobiton allows one to test their app on many devices in the cloud. Show notes:
March 30, 2017
In this episode we explain how data is encrypted and decrypted, and how you can use encryption in the things you build. Show notes:
February 28, 2017
In this episode we interview Spencer Gibb and Mark Heckler from Pivotal, the company behind Spring Framework: a set of powerful enterprise Java libraries and services. Show notes:
January 24, 2017
On this show we discuss PHP and Hack, an language that extends PHP. Show notes:
December 22, 2016
On this show we discuss Clojure and ClojureScript, and all the amazing things you can build with them. Show notes:
November 23, 2016
How to build great mobile apps with Javascript. Show notes:
October 31, 2016
How to distribute software so it works on other people's computers. Show notes:
September 27, 2016
This show is an interview with Daniel Moore about scaling web sites. Show notes:
August 31, 2016
This show covers software optimization (how to make software run faster). Show notes:
July 22, 2016
This show is an intro to robotics. Blog post:
June 24, 2016
This show covers many different editors. Blog post:
May 25, 2016
On this episode we invite Mark Harris, Chief Technologist at NVIDIA, to talk about programming for the GPU. Show notes:
May 2, 2016
On this episode we invite Mikeal Rogers, Community Manager at the Node.JS Foundation, to talk about open source communities and organizing large open source projects.
March 28, 2016
This show covers Scientific Python: A platform for data analysis, visualization, and reporting built on top of python. Book of the Show Jason: Masterminds of Programming Patrick: Redshirts
February 24, 2016
This show covers Online/Continuing education. We ask the experts: How can more people get jobs in programming?
January 21, 2016
This show celebrates 50 episodes of Programming Throwdown! We answer questions from the audience live on .
December 21, 2015
This show covers Tamper Protection: How hackers are able to tamper with compiled programs and the programs that prevent tampering.
December 7, 2015
This show covers Source Control: Various tools that keep history of your code and enable code collaboration. Book of the Show Jason: Kobolds Ate My Baby Patrick: Firefight
October 12, 2015
This show covers Ruby: a multipurpose interpreted language for rapid development. Book of the Show Jason: Paranoia RPG Player’s Handbook Patrick: Lock In
September 10, 2015
This show covers R: a language suitable for data mining and machine learning. Book of the Show Jason: The hard thing about hard things Patrick: Steel World
August 11, 2015
This show covers game development at a AAA company, featuring Dave Smith from Naughty Dog Inc. and Florent Devillechabrol from Ubisoft. Jason: The Mythical Man Month ; Patrick: Armada
July 10, 2015
This show covers several programming languages we used as kids. Book of the Show Jason: Gödel, Escher, Bach: An Eternal Golden Braid ; Patrick: Leviathan Wakes
June 3, 2015
This show covers Debugging: how to fix and maintain code across any language. Book of the Show Jason & Patrick: Mindhacking
May 7, 2015
This show covers Fortran: An old (but still very useful!) imperative language for numerical calculations. Books of the Show Jason: A Theory of Fun in Game Design Patrick: Monster Hunter International
April 6, 2015
This show covers Node.js: A server-side platform for developing network applications. Books of the Show Jason: You Can Draw in 30 Days: The Fun, Easy Way to Learn to Draw in One Month or Less Patrick: Abyss Beyond Dreams (Peter F. Hamilton)
February 2, 2015
This show covers Unity: A Toolchain and set of three scripting languages primarily for making games. Tools of the show: Jason: Meld Patrick: Space Marshals
January 7, 2015
This show covers Rust: A memory-safe systems programming language. Tools of the show: Jason: This War of Mine Patrick: Vainglory.
November 22, 2014
This show covers SIMD: A set of languages for fast array operations. Tools of the show: Jason: OpenEmu Patrick: Books of the show: Jason: Emacs Quick Reference Card: Patrick: The Mote in God’s Eye
October 15, 2014
This show covers Funky Languages: esoteric languages that are created mostly for fun. Tools of the show: Jason: Open Broadcaster Software Patrick: Plex. Books of the show: Jason: Impro for Storytellers: Patrick: The Android’s Dream (John Scalzi):
September 8, 2014
This show covers Swift, a language developed by Apple for iOS and OS/X. Tools of the show: Jason: Nextdoor Patrick: Waze. Books of the show: Jason: Denial: Why Business Leaders Fail... Patrick: Red Seas Under Red Skies
August 1, 2014
This show covers Haskell, a statically-typed functional language. Tools of the show: Jason: Uber Patrick: Store Coupon Apps. Books of the show: Jason: Start With Why Patrick: Childhood's End
June 26, 2014
This show covers Databases. Tools of the show: Jason: nvAlt / nvPy Patrick: Arduino. Books of the show: Jason: Negotiating For Dummies Patrick: Steelheart
May 7, 2014
This show covers Design Patterns. Tools of the show: Jason: VirtualBox Patrick: Bittorrent Sync. Books of the show: Jason: HTML5 Game Development Insights Patrick: The Martian
March 18, 2014
This show covers OpenSCAD and 3d modeling. Tools of the show: Jason: uSelect iDownload Patrick: Skulls of the Shogun. Books of the show: Jason: My Friend Dahmer Patrick: Make Magazine
January 27, 2014
This show covers Unix Commands and How to Ace an Interview. Tools of the show: Jason: Duolingo Patrick: 123D Design. Books of the show: Jason: Locke and Key Patrick: Lies of Locke Lamora
November 20, 2013
This show covers Field Programmable Gate Array (FPGA) programming. Tools of the show: Jason: Kaggle Patrick: KiCad . Books of the show: Jason: Mahout in Action Patrick: Bebop to the Boolean Boogie
September 4, 2013
This show covers CUDA and OpenCL, languages targeting the Graphics Processing Unit (GPU). Tools of the show: NES/SNES Together, JODA-Time Books of the show: Understanding Computational Bayesian Statistics and Going Postal
June 13, 2013
This show covers Applied Artificial Intelligence, techniques for applying AI to work or hobby projects. Tools of the show: WebM and FFMpeg. Books of the show: 2br02b and The Code Book (Kindle:, (Paperback:
May 31, 2013
This show covers Theoretical Artificial Intelligence, a deep dive into what AI is all about. Tools of the show: TypeScript and Ridiciulous Fishing. Books of the show: Dungeon (Paperback: and Hitchhiker's Guide to the Galaxy (Kindle: (Hardcover:
March 26, 2013
This show covers Image Processing, techniques for manipulating images and extracting other useful information from them. Tools of the show: Moon+ Reader Pro and Spaceteam. Books of the show: Do Androids Dream of Electric Sheep? (Kindle: ), (Paperback: and Foundation (Kindle:, (Paperback:
February 22, 2013
This show covers unit testing, a way to put your code through the ringer before you show it to your users. Tools of the show: JsFiddle and Books of the show: The Lean Startup (Kindle: ), (Hardcover: and Ender’s Game (Kindle:, (Paperback:
January 29, 2013
This show covers some JVM languages, languages that are built on top of Java. Tools of the show: Ripple Emulator and Battle of the Bulge. Books of the show: Reinforcement Learning: An Introduction and Ready Player One
December 26, 2012
This show covers Hadoop, a set of several languages and libraries for working with big data. Tools of the show: Emacs and Chrome Browser Sync. Books of the show: Hadoop: The Definitive Guide and Anathem
December 9, 2012
This show covers LaTeX, a digital typesetting language. Tools of the show: Cocos2d-X and Snapseed. Books of the show: Algorithms in C++ and Head First Design Patterns
November 19, 2012
This show covers some of the top questions asked by the fans.
October 28, 2012
This show covers Query Languages, programming languages designed at accessing data from databases. Tools of the biweek: Pixen and Downcast
September 22, 2012
This show covers Beginner's All-purpose Symbolic Instruction Code (BASIC), a starter language for many programmers. Tools of the biweek: Dungeon Crawl Stone Soup and Wireshark
September 6, 2012
This show covers Go, an interpreted, low-level language that has native coroutine support. News:100000 DPI printer, Joyent Cloud ending lifetime support, Apple buys fingerprint company, Twitter caps 3rd party apps.
August 3, 2012
This show covers Java, a semi-compiled language used heavily in web and mobile development. News: Ouya android gaming console, Is C/C++ Worth It?, Engineered Jellyfish. Tools of the BiWeek: Cygwin, MinGW and Macports, uShare.
June 27, 2012
This show covers build automation, scripts to streamline the build process. News: New Top Level Domains, Anatomy of Freemium, LinkedIn Passwords Leaked, $100 Masters Degree. The tools of the biweek are Apache Cordova (Formerly PhoneGap), Xbox Media Center (XBMC).
May 29, 2012
This show covers Lua, an interpreted language designed to be embedded into larger applications. News: Facbeook IPO, Javascript Arduino programming, Brain Controlled Robots. The tools of the biweek are JDBM/BerkeleyDB and Audacity.
April 26, 2012
This show covers Interface Descrption Languages (IDLs), such as thrift and protocol buffers. News: Sony fighting with PSP hackers, Pebble smartphone watch, Pacman runs on 0x10C, UF Computer Science cuts. The tools of the biweek are Sublime Text Editor and Luminance HDR.
April 9, 2012
This show covers C++, a general-purpose programming language. News: Visualizing code to fail faster, the future of the used game market, Prince of Persia source code found. The tools of the biweek are sfxr and DC universe online.
March 20, 2012
This show covers Dart, a client-side browser alternative to javascript. Dart currently only runs in Chrome, but dart code can be compiled to javascript and then run in any browser. News: Raspberry Pi, California allows autonomous cars, Stanford online courses. The tools of the biweek are Disk Usage Programs (WinDirStat, Disk usage Analyzer, and Disk Inventory X), and Spelunky.
February 26, 2012
This show covers Lisp, one of the first functional langauge that is often used for academic purposes, but also has a place in industry. The episode talks about Cuda, how to write a Roguelike, becoming a good programming, and DOS games on Chrome. The tools of the biweek are Google Native Client (NaCl), a way to run native C/C++ code in a browser, and Handbrake, a way to make copies of your video DVDs.
August 29, 2011
This show covers Javascript, the only client-side scripting language built into most modern browsers. The episode talks about Patrick's move to Silicon Valley, Codecademy, The HP Touchpad Fire sale, and Minecraft's Notch challenging Bethesda to Quake 3. The tools of the biweek are Low-Level Virtual Machine (LLVM), an open source virtual machine and suite of compilers that compile and run code from many languages. and Hamachi, a free virtual private networking solution.
August 5, 2011
This show covers HyperText Markup Language (HTML) and Cascading Style Sheets (CSS), two of the three languages that make up most client-side Internet programming. The episode talks about the Humble Indie Bundle 3, Linux Kernel reaching 3.0, and the end of manned space flight program. The tools of the biweek are Freemind, an open source brainstorming assistant, and Picasa, a free photo editing and hosting service.
July 4, 2011
This show covers Prolog (Programmable Logic), a rule based language based on deductive inferencing. The episode talks about the Zynga IPO, Google+, and types of coders (Computer Scientist, Programmer, and Developer). The tools of the biweek are FreeNX, a remote desktop server and client, and Evernote, a note taking application that stores notes in the cloud.
June 18, 2011
This show covers Objective-C, the premier language for iphone, ipad, and os/x app development. The episode talks about the upcoming Wii U console and Duke Nukem Forever, (possibly) the most offensive game ever made. After the news, the show discusses why and how Patrick and Jason got into programming. The tools of the biweek are JavE, an ascii art drawing and conversion tool, and Ascii Flow Diagram, an ascii art flowchart creator.
May 21, 2011
This show covers Assembly, the lowest level language used to program a computer. This episode talks about the amount of traffic Netflix is generating, how many ebooks Amazon now sells, Apple not standing up for its developers, how young is too young for facebook, working on open source projects, and a new tool called Hype. The tools of the day are FileZilla, a cross platform ftp client, and PuTTY, a Windows SSH tool.
May 13, 2011
This show covers C# a CLI language designed by Microsoft. This episode talks about over the air updates, decompiling, and Ubuntu. The tools of the day are VLC, a cross-platform video player and PortableApps, a collection of applications able to run off a USB drive.
April 27, 2011
This show covers Matlab, a matrix-based interpreted multiprocessing function language. This episode talks about cloud computing, gaming, and then DIY hardware. The tools of the day are TI MSP430 Launchpad, a hobbyist single board computer (SBC) and Sketchup, a 3d prototyping software.
April 8, 2011
This show covers Erlang, a multiprocessing function language. The show talks about latest updates in C++ and java, then talks about open sourcing hardware. The tools of the day are MS Dependency Walker, a DLL resolver and Keepass, a password multiplexer.
March 25, 2011
This show covers Python, a popular interpreted language. The show begins with discussion on javascript and browser updates, then goes into the Goldman Sach's stolen code trial, eco-friendly programming, and the origins of Oregon Trail. The tools of the day are Fossil a distributed version control system and Unison, a two-way file synchronization utilities.
March 9, 2011
This show covers C, the foundation of all programming languages. We begin by introducing ourselves, then jump into talking about the PS3 hack and Nokia cell phone strategy. The tools of the day are Comix the comix book reader and Bitcoin, a virtual currency.
      0:00:00 / 0:00:00