Tuesday, December 4, 2018

Episode 84: Customer Bug Handling

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

Join us on Discord! https://discord.gg/r4V2zpC

Intro

Funny Computer Science Pop Culture

https://www.youtube.com/watch?v=hkDD03yeLnU
https://www.youtube.com/watch?v=kRcdmbC0HHs
https://www.youtube.com/watch?v=K7Hn1rPQouU

News/Links


Book of the Show

Tool of the Show

  • Jason: Software RAID Controller
  • Patrick: Pass

Customer Bug Handling (41:04)

  • Desktop
    • Distribute your binary
    • Turn on debug symbols
    • Add rolling logs
      • Balancing size vs not missing the event
      • Log Levels (Performance implications)
    • Add crash handlers
    • Catch Signals
    • Process logs
      • Grep / jq
    • Interpreting Stack Traces
      • Addr2line / atos
      • Turn off address scrambling (security implications)
    • Sending data to your database
      • REST/GraphQL endpoint
      • Windows/Fedora/Debian crash aggregator
  • Web Client
    • Send crash logs over AJAX
  • Mobile

Monday, October 1, 2018

Episode 82: Reactive programming and the Actor model with Jonas Bonér

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

Reactive programming and the Actor model with Jonas Bonér

  • Tell us about your background
  • What is reactive programming?
  • What is the actor model?  How does it fit with reactive programming?
  • Why would someone use this way of programming?
  • When is it applicable and when it is not a good fit?
  • How does the actor model compare to other distributed programming paradigms (MPI, Map-Reduce)
  • How can the system recover from node failure?
  • What is Akka?
  • What is it like to work at Lightbend?  Are you hiring?

More info:

Follow Jonas Bonér on Twitter: https://twitter.com/jboner
Check out Akka here: https://akka.io/

Thursday, September 6, 2018

Episode 81: 2018 Mailbag

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

Christmas Gifts

News/Links

Book of the Show

Tool of the Show

Mailbag (29:15)

  • Nathan
    •  PICO-8 and/or the pocketCHIP (if you order one, be warned they are behind on other orders. Check their forums) for simple 2D game development with Lua.
  • Dylan
    • Modding video games?
  • David
  • Jack
    • How do we manage passwords?
  • “A Listener”
    • For job security, as an individual, is it best to have a little knowledge on a lot of languages or to specialise in just a single one
    • Switching programming languages for a whole organization
  • Chris
    • OS X, Windows, Linux? If Linux, what distro? What do you use day to day? What languages? 
    • What's your favorite development platform? Laptop? Battlestation? SMART PHONE?!
  • BSDTech (Discord)
    • I have a question.  As a fairly new programmer how do you best deal with variables changing types and being cast wrong in languages like python (what im working on).  In C it was fairly easy either its the right type all the time or it fails miserably and you didn't have random "its a NoneType this time" errors other than doing a ton of if loops checking for it
  • McGee (Discord)
    • I’m taking a class this semester called Operating Systems. In this class we will be creating a basic operating system in C and apparently some Assembly... what are some things to keep in mind or to expect when writing something like this?
  • Vellor (Discord)
    • Will we ever revisit topics on the show?
  • Apettit9 (Discord)
    • What do you listen to while you work?
  • Peter (Discord)
    • What are some of the best work from home positions? Sometimes it's hard to work remote, but are there any positions that are a good fit? Or does it depend more on company culture/co-workers?
  • ReillyC52 (Discord)
    • Where are some of best places to discover new open source projects and contribute to them ?
  • Grant (Discord)
    • Immutable vs. mutable objects
    • New AI Libraries (tensorflow, keras, pytorch)

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: