

Kodsnack
Kristoffer, Fredrik, Tobias
Kodsnack är ett poddradioprogram på svenska om utveckling, kodknackande och allt som hör därtill. Kodsnack drivs av Kristoffer Grönlund, Fredrik Björeman och Tobias Hieta
Episodes
Mentioned books

Mar 31, 2014 • 49min
Kodsnack 44 - Strandade på en öde ö
Fredrik och Tobias snackar arbetsverktyg; saker, program och tjänster vi inte kan eller vill vara utan när vi kodar.
Som grädde på moset en historia om delade pekare i C++ och de där buggarna man bara inte kan förstå att man inte upptäckt för längesen.
Länkar
Elvatums Macbook air (sent 2010) - Fredriks privata dator
Kodsnack 8 - Byggare Bok - allt om byggsystem
Cores - processorkärnor
Kompilatorer - program som omvandlar källkod från en form (ett språk) till en anann (ett annat språk eller binärkod för en viss plattform)
Macbook pro (sent 2011) - Fredriks jobbdator och Tobias sekundära jobbdator
27-tums iMac (sent 2013) - Tobias huvudsakliga arbetsdator
Sublime text
Eclipse - mycket spridd utvecklingsmiljö för Java (med mera)
IntelliJ IDEA - Jetbrains utvecklingsmiljö för Java
Xcode - Apples utvecklingsmiljö, främst för Objective-C men även C och C++
Terminalemulator - program som ger en textterminal i ett fönster
Z shell - populärt och kraftfullt kommandoskal
Solaris - operativsystem från början utvecklat av Sun
tcsh - skal som är en utbyggnad av C shell
Grep - sökkommando
Oh-my-zsh - samling av inställningar, teman med mera för Z shell
Git
Bash) - skal som är standardvalet på Linux och Mac OS X
iTerm2 - terminalprogram för OS X
GNOME terminal
Windows powershell - modernt skal för Windows från Microsoft
Dropbox - filsynkning mellan enheter, som fungerar
iCloud - Apples paraplynamn för ett stort antal molntjänster som säkerhetskopiering, foto- och datasynkronisering med mera
Bittorrent sync - filsynkning mellan enheter, som … oftast … fungerar
QT creator - Tobias favoritmiljö för C++, just nu i alla fall
Clang - kompilatorframsida för Objective-C, C och C++
Parsnings- och kompileringsproblemen med C++
LLDB - debugger för LLVM och Instruments - analysverktyg för Xcode
Jetbrains - utvecklare av många populära utvecklingsmiljöer för olika språk och plattformar
Appcode - Jetbrains IDE för Objective-C-utveckling
IKEAS skrivbord Galant i höj- och sänkbar modell
Håg capisco - skrivbordsstolen som får Tobias varmaste rekommendationer
Firmor som säljer möbler från konkursbon
Skrivbord och rullband i förening
Fredriks jobbildskärm från Dell 2560x1440
Subversion - ett äldre och mer centraliserat (jämfört med Git) versionskontrollsystem
Gits design
Gitlab - en klon av Github som finns gratis och går att köra själv
Github
IBM model M stort, tungt och klassiskt tangentbord som Fredrik gillar
Truly ergonomic - Tobias tangentbord
Apples trådlösa tangentbord
Apple magic trackpad
Fredrik om varför han använder trackpad
C++
Boost
Delade pekare - shared pointer
Allokering och deallokering
new-operatorn i C++
Stack och heap - minnesareor där man kan lagra saker.
Scope - hur länge någonting lever
Minneshantering i C
const-nyckelordet i C++
Call by reference - att anropa en funktion och skicka in en referens till ett värde istället för en kopia av värdet
Reference counting - ett sätt att hantera minne när man skriver program
Garbage collection - automatisk minneshantering
Operatoröverlagring i C++
Locale - information om datum, tid med mera som är specifik för ett visst land eller en viss region
Kodsnacks IRC-kanal - #kodsnack på irc.freenode.net
Sex stadier av felsökning
John Gruber - skribent i applevärlden och mannen bakom Daring fireball

