
Kodsnack 69 - Att helt hänge sig till ett ramverk
Tobias och Fredrik snackar javascriptramverk och att försöka hänga med i svängarna på området. Det händer mycket med Javascript, det används till fler och fler saker, det kommer ständigt nya ramverk, själva språket utvecklas och dessutom görs många försök att förbättra eller ersätta hela språket. Vi gör en resa från Sproutcore via Knockout till React och Node. Diskutera gärna avsnittet på Techworld! Länkar Cloudnet sponsrar våra livesändningar Kodsnacks livesändningssida - torsdagar 20:30 är hålltiden IRC - internet relay chat, anrikt protokoll för överföring av textmeddelanden VPS - virtual private server Procera - veckans sponsor Knockout - javscriptramverk fokuserat på databindning Bootstrap Backbone.js Sproutcore MobileMe - Wikipedia, the free encyclopedia - onlinetjänster från Apple vars webbgränssnitt byggdes med Sproutcore Charles Jolley - Sproutcores skapare Cappuccino - webbapplikationsramverk med eget språk Ember.js Sproutcore 2.0 blev Ember i november 2011 MVVM - Model view viewmodel MVC - model view controller Design- och arkitekturmönster Xerox PARC Smalltalk - gammalt och inflytelserikt objektorienterat språk Viewcontroller - kontrollobjekt hårt knutet till en viss vy Databindning i .net jQuery - javascriptramverk för att hantera dokumentobjektmodellen på effektivare sätt Databindningsattributet för Knockout ORM - object-relational mapping React - javascriptramverk med fokus på användargränssnitt Fredrik fick glappkontakt i huvudet vid ungefär 19:45 - problemen han nämner att de stött på var i Knockout, inte i React som han säger. Procera - veckans sponsor Proceras lediga tjänster FPGA Objective-J - Objective-C-liknande språk som används av ramverket Cappuccino Dart - googlespråk som vill vara ett bättre Javascript CoffeeScript - javascriptsuperset C++11 node.js - asynkron servermiljö där kod skrivs i Javascript Grunt och gulp.js - två exempel på bygg- och automatiseringssystem byggda på Node node-webkit Inception - drömfilm från 2011 Asynkron I/O Från Python till Go Go Farväl node.js Den heliga graal Exception Typescript - microsoftsuperset av Javascript Spotify Don Melton - ledde apples utveckling av Safari och Webkit från starten Meddelanden-appen på iOS Kodsnack på Twitter info@kodsnack.se Titlar Man kommer ju inte undan det Att helt hänge sig till ett ramverk Javascript, som det stora språk det är Faux-Mac OS X-looken Jag såg ett galet projekt Det börjar bli liksom som Inception Framåtmoment bakom teknikerna Oväntad out-of-band-kommunikation Webbens C Hur mycket Go vill vi ha i vår infrastruktur
22 Sep 201450min

