

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

May 27, 2014 • 52min
Kodsnack 52 - Femte elementet i en vektor
Vi snackar problem med C++ och går sedan över till att diskutera kring FTL - Apples nya optimerande steg i Webkits javascriptmotor. Frustrationer ventileras över all tid som lagts på att göra Javascript snabbare och bättre och vissa likheter i situationen för C++ och Javascript noteras. Var lägger egentligen alla smarta utvecklare sin tid? Är det rätt att snabba upp javascript och skriva reklamanalys eller kunde vi göra bättre saker för att förbättra världen?
Vi avslutar med kommentarer på vårt förra avsnitt och tar upp vad vi utvecklare har eller inte har möjlighet att säga till om i rekryteringsprocessen.
Fredrik har ekoproblem med sitt ljud under de första tio minuterna, men det ordnade upp sig innan han hann säga för mycket.
Avsnittet sponsras av Malmö startup studio.
Länkar
Malmö startup studio
Tobias skeppaångest
Pycon Sverige
STL - standard template library - bibliotek för C++
Erase-remove
Iteratorer i C++
Överlagring av funktioner
Odefiniereat beteende
Bjarne Stroustrup
Autopekare - ett försök till atuomatiskt minneshanterade pekare
XBMC
Länkad lista
[Vektor](http://en.wikipedia.org/wiki/Sequence_container_(C%2B%2B%29#Vector) - datastruktur i C++
Malloc debug in OSX
Breakpoint på malloc_error_break
Xpath
LXML för Python
Malmö startup studio
User experience
Evenemang Malmö startup studio ordnar
Startup studio Malmö 5 juni
Foo café - mötesplats för utvecklare i Malmö
AngularJS-seminarie 17 juni
Webkit - webbläsarmotor främst utvecklad av Apple
Interpreterande språk - språk som inte kompileras (omvandlas till maskinkod) innan körning utan tolkas
JIT - just in time - kompilering vid behov, medan ett program körs istället för innan det körs
Virtuell maskin
Bytekod
Buffer overflow - fel där ett program skriver över minne som egentligen ligger utanför det område utvecklaren avsett
Java vs. Python - Illustrerar skillnaden JIT-kompilering kan göra.
Unladen Swallow - Ett försök att implementera JIT för Python.
Pyston - Ett nytt försök att implementera JIT för Python.
V8 - Googles JIT-kompilerande javascriptmotor
Tracemonkey - Mozillas JIT-kompilerande javascriptmotor
Safaribloggen beskriver sin javascripthantering och introducerar FTL-JIT - det nya optimerande och LLVM-backade kompileringssteget för Javascript
DFG-JIT - tredje steget i webkits javascriptoptimering
Java hotspot - virtuell maskin för Java utvecklad av Oracle
JRockit - virtuell maskin för Java numera också utvecklad av Oracle
JVM - Java virtual machine - virtuell maskin gjord för att köra java-bytekod
LLVM
Olika betydelser av förkortningen FTL
Intermediate representation - tolkning av programkod som används som mellansteg vid till exempel kompilering eller optimering
Deoptimering - att vid behov minska prestanda - för att få korrekt resultat - i kod genom att övergå till en mindre optimerad version
Accidental tech podcast 65 diskuterar ämnet ingående
Javascripts ursprung
Smalltalk - tidigt objektorienterat och dynamiskt typat språk
Dart - språk från Google som kan kompilera till Javascript och vill vara ett bättre alternativ till detsamma
Jscript - Microsofts "dialekt" av ECMAScript (Javascript)
Typescript - ett superset av Javascript utvecklat av Microsoft.
Kristoffers arga katt - Den här serien av The Oatmeal beskriver situationen väl.
The Homer - bil designad av Homer Simpson
Kommentarer på förra avsnittet
NP-kompletta problem

May 20, 2014 • 1h 5min
Kodsnack 51 - Konsten att skeppa
Kristoffer och Tobias snackar om konsten att skeppa, varför det är så svårt att avsluta och leverera saker och hur det fungerar att skeppa saker i deras respektive arbeten. För- och nackdelar med korta och längre cykler för både leverans av program och internt arbete avhandlas. Varför det är så svårt att tidsuppskatta, och vad händer när uppskattningar och önskningar krockar med verkligheten? Mot slutet kommer vi även in på risken att det går religion i hur man ska göra saker för att det inte finns så mycket rätt och fel i utveckling. Allra sist lite svar på återkoppling vi fått.
Avsnittet sponsras av Cenito
Länkar
Cenito - veckans sponsorer
Fredrik hade det bra i solen
Men andra har ännu mer utförliga avsnittslänkar
Skeppa: att leverera (oftast till slutanvändare) en färdig version av ett program
Suse - tilverkare av öppen mjukvara
"Maintaina": underhålla, att fortsätta sköta en version av ett program man redan släppt med buggfixar och andra förbättringar
QA: quality assurance
Diff - verktyg för filjämförelser
Scrum - metodik för mjukvaruutveckling
Sprint - den grundläggande tidsperioden för utveckling i Scrum
Det är svårt att tidsuppskatta
Certifieringsprocessen för konsollspel
De sista tio procenten tar nittio procent av tiden
Att skriva specifikationer
Agile
Agile är dött
Minecrafts utvecklarblogg
Cenito - veckans sponsor söker utvecklare. Titta in på cenito.se/jobs!
AngularJS är ett populärt javascriptramverk från Google
Unity är en motor för 3d-spel
Parabel - "en pedagogisk eller moralisk allegori med enkla motiv hämtade från åhörarens vardag"
Berättelse om varför det är så svårt att tidsuppskatta
Kodsnacks IRC-kanal
Programmering är Svårt
Accidental tech podcast om att programmering är ett av de mest komplexa yrken man kan hålla på med. Uppföljning i avsnittet efter. Och avsnittet efter det.
John Siracusa
Testdriven utveckling - TDD - utvecklingsmetodik där man skriver test före koden de testar
DHH - David Heinemeier Hansson - skaparen av bland annat Ruby on rails
TDD är dött - DHH om testdriven utveckling
Snake oil - begrepp för något med tveksamt eller svårbevisat värde
Uncle Bob om TDD - Uncle Bob svarar DHH
Vim - klassisk textredigerare som kan … allt
Emacs - klassisk textredigerare som kan … allt
Eclipse
Trådar
Samtidighet (concurrency) i Go
Gröna trådar - trådar som hanteras av en virtuell maskin istället för direkt av operativsystemet
Race condition - situation där resultatet beror av ordningen på händelser man inte kan kontrollera
Semaforer
Singleton
Node.js - servermiljö i och med Javascript
CSP - Communicating sequential processes
Apples arbete med block och dispatchköer för C
STM - Software transactional memory - minnesmodell för samtidighet som används av bland annat Clojure
Meddelandesystem och meddelandeköer
Out of order execution
Flume - Bon Iver-låten där uttrycket is all maroon finns med

May 15, 2014 • 23min
Ett nytt kapitel
Vi som gör Kodsnack presenterar oss för nya lyssnare och berättar om nästa steg i programmets utveckling.
Länkar
A 30 minute skip button
Kristoffer Grönlund
Massive entertainment - svensk spelstudio numera ägd av Ubisoft
Suse - tyskt företag som bland annat gör en linuxdistribution med samma namn
Kristoffer på Github
Flappy beard
Programmeringsspråket Python
Significant whitespace - när mellanslag, tabb och liknande spelar roll för kodens tolkning
Kodformatteringsstrider
Pythonstandarden för kodformattering
Cocoaheads - intresseförening för Mac- och iOS-utveckling
Fredrik Björeman
TimeEdit - bygger schema- och resursbokningssystem
node.js - plattform för Javascript på serversidan
Cocoaheads Göteborg
Meetup
Tobias Hieta
Plex - tillverkare av mediecentermjukvara
Go - nytt och intressant programmeringsspråk från Google
Första avsnittet av Kodsnack
Väldigt nördiga ämnen
Kultur kring programmering
Techworld
Computer Sweden
Pressbyrån - säljer papperstidningar och magasin
IDG - International data group - stor utgivare av IT-relaterade tidningar
Magnus Aschan - chefredaktör på Techworld
ASP - Active server pages - gammalt språk för webbutveckling från Microsoft
Dotcombubblan
Lars Danielsson - journalist på Computer Sweden
Systemutvecklingsnyhetsbrevet och Computer Swedens övriga nyhetsbrev
Devops - att fundera på sambandet och samarbetet mellan utvecklare och de som fokuserar på drift av system
kodsnack.se
Kodsnack är @kodsnack på Twitter
Techworld är @techworldsweden på Twitter
Computer Sweden är @computersweden på Twitter
Lars Danielsson är @larsdddd på Twitter
Kristoffer är @isallmaroon på Twitter
Fredrik är @bjoreman på Twitter
Tobias är @tobiashieta på Twitter
Magnus är @magnusaschan på Twitter

May 13, 2014 • 58min
Error, error, error, långt ner i winsock.h
Kristoffer och Tobias pratar om hur det är att använda Visual Studio i Windows 8 vilket osökt leder in på diskussioner om responsiva IDE-er, fulhack i C++, unit-tester, Gophercon 2014 och mycket annat.
Både Kristoffer och Tobias kommer vara på Pycon Sverige, som går av stapeln i Stockholm den 20 - 21 Maj. Kom gärna och snacka med oss i verkligheten!
Det här avsnittet av KodSnack sponsras av Malmö StartUp Studio.
Unit-test ramverk: gtest och mockning: gmock
Typiskt fall av Header Redefinition
DrDobbs om C++ och kompileringstider
Clang Modules
Varför är Go så snabbt på att kompilera?
Gophercon 2014 Videor
DLL Hell
Glen Cook
Peter F. Hamilton
Mindstar Rising första delen av Greg Mandel triologin
Great North Road
Neal Stephenson
Snow Crash
Reamde!
Pycon Sverige

May 6, 2014 • 52min
Kodsnack 49 - Min första datorrelaterade bok
Vi snackar programmeringsböcker med utgångspunkt från vad Fredrik tycker efter att ha läst Version control with Git. Tobias rekommenderar en bok om Vi och vi diskuterar vad som skiljer en bra bok från referensdokumentation och vilt sökande på nätet. Via en diskussion av C#, Mono och Microsofts mobiler kommer vi slutligen till en diskussion om break, continue, goto och andra farliga saker man kan skriva i sin kod.
Avsnittet sponsras av Cenito, som både kan hjälpa dig med dina projekt och gärna hör av dig om du vill jobba med deras projekt.
Länkar
Cenito
Lejonbragden - loppet Fredrik skulle springa
Version control with Git
Jon Loeliger och Matthew McCullough
Octocat - Githubs maskot
Gits plumbing-kommandon
Git rerere - ett kommando Tobias berättat om tidigare
Kindle - läsplatta från Amazon
Unit testing - att testa små delar kod individuellt
Vi - gammal och populär textredigerare
Vi-kommandot .
Tillståndsmaskin - en modell för att designa system där man ser systemet som en maskin som alltid befinner sig i ett av en uppsättning tillstånd och som växlar tillstånd efter uppsatta regler
Practical Vim - en bok Tobias rekommenderar
Principles of object-oriented programming in Javascript
Nicolas Zakas
Javascript the complete reference - en riktigt tjock bok
Javascript the good parts - en riktigt bra bok
Structure and interpretation of computer programs - mycket klassisk programmeringsbok som även finns som filmad föreläsningsserie
ENIAC - en av de första datorerna
The C++ programming language - Bjarne Stroustrups C++-bok
C++ 11
C++ minnesmodell
C++ 98
Xamarin - miljö som låter dig skriva kod i C# och använda den på många plattformar
Augmented reality
Microsoft har öppnat källkoden för .nets kompilatorplattform Roslyn
Buildkonferensen - microsofts stora utvecklarkonferens
TC49 - ECMA-gruppen för bland annat C#
Mono) - öppna verktyg och miljöer för .net-kompatibel utveckling
Novell
Miguel de Icaza - mannen bakom Gnome, GTK och Mono
Microsoft Azure - molnplattformen
XAML - XML-baserat språk för att definiera bland annat gränssnitt
List comprehension i Python
Early return - att gå ur en funktion tidigt om något oväntat uppstår
Cyklomatisk komplexitet - mått på hur logiskt komplext ett stycke kod är
Dijkstra - "Go to statement considered harmful"
Techworld - som vi just inlett ett samarbete med
Pycon 20-21 maj - pythonkonferens i Stockholm där du kan träffa både Kristoffer och Tobias