Mar 27, 2014 • 1h 2min
Kodsnack 43 - Jätteprestanda i kod som gör helt fel grej
Vi snackar spel, buggjakter, buggen i GnuTLS och varför inte fler undersökt säkerhetskod. Strul med ljudfiler gav oss sämre material än vanligt att arbeta med, vi ber om ursäkt om det låter lite burkigt här och där.
Länkar
Instruments - tråd- och låsvy
Instruments time profiler-instrument
Tobias debuggar trådar
Raspberry pi - öppen dator på ett kretskort
plockstat
Litet exempel på data från plockstat
OS X localtime_r - tidshantering där alla delar ett lås
Diskussioner om tidsdragning på 10.9
ntp - network time protocol
Xcom: enemy unknown och klassikern UFO: enemy unknown
The walking dead
Telltale games
Broken age - ett nytt äventyrsspel i klassisk peka-och-klicka-stil från Tim Schafer.
Ytterligare några av Fredriks tankar om Broken age.
Titanfall
FPS - first-person shooter
Counterstrike
Quake 3 arena
Far cry 3: blood dragon tutorial
Unit testing
crmsh - programmet Kristoffer jobbar med
GnuTLS
OpenSSL
Om buggen i GnuTLS
Nikos Mavrogiannopoulos och Simon Josefsson - männen bakom GnuTLS
Shinichi Mochizuki - japansk matematiker som ingen förstår
FFMPEG - stor, spridd och fri plattform för att hantera ljud och film
Bit shift - att förändra binära tal genom att förskjuta deras siffror
RIFF-formatet
Satoshi Nakamoto - mannen som, troligen, ligger bakom Bitcoin
Pocket - program för att spara text och läsa senare
Donald Knuth
Second system syndrome
Suse - ett lite äldre företag som är ganska stort.

Mar 26, 2014 • 1h 2min
Kodsnack 43 - Jätteprestanda i kod som gör helt fel grej
Vi snackar spel, buggjakter, buggen i GnuTLS och varför inte fler undersökt säkerhetskod. Strul med ljudfiler gav oss sämre material än vanligt att arbeta med, vi ber om ursäkt om det låter lite burkigt här och där.
Länkar
Instruments - tråd- och låsvy
Instruments time profiler-instrument
Tobias debuggar trådar
Raspberry pi - öppen dator på ett kretskort
plockstat
Litet exempel på data från plockstat
OS X localtime_r - tidshantering där alla delar ett lås
Diskussioner om tidsdragning på 10.9
ntp - network time protocol
Xcom: enemy unknown och klassikern UFO: enemy unknown
The walking dead
Telltale games
Broken age - ett nytt äventyrsspel i klassisk peka-och-klicka-stil från Tim Schafer.
Ytterligare några av Fredriks tankar om Broken age.
Titanfall
FPS - first-person shooter
Counterstrike
Quake 3 arena
Far cry 3: blood dragon tutorial
Unit testing
crmsh - programmet Kristoffer jobbar med
GnuTLS
OpenSSL
Om buggen i GnuTLS
Nikos Mavrogiannopoulos och Simon Josefsson - männen bakom GnuTLS
Shinichi Mochizuki - japansk matematiker som ingen förstår
FFMPEG - stor, spridd och fri plattform för att hantera ljud och film
Bit shift - att förändra binära tal genom att förskjuta deras siffror
RIFF-formatet
Satoshi Nakamoto - mannen som, troligen, ligger bakom Bitcoin
Pocket - program för att spara text och läsa senare
Donald Knuth
Second system syndrome
Suse - ett lite äldre företag som är ganska stort.