Kodsnack 68 - En saga helt utan sedelärande sidor
Fredrik och Kristoffer snackar byggsystem, nya mobiler och utveckling för mobiler. Fredrik talar ut om sina äventyr med Cmake, och vi funderar över hur man får in nya rutiner och lösningar i sina jobbprojekt. Sedan snackar vi om Apples senaste presentation, dess livesändningsproblem, prylarna som presenterades och androidmobilen Oneplus one. Vi snackar också lite om att skripta sin vardag, smarta klockors plats eller avsaknad av plats i våra liv och hur mängden skärmstorlekar och enheter påverkar apputveckling. Avsnittet sponsras av Procera, som bland annat söker skarpa webbapplikationsutvecklare. Diskutera gärna avsnittet på Techworld. Länkar Byggsystem - program som hjälper en att sätta ihop ens program - har vi talat om förr C++ Linux - öppet operativsystem som distribueras i en stor mängd varianter Ubuntu - populär linuxdistribution, framför allt på persondatorer (snarare än servermaskiner) Debian - tidig och populär linuxdistribution Cmake - byggsystem MySQL - populär och öppen databas Glob - bygger en lista av filer som matchar ett visst uttryck, exempelvis alla filer med en viss filändelse i en viss mapp. Xcode - Apples utvecklingsmiljö Cmake kan generera filer för Xcode Länkning av program skapar en enda körbar fil av de många filer som skapas av kompilatorn Precompiled header Visual studio och precompiled headers Grand central dispatch apt-get - kommando för att installera paket på bland annat Debian libdispatch - biblioteket Grand central dispatch bygger på. Har portats till flera andra operativsystem GCC och precompiled headers Clang Precompiled headers och Xcode Att ersätta saker (eller personer) med mycket små shell-skript Applescript - skriptspråk för Mac OS X Service på Mac OS X Fredriks “flikar till Markdown”-skript Markdown - enkelt märkformat för rena textfiler Applescript dictionary beskriver vilka möjligheter en applikation ger via Applescript UI-skriptning med Applescript BBedit - anrik textredigerare för Mac OS X - och dess stöd för skript Acorn - bildbehandlingsprogram för Mac OS X - och dess stöd för skript Gus Mueller JSTalk - alternativt skriptspråk för Mac OS X Javascript och skriptande i Yosemite (Mac OS X 10.10) TV truck schedule - bilden vi alla fick se när sändningen strulade Videoströmmen av Apples presentation Artikeln om varför livesändningen gick dåligt - ifrågasatt av folk med kunskap Akamai CDN - content delivery network - system av utspridda servrar som kan användas för att snabbare leverera data till slutanvändare Tommy Krul - killen med den häftiga sjalen Super evil megacorp utvecklar spelet Vainglory Iphone 6 och 6 plus Apple watch Watchkit - Apples ännu inte släppta ramverk för att utveckla olika typer av appar för Apple watch M7 och M8 - kretsar i nyare modeller av Iphone som registrerar rörelse Den magnetiska laddaren för Apple watch Pebble - smart klocka Galaxy gear - Samsungs familj smarta klockor E-ink - skärmteknik som ser ut som bläck på papper och som (i många versioner) inte kräver ström för att visa en bild Dick Tracy Oneplus one - stor och välgjord androidtelefon Hur skärmen renderas på Iphone 6 plus Skärmrendering på retinamacar Iphone 6 plus i landskapsläge Rykten kring “Ipad pro” Square Apple pay - nyss presenterat system för att betala med applemobiler Izettle GB glace Swift är nu 1.0 Cocoa - Apples övergripande ramverk för Mac- och IOS-utveckling Saker Apple släppt som öppen källkod Block för C libimobiledevice - linuxbibliotek för att prata med Iphone Cyanogenmod - androidbaserat operativsystem för mobila enheter Android 4.4 Android L Androids fula progress bar - Video som visar den fula progressbaren (och en ersättare) Alien Dalvik - virtuell maskin använd av bland annat Jolla för att köra androidapplikationer Dalvik - Androids virtuella maskin. Ersatt av ART från och med Android L Bittorrent sync - decentraliserat system för filsynkronisering, lite som Dropbox fast bara mellan datorer du delar din information med Anpassning för olika skärmstorlekar och upplösningar på Android Humble bundle - köp spelpaket och ge pengar till välgörande ändamål Double fine - spelutvecklingsstudio Brütal legend Nexus 7 - Googles sjutumsplatta HTC Desire Z - Kristoffers första Android-telefon Launchers för Android - programmet som visar enhetens huvudvy och startar andra program Quasseldroid - IRC-klient till Android Kodkata - övning för att bli en bättre programmerare genom träning och upprepning Fontrendering på Android Chet Haase Filthy rich clients - bok om att skapa fräcka gränssnitt med Java Massive - malmöbaserad spelstudio World in conflict - realtidsstrategispel från 2007 TAT - The astonishing tribe - malmöbaserad designstudio som köptes av Blackberry 2010 Blackberry 10 - Blackberrys senaste operativsystem för mobila enheter Androids 2D-grafik har haft stöd för hårdvaruacceleration sedan 3.0. Near-field communication - NFC - trådlös kortdistanskommunikationsstandard
13 Sep 20141h 15min

Kodsnack 67 - Dels plattformsberoende och dels hemsk
Vi börjar med lite uppföljning kring trådning. Sedan snackar vi Markdown, “standard”-markdown (som redan hunnit byta namn två gånger efter sändningen och numera heter Commonmark) och standarders vara eller icke vara i allmänhet. Sedan snackar vi utveckling för mobilplattformar. En app vill man ju gärna ha, men man vill ju också hemskt gärna finnas tillgänglig på mer än en plattform utan att behöva skriva och underhålla nästan likadana hjul flera gånger. Korsplattformsramverk, appar speciellt för en plattform och webbapplikationer har väldigt olika för- och nackdelar, så när ska man välja vad? Avsnittet sponsras av Procera, som bland annat söker skarpa webbapplikationsutvecklare. Detta avsnitt av Kodsnack spelades in och sändes live, och vi siktar på att fortsätta sända live framöver. Torsdagar 20:30 är den vanliga tiden, och precis som alla bättre program är man mer än välkommen att delta i chattrummet via sin IRC-klient eller direkt på vår livesändningssida. Vi sänder vår eviga tacksamhet till Cloudnet som sponsrar livesändningarna med virtuell hårdvara! Diskutera gärna avsnittet på Techworld. Länkar Cloudnet VPS - virtual private server Kodsnacks livesändningssida - torsdagar 20:30 är hålltiden IRC - internet relay chat, anrikt protokoll för överföring av textmeddelanden Procera - veckans sponsor Förra veckans avsnitt om trådning Blogginlägg om multitrådning Lås Semafor Paper om att lås inte fungerar som man tror När allt man har är en hammare ser allting ut som en spik Standard markdown - redan omdöpt två gånger, numera Commonmark Markdown John Gruber - känd för att skriva om Apple och närliggande ämnen Daring fireball - John Grubers blogg Perl 6 - programmeringsspråk som fortfarande är under utveckling Specifikationen för Commonmark IEEE Andra varianter av Markdown OCD Restructured text - textformat som främst används dokumentation av Python ASCIIdoc W3C - World wide web consortium, skapar och publicerar standarder för HTML och intilliggande tekniker SOAP Ada GCC XBMC Kodi Procera sponsrar veckans avsnitt ISP - internet service provider - internetleverantör Lediga jobb på Procera Angular Backbone Ember D3 Push notification QT-SDKt numera för Android och iOS Swing - UI-ramverk för Java WebOS QML - märkspråk för att beskriva användargränssnitt Kodapor på Facebook Xamarin låter dig utveckla appar för många plattformar i C# Phonegap låter dig bygga mobilappar med webbteknik Titanium API - application programming interface Android studio - utvecklingsmiljö för Android Eclipse - utvecklingsmiljö för Java, med mera Xcode - Apples utvecklingsmiljö IntelliJ Lediga jobb på Procera Cloudnet Titlar Om man tror att man vet hur en semafor fungerar så har man fel Vill man skriva sina program i Perl idag så får man det De hade ju kunnat undvika problemet så lätt Ordningsmänniskan i en som har tagit över totalt En dålig fåraherde Man har dött under sin egen tyngd Känner du att du fastnar i långa, stora standarder ibland En kommittés våta dröm Implementationer istället för standarder Den fanns på papper innan den fanns som kompilator Backup i arga samtal mellan företag En stor del av internet är överens Det såg ju ut som hej kom och hjälp mig Dels plattformsberoende och dels hemsk En A-klassapp Vi behöver Standard swift på Android Ganska dumma klienter Det är ett API som är lösningen Man skojar inte ens bort det Segt som smör Standardkodsnack
8 Sep 201452min

Kodsnack 66 - Ju fler lås du använder desto sämre är ditt liv
Vi snackar trådar och utmaningarna i att försöka bygga program som gör flera saker på en gång. Vi drar paralleller mellan tråd- och minneshantering, ett annat område som också är både enklare och svårare än vad det först kan verka. Vi nämner några olika modeller för trådhantering och kommer in på att de verktyg man har inte bara påverkar hur man hanterar flera saker samtidigt utan också när och om det över huvud taget passar att göra det. Avsnittet sponsras av Procera, som bland annat söker skarpa webbapplikationsutvecklare. Diskutera gärna avsnittet på Techworld Länkar Tråd - en fristående sekvens programinstruktioner Parallellprogrammering - när flera instruktioner utförs samtidigt Flerkärninga processorer - i grund och botten flera processorer förpackade i ett paket Asynkron IO - in- och utmatning som låter annat arbete pågå samtidigt som in- och utmatningen Select-loop - Intels core-processorer The free lunch is over - artikel från 2004 som hävdar att utvecklingen tvingar oss att på allvar lära oss programmera och tänka i samtidiga processer. Gratislunchen tidigare var att man kunde förlita sig på att datorernas utveckling automatiskt skulle göra ens program snabbare över tiden Playstation 3-arkitekturen Xbox 360-arkitekturen Playstation 2-arkitekturen var speciell men inte multitrådad eller flerkärnig på något klassiskt sätt Moores lag - tumegeln att antalet transistorer i integrerade kretsar (oftast använt med avseende på processorer) ungefär fördubblas vartannat år Erlang - språk utvecklat av Ericsson för att skapa distribuerade och feltoleranta system. Stödjer även att uppgradera eller byta ut kod utan att stoppa systemet Fork - anrop som skapar en fristående kopia av en process Unix socket - ett sätt för processer på samma operativsystem att utbyta data Multitrådning i Java POSIX-tråd-API:et C++ 11 och trådar Minnesbarriärer (memory barriers) tvingar kod att köras i en viss ordning Meddelandekö Synkronisering Lås Trådrace Stack trace Kostnader i att växla tråd Avsnittet om uppdatering av Plex SHA1-hash Trådpool Oföränderlig data - data som inte kan förändras efter att den skapats BSD - familj av Unix-lika operativsystem JVM - Javas virtuella maskin Vi snackade nyss om att det är arbetstagarens marknad för utvecklare just nu Procera networks) - veckans sponsor Procera söker webbapplikationsutvecklare, bland annat Ember Backbone Node Grand central dispatch - applelösning för att förbättra och förenkla hantering av trådar och samtidighet Reference counting libdispatch - biblioteket på vilket Grand central dispatch bygger Block i C Anonym funktion Go Goroutin Kanal - kommunikationsväg mellan goroutines Transaktionellt minne Clojure Communicating sequential processes IPV6 - senaste versionen av internetprotokollet OpenMP - API för multiprocesshantering med delat minne på många olika plattformar Fortran Erlangs processmodell Futures Std::future i C++ 11 Std::promise Task-klassen i .net Node.js Scheme Continuation-passing style pthread_create Manuell minneshantering Trådhantering i Python Trådhantering i Ruby Trådhantering i Perl Pypy Multiprocessingpaketet för Python Map-funktion - funktion som tillämpar en funktion på alla element i en lista och returnerar en lista med resultat
1 Sep 201451min

Kodsnack 65 - Den andra dåliga idén
Vi snackar om att uppdatera sina applikationer, hur Tobias uppdaterat Plex och problem med installationsprogram. Tobias tipsar om Pytest och berättar hur han förbättrat uppdateringshanteringen. Tobias avslöjar häftiga trick man kan utföra när man vill uppdatera appar på Mac utan att behöva ladda ner varenda fil igen. Sedan pratar vi om kod skrivern för forskning och kommer in på att värdera bra struktur på koden och allting kring den - sådant som vi som kodhantverkare värderar högt men kanske inte alla som skriver kod. Problemen i STL får avrunda. Diskutera gärna avsnittet på Techworld Länkar Vi pratar så lite om Microsoft I am Groot Plex autouppdateringsinfrastruktur Plex Home Theater Deltauppdatering - uppdatering i vilken man enbart hämtar det som ändrats, istället för precis allting. Ett binärdelta innebär de rena och råa binärdataändringarna i varje fil, istället för exempelvis varje ändrad fil i sin helhet Bsdiff/bspatch Testsvit - en uppsättning tester Pytest Foo och bar - nonsensnamn som (allt för) ofta används i exempelkod Fixture Decorator Nose Jenkins Poppa stacken - ta bort och returnera det översta elementet i högen Windowsregistret - Windows centrala databas för inställningar Kodsignering av applikationer på OS X DMG - disk image, skivavbild, filformat Apple använder för att representera monterbara enheter .deb och .rpm - Linuxdistributionerna Debian och Red hats filer för distribution av mjukvarupaket Windows installer - .msi WIX - Windows installer XML SOAP OSGi - ett “modulärt system och en tjänsteplattform” för Java Byggare Bob - vårt avsnitt om byggsystem TAR - anrikt filformat och program för datalagring Blizzards installer Markstrid i asien… - Citat från Princess Bride The worst API ever made Historien bakom Direct3D Direct X 12 - Senaste versionen av DirectX Rendermorphics - Tillverkaren man köpte Direct 3D av Apples installationsinfrastruktur One little package of hate - Edge cases avsnitt om Apples installationssystem Resursagenter High Availability-kluster libvirt 20 000 rader kod (i libvirt) Xen och KVM VMWare LXC BSDiff-algoritmen Airmech-tillverkarnas fork av BSDiff UML-diagram används för att modellera och visualisera systemdesign Lua - språk bland annat populärt för högnivålogik i spel Game Engine Architecture Frostbite) Unreal-motorn Unity EA grundades år 1982 EASTL Koncept i C++ - som inte finns export i C++ - nyckelordet som bara en enda kompilator lyckades implementera Map i STL std::map.find - returnerar iterator>
24 Aug 201456min

