
Kodsnack 61 - Det blir inga landskap, det blir webbservrar och sliders
Fredrik och Kristoffer firar årets varmaste dag med att snacka kablar, kaffe och koffein. Sedan snackar vi lite mer om Kristoffers minecraftinspirerade sommarprojekt, problemen kring att generera intressant och varierad terräng för sitt spel och svårigheterna för spel med öppna världar att lyckas leva upp till sina löften. På slutet lite om Swifts nyligen presenterade åtkomstmodell och vad vi tycker om den. Diskutera gärna avsnittet på Techworld Länkar Lightning Dr Pepper Jolt cola Fulcola - testar coladrycker av de flesta slag Vilnius - Litauens huvudstad Fritz-kola Volt cola Japanska gitarrer Femtiokilometerslopp Gongfu-teceremoni - små kannor, små koppar, mycket varmt vatten och flera bryggningar A/B-test Te - bra för tänderna? - Tandläkaren säger ja... Te - dåligt för tänderna? - Expressen säger nej? Te - bra för munhälsan! - ...enligt tandläkare? Rooibos Kafferostning Kaffesubstitut Cikoria Pu-erh Minecraft Vilda västern-stenformationer Kinesiska landskap med träd på toppen av berg Bret Victoriga gränssnitt JSON Jakrakning RTS - realtidsstrategispel Ultima underworld Goblin Skyrim Sid Meier's pirates! Elite Wing commander privateer Wing commander Voxel Quake Sandmandalas Peer-to-peer No man's sky No man's sky-trailer Spore - gudaspel från 2008 Wil Wright - amerikansk spelskapare Asteroids Black & white - gudaspel från 2001 Peter Molyneux - brittisk spelskapare Normalmappning Swifts åtkomstmodell Gos åtkomstmodell - "public" motsvaras av stor bokstav Apples swiftblogg const i C++ const_cast
29 Juli 201450min

Kodsnack 60 - Nu måste jag stämpla in och vrida på kugghjulen
Fredrik och Kristoffer snackar om att ha förebilder, om att skeppa saker och om den kanske överdrivna tonvikten kring att skeppa. Om varför "övergivna" projekt faktiskt inte alls är något negativt utan bara något att vara glad och tacksam för. Det är lätt att imponeras över de som kan brinna för och fokusera på en enda sak, men vi är inte alla sådana personer. Koppling mellan stresskänsla och intresse och att kunna inspireras istället för att tryckas ned av folk som kan mer än en själv på ett område. Mot slutet blir det lite snack om OpenGLs märkliga utveckling till att bli mer hårdvarunära och charmen i när folk verkligen går till botten med och lär sig utnyttja precis allt i en maskin. Länkar PSA1 - Kristoffers nya mikrofonstativ Røde - mikrofontillverkare Statisk typning Litauen Litauens bredbandstäckning - "In terms of household penetration, the dominant fiber nation remains Lithuania, which already has 100% coverage of FTTH and over 31% of homes connected to fiber." Matt Gemmel följer upp med egna tankar utifrån Ed Finklers artikel som vi diskuterade i förra avsnittet Hacker news WWDC - Apples årliga utvecklarkonferens John Carmack - storhet inom 3D-motorer för spel Douglas Adams ville vara John Cleese Silmarillion - Tolkiens huvudprojekt Cristopher Tolkien Donald Knuth Literate programming Hello world podcast - många intervjuer med programmerare och hur de börjat Casey Liss - en tredjedel av Accidental tech podcast och något överraskad av det jobb som kan komma med att släppa öppen källkod Accidental bot Caseys showbot för ATP Clippy - den gemformade assistenten som irriterat folk i många versioner av Office Newspeak Pull request Kodsnack på Github - om du vill föreslå ändringar, tillägg eller annat på webbplatsen, gör begäran mot site Minecraft OpenGL Immediate mode Vertex Normal Matrismultiplikation Unity Unreal engine Metal - Apples ramverk för lågninvå-3D Arkitekturen i Playstation 2 Baldur's gate: dark alliance - actionspel för Playstation 2 som hade helskärmsantialiasing Commodore 64 på 64 minuter Guy Steele om att programmera med hålkort, bland annat Perlin noise Simplex noise Elite RTS - realtidsstrategi Command & conquer: tiberian sun Voxlar - volympixlar Brütal legend Mac mini (mitten av 2011) Full throttle Psychonauts Tim Schafer kodsnack.se info@kodsnack.se Kodsnack på IRC Enter
23 Juli 201456min