Mar 15, 2014 • 1h 17min
Kodsnack 42 - Sätt in pengar på den här adressen
Noa Resare besöker Kodsnack för andra gången och berättar allt om Bitcoin från betalningssystem via gruvdrift och växlingskontor till säkerhet och ansvarsfördelning. Noa jobbar med öppen källkod påSpotify, är @blippie på Twitter, skriver ibland på noa.resare.com och har nyss publicerat artikelnKryptografiska valutor & Bitcoin.
Länkar
Econ talk med Gavin Andresen om Bitcoin
Gavin Andresen - en av de mest publika utvecklarna av Bitcoin
Econ talk med Yanis Varoufakis, ekonom som jobbat på Valve och pratade organisationsstruktur
Libertarianism i USA
Byteshandel
De första valutorna
Yap - en ö i stilla havet som har använt stenar som valuta
Svenska kopparplåtsdaler på 20 kilo var så otympliga att Sverige utvecklade sedlar.Lars O. Lagerqvist, Vad kostade det? Historiska media 2011, sidan 47.
Centralbanker
Kopplingen till ädla metaller hos valutor
Fiatpengar - som får sitt värde av myndighetskontroll och lagar - användes först i Kina för tusen år sedan.
Inflation och hyperinflation
Hyperinflationen i weimarrepubliken
En uppskattning är att bara 8% av världens pengar är fysiska, resten är digitalar
Abstraktionslager i mjukvara
Översikt av hur Bitcoin fungerar - från bitcoin.org
Publika och privata nycklar
Bogocoin
Blockkedjan - Bitcoins kedja av transaktioner som också skapar nya bitcoins
Blockkedjans storlek och tillväxt
Att gå med i bitcoinnätverket
Länkad lista - datastruktur av ihopkopplade noder
Mining - att räkna för att få fram nya bitcoins
Den officiella bitcoinklienten
Plånböcker är i Bitcoin behållare för adresser
Bitcoin exchanges - växlingskontor mellan bitcoin och andra valutor
Organisationer och personer som bedriver gruvdrift
SHA-256
De checksummor som ger nya bitcoins
MD5 och dess sårbarheter
Antal checksummor som räknas ut per sekund i bitcoin-nätverket
Hårdvara för att bedriva bitcoin-gruvdrift
Double-spending-attacker mot Bitcoin - sätt att försöka använda mer pengar än man har
Den teoretiska risken med att någon får majoritetskontroll över nätverket
Faktorn beräkningskapacitet jämfört med superdatorer
Nuvarande svårighetsgrad för vinnande checksumma
Bitcoin Sverige-forumet på Facebook
Mt:gox - växlingskontor som nyligen brakat ihop och gått i konkurs
http://en.wikipedia.org/wiki/Foreignexchangerisk
Bitcoins prisutveckling
Företag som säljer bitcointjänster
Kinas agerande king Bitcoin
Artikel om hur det vore ifall kontanter kom idag
Planet money om bitcoin
Coinbase
Ben Horowitz, investerare som gillar Bitcoin
Felix Salmon, finansreporter och bitcoinskeptiker
Antal bitcoins över tid
Bitcoin futures och futures i allmänhet
Finansiella instrument
Förutsägelsemarknad (prediction market)
Pengatvätt
Bernie Madoff
Ponzi scheme - pyramidspel
Charles Ponzi
Rick Falkvinge om Bitcoin och Mt:gox
Yubikey - hårdvara för säker autentisering
Tvåfaktorsautentisering
Vårt avsnitt om Gotofail och GnuTLS-buggen
wallet.dat
Pony, botnät som försöker stjäla bitcoins
Cyperns bankkris
Den svenska bankkrisen på nittiotalet
Svensk insättningsgaranti
Islands kris 2008
Dogecoin
För den som inte fått nog av information om Bitcoin
The talk show, avsnitt 74 är en lång redogörelse för och diskussion om Bitcoin med John Gruber och Glenn Fleishman
Bitcoin: a peer-to-peer electronic cash system Satoshi Nakamotos ursprungliga paper om Bitcoin

Mar 6, 2014 • 1h 5min
Kodsnack 41 - Genuint sur, riktigt trött och lite ärlig
Peter Magnusson från bland annat Säkerhetspodcasten gästar oss och snackar Apples gotofail-äventyr, SSL, verktyg som kan hjälpa en att hitta oanvänd eller osäker kod och mycket mer.
Länkar
goto fail; - testsida som visar om du har buggen
sslKeyExchange.c i libsecurityssl - platsen där buggen finns eller fanns
if-satser
goto
Detaljer kring buggen
RSA-kryptering
Apples uppgradering av iOS
10.9.2 av OS X
Buffer overflow
SQL injection
NSA
Edward Snowden
Lintverktyg - analyser av källkod som rekommenderar bra sätt att skriva kod
LLVM/Clang - Apples kompilatorinfrastruktur
Att få LLVM/Clang att varna för död kod
Microsofts _NSAKEY
@blaufish_
Peter Magnusson på Wordpress
Intrångstestning
Säkerhetspodcasten
Säkerhetspodcasten på Twitter
Kodsnack 38 - om bland annat Maven
Venndiagram
Unit tests - enhetstester - små tester av små delar kod
Happy path
Haskell Quickcheck genererar tester
Rena funktioner - pure functions
Enhetstestgenerator för Visual studio
RFC 5246 - om TLS
ssllabs.com
How's my SSL?
BEAST-sårbarheten
Nattliga byggen av Webkit
Blink - Googles egen gren av webkitprojektet
Is it safe to mosh? - presentation om mosh
Mosh, the mobile shell - ett alternativ till SSH
FTP-protokollet och hur det gör med brandväggar
FTP och kryptering
Passivt läge i FTP
ARPANET
Computer security archive project - fullmatat med historia
Säkerhetsutvärdering av Multics, från 1974
Lösenord borde avvecklas, redan 1972
Värdnamnsverifiering i SSL - slå inte av! Effekten är densamam som med gotofail-buggen
DigiNotar - certifikatsutgivare som fick slå igen 2011 på grund av säkerhetshål
Comodo - certifikatsföretag
Digicert Sdn - malajsisk certifikatsutgivare
Bitcoin
Mt:gox - japansk bitcoinväxlare som fick stänga efter att stora summor stulits
PGP - Pretty good privacy, mjukvara för kryptering
Web of trust
DNSSEC - specifikationer för att höja säkerheten i DNS-systemen
Convergence för SSL och webbläsarplugin för Firefox för att se certifikat och dess ändringar
PKI - public key infrastructure
Ludd - Luleå academic computer society
Interplanetary internet, och dess möjliga arkitektur
UDP - user datagram protocol
OWASP - open web application security project
OWASP dependency check
Retire.js
Auditing
Farorna med printf med %n
Lint för C
Splint - säkerhetsorienterat lintverktyg
Find security bugs för Java
PL/SQL - Oracles SQL-dialekt

