
Kodsnack 85 - Det borde ju räcka med att en person bryr sig
Vi snackar om mjukvarukvalité, dels utifrån nyliga och återkommande diskussioner om Apples mjukvara, dels utifrån vad Google gör och inte gör när det kommer till mjukvara och produktifiering av mjukvara. Känslan vi får av Apple är att de gör bra produkter med för många buggar i mjukvaran, medan Google väcker frågan varför ett företag med så mycket talang inte släpper bättre produkter. Vi kommer bland annat in på enskilda personers påverkan på ett företags inriktning. Och för övrigt är alla är nöjda med att de - mer eller mindre problemfritt - lyckats ta sig upp ur sängen såhär tidigt på arbetsåret. Diskutera gärna avsnittet på Techworld! P.S: Fredrik lyckade mycket riktigt hitta en väg runt sin bugg lagom till arbetsveckans slut. Länkar Querystring 404 HTTP-statuskoder Sprintmöten Retrospective Marco Arment Tumblr Instapaper Overcast Accidental podcast Apple has lost the functional high ground - Marcos första artikel Kodapor på Facebook Det hade aldrig hänt om Steve Jobs levt Craig Federighi - numera mjukvaruansvarig på Apple Interna mail där Bill Gates klagar på Microsofts mjukvarukvalité Blizzard Daniel Jalkuts diskussion efter Marcos artikel Steve Jobs pekade ut Flash som ett problem En av många klassiska diskussioner om att fixa gammal kod istället för att slänga ut och skriva om Glenn Fleishman har sammanställt en lista över applebuggar som påverkar folk just nu Marcos uppföljning där han ångrar att han publicerade artikeln CES Plex släppte nya funktioner på CES Marco diskuterade även artikeln och reaktionerna i efterföljande avsnitt av Accidental tech podcast Hacker news Google plus Gmail Priority inbox Øredev Adsense Google maps Googles egen publika information om datacenter Lollipop - i sändande stund senaste versionen av Android Material design - Googles nya designspråk code.google.com Mapreduce Google wave Github git Amazons molntjänster Github startade för att göra Git enkelt: http://tom.preston-werner.com/2008/10/18/how-i-turned-down-300k.html Sergey Brin - medgrundare av Google Titlar Mmm, lecacysystem Tillbaka fyra år i tiden Känna sig lite äcklig efteråt Sju abstrakta steg ner Väldigt mycket fredag En typiskt fredagsbugg I slutändan är man tillbaka där man började Idag hade vi ju faktiskt ett ämne De jobbar på saker väldigt länge och sedan slänger de bort dem Saker och ting blir ju … mer Nu har taket rasat Det finns ingen annan att skylla på än Apple Lista ut vem som är skyldig Det har ju funnits andra att skylla på De får skulden för allt som är fel Det man hör är det tråkiga Man är ju fast i sitt eget perspektiv Om man var internetberömd Kristoffer säger att allt är trasigt Helt oanvändbart och helt otrevligt Acceptabelt på samma sätt som Windows är acceptabelt De tre korvarna uppe till vänster Det enda de tänker på är backend De försöker ju i alla fall Två extrempunkter Fullständigt oanvändbar och värdelös Man jobbar ju på Google för att snöa in på en grej Det borde ju räcka med att en person bryr sig En lösning för Google
11 Jan 201555min