Kodsnack 59 - Lära sig nya saker eller att bara skeppa
Varför snackar vi inte mer Microsoft? Efter kommentarer från lyssnare diskuterar vi varför vi inte pratar mer om andra ämnen än vi gör, lite om filosofin bakom hur vi gör Kodsnack och bjuder in alla att höra av sig till oss. Vill du sponsra Kodsnack? Vill du vara gäst i Kodsnack? Vill du tipsa oss om något?Hör av dig! Vi läser och tar till oss av all återkoppling vi får. Sedan snackar vi om hur utvecklingen går framåt. Det händer hela tiden nya saker. Blir det vi har lärt oss omodernt och oanvändbart? Behöver man hänga med i varje ny trend för att fortsätta göra nytta? Vilken typ av utvecklare är du? Vi snackar växelverkan mellan jobb och fritid när det kommer till att lära sig nya saker och att hitta den linje som passar en själv mellan pragmatism och att lära sig något nytt. Länkar Kommentaren om att vi inte har fler perspektiv IKEA-design rakt av - avsnittet där vi pratar Microsoft och Windows medIris Classon Förslaget att döpa om oss till Appsnack Roslyn - .nets numera öppna kompilatorplattform Typescript - utbyggnad av Javascript som kompilerar till Javascript The developer’s dystopian future - artikel om att hänga med i utvecklingen som programmerare Ed Finkler Kommentar på De stora spektaklen - avsnittet om konferenser - av abc…åäö The humans of New York Bootstrap - ramverk för att bygga flexibla webbplatser Node.js - javascriptbaserad serverplattform Marco Arment - utvecklare av iOS-applikationer Angular JS - javascriptramverk för webbapplikationer Web objects - applikationsserver ursprungligen skapad av Next och som fortfarande driver Apples webbutiker Att lära sig gå - ett av våra tidigare avsnitt på ämnet Go Manuell minneshantering Core dump Kommentarerna kring Lisp och vad som är ett programmeringsspråk Novellen Tobias läste med dystopisk framtid Cobol - programmeringsspråk designat 1959 Matrix - stilbildande science fiction-film från 1999 Warhammer (fantasy) - fantasyvärld och ett flertal spel som utspelar sig i densamma Warhammer 40000 - figurslagspel i en mycket dystopisk framtid Tech priest Marco Arments podcasts - Accidental tech podcast och Build and analyze (numera nedlagd) C++ 11 - den senaste C++-standarden C++ 14 - nästa standard för C++
14 Juli 201453min

Kodsnack 58 - Bara statisk HTML
Kristoffer och Fredrik snackar om den nya inkarnationen av kodsnack.se och tekniken bakom. Vi följer också upp kring Lisp och lyssnares rättelser av vad vi sagt. Lisp är mer maskinnära än man kanske tror. Vi patar program som genererar statiska webbplatser och deras nytta både att använda och bygga. Mot slutet blir det uppföljning om och minnen av PHP blandat med lättnaden i att generera sin webbplats statiskt och alla bekymmer man slipper genom att göra så. Länkar Squarespace Markdown - program och syntax för att generera HTML från dokument i ren text Kodsnacks avsnittsanteckningar på Github Export från Squarespace Wordpess - populärt bloggverktyg FLAC - Free lossless audio codec Squarespace på Twitter Slack - chatt med mera för arbetsgrupper Libsyn - plattform för att publicera poddradioprogram Libsyns API Auphonic Statisk webbplats Snack tidigare om Github-monokultur VPS - Virtual private server Beautiful soup - pythonbibliotek för att utvinna data ur exempelvis webbsidor RSS - Standard för publikation av nyheter eller annat innehåll från webbplatser Hugo - statisk webbplatsgenerator skriven i Go Jekyll - populär statisk webbplatsgenerator Hyde - Jekyll i Python Pelican Restructured text ASCIIdoc Spanskans utbredning i USA Disqus Kommentarer och diskussion på Techworld kring Lisp Ord - Den naturliga dataenheten i en viss processordesign cons-cell Templates-biblioteket som följer med Go Kodkata Magneto - Don Meltons generator för statiska webbplatser Ruby vill göra programmerare glada ASP - Active server pages - tidig microsoftteknik för dynamiska webbplatser CAPTCHA Nya toppdomäner Rapportera fel i anteckningar eller avsnitt här
9 Juli 201443min