Feb 22, 2014 • 46min
Kodsnack 40 - Jag tror att jag oftast harvar för länge
Fredrik och Tobias snackar installationsprogram, hur och när man byter ut något dåligt och funderar över hur man ska kunna leva på mjukvara i framtiden. Går det att bygga saker som är lagom stora och går att leva på?
Länkar
Att skapa en triangel i CSS
NSIS - Nullsoft scriptable install system
Cmake och dess stöd för att skapa NSIS-filer
Windows installer
WIX - Windows installer XML toolset
Windowsregistret - det stora inställningslagret i många versioner av Windows
.exe
CDN - content delivery network
Privilegieeskalering - att skaffa sig högre behörigheter i ett system än vad man borde ha
DirectX - microsoftbibliotek för ljud, bild, video och mycket mer
Visual C++
QT - UI-ramverk
WhatsApp och Facebooks köp av företaget
Basecamp, tidigare 37 signals - litet välkänt och organiskt växande mjukvaruföretag
Uppgraderingspriser i apples programbutiker
Titanfall - kommande mastodontförstapersonskjutarspel
Electronic arts - mastodontutgivare av spel
Infinity ward - utvecklare av bland annat spel i Call of duty-serien
Origin - Electronic arts digitala distributionsplattform
Spelbutiken.se
Electronic arts ursprung
Battlefield 4

Feb 11, 2014 • 60min
Kodsnack 39 - Om du fick äta glass varje dag
Vi snackar med Martin Jonasson, mannen bakom bloggen Prototyprally, företaget Grapefrukt, det eminenta spelet Rymdkapsel till en uppsjö plattformar och mycket mer. Allt från klassiska spel som inspirerat via actionscript till att driva företag, göra sin egen grej, skriva kod för flera plattformar och lyckas avsluta projekt tas upp.
Länkar
Rymdkapsel - Martins mest kända spel
Prototyprally - Martins blogg
Dungeon keeper - det gamla hederliga strategispelet om att bygga fängelsehålor
Nya och ganska utskällda Dungeon keeper - det nya spelet om att betala pengar för att komma vidare
Doom - klassisk förstapersonsskjutare från 1993
Descent - klassiskt förstapersonsskjutare i rymdskepp i grottsystem från 1995
Isometriska spel
Mortal kombat - fightingspel med digitaliserade karaktärer
One must fall: 2097 - robotfightingspel
GDC - game developers conference
PlayStation Mobile
Playstation vita
Haxe - programmeringsingsspråk med rötterna i Actionscript.
MTASC - actionscriptkompilator skriven i OCaml.
Utvecklarportalen för Playstation mobile
Sophantering i programmeringsspråk
OpenFL, tidigare NME
HTML 5 som ersättning för Flash
Grapefrukt - Martins företag
Juice it or lose it - presentation om att högpolera spel
Petri Purho - spelskapare och presentatör i videon ovan
Jesus versus dinosaurs
Hur Will Wright fick idén till Sim city
Nordic game jam
Hackathon
De sista nittio procenten
Realtidsstrategispel
Command & conquer
Android NDK
JNI - Java native interface
Wii U
Spin the bottle
OUYA - tv-spelskonsoll byggd på Android
Hembyggd arkadmaskin för fyra personer - mer information.
Mrs. dad vs. körv - Martins OUYA-spel
Niklas Ström - skapare av bland annat musiken till Rymdkapsel
Massive
Tarsier studios
King
The Division
Simogo - skapare av bland annat Yearwalk och Device 6.
Dream machine
Mediocre
Metaprogrammering