Kodsnack 84 - Från kritisk till mer kritisk
Vi snackar om att komma tillbaka in i jobbet efter ledighet, att veta vad man ska göra och hur lång tid det tar innan man kommer in i något igen. Ibland är man bara inte i den där zonen där man vet hur kod funkar. Fredrik berättar om sitt lilla leksaksprojekt med A* och Kristoffer har breddat sin grad av kritik mot programmeringsparadigm till att omfatta i princip allt. Tobias har byggt ett lite störe pythonprojekt och lärt sig uppskatta nya saker. Därifrån kommer vi in på sätt att få typkontroller i Python och allmän typhantering. Språk kan bli så uttrycksfulla och koncisa att koden blir svårtolkad, vilket är lätt att se som ett problem, samtidigt som det onekligen leder till färre och kortare rader kod vilket i sig är direkt kopplat till en minskning av antalet buggar. Ja, och gott nytt år! Diskutera gärna avsnittet på Techworld! Länkar NDA Kristoffers spelknackande Command & Conquer RTS Pathfinding A* Pseudokod på Wikipedia Lost vikings Lemmings Devalvering - inte vad Kristoffer menade Vårt snack med James Mickens Proof of concept Jetbrains Pycharm Jetbrains IDE för C++ CLion, SeaLion? Øredev Webstorm Typhintning för Python och Pycharm Tupel None i Python Överlagring av funktioner Haskell Templates Generics ML Guido Oxfordkomma Typhintning för Python 3 Common Lisp Common Lisps typhintning voidpekare Go Diskussioner om generics i Go Swift och generics Protokoll i Swift Ruby “Bakvända if-statser” i Ruby Skriva sina egna itereringsfunktioner i Ruby Senaste ATP - Marco lär sig Go Marcos tweet om att hans goinfrastruktur är live Frågeteckenoperatorn i Swift Brainfuck List comprehension Transducers i Clojure Map i funktionell programmering Decorator i Python Memoize Singelton Vår intervju med Stefan Karpinski Titlar Jag försökte komma in i jobbet igår Jag vet inte riktigt vad jag sysslar med Det hade ju varit på något sätt skönt att veta exakt vad man sysslade med Det kanske är ett RTS vi ska göra? Försök navigera dig fram till ett ämne Rakt framåt mot köttkvarnen Resetta allting till ingenting Knappt så man kommer ihåg hur en for-loop ser ut Från kritisk till mer kritisk Nihilistisk loop Aldrig ett steg bakåt En typ in och en typ ut Python med typning Mer bekväma typsystem Guido är ens bästa kompis En arg britt som slår en på fingrarna Tusen varningsflaggor Lite legacy i det hela En ohyra från C++-världen När man väl har förstått templates - vilket i princip är omöjligt Lite för fiffigt
6 Jan 201545min

Kodsnack 83 - Easy by virtue of travelling the hard way
We chat with Rob Ashton, freelance developer, speaker and recent discoverer of how to learn things properly, live on stage during Øredev 2014. Topics include learning, the plateaus of learning and how to actually do things right to keep evolving and learning. The problems of frameworks wanting to make X easy. Perhaps we should learn about programming in general instead of learning the next big framework in the hope that it will solve our problems without us needing to understand them? This recording exists as good as it is thanks to Stephen Chin of nighthacking.com for providing and masterfully wrangling all the necessary technology. Comments, thoughts or suggestions? Discuss this episode at Techworld! Links Rob Ahston Rob’s keynote from At the frontend Haskell Clojure Rob’s good use of the guitar Strumming Deliberate learning Refactoring to to functional - talk at Øredev by Hadi Hariri Datagrid Winforms ATS Erlang Prolog Recursion Fold Haskell generator functions Polymorphism gen_server MUD You are in a maze of twisty little passages, all alike Latency Macros in MUDs Wizards in MUDs Angular Angular 2.0 talk Haskell is lazy Web forms npm - the Node package manager React Om Clojurescript REPL Flux - Facebook’s architechture style used by them with React Ember Bash AWK SED Purescript Cloud Haskell Docker Titles I haven’t got an elevator pitch for myself at the moment I’ve become a real person living in the real world It has changed the way I approach learning I just build software every single day Tangible and listenable A transformative moment Fingerpicking and scales Competent throwing things together I wouldn’t say my day job betters me Why am I learning this crappy pointer stuff Deliberate learning Easy by virtue of travelling the hard way My day job is mostly Erlang with a hint of C Erlang is acutally incredibly boring Lisp with horrible syntax Things that mutate in the background The world becomes a happy place I’ve started writing a MUD in Haskell And then you die in the next scene A problem that noone has anymore It’s good for you imagination Factory providers and god knows what else Hate’s a very strong word The framework ain’t gonna help you Shortcutting problems I don’t do prescriptive Preferable to gouge my eyes out with a spoon That “wonderful” is sarcastic It was an abomination If there is such a thing as good C Transcoding and cloud nonsense That’s because you skipped the learning step Copying and pasting things off of the internet Shuffling piles of binary around the place
17 Dec 201430min