Kodsnack 57 - Utvecklarnas utvecklarkonferens
Vi tar hjälp av riktiga experter för att försöka bearbeta intrycken från WWDC. David Rönnqvist, Joachim Bengtsson och Johan Larsson pratar förbättringar för utvecklare, känslan av ett nytt Apple och förstås en hel del Swift. Varför skrev Apple ett eget språk, vilka är våra favoritaspekter av språket? Vad mer kan Apple göra för att förbättra App store för utvecklare? Länkar Joachim Bengtsson (@nevyn) David Rönnqvist (@davidronnqvist) Johan Larsson (@kottkrig) Lookback - se hur folk faktiskt använder din app Leopard - Mac OS X 10.5 Core animation - appleramverk för att animera gränssnitt Scene kit - appleramverk för 3D-grafik 3D graphics with Scene kit - Davids bok om Scene kit Cocoaheads Stockholm Slashat - sveriges största teknikpodcast Slashat-appen på Github Johan på Github WWDC 2014 Iphoneintroduktionen 2007 Back to the Mac-eventet 2010 WWDC 2013 - öppningspresentationen Healthkit Homekit iWork - Apples svit av produktivitetsapplikationer Word on the street: The truly big stuff did not leak. - John Gruber före WWDC 2014 iWatch - klockan det länge ryktats att Apple utvecklar Yosemite - 2014 års version av Mac OS X Nya glada Finder Swift - Apples nya programmeringsspråk Extensions - Apples lösning för att låta applikationer på iOS och OS X samarbeta på ett säkert sätt iTunes connect - Apples tjänst för alla som vill sälja saker genom deras butiker (App store, iTunes och iBooks) Nyheter i iTunes connect Testflight - System för hantering av betatester SDK - software development kit Betatestning och gradvis utrullning av nya versioner av appar på Android Notiswidgets Att utveckla tangentbord för iOS 8 Video om extensions - “Creating extensions for iOS and OS X”. Se ävendel två Storage provider - typ av extension som låter en app agera lagrings- och hämtningsplats för filer Jailbreak - att gå runt systemets inbyggda begräsningar för att till exempel kunna installera vilken mjukvara som helst XPC - API i OS X för kommunikation mellan processer Dropbox - tjänst för lagring av filer Box - tjänst för lagring av filer Cloudkit - Apples senaste API för att låta appar lagra data i molnet One drive - Microsofts tjänst för molnbaserad fillagring Utvecklarkeynoten - “Platforms state of the union” iCloud Core data - API för att låta applikationer byggda på Core data synkronisera sömlöst med molnet Photokit - Nytt ramverk för att arbeta med foto och video Craig Federighi basar över både Mac OS X och iOS utveckling Continuity - Fördjupad kommunikation mellan Apples olika enheter REST-API - API som definieras av och arbetar med HTTP-standardens anrop Statisk och dynamisk typning - Två inriktningar till att kontrollera att data i program är av förväntad typ LUA - programmeringsspråk Generic programming - Ger möjlighet att skriva generella funktioner som kan arbeta med många olika typer av data YES och NO - Används i Objective-C istället för 1 och 0 när man arbetar med boolska värden … och .. vid iteration Bakåtkompatibilitet - Swift stöds bara för iOS 7 och framåt, så det går inte att använda för projekt med höga krav på bakåtkompatibilitet Introduktion till Swift Binärkompatibilitet innebär i fallet Swift att ett program kompilerat med en tidig version av Swift fortfarande kommer att fortsätta fungera och köra även när nyare versioner av språket släppts Lattnerpost om binärkompatibilitet på utvecklarforumet (inloggning krävs) Att blanda Swift med C-språken Rubymotion - Utveckla för iOS och OS X i Ruby ARM - familj av instruktionsuppsättningsarkitekturer (säg det fem gånger snabbt) för processorer Debug 33: Ken Ferry on Auto Layout, Passbook, and Understudy - vid 1:14:00 pratas om hur Chris Lattner utvecklar: “[Chris Lattner] has this attitude towards incremental change that I think is very useful which is that: the way that you get something done is that first you figure out where you want to be, which might be somewhere totally different from where you are (and that’s fine) but then you figure out a path to get from where you are to where you want to be and the path is to the greatest extend incremental and you don’t just throw it out and write again because that’s not going to work.” Chris Lattner - Mannen bakom Swift, LLVM och Clang Block - utbyggnad av C för att stödja closures ARC - Automatic reference counting, minneshanteringsteknik som används på Apples plattformar Closures Lattners tweet att det här är en startpunkt WWDC-appen - ett trevligt sätt att se alla presentationer Extensions i Swift - categories i Objective-C, sätt att lägga ny funktionalitet till existerande klasser, strukturer och uppräkningstyper Monkey patching - att förändra körande kod utan att förändra källkoden Playgrounds - interaktiv miljö för Swift Optionals Synchronized NSLock Radar - Apples bugghanteringssystem Dispatchblock Asynkronisitet i C# Gevent för Python Trailing closures Future Att bygga futures ovanpå GCD Fredriks krönika om det nya Apple Hårskämt på WWDC NDA - WWDC i år är väldigt mycket mindre hemligt än tidigare år Debug 33: Ken Ferry on Auto Layout, Passbook, and Understudy - vid 0:28:30 pratas det om att “the AppKit group and UIKit group now sit next to each other” Apple nekar appar där man kan se reklam mot belöningar i spelet Swiftboken AVAudioEngine - video Interaktiva animationer-presentation Metal Storyboards Nya view controllers på Mac Nya storleks-API:er för iOS Auto layout - System för att mer automatiskt anpassa gränssnitt för olika skärm- och fönsterstorlekar scenekitbook.com Cocoaheads Stockholm
29 Juni 201459min