Apr 29, 2014 • 51min
Kodsnack 48 - Ragefork
Vi snackar om LibreSSL - OpenBSD-utvecklarnas fork) av OpenSSL, forks av större projekt i allmänhet och vad vi hoppas på som resultat av denna fork. På slutet en diskussion utifrån projektet att översätta gokompilatorn till Go.
Kristoffer och Tobias kommer att vara på Pycon i Stockholm 20 och 21 maj (2014) och vill mer än gärna höra av både er som ska vara där och er som har tips på personer att prata med och talare att lyssna på.
Länkar
Avsnittet på Youtube
OpenSSL Valhalla rampage - ren fork av OpenSSL som inte tänker dela med sig av ändringarna
Heartbleedbuggen
Kodsnack 46 - Korthuset vinlgar - vårt avsnitt om Heartbleed
LibreSSL
GNU - det Unix-lika operativsystemet som är helt fri mjukvara
OpenBSD - BSD-baserat operativsystem som bland annat lägger stor vikt vid säkerhet
Fork på Wikipedia
OpenSSL använder ibland data ur privat nyckel för att generera slumptal
snprintf() - funktion som skriver formatterad text till en buffert
FAQ-sidan för OpenSSL Valhalla rampage, frågan om att saker inte bidras tillbaka till OpenSSL
Upstream - den eller de som ligger "ovanför" en själv i en kedja av att checka in källkod
Diskussioner om OpenSSL i gruppen Kodapor på Facebook
Clang och GCC - populära kompilatorinfrastrukturer för C-språk *Ars technica om beslutet att skapa LibreSSL
Licensen för OpenSSL - de använder sig av dubbla licenser
GnuTLS
Friskt storföretagablod till OpenSSL
Open source initiative
Linux foundation
Linus Torvalds är anställd av Linux foundation
NSS - Network security services - säkerhetsbibliotek från Mozilla
Too big to fail
GNUTLS huvudutvecklare
Buffer overflow - klassisk bugg där ett program skriver data utanför den buffert det är menat att hålla sig till
Go - ofta nämnt programmeringsspråk
Rust
Web 2.0
Regressionsbuggar - tidigare lösta problem som återkommer.
XBMC - mediaspelarmjukvara (utifrån vilken Plex byggs)http://www.plex.tv
FIPS - Federal information processing standards
Libav - mediebibliotek som är en fork av FFMPEG
ECGS - fork av GCC som kom att överta rollen som officell version
Subversion - halvgammalt system för versionskontroll
CVS - ännu äldre system för versionskontroll
Theo de Raadt
TV ger en glimt av Theos serverfarm
SGI - Silicon graphics - numera nedlagd tillverkare av kraftfulla datorer
VAX - instruktionsarkitektur skapad av Digital på sjuttiotalet
Att porta gokompilatorn till Go
Gophercon - den första konferensen om Go
Pypy - pythontolk och just-in-time-kompilator som började som en pythontolk skriven i Python
Assembler - lågnivåprogrammeringsspråk, ofta med ett-till-ett-förhållande mellan språket och maskinkodsinstruktioner
Steve Wozniak - medgrundare av Apple och ensam designer av hårdvaran i både Apple I och Apple II
X86-instruktionssetet är turingkomplett, utan register
RISC - designstrategi för processorer där man siktar på hög prestanda genom att använda enkla instruktioner
Pycon - pythonkonferens i Stockholm 20 och 21 maj 2014. Åk dit och träffa Kristoffer och Tobias! Och tipsa oss om ni vill att vi pratar med eller lyssnar på någon speciell person!