Kodsnack 82 - It's very difficult to make a joke in this space
We chat with James Mickens, researcher and most likely funniest man at Microsoft, live on stage during Øredev 2014. Topics include C development, the purity of incrementation, death by specifications, scandinavian death metal and its font choices and also British football, distributed systems and the problems you encounter dealing with them. The downsides of being stuck alone in a set of universes is that Stack overflow can’t help you. And how should we fix the Javascript and web browser technology world? Comments on the internet? No. This recording exists as good as it is thanks to Stephen Chin of nighthacking.com for providing and masterfully wrangling all the necessary technology. Comments, thoughts or suggestions? Discuss this episode at Techworld! Links Freedom fries Microsoft research Distributed systems James’ talk at Øredev 2014 Handling the zombie apocalypse - James’ article “The night watch” James’ talk at Monitorama 2014 Satya Nadella - CEO of Microsoft Nuclear proliferation Segfault Logical shift Logical AND Malmö Logical OR W3C - World wide web consortium Web components Web components templates Gorgoroth Fibonacci Factorial Fizz buzz Sepultura King diamond British steel Notepad Web workers Crom - James’ system for speculative Javascript execution Speculative execution Total recall Firebug Galactus Odin The Shellshock bug Turtles all the way down Jquery Angular XHR MDN - Mozilla developer network, great source of Javascript and browser API documentation Git The grandfather paradox Polyfill asm.js NoSQL Mongodb Bare metal Just in time compiler Maslow’s hierarchy of needs let-satement Zeus Quirksmode.org Yo Leviticus Registry ASCII art About:config Max TCP connections Shockwave Singularity DVR - Digital video recorder Futures Bendgate Captain America’s shield Georgia Tomfoolery 4chan Huge sloths Titles This is just Hollywood stuff We’ll edit this out with CGI What happens on the set #freedom #america What prevents me from being a happy person in life It cheapens the art Homelessness is bad too At least you have hope Do you like iteration? I only increment variables Only go forward Black Gandalf Not just fair or balanced Otto von Hyphen We laugh to stop from crying Darkness is delightful The great thing about scandinavian death metal What would Beelzebub do? That TV is in the cloud now Like jazz musicians Like trying to write Inception 2 The left hand of satan Multiple speculative universes What universe am I in? A low-rent Stephen Hawking Firebug had no notion of my separate universes The Odin object In the regular development world Chicanery all the way down Function calls are not our strong point Not nothing will happen XHR:s over passenger pidgeon LOL I took a hard dependency on it It’s very difficult to make a joke in this space We don’t even issue writes devnulldb But we have hoverboards Tread carefully on the polyfills Close the tab and reboot the machine This is such a character builder Mumblefoo.js Fast Javascript, and cancer No-lock cancer Asynchronous cancer That kitten on a tradmill is not going to watch itself Another special type of disaster Folk wisdom on the web 127i content Emu futures If I had a website, I’d run it like Singapore Every computer should come with an old person This whole alternate semantic reality
15 Dec 20141h 6min