Kodsnack 56 - Små små lösningar på små små problem
Fredrik och Kristoffer snackar om utvecklingen av programmeringskonsten och undrar varför saker inte går snabbare framåt än de gör. Från webben där alla verkar återuppfinna elementarpartiklar om och om igen, via våra likformiga utvecklingsmiljöer till programmeringsspråk där vi återupptäcker Lisp med jämna mellanrum. Famlar vi fortfarande i blindo i väntan på att någon ska upptäcka elden? Vi hinner också med lästips kring Lisp och problemen med de som predikar entydiga och enkla Svar på alla problem. Avsnittet sponsras av Malmö startup studio. Länkar Steve Yegge Den statiskt typade säkerhetsvakten på flygplatsen Execution in the kingdom of nouns Steve Yegges blogg Äldre texter Steve Yegge skrev på Amazon Joe Armstrong - skaparen av programmeringsspråket Erlang Rob Pike Emacs - familj av utbyggbara textredigerare js2-mode - javascriptläge för Emacs som Steve Yegge ligger bakom React - javascriptbibliotek för användargränssnitt Origami verktyg för att skapa gränssnittsprototyper HHVM - Facebooks virtuella maskin för PHP och Hack I'm done with the web Cappuccino 280 slides Objective-J Playgrounds - interaktivt och visuellt verktyg för att experimentera med kod skriven i Swift ECMAScript 4 - versionen som sköts i sank ECMAScript - det "officiella" namnet på språket vilket Javascript är en implementation av Javascript och moduler är ett invecklat kapitel Arguments-objektet i Javascript är "arraylikt" men faktiskt inte en array Swift - nyligen släppt språk från Apple Första klassens funktioner Allt är redan upptäckt - i sluten på 1800-talet. Tyvärr inte sant Memristorer Paradigm - tydligt koncept eller tankemönster Delat minnesutrymme System 6 Windows 3 Amiga Actormodellen för samtidig beräkning STM - software transactional memory Race conditions Läckande abstraktioner - abstraktioner som inte döljer underliggande detaljer väl nog Licensen för HHVM - PHP- och Zendlicenserna till största delen Fall med mjukvarupatent till allmänhetens fördel Tesla motors släpper patent … eller? Uber - taxi för rika Doug Hoyte Let over lambda - bok om Lisp On Lisp - gratisboken Kristoffer rekommenderar att man läser före Let over lambda Instapaper - läsa-senare-tjänst The little schemer - en ovanlig och underbar liten bok om programmering Presentationer av Friedman Ten great books - Steve Yegge CAR och CDR Guy Steele Common Lisp the language Practical common Lisp Rabbit - a compiler for Scheme Tidernas första paper om Scheme VAX - gammal instruktionsarkitektur Netscape - företaget bakom den en gång stora och populära webbläsaren med samma namn W3C - World wide web consortium, arbetar bland annat med standarder för webben Bret Victor REPL - read-eval-print loop Agile och Scrum - populära sätt att filosofera kring mjukvaruutveckling Creativity, inc - bok om Pixar och hur de försökt arbeta för att fortsätta utvecklas och frodas Pixar Objektorienterad design TDD - testdriven utveckling Richard Feynman Cargo cult science Robert Martin SOLID-principerna Tage Danielsson
24 Juni 201455min