Apr 22, 2014 • 14min
Kodsnack 47.5 - Man duckar för problemet
Tobias och Kristoffer följer upp avsnitt 47 om Github och Julie Ann Horwath med vad som hänt sedan dess och diskuterar både de inblandade i githubfallets svar, andras reaktioner och hur man kanske borde agera och reagera.
Githubs tillkännagivande av företagets egen undersökning efter att Horwath slutade
Tom Prestons-Werners bloggpost
Horwaths kommentarer via Twitter:
"I am not a victim. I'm someone that a company's negligence pushed too far, for too long. I am living, breathing consequence."1
"Hmmm still no mention of the man who bullied me out of our code base because Iwouldn't fuck him. Too popular to be accountable, I guess."2
"Oh excuse me, the recently promoted to lead the engineering team man who bullied me out of our code base."3
Exempel på … "andra sidans" kommentarer och åsikter
Facebooks köp av Oculus har vi avhandlat förr

Apr 22, 2014 • 38min
Kodsnack 47 - Internet borde kunna lösa det problemet
Kristoffer och Tobias pratar Github, distributed denial of service-attacker och Githubs dominans som koddelningstjänst. Sedan pratar vi om händelserna kring Github och Julie Ann Horwath. Sist en kort och kärnfull urladdning kring byggsystem.
Länkar
Github
Kristoffers projekt på Github
Gits arkitektur
Sourceforge
Sourceforge och adware
Java och Ask toolbar
DDOS - distributed denial of service, en överbelastningsattack för att sätta en webbplats eller tjänst ur spel
DDOS-attacker mot Github
SHA1
Mainline DHT - distributed hash table som används av Bittorrent
NSA
Popcorn time
Savannah - GNUs svar på Github
Cluster labs
Open Suse
iD software på Github
Unreal engine 4 på Github
Julie Ann Horwath
Hennes berättelse på Techcrunch
Emacs
Githubs respons på Julie Anns redogörelse
Brogrammer
Eric Schmidt
Larry Page och Sergey Brin, kompisarna som grundade Google
Gitorious
QT - stort applikationsramverk
Gitlab - öppet githanteringsverktyg
Bitbucket
Google code - Gogoles tjänst för koddelande
CRM shell
Automake
Cmake
setup.py - distverktyg för Python
M4 - makrobearbetningsspråk
Makefile
Bjam - boosts skriptspråk
Gyp - generate your projects
Deklarativ programmering - att beskriva vad som ska göra snarare än hur
JSON - Javascript object notation, ett format för dataöverföring som är ett subset av Javascript