Kodsnack 81 - En helt ny värld
Fredrik snackar med Filip Ekberg om .NET och får sina vyer kraftfulld vidgade kring utveckling på och med Microsofts plattformar. Vad har hänt på sistone, var ska man börja och vem ska man följa på Twitter för att skaffa sig lite koll? Är du medveten om exakt hur öppen mycket av källkoden i kärnan av .NET faktiskt är? Eller om att du kan kompilera appar för Windows, Windows phone, OS X, iOS och Android från en enda kodbas? Inklusive användargränssnitt? Vi snackar också lite om vad andra kan ta efter i hur Microsoft stödjer sina utvecklare, bakåtkompatibilitet och hur ens tålamod inte verkar öka med tiden. Diskutera gärna avsnittet på Techworld! Länkar Filip Ekberg Donald Rumsfeld-skalan The poetry of Donald Rumsfeld - avsnitt 53 av appleutvecklarprogrammet Edge cases Filips bok - C# smorgasboard MVP - Most valuable professional - utmärkelse Microsoft ger till framstående personer i utvecklargemenskapen Microsofts omorganisation One Microsoft Visual studio numera gratis för fem användare Visual studio community ASP.net kan köras på Linux och OS X Den öppna delen av .net-plattformen Intellisense - Visual studios kodkompletteringssystem Omnisharp - verktyg för .NET-utveckling i Sublime, Vim, Emacs, Atom med flera Bash Kompilatoromskrivningen av C# och VB.net Managed code Roslyn - .NET-kompilatorplattformen Utvecklingen av C# Funktionella aspekter av C# Microsoft på Github Codeplex Steve Ballmer Developers, developers, developers Folk som diskuterar problemen med Apples appbutiker och otydligariktlinjer Genomsnittliga tider mellan uppladdning och godkännande i Apples appbutiker Xamarin Azure mobile services AD - Active directory, katalogtjänst från Microsoft Node.js Web API Visual studio express C# 6 Visual studio 2015 Nullpointer exception/null reference exception ??-operatorn hanterar null i anropskedjor Nyheter i C# 5 Windows XP har fortfarande lite stöd Visual basic 6 ASP.NET-teamets standups på Youtube ASP.NET 5 .NET core Parallel LINQ Nuget - pakethanteringssystem för Microsofts utvecklingsmiljö Gentoo - linuxdistribution Microsofts videos online och utbildningsmaterial MSDN - Microsoft developer network, Microsofts startplats för utvecklarinformation Pluralsight ASP.NET - sajten med utbildningsmaterial Project Euler VB.NET Portable class library - möjliggör återanvändning av kod mellan projekt för olika .NET-plattformar Mono Win32-API:et Xamarins studio - IDE för Mac Storyboards kan användas för att beskriva gränssnitt på Apples plattformar Nib-filer - kan också användas för att beskriva gränssnitt på Apples plattformar XAML - Extensible application markup language, XML-likt språk från Microsoft för att beskriva gränssnitt Scott Hanselman - blogg och Twitter Hanselminutes - Scott Hanselmans podcast Scott Guthrie - blogg och Twitter @fekberg - Filip på Twitter Titlar Det är rätt mycket kod Det är rätt mycket legacykod Ibland vill man bara slänga ihop ett bash-script En helt ny värld En skalbar backend När gamla buggar faktiskt slängs bort eller slutar stödjas De gör allt på Github I den riktiga världen Det används väl bara i den riktiga världen En riktigt bra runtime för alla plattformar
9 Dec 201453min

Kodsnack 80 - Where numbers don't have to be special anymore
We chat with Stefan Karpinski, creator of the Julia programming language, live on stage during Øredev 2014. Topics include defiding to build a new language, the interesting unsolved problems of numerical computing, concurrency solutions, developing with and on LLVM, handling deprecation nicely, things (possibly) in the future for Julia and why Swift is exciting for Julia and other languages. This recording exists as good as it is thanks to Stephen Chin of nighthacking.com for providing and masterfully wrangling all the necessary technology. There is a minute and a half of worse audio quality just after the nine minute mark, where microphone problems forced us to fill in with audio from our backup microphone. Comments, thoughts or suggestions? Discuss this episode at Techworld! Links Stefan Karpinski Julia programming language Scientific computing Viral Shah Jeff Bezanson MATLAB R programming language Python C extension Goldilocks Goldilocks principle Dylan Garbage collection Unboxed data Complex number Julia Webstack Numerical computing Concurrency Distributed computing Threading Julia on Github Transactional memory Goroutine Coroutine Channel I/O LLVM IFDEF JIT - just-in-time (compilation, in this case) Shared library libclang - C Interface to Clang Template instantiation Quake2.jl Go Hacker school Matrix multiplication Vectorization Generational incremental garbage collection SNOBOL SPITBOL Icon Perl 4 C99 standard Immutable composite types Multiple dispatch Monkey patch radd-trick in Python Common Lisp CLOS - Common Lisp object system Polymorphism Self BLAS - Basic linear algebra subroutines Fast fourier transform Gofix Tracing Static compilation MIT - Massachusetts institute of technology Courses taught using Julia Function pointer Scipy Steven Johnson FFTW Pycall package for Julia Call stack GDB LLDB ABI - application binary interface Clang Rust programming language Swift Chris Lattner - creator of LLVM and Swift WebKit FTL JIT - compiles Javascript using LLVM Shadow stack Dynamic stack frame deoptimization MATLAB matrix concatenation syntax Titles Some of the interesting tradeoffs Bridge that gap between high-level and low-level A huge pointer graph of some kind It’s good to have a focus, initially The point where we’re pushing things The classic tradition of a ton of IFDEFs This brings us back to garbage collection Specializing for numerical work Where numbers don’t have to be special anymore (The question is:) How useful is that generalization? You don’t necessarily know what code you’re going to need in advance Trading off memory for performance Really doing the deprecation process A situation where normally you’d JIT something You might end up in a slow case You can always just fall back on an interpreter A partially compiled interpreter Nobody needs to know that it was written in Julia A really capable C library As easy as walking a linked pointer list I’m really glad someone else implemented it
7 Dec 201436min

