Tuesday, February 28, 2017

Episode 63: Spring Framework

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 Topic: https://www.tinywhoop.com/

News/Links


Book of the Show


Tool of the Show


Spring Framework with Spencer Gibb and Mark Heckler

  • What is Spring?  What's the history of Spring?
  • What is pivotal?
  • How/when is it most useful?
  • Who uses Spring?
  • How does someone get started and build their first spring app?
  • What has the Spring team been working on recently?
  • Besides Spring Framework, is there anything that you would like our listeners to check out?
  • Are you hiring?




Tuesday, January 24, 2017

Episode 62: PHP and Hack

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

News/Links


Book of the Show


Tool of the Show


PHP & Hack

  • PHP
    • Intro
      • Templating
      • Can Embed in HTML
      • Server-Side HTML Rendering
    • Advantages
      • Lots of libraries
      • Lots of tutorials and examples
    • Details
      • Weakly typed
      • Associative Arrays but with iterative support
      • Classes (as of PHP 3)
  • Hack
    • Backwards-compatible with PHP
      • Can run PHP code in hack without side effects
      • Compiled and Faster (HHVM)
    • Adds new features:
      • Types & Nullable
      • Generics
      • Collections, Lambda functions
      • Async functions
  • Why/When to use?
    • Legacy Systems
  • Where is it used?
    • Wordpress, phpBB, phpMyAdmin, Gallery, Drupal, MediaWiki, Joomla




Thursday, December 22, 2016

Episode 61: Clojure with Eric Normand

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

Clojure with Eric Normand

  • Tell us about yourself and what you do
  • What is functional programming?
  • What is Clojure?  How is it different than lisp (or common lisp)?
  • Why should I learn Clojure?
  • How can I make an app or website in clojure?  
  • If I want to write one piece in clojure, how would that work? 
  • What is the job market for clojure?
  • What is the best way to learn clojure?

Eric's resources:

Eric's twitter: https://twitter.com/ericnormand
Purely Functional: https://purelyfunctional.tv
LispCast: http://www.lispcast.com/



Wednesday, November 23, 2016

Episode 60: Javascript for Mobile

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

Javascript For Mobile with Burke Holland

  • Tell us about yourself and what you do!
  • How does mobile development work?
  • How is mobile development different from making a desktop program?
  • What is NativeScript / React Native? 
  • Why use JavaScript for native development?
  • If I have to make a website anyways, why not just wrap my existing website into an app (e.g. Cordova)?
  • How do you think mobile development will change in the next few years?
Burke's resources:

Progress Software - progress.com
NativeScript - nativescript.org
NativeScript Slack Channel - https://nativescriptcommunity.slack.com
NativeScript Getting Started Guide - http://docs.nativescript.org/angular/start/introduction.html
Key Differences Between NativeScript And React Native - https://www.quora.com/What-are-the-key-difference-between-ReactNative-and-NativeScript/answer/Valentin-Stoychev
Hybrid Migration Guide (for those looking to move from Cordova to NativeScript)  - http://www.hybridtonative.com
Kendo UI - www.kendoui.com
Kendo UI For Angular 2 - http://www.telerik.com/kendo-angular-ui/
Sharing Code Between Web And Native Mobile - https://github.com/NathanWalker/angular-seed-advanced#general-best-practice-guide-to-sharing-code




Monday, October 31, 2016

Episode 59: Deploying Software

Download

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

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

Intro topic: T-Shirts http://www.strawpoll.me/11315986

News/Links


Book of the Show

Tool of the Show


Deploying Software Discussion

  • Application Distribution
    • Why you can’t zip your program and send the zip to someone
  • Dependencies
    • Shared vs. Static libraries
  • Desktop Installers
    • Windows: Nullsoft Scriptable Install System
    • OSX: Sparkle
    • Linux: Personal Package Archive
  • App Stores (Steam, Windows, Apple, iOS, Android)
  • Continuous Delivery vs Continuous Deployment
  • Web deployment
    • Hot-swapping a website
    • Database migration




Tuesday, September 27, 2016

Episode 58: Scaling Web Sites

Download

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

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

Scaling Web Sites with Daniel X Moore

  • Who is Daniel and what is your role at fog creek?
  • What is a web stack? What are some examples?
  • Why do front end web programmers have to consider or work on back end systems?
  • What are the problems/symptoms I might have that should lead to considering docker?
  • What happens when my website becomes so popular that I need more than one webserver?More than one database?
  • Monolith vs microservice?
  • What are the best things to learn now to get started and become productive?
  • What is HyperDev?

Wednesday, August 31, 2016

Episode 57: Optimization

Download

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

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

Intro topic: Public Service Announcement: Binomial Distribution

News/Links


Book of the Show

Tool of the Show


Optimization Discussion

  • Architecture
    • SIMD
    • GPU
    • CPU
  • Compiler settings
    • Optimization Settings (Why to turn on or off) (size vs speed)
    • Loop Unrolling
  • Memory
    • Cache Levels vs Main Memory
    • Data Locality/Access Patterns (Matrix multiply optimization)
  • Indexing
    • Trees
    • Hashing (Clustering)
  • Distributed Computing
    • Threading
      • Multi-Thread
      • Multi-Process
      • Thread pools
    • Networking
      • Load Balancing
      • Reliable UDP
  • Algorithmic improvements
    • Big-O notation
    • Approximations