Apr 15, 2014 • 31min
Kodsnack 46 - Korthuset vinglar
Fredrik och Kristoffer snackar om Heartbleed - den ovanligt allvarliga buggen som nyligen upptäckts i OpenSSL. Därifrån kommer undran varför hela SSL-upplägget med certifikat och rotcertfikat fungerar (snarare inte fungerar) som det gör. Vi hoppas att fler vågar lära sig, experimentera med och rent av utveckla kod omkring kryptering. Och så en del om problemen med att spela in sina diskussioner och höra sig själv i efterhand. Varför det inte decentraliseras mer.
OpenSSL - säkerhetsmjukvaran i vilken buggen kallad Heartbleed har upptäckts
Bruce Schneier - amerikanskt krypto- säkerhets- och integritetsspecialist
Chuck Norris-memes
Schneier-memes
Heartbleed
Schneiers post om Heartbleed - buggen är elva på tiogradiga skalan
Schneier om säkerhetsteater på flygplatser
Fear mongering - att använda rädsla för att påverka
HTTPS
Man in the middle-attacker
Serien XKCD förklarar Heartbleed
Privata nycklar
Vad kan man hitta genom att utnyttja Heartbleed? - artikeln jag hittade med de som försökte få ut privata nycklar
Googles uppdateringar efter Heartbleed
Twitter säger sig vara opåverkade
… liksom Facebook
Men Tumblr säger byt lösenord …
… precis som Github
Gotofail
Koden för Heartbleedbuggen
Heartbeat-meddelande
TCP heartbeat
Bounds check
Den sedelärande historien om Bobby tables - också från serien XKCD
Kritik - från 2009 - av hur OpenSSL är skrivet
GNUTLS - alternativ till OpenSSL, som hade sin egen bugg helt nyligen.
Rotcertifikat
Akustikanalys
Social engineering - social manipulation, att lura människor istället för att överlista eller hitta hål i tekniska lösningar
Zero-day exploit
Verktyg för att undersöka om webbplatser åtgärdat buggen
Heartbleeder - kod för att testa din sårbarhet
Nyheter om Heartbleed i vanliga tidningar
DNSSEC - säkring av domännamnsserversystemet
Kritik mot DNSSEC
Darwinism
RSA-kryptering
CA - certificate authority - utgivare av certifikat
Napster - tidig fildelningstjänst för musik som stämdes ihjäl
Bittorrent - känt och välanvänt protokoll för fildelning utan en central server
Waste
Winamp - klassiskt mp3-spelarprogram
Justin Frankel - mannen bakom både Waste, Winamp och Gnutella
AOL - medieföretaget som förr i tiden var stora på uppringd internetuppkoppling (helst till AOLs egna lilla inhängnad) i USA
OpenSSH - som inte har något med OpenSSL eller Heartbleed att göra
Händelser efter inspelning
NSA Said to Exploit Heartbleed Bug for Intelligence for Years - artikel som kom strax efter att avsnittet spelades in
Bekräftelse att det går att komma över privata nycklar genom att utnyttja Heartbleed