Kodsnack 79 - Vad skulle det kosta att göra det på rätt sätt?
Vi snackar om turerna kring Swish, både aspekten hur man hanterat säkerhetsproblem och hur man hanterat att råka (?) innehålla öppen källkod. Det är en sak att ha ett problem, en helt annan och kanske ännu viktigare hur man beter sig när problemet väl är ett faktum. Från att ha en väg att faktiskt ta emot problemrapporter till hur man hanterar och kommunicerar vad som händer sedan. Tänk vilket intressant alternativ det varit om Swish helt enkelt släppt sin kod öppet istället för att släppa uppgradering och säga att man inte använde den öppna koden! Mitt i alltihop har kanske både Swish, HiQ och bankerna agerat pragmatiskt i hela händelseförloppet? Och källkoden är - fortfarande - inte värdefull i sig. Framför allt inte som inte ens öppen och välanvänd kod blir läst i någon större utsträckning. Vi avslutar med att diskutera minnes- och filhanteringsbuggar som kanske gömmer sig i ens program och en diskussion om påståendet att testdriven utveckling inte fungerar och testning i allmänhet är överskattat. Diskutera gärna avsnittet på Techworld! Länkar Transcoding Bit rate DTS Receiver Linux nya namngivningsschema för nätverksinterface Øredev Stephen Chin Vår intervju med Fred George - fler kommer Vår mikrofon - funkar finfint med lugnare miljöer Allt fler jobbar på distans - intervju med Tobias Så upptäcktes buggen i Swish Swish HiQ Länsförsäkringar Swish kryper till korset - ändrar i appen - IDG.se GNU LGPL Moxie Marlinspike Statisk och dynamisk länkning Certifikatspinning Code audit Dunning–Kruger-effekten Säkerhetsteater TSA Security through obscurity GNU GPL När källkod till Windows NT läckte Assassin’s creed unity Buggar i Assassin’s creed unity OpenSSL OpenSSH NSA Symlänk File descriptor fstream i C++ Heap TDD - testdriven utveckling Unit testing Code coverage Neutrino Refactoring Regression Code review Testing the hard stuff and staying sane - presentation av John Hughes Joe Armstrong - mannen bakom Erlang Clojure/west Quickcheck Atomära transaktioner Agil utveckling Sprint inom mjukvaruutveckling John Siracusa Titlar Lära sig på fötterna Här har vi en bankapp Ett svårt problem rent praktiskt Ett svårt problem rent teoretiskt Säkerhet ens i teorin Ingen direkt personal Deprimerande men inte ett dugg förvånande En helt omöjlig beställning Vad skulle det kosta att göra det på rätt sätt? Samma procedurer som NASA har för rymdskeppen Kasta HiQ under bussen För att få jobba på den här appen så måste man låsa in sig i ett litet rum på banken Helt fel typ av säkerhet Hemligt och säkert är inte samma sak Han ser lite ut som att han jobbar på Ericsson Som en bror till Joe Armstrong Härliga grå skjortbeklädda britter Det som funkar för dig är en bra grej
30 Nov 201455min

Kodsnack 78 - Stirring the pot is necessary
We chat with Fred George, handgrenade of software development, live on stage during Øredev 2014. Topics include choosing clients, getting out before you start breaking things, the right ways of changing, the value of methodologies, remote work, gams, languages and more. This recording exists as good as it is thanks to Stephen Chin of nighthacking.com for providing and masterfully wrangling all the necessary technology. You can discuss this episode at Techworld! Links Mail Online Node Lean thinking Scrum master Agile coach Clojure Fad diet Thoughtworks Java Spring framework Outpace Pong Dreamhack Starcraft Skyrim The law of large numbers Metal Swift Palo Alto Swift user group Øredev session on Swift Elixir Dave Thomas Erlang virtual machine Micro services Key value store Database transaction Forward internet group Fred Georges’ sessions at Øredev: Enabling emergent technologies and Microservices: lessons from 3 companies KPI - Key performance indicators Waterfall model of software development COBOL C-level executives Richard Gabriel Lucid Emacs Worse is better - paper by Richard Gabriel Myspace Valve organizational structure
24 Nov 201448min