Kodsnack

Kristoffer, Fredrik, Tobias
undefined
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
undefined
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.
undefined
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.
undefined
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
undefined
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
undefined
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
undefined
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
undefined
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
undefined
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
undefined
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!

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app