About Defining Functional Programming
What is functional programming?Andreas grabs his whiteboard and his Turing machine, and starts from laziness, while Lars thinks of immutability, functions, and data.Is syntax important for being functional or not?The functionalness of various languages are delved into, from Haskell to Rust via Python, Go, and Ruby. And, of course, the evil version of Elixir.A good pipeline can be really nice.Oh, and you shouldn't use witchcraft anymore.LinksFunctional programmingHaskellLazy evaluationLambda calculusTuring machinesAlonzo ChurchGödel - "A German guy" who formalized the definition general recursive functionsImmutabilityPure functionsWitchcraftContinuation passingPartial applicationCurryingThe ML language familyWhy the lucky stiffSam AaronSonic piRocClojureAST - abstract syntax treeUVThe UV company: AstralMemoizationSingleton
About Giving Talks
Lars wants a less demanding way to prepare for giving talks, but he doesn't have the time right now.Andreas knows a cheat code for public speaking. Lars uses slides like a blunt instrument.How should you wield your slides? How do you weigh information content against entertainment value? Should you try to reach precisely everyone with your talk? Many slides, or few? Lars has the questions, and some of the answers, at least for himself.Last but not least, Lars reveals his current way of preparing for talks. It ideally involves getting quite bored.LinksProof of Andreas speaking in publicSverokBeamer - write your slides in LaTeXLars' Gigcity Elixir talkJosé ValimChris McCordØredevLars' Øredev talkLars Lisbon talk - Lively LiveViewCode BEAM BerlinJon CarstensNull modemErlang clustersWireguardOpen source summitAnother brick in the wall
About Developer Experience
What are people talking about when they talk about developer experience? Pretty colors in the terminal?What is worth improving, what is not? Lars has thoughts about all of developer experience, not least the one of Nerves. How flaky do you accept, for how fast?Revealed: why all Andreas' Elm programs are one line long.Also: Why not attend the Øredev developer conference in Malmö this November? LinksDX - developer experienceElmLanguage serverElixir's brand new official language server team unifies the work of the previous separate teamsThe Elm language serverMix - Elixir build toolNervesNervesHubNerves CloudBuildrootVintage - network configuration and management for Nerves devicesREPL - Read-evaluate-print loopCcacheIEx - Elixir's interactive shellHyllieØredevYoctoSKFBredbandsbolagetNervesHubLinkOTPSmalltalkLisp machinesBeam RadioBryan HunterRebar3
About Endings and Beginnings
Andreas' place of work ceased to exist.It was mostly a relief.The main worry is about resting and recovering enough before whatever comes next begins. All the learnings about how not to do certain things live on.The right way of doing those things still remains to be learned.Lars is on the other end of the spectrum: beginning completely new things. Figuring out where exactly Delaware is, finding a Nerves-shaped Elixir hole, wading through Python scripts, and so much more.Also: Why not attend the Øredev developer conference in Malmö this November? LinksLönegaranti - wage guaranteeUppsägningstid - notice periodAriaHyllieØredevFrank Hunleth talking about NervesNervesRaspbianRaspberry pi 3Raspberry pi zeroAdafruitInky pHAT e-ink displayLars' ported Inky libraryBuildrootYoctoNervesHubJosh KalderimisTravis CINerves CloudMilwaukeeDelawareStripe AtlasHeartbleedShellshockStagefrightRow hammerCrowdStrikeFlickswitchSmartRent
About Non-CRUD
CRUD - a classic term among supposedly simple web apps. But, not always the right move? Not always all that mappable to the actual problem?Discussed: picking spicy architectures, non-CRUD data storage needs, slovely solutions, dirty refunds, and doing the OAuth dance.Hey, thing happened!Finally: a story where pubsub was reasonable, and some telemetry.LinksCRUD - Create, read, update, deleteDjangoRuby on railsPhoenixAshRethinkDBMnesiaPlausible analyticsTimescaleClickhouseNervesconfAlex McLainNervesCubDBRocksDBDynamoDBThe DynamoDB paperEctoOAuth