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/

Tuesday, December 19, 2017

Episode 73: Parallel Computing with Incredibuild

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

Parallel Computing with Dori Exterman, CTO of Incredibuild

  •  What is parallel computing and what is the motivation behind it?
  • What problem are people trying to solve by using parallel computing?
  • What are the similarities/differences between parallel computing on a single computer vs multiple?
  • How do you know if parallel computing will help a given problem?
  • How do builds get long?
  • How does it affect the trend of moving towards continuous delivery and DevOps practices?
  • What are general strategies for getting builds faster? 
  • What is it like to work at Incredibuild?  Any job openings?
  • Free trial of Incredibuild: https://www.incredibuild.com/trial_download

Tuesday, November 28, 2017

Episode 72: Internationalization

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

December Prize Give-a-way

News/Links

Book of the Show

Tool of the Show

Internationalization (i18n)

  • Localization (l10n) versus Internationalization (i18n)
  • Things to think about
    • Right-to-left & Bottom-to-top
    • Comma vs period number separators
    • Currency Symbols
    • Dates M/D/Y versus D/M/Y
  • Character Sets
    • ASCII
    • Unicode
      • UTF-8 versus 16 & 32
  • Tools
    • Gettext
    • ICU

Monday, October 30, 2017

Episode 71: Office Spaces

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

Our wifi setups.

News/Links

Book of the Show

Tool of the Show

Office Spaces

  • Office Setup
    • Bullpen / Cubicles / Offices / Home
    • Open Office / Assigned Seats
    • Conference Rooms 
  • Desk Setup
    • Standing vs. Sitting vs Electronically Adjustable Desks
    • Desktop/Laptop/Both
    • External monitor(s)
    • Ergonomic mouse / chair / keyboard
  • Office Amenities
    • Food
    • Gym
    • Game room (ping pong, xbox)
    • Nap pods / Quiet rooms
  • Novelty Desk Setup
    • Exercise Ball chairs
    • Treadmill Desks
  • Novelty Amenities
    • Massage
    • Valet w/ free fuel
  • Novelty Transportation
    • Airplane
    • Ferry

Thursday, September 28, 2017

Episode 70: COBOL and Mainframes

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

Game Theory + Reinforcement Learning https://www.youtube.com/watch?v=jwlteKFyiHU

News/Links

Book of the Show

Tool of the Show

COBOL and Mainframe Computing

  • History of COBOL
    • Sponsored by the Department of Defense & Companies
      • GE, Phillips, IBM
    • Most popular language worldwide by 1970
    • Over 60% of organizations still use COBOL as of 2012
    • Used for back-end financial services and mainframes
    • The Y2K Problem
  • Basic Features
    • Procedural
    • Compiled
    • Statically Typed for objects, duck typed for primitives
  • Unique Features
    • Picture clauses
      • Similar to sprintf but stateful
  • Current State
    • COBOL 2014
    • A majority of software managers said they are moving off COBOL or would if it was cheaper
  • Mainframes & Batch Processing
    • Submit jobs, wait in queue for results
    • Initially punch cards handed to a human
    • A massive machine with total data locality