Kodsnack 64 - Att gå till jobbet är någoting nytt
Vi börjar med att snacka om pendling och går därifrån vidare till kontor, i vilken arbetsmiljö man får mest gjort och varför man som arbetande inom ett område med stor efterfrågan ens finner sig i att jobba i mindre bra situationer. Sedan diskuterar vi hur uppskattade utvecklare faktiskt är utifrån en nyligen utkommen artikel kring hur man framställer sig vid intervjuer. Diskutera gärna avsnittet på Techworld Länkar Kodapor på Facebook Inlägget och diskussionen om pendling Kista Fridhemsplan Kungsholmen Sundbyberg Vilhelmina Stratiteq söker folk - rekryterar ingenjörer bland taxichaufförer How the other half works - artikeln om mannen som ändrade framtoning på sitt CV Massive - Malmöbaserad spelstudio
20 Aug 201440min

Kodsnack 63 - Lätt att köra fast i
Tobias och Fredrik går igenom lyssnarkommentarer på de senaste avsnitten. Vi tar upp diskussionen om att lära sig ett språk kontra att lära sig ett språk tillsammans med ett stort ramverk. Det är ofta stor skillnad på att lära sig ett språk i sig och att lära sig ett språk tillsammans med ett eller flera ramverkför olika ändamål. Kopplat till diskussioner om att våga lägga ner projekt snuddar vid problemen med upphandlingar och försök att skapa detaljerade specifikationer innan man utvecklar någonting. Avslutningsvis snackar vi lite kring operativsystem och bekräftar kritiken att hela panelen har dålig eller ingen koll på Windows och Microsofts plattformar. Vill just DU vara med och föra in mer Microsoft i Kodsnack? Hör av dig! Diskutera gärna avsnittet på Techworld Länkar Techworld Theswedes inlägg om PHP - på avsnitt 58 - Bara statisk HTML om nya kodsnack.se och dess teknik HHVM - Facebooks virtuella maskin för PHP och Hack PSR - standarder för att homogenisera utveckling i PHP PHPs inbyggda webbserver - finns från och med version 5.4.0 DBG - debugger för PHP GDB - GNU-projektets debugger. Fungerar med ett stort antal språk LLDB - debuggern som används av bland annat Xcode för språken i C-familjen node-inspector - lösning för att debugga Node.js med Chromes utvecklingsverktyg Laravel Ruby on rails - webbramverk för Ruby Hibernate - javaramverk för att representera objektmodeller och spara dessa i relationsdatabaser Core data - representerar, hanterar och sparar din datamodell på Apples plattformar Foundation och UIKit - centrala Objective-C-ramverk från Apple. Det förra för alla Apples plattformar, det senare för gränssnitt på iOS Composer - Pakethanterare för PHP. OBS: vi hade fel i avsnittet, Composer fungerar för PHP generellt och är ingenting specifikt för Laravel Hugo - programmet vi använder för att statiskt generera kodsnack.se jQuery - ett av de större ramverken för att underlätta … det mesta … i Javascript [Kodsnack 60 - Nu måste jag stämpla in och vrida på kugghjulen]() - om att våga lägga ner projekt med mera Kommentarer på avsnitt 60 Farbror Svens kommentar PUST - Polisens utskällda, dyra och skrotade försök till nytt IT-system OPS-upphandlingen - Nya Karolinska Solna Vattenfallsmodellen - att utveckla saker i steg som följer linjärt på varandra Fail-fast - Wikipedia, the free encyclopedia - filosofi kring felhantering att det är bättre att fallera högt och tydligt än att försöka hantera fel i det tysta Sunk cost fallacy - känslan att något automatiskt är mer värt för att man redan plöjt ned resurser i det Markus Klyvers kommentar Myrans svar på Markus kommentar DeltaJesus kommentar Avsnittet om operativsystem och dess kommentarer Sluta ljugs kommentar IIS - Internet information services - Microsofts webbserver Windows 8 Kopplingen mellan tangentbordets knappar och vad som visas på skärmen (här med fokus på Linux) Fönsterhanterare - programmen som hanterar och visar det som faktiskt dyker upp på skärmen Steam Kommentardiskussion kring huruvida macanvändare har gjort ett mer aktivt val och vad det kostar @kodsnack och info@kodsnack.se @bjoreman och @tobiashieta
12 Aug 201448min