Kodsnack 55 - De stora spektaklen
Vi snackar konferenser, presentationer och lightning talks. Vad gör egentligen en konferens värd att åka på, hur mycket kod vill vi se i presentationsbilderna och ska folk verkligen få ställa frågor? Sedan övergår vi till att diskutera vad som får programmeringsspråk att slå igenom och om dagens språkexplosion är bra eller dålig samt poängen med att ens hålla reda på hur populära språk är. Är det bra eller dåligt att behöva lära sig fler språk istället för att kunna fokusera på ett eller ett fåtal? Avsnittet sponsras av Cenito. Länkar Pycon.se Vårt första avsnitt om Pycon.se Lightning talk - en mycket kort presentation IRC - Internet relay chat, ärevördigt system för textchatt Kända finska uppfinningar FOSDEM - tvådagarskonferens i Belgien som vill uppmuntra spridningen av mjukvara med öppen källkod XMMS - mediespelare för unixsystem Core foundation - ett av Apples C-API:er för OS X och iOS Alla presentationer från WWDC 2014. Den Fredrik pratar om har nummer 237 och heter "A strategy for great work" Meetup - utmärkt tjänst för att både hitta och organisera alla sorters träffar för likasinnade Øredev - utvecklarkonferens i Malmö GDC - Game developers conference Square Enix - företaget bakom Final fantasy och många andra stora spel Cocoaheads - gruppen för alla intresserade av utveckling på Apples plattformar Football addicts - göteborgsbaserade utvecklare av Forza football Cenito Parsnip - Kristoffers kombinatoriska parser skriven i Python, och bilderna till Kristoffers presentation Emscripten - kompilerar C++ till Javascript Scheme ML OCaml Hashmap i C++ Kernel Moores lag Fredriks text om små datorer TIOBE-indexet över populära språk Assembler - lågnivåprogrammeringsspråk som ofta har en ett-till-ett-koppling mellan instruktioner och maskinkod Visual basic Actionscript - dialekt av Javascrip som främst används i Flash och AIR Go Closure - enkelt uttryckt en funktion tillsammans med omgivande miljö - en closure kan när den anropas nå värden som ligger utanför själva funktionen men som var nåbara när funktionen skapades Pekare i C James Powell som på Pycon.se höll presentationen Generators will free your mind Ruby on rails - stilbildande ramverk för webbapplikationer Perl Jim Weirich - tal om the Y combinator Y combinator Lambdafunktioner Turingkomplett In-out-parametrar - parametrar till en funktion som skickas som referenser och därför kan ändras av funktionen (och därmed returnera ett värde till anropande kod) Actor model - matematisk modell för samtidig beräkning The little schemer - kanske den mest egensinniga bok om programmering som finns Gang of four - Design patterns: elements of reusable object-oriented software Våra anteckningar på Github Markdown - syntax för rena textfiler designad för att dels se bra ut som ren text, dels vara enkel att omvandla till HTML
17 Juni 201452min

