Programming Throwdown attempt to educate Computer Scientists and Software Engineers on a cavalcade of programming and tech topics. Every show will cover a new programming language, so listeners will be able to speak intelligently about any programming language.
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: https://www.programmingthrowdown.com/2019/07/episode-92-basics-of-ui-design-for.html
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.
Show notes: https://www.programmingthrowdown.com/2019/06/episode-91-functional-programming-with.html
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: https://www.programmingthrowdown.com/2019/05/episode-90-terminals-and-shells.html
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: https://www.programmingthrowdown.com/2019/04/episode-89-from-combat-to-code.html
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: https://www.programmingthrowdown.com/2019/04/episode-88-image-processing.html
Show notes: https://www.programmingthrowdown.com/2019/03/episode-87-typescript.html
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: https://www.programmingthrowdown.com/2019/01/episode-86-wolfram-language-and.html
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: https://www.programmingthrowdown.com/2019/01/episode-85-holiday-party.html
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: https://www.programmingthrowdown.com/2018/12/episode-84-customer-bug-handling.html
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: https://www.programmingthrowdown.com/2018/11/episode-83-teaching-kids-to-code.html
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: https://www.patreon.com/programmingthrowdown
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: https://www.programmingthrowdown.com/2018/09/episode-82-reactive-programming-and.html
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: https://www.programmingthrowdown.com/2018/09/episode-81-2018-mailbag.html
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: https://discord.gg/r4V2zpC
Show Notes: https://www.programmingthrowdown.com/2018/07/episode-80-concurrency.html
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: https://www.programmingthrowdown.com/2018/07/episode-79-technical-arguments.html
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: https://www.programmingthrowdown.com/2018/05/episode-78-building-and-testing-web.html
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: https://www.programmingthrowdown.com/2018/05/episode-77-julia.html
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: http://www.programmingthrowdown.com/2018/04/episode-76-code-documentation.html
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: http://www.programmingthrowdown.com/2018/01/episode-74-cryptocurrency-smart.html
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: http://www.programmingthrowdown.com/2017/12/episode-73-parallel-computing-with.html
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: http://www.programmingthrowdown.com/2017/11/episode-72-internationalization.html
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: http://www.programmingthrowdown.com/2017/10/episode-71-office-spaces.html
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: http://www.programmingthrowdown.com/2017/09/episode-70-cobol-and-mainframes.html
Today we chat with John Sonmez about soft skills: communication, self-motivation, learning to learn, and negotiation, Show notes: http://www.programmingthrowdown.com/2017/07/episode-68-soft-skills-with.html
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: http://www.programmingthrowdown.com/2017/05/episode-65-testing-on-mobile-with.html
In this episode we explain how data is encrypted and decrypted, and how you can use encryption in the things you build. Show notes: http://www.programmingthrowdown.com/2017/03/episode-64-cryptography.html
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: http://www.programmingthrowdown.com/2017/02/episode-63-spring-framework.html
This show covers R: a language suitable for data mining and machine learning. Book of the Show Jason: The hard thing about hard things http://amzn.to/1UqMjDD Patrick: Steel World http://amzn.to/1JMcsa5
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 http://amzn.to/1DGOwbW ; Patrick: Armada http://amzn.to/1L4j2Pj
This show covers several programming languages we used as kids. Book of the Show Jason: Gödel, Escher, Bach: An Eternal Golden Braid http://amzn.to/1LWYOpJ ; Patrick: Leviathan Wakes http://amzn.to/1HjpfAo
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 http://amzn.to/1FShtR6 Patrick: Monster Hunter International http://amzn.to/1EeqWO2
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 http://amzn.to/1CsrFsO Patrick: Abyss Beyond Dreams (Peter F. Hamilton) http://amzn.to/1NYmqJZ
This show covers Unity: A Toolchain and set of three scripting languages primarily for making games. Tools of the show: Jason: Meld http://meldmerge.org/ Patrick: Space Marshals http://www.pixelbite.se/pbsite3/?page_id=7675
This show covers SIMD: A set of languages for fast array operations. Tools of the show: Jason: OpenEmu Patrick: Mint.com. Books of the show: Jason: Emacs Quick Reference Card: http://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf Patrick: The Mote in God’s Eye http://amzn.to/1AwlOaf
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: http://amzn.to/1sMohKv Patrick: The Android’s Dream (John Scalzi): http://amzn.to/1wHkOL0
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... http://amzn.to/1rvKXbP Patrick: Red Seas Under Red Skies http://amzn.to/1oZplmS
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 http://amzn.to/1uNg61I Patrick: Childhood's End http://amzn.to/1s8Fmv
This show covers Design Patterns. Tools of the show: Jason: VirtualBox Patrick: Bittorrent Sync. Books of the show: Jason: HTML5 Game Development Insights http://amzn.to/1g94JVS Patrick: The Martian http://amzn.to/1smEYc8
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 http://amzn.to/1eOLNL8 Patrick: Make Magazine http://makezine.com/
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 http://amzn.to/L2LmEq Patrick: Lies of Locke Lamora http://amzn.to/1dIUJjy
This show covers Field Programmable Gate Array (FPGA) programming. Tools of the show: Jason: Kaggle http://www.kaggle.com/ Patrick: KiCad http://www.kicad-pcb.org/ . Books of the show: Jason: Mahout in Action http://amzn.to/1eizgRS Patrick: Bebop to the Boolean Boogie http://amzn.to/1cGRdaD
This show covers CUDA and OpenCL, languages targeting the Graphics Processing Unit (GPU). Tools of the show: NES/SNES Together https://play.google.com/store/apps/details?id=com.github.mistertea.android.emu.nes https://play.google.com/store/apps/details?id=com.github.mistertea.android.emu.snes, JODA-Time http://www.joda.org/joda-time/. Books of the show: Understanding Computational Bayesian Statistics http://amzn.to/1cGrjEX and Going Postal http://amzn.to/13egaIw
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 http://www.gutenberg.org/ebooks/21279 and The Code Book (Kindle: http://amzn.to/14zADaL), (Paperback: http://amzn.to/11j2l7G)
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: http://amzn.to/11Iares) and Hitchhiker's Guide to the Galaxy (Kindle: http://amzn.to/117nNv3) (Hardcover: http://amzn.to/11IaEyj)
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: http://amzn.to/14mk17G ), (Paperback: http://amzn.to/XamtLA) and Foundation (Kindle: http://amzn.to/XamMWD), (Paperback: http://amzn.to/WUb1Cg)
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 towel.blinkenlights.nl. Books of the show: The Lean Startup (Kindle: http://amzn.to/157xbEl ), (Hardcover: http://amzn.to/12HwaDp) and Ender’s Game (Kindle: http://amzn.to/VcfVtD), (Paperback: http://amzn.to/Wg32hx)
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 http://amzn.to/X6DpwS and Ready Player One http://amzn.to/Yg3zzP
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 http://tinyurl.com/cp3mw32 and Anathem http://tinyurl.com/cas8bux
This show covers LaTeX, a digital typesetting language. Tools of the show: Cocos2d-X and Snapseed. Books of the show: Algorithms in C++ http://tinyurl.com/agbc8t7 and Head First Design Patterns http://tinyurl.com/ayxb7q6
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.