Tuesday, July 31, 2018

Episode 80: Concurrency

Download

We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

We are on Patreon! https://www.patreon.com/programmingthrowdown

T-Shirts! http://www.cafepress.com/programmingthrowdown/13590693

Intro

We are on discord! https://discord.gg/r4V2zpC

News/Links

Book of the Show

Tool of the Show

Concurrency (29:15)

  • Why?
    • Getting more work done
    • Handling asynchronous requests
  • How?
    • Threads vs Processes
    • Message Passing
    • Shared Memory
    • Threadpool
  • Locking/Mutex/Semaphore
    • Coordinating Threads
    • Preventing Threads from modifying the same structure
  • Pitfalls
    • Race conditions
    • Deadlock
  • Advice
    • Don’t do concurrency yourself
      • Gnu parallel
      • Async libraries
      • Basic Linear Algebra System
    • Have a way to actually measure results

Sunday, July 1, 2018

Episode 79: Technical Arguments

Download

We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

We are on Patreon! https://www.patreon.com/programmingthrowdown

T-Shirts! http://www.cafepress.com/programmingthrowdown/13590693

Intro

Understanding how Blockchain works

News/Links

Book of the Show

Tool of the Show

Technical Arguments (1:00:26)

  • Making progress vs “Doing it Right”
    • Adding/Reclaiming Technical Debt
    • Delivering on time
    • When/how to optimize
  • Language Arguments
    • Which language to use
    • Tabs vs Spaces
    • Style
    • IDE/Text Editor
  • How to make technical arguments
    • Reflect on why you want X
    • What alternatives/substitutes exist?  What compromises?
    • Do not force an argument to complete in a single session
    • In between sessions, reflect on what has changed
    • Pick your battles

Thursday, May 31, 2018

Episode 78: Building and Testing Web Services with Postman

Download

We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

We are on Patreon! https://www.patreon.com/programmingthrowdown

T-Shirts! http://www.cafepress.com/programmingthrowdown/13590693

Building and Testing Web Services with Postman

  • What is a web service and how is it different from a web page?
  • What is REST?
  • Why would someone use a web service if they aren't building a website?
  • How can we make sure a web service is reliable?
  • What is Postman?  
  • What is it like working at Postman? Is Postman hiring?

More info:

Wednesday, May 2, 2018

Episode 77: Julia

Download

We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

We are on Patreon! https://www.patreon.com/programmingthrowdown

T-Shirts! http://www.cafepress.com/programmingthrowdown/13590693

Intro

Classic Computer Science

News/Links

Book of the Show

Tool of the Show

Julia (51:10)

  • Scientific Programming
    • Typically slow interpreter, but very fast instructions
    • Optimized instructions
      • BLAS (Basic Linear Algebra System) library
      • FFTW (Fastest Fourier Transform in the West)
      • OpenMP
    • IDE with plotting, visualization support
      • MATLAB IDE
    • Jupyter/ipython
  • Top Features
    • Async (check episode 41 for details)
    • Native multiprocessor and distributed support
    • Completely free and open source (better than Java)
    • Compiled
    • 2017 Used for scientific calculation that reached 1.54 petaflops
      • C, C++, Fortran are only other high level languages to be used at 1+ petaflops so far

Wednesday, April 4, 2018

Episode 76: Code Documentation

Download

We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

We are on Patreon! https://www.patreon.com/programmingthrowdown

T-Shirts! http://www.cafepress.com/programmingthrowdown/13590693

Intro

How to prepare for System Design & ML Design interviews.

News/Links

Book of the Show

Tool of the Show

  • Jason: iFunny/9GAG
  • Patrick: PUBG Mobile

Code Documentation (52:42)

  • Why Document?
    • More people will read code than write it.
    • Recover context on a piece of code quickly.
    • Avoid unexpected inputs
  • Vanilla code comments
    • At the top
    • At the line
  • Ways to self-document code
    • Function & Variable signatures
    • Extra scope around variables
    • Avoid variable reuse
    • (Sometimes) describe the type in the variable name
  • Generators
    • C/C++/Java
      • Doxygen
      • Javadocs
    • Python
      • Sphinx
    • Javascript
      • JSDoc

Monday, March 5, 2018

Episode 75: Arduino

Download

We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

We are on Patreon! https://www.patreon.com/programmingthrowdown

T-Shirts! http://www.cafepress.com/programmingthrowdown/13590693

Intro

Should working programmers be expected to code in their free time?
https://dev.to/ben/its-perfectly-fine-to-only-code-at-work-dont-let-anyone-tell-you-otherwise--25i3

News/Links

Book of the Show

Tool of the Show

Arduino

  • Overview
    • Open Hardware and Software
    • Board + IDE
  • Software
    • Arduino IDE
    • Wiring / Arduino language
      • Functions
      • The Core
      • C/C++
    • Sketch
      • Setup and Loop
      • Main calls init(), setup(), loop()
  • Processor
    • Originally based on 8-bit Atmel AVR chips
    • Many variants now. Most known are the ones with female headers to support shields 
  • Hardware
    • Hardware libraries
    • Internal
      • ADC
      • PWM
    • Shields
      • Boards that plug into the main board
      • Add extra functionality
      • Communicate using GPIO pins
    • Sensors, Motors, & Displays
      • Communicate over GPIO
      • May require libraries to use effectively
  • Kits & starter packages

Tuesday, January 30, 2018

Episode 74 Cryptocurrency & Smart Contracts With Amy Wan

Download

We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

We are on Patreon! https://www.patreon.com/programmingthrowdown

T-Shirts! http://www.cafepress.com/programmingthrowdown/13590693

Cryptocurrency & Smart Contracts With Amy Wan

  • What is blockchain?
  • What is cryptocurrency?
  • What is a smart contract?
  • What is an ICO?
  • Security vs utility
  • What ICOs have you been most excited about?
  • How do ICO relate to crowdfunding?
  • Any advice for a good crowdfunding campaign?
  • What is it like working at Sagewise?  Are you hiring?

More info:

Catch Amy on Twitter: https://twitter.com/amyywan
Check out Sagewise's website: https://www.sagewise.io/