Kodsnack 54 - De har gått hela vägen till Haskell
Kodsnack 54 - De har gått hela vägen till Haskell Vi snackar om programmeringsspråket Swift och lågnivågrafikramverket Metal - två av nyheterna Apple just presenterat på sin utvecklarkonferensWWDC. Avsnittet sponsras av Malmö startup studio. Länkar Malmö startup studio malmostartupstudio.se/events Apples keynote - presentationen som inledde konferensen och presenterade vad Apple ansåg vara de viktigaste nyheterna WWDC WWDC-lotteriet - Apple lottade ut biljetterna till årets konferens Git bisect SQLite - liten och självpaketerad SQL-databasmotor fsync Plex pass Förrförra programmet - "Femte elementet i en vektor" Hur vi spelar in Kodsnack Våtvara Förra programmet - "Gör en Python 5" Diffie-Hellman-nyckelutbyte Kodsnack på twitter Kodsnack på e-post Andra som berättar om vad som är nytt i iOS 8 och Mac OS X Yosemite Swift - Apples nysläppta programmeringsspråk Avoiding Copland 2010 - John Siracusas artikel från 2005 om att Apple måste skaffa sig ett språk med modern minneshantering Objective-C Smalltalk NeXT Utvecklingen av Objective-C LLVM och Clang Binärkompatibilitet Cocoa - Apples centrala ramverk för OS X och iOS Funktionella språk Lisp ML Haskell Ruby Python Groovy - dynamiskt språk som körs på Javas virtuella maskin Rust Go F# Chris Lattner Headerfiler Moduler för C och Objective-C State of the union-presentationen Alla presentationer från WWDC 2014 Xcode 6 Swift optionals - Hur swift gör det svårare att dereferera null av misstag Maybe-monaden Hibernate - javabibliotek för att översätta mellan objektmodeller och relationsdatabaser Namngivna parametrar Syntaxen för dictionaries i Objective-C tillsammans med den för andra förändringar som skedde samtidigt ARC - Apples modell för minneshantering. Används för både Objective-C och Swift Cirkulära referenser Sätt att läcka minne i Java Erlang Pattern matching Unicode UTF-8 Emoji utf8everywhere.org - propagerar och hjälper dig propagera för att UTF-8 ska användas … ja, överallt Bytekod - kod anpassad för effektiv körning av en tolk eller virtuell maskin Kompilerade språk - språk som omvandlas till någon typ av maskinkod innan de körs clattner_llvm - Chris Lattner på Twitter AngularJS - populärt javascriptramverk Swift playgrounds - Artikel om Playgrounds Read-eval-print-loop - kommandoradsmiljö (oftast) i vilken man kan skriva in och köra programkod och direkt se resultatet Lispmaskiner - datorer byggda specifikt för att ha Lisp som sitt huvudspråk Bret Victor och hans presentationer Light table - utvecklingsmiljö för Clojure, Python och webbutveckling Nyheter i Xcode 6 Metal - Apples nya ramverk för 3d-programmering på iOS Tim Sweeney - grundare av Epic games och utvecklare av Unreal-motorn Ray tracing - teknik för att skapa 3d-grafik Johan Andersson Frostbite - spelmotor först utvecklad för spelen i Battlefield-serien John Carmack - 3d-spelprogrammeringsguru DirectX - API-familj från Microsoft för effektiv hantering av spel och annan media
10 Juni 201455min