Apr 9, 2014 • 46min
Kodsnack 45 - Din noja för Mark Zuckerberg
Vi talar ut om vår oro och våra förhoppningar kring VR och Facebooks köp av Oculus VR.
Länkar
Oculus VR - företag som tillverkade VR-headsets
Virtual reality
Facebook köper Oculus
Oculus kickstarter som fick ihop drygt 2,4 miljoner dollar
Oculus utvecklarsektion - kräver inloggning
Coola saker folk gjort med Oculus SDK
John Carmack
John Carmack börjar på Oculus VR
D3: the mighty ducks
E3 - Electronic entertainment expo - mässa för dator- och TV-spelsindustrin
GDC - Game developers conference
Oculus developer kit 2
John Carmack om strategier för att minska fördröjningar i VR
Oculus eget blogginlägg om uppköpet
Intervju med Palmer Luckey om köpet
Facebook om köpet
Mark Zuckerberg
Mer öppet och sammankopplat
Saker Facebook släppt som öppen källkod
Företag Facebook köpt
Palmer Luckey - som var VD på Oculus VR
Project Morpheus - Sonys VR-headset
Glyph - ett möjligt alternativ till Oculus?
Inlägg som fångar många av Kristoffers och andras tankar kring köpet
En mer positiv syn på saken
Myspace
Mike Abrash - numera "Oculus chief scientist" på Facebook
Atman Binstock - också tidigare Valve-anställd som växlat till att jobba med Oculus
Doom - stilbildande actionspel i förstaperson
Jolla - finskt mobilföretag
Ubuntu edge "koncepttelefon" från Ubuntu som inte nådde
Douglas Bowman - designern som slutade på Google efter att ha försökt ändra den blå nyansen
Neil Stepenson författare till bland annat Snow crash
Metaverse - begrepp för en virtuell delad värld, myntat i Snow crash
NSA - USAs nationella säkerhetsorganisation
Tidigare investerare i Oculus VR
Next - dator- och mjukvaruföretag Steve Jobs grundade och drev 1985 - 1996
Instagram - Facebooks fotodelningstjänst
Steve Jobs