Feb 5, 2014 • 1h 2min
Kodsnack 38 - En stor hög håriga shellscript
Vi snackar system med Noa Resare; system för att bygga och integrera, system för att starta system, Linux, X, serverhallar och meddelandesystem. Som grädde på moset ID3-taggar osynliga för radarCRC32.
Noa Resare finns även på Github och Twitter.
Länkar
Kodsnack 8 - Byggare Bob - vårt tidigare avsnitt om byggsystem
Maven - byggsystem och mer därtill
Jenkins - kontinuerlig integrationsserver
Tobias patch till Jenkins
Initsystem - program som startar andra program
PID - process-ID
Upstart - Ubuntus init-ersättare
Lennart Poettering - skapare av bland annat System D
Red hat
systemd
udev - enhetshanterare för linuxkärnan
Debian - anrik linuxdistribution
GNU Hurd GNUs ersättare för unixkärnan
Fedora - linuxdistribution från Red hat
Mir
Unity
The real story of Wayland and X - video.
Wayland
cgroups
Logind
Positioning statement
Spotify labs
Spotify kernel patching
Engine yard - molnplattform för Ruby on rails och PHP
Ruby on rails
Gyron - driver datorhallar för bland annat Spotify
Kodsnack 14 - Ramvärk - om stora ramverk kontra att skriva saker själv
EJB - Enterprise java beans
Inversion of control
Spring
OSGI
Rabbit MQ
ZMTP
Netty-ZMTP - Spotifys ZMTP-implementation
AMQP
Celery - pythonbibliotek för meddelandesystem.
Sparkey - key-value-store som batchskriver och läser billigt istället.
Cassandra - öppen databas först utvecklad av Facebook
Berkley DB
CDB
Qmail
Tokyo cabinet
BSDiff
Googles diffimplementation (cougarette?)
ID3 - metadatacontainer ofta använd för mp3-filer
Zipformatet
CRC32
Noas CRC32-hack

Jan 21, 2014 • 33min
Kodsnack 37 - Allting är en enda röra
Vi snackar javascriptramverket React, Clojure, Closure och hur man sätter sig in i något nytt. Dessutom tar vi upp värdet i att skriva av exempel, läsa hela texter och se hela videor och vår egen tålamodsbrist när det gäller att lära oss nya saker och förstå tänket bakom dem. Som eftersnack beskriver Kristoffer Elixir och fördelarna med Haskells typsystem.
Länkar
React
MVC - Model-view-controller
Oföränderlig data - immutable data
DOM - dokumentobjektmodellen för webbsidor
Om - "ett closuregränssnitt till React"
Knockout - ramverk med mer fokus på "klassisk" databindning
requestAnimationFrame
Clojurescript
Clojure, Lisp och Scheme
Clojure programming - bok
Programming Clojure - bok
Kompilatorn Closure
Templates - mallar i webbutvecklingssammanhang
JSX i React
Scala
Deklarativ programmering
Edge cases
Edge cases - trevligt poddprogram om oftast applerelaterad utveckling
MVVM - Model view viewmodel
Eftersnack
Video om programmering i Elixir
Erlang
Haskell
Haskells typsystem
Bondage and discipline language
Pattern matching
Prolog
Erlang the movie
Erlangs typsystem

Jan 12, 2014 • 47min
Kodsnack 36 - Årets avrundning uppåt
Vi snackar om vad vi lärt oss under 2013, webbutvecklingstrender. All tid som slösats på JVM och Javascript. C++ vara eller inte vara och alternativ i dagens värld. Vi tittar också på statistiken över populära språk 2013 och försöker förutsäga framtiden.
Länkar
Programmeringsspråket Go
Javascriptramverket Ember
Javascriptramverket AngularJS
Databindning
JQuery
Javascript skapades på tio dagar
Dart
Alla problem inom programmering kan lösas genom ytterligare lager abstraktion
Clojure
Java virtual machine - motorn på vilken Java och flera andra språk kan köras.
RPM - Red Hats paketsystem för Linux.
APT - Debians paketsystem för Linux.
C++ standardbibliotek
Boost-biblioteken för C++
QTCore
C#
MonoDevelop
Windows forms
MFC
XAML
Code 2013
Bash
Delphi/Object Pascal
AWK
Notch - mannen bakom Minecraft
Transact-SQL *TIOBE-index över språkpopularitet för januari 2014
Perl 6
Transact-SQL
Utvecklingen för Objective-C i TIOBE-index
Objective-C och dess historia
Gitlab
Clojurescript
Om
React - Javascriptramverk från Facebook
imgui - immediate mode-GUI för multiplattform, byggt på OpenGL.
Tillbaka till framtiden II - flygande skateboards
Sourceforge
Och sist men inte minst:
Stäng ner internet!