Kodsnack 62 - En ideologisk fråga
Kristoffer och Fredrik snackar om operativsystem, hur vi upplever dem, vilka vi använder och föredrar och vad som egentligen är intressant för oss. Vi snackar om vad vi vill ha och varför och kraften i att kunna programmera sin egen miljö. Skillnader i hur Apple och Microsoft behandlar utvecklare. Fördelen för OS X och Linux att folk är där av eget val. Jämförelsen OS X kontra Windows och iOS kontra Android. Varför det inte utvecklas mer för Linux. Länkar Operativsystem - programmen som startar, kör och hanterar alla andra program i din dator Mac OS X Apples operativsystem för persondatorer Windows XP - det senaste Windows Fredrik använde på heltid Linux - fritt (eller åtminstone friare) operativsystem skapat av Linus Torvalds Unix - stor familj av operativsystem vars allra första version släpptes av Bell labs 1973 POSIX - en uppsättning standarder för att få kompatibilitet mellan operativsystem Bash - mycket spritt terminalprogram Windows kommandoprompt - många windowsversioners version av terminalprogram Powershell - Microsofts modernare kommandorads- och automatiseringsmiljö Applescript - skriptspråk för Mac OS find - unixprogram för filsökning Grep - unixprogram för sökning i filer efter matchande text Visual studio - Microsofts utvecklingsmiljö Red hat linux - linuxdistribution Massive entertainment - svensk spelstudio Steam - Valves spelförsäljnings- och distributionsplattform Xbox - Microsofts första spelkonsoll OpenGL OpenGL i Mac OS X Input lag Input lag i Mac OS X - något många seriösa spelare funderar över Låglatensskärmar - något många spelare är intresserade av Direct X - Microsoft-APIer för spel och multimedia DOS - Disk operating system, egentligen en hel familj av operativsystem Autoexec.bat - fil som automatiskt körs när DOS startar Hired guns - rollspel först släppt till Amiga, sett ur första person och för upp till fyra spelare samtidigt Amiga Workbench - det grafiska gränssnittet för Amiga OS Developers developers developers Micrsofterbjudanden för studenter som vill utveckla Appleerbjudanden för studenter som vill utveckla? Stygga verktygsfält för webbläsare iOS app store - Apples mjukvarubutik för iPhone och iPad Panic - liten och känd oberoende utvecklare för Apples plattformar. Finns det motsvarigheter på microsoftsidan? Steam machine - Valves linuxbaserade spelmaskin The year of Linux on the desktop Microsoft släpper Roslyn - kompilatorplattformen för .net - som öppen källkod Satya Nadella - Microsofts nye chef Azure - Microsofts molnplattform Cocoa for web services - om tanken att skapa fler generella lösningar för det vi behöver på våra servrar Amazons molntjänster
5 Aug 201429min