Player FM - Internet Radio Done Right
25 subscribers
Checked 5d ago
اضافه شده در four سال پیش
محتوای ارائه شده توسط Lars Wikman and Andreas Ekeroot. تمام محتوای پادکست شامل قسمتها، گرافیکها و توضیحات پادکست مستقیماً توسط Lars Wikman and Andreas Ekeroot یا شریک پلتفرم پادکست آنها آپلود و ارائه میشوند. اگر فکر میکنید شخصی بدون اجازه شما از اثر دارای حق نسخهبرداری شما استفاده میکند، میتوانید روندی که در اینجا شرح داده شده است را دنبال کنید.https://fa.player.fm/legal
Player FM - برنامه پادکست
با برنامه Player FM !
با برنامه Player FM !
پادکست هایی که ارزش شنیدن دارند
حمایت شده
Chef Shuai Wang was the runner-up on the 22nd season of Bravo’s Top Chef and is the force behind two standout restaurants in Charleston, South Carolina—Jackrabbit Filly and King BBQ—where he brings together the flavors of his childhood in Beijing and the spirit of the South in some pretty unforgettable ways. He grew up just a short walk from Tiananmen Square, in a tiny home with no electricity or running water, where his grandmother often cooked over charcoal. Later, in Queens, New York, his mom taught herself to cook—her first dishes were a little salty, but they were always made with love. And somewhere along the way, Shuai learned that cooking wasn’t just about food—it was about taking care of people. After years working in New York kitchens, he made his way to Charleston and started building something that feels entirely his own. Today, we’re talking about how all those experiences come together on the plate, the family stories behind his cooking, and what it’s been like to share that journey on national TV. For more info visit: southernliving.com/biscuitsandjam Learn more about your ad choices. Visit podcastchoices.com/adchoices…
Regular Programming
علامت گذاری همه پخش شده(نشده) ...
Manage series 2920782
محتوای ارائه شده توسط Lars Wikman and Andreas Ekeroot. تمام محتوای پادکست شامل قسمتها، گرافیکها و توضیحات پادکست مستقیماً توسط Lars Wikman and Andreas Ekeroot یا شریک پلتفرم پادکست آنها آپلود و ارائه میشوند. اگر فکر میکنید شخصی بدون اجازه شما از اثر دارای حق نسخهبرداری شما استفاده میکند، میتوانید روندی که در اینجا شرح داده شده است را دنبال کنید.https://fa.player.fm/legal
Conversations about programming. By Andreas Ekeroot and Lars Wikman, funded by Underjord.io.
…
continue reading
65 قسمت
علامت گذاری همه پخش شده(نشده) ...
Manage series 2920782
محتوای ارائه شده توسط Lars Wikman and Andreas Ekeroot. تمام محتوای پادکست شامل قسمتها، گرافیکها و توضیحات پادکست مستقیماً توسط Lars Wikman and Andreas Ekeroot یا شریک پلتفرم پادکست آنها آپلود و ارائه میشوند. اگر فکر میکنید شخصی بدون اجازه شما از اثر دارای حق نسخهبرداری شما استفاده میکند، میتوانید روندی که در اینجا شرح داده شده است را دنبال کنید.https://fa.player.fm/legal
Conversations about programming. By Andreas Ekeroot and Lars Wikman, funded by Underjord.io.
…
continue reading
65 قسمت
همه قسمت ها
×R
Regular Programming

The End. Links LADOK Sanne Kalkman - companies should hire junior developers Münchenbryggeriet The art of gathering Dead dog party Nobody wants this Neon genesis evangelion Ghost in the shell: stand alone complex Serial experiments Lain Hackers Black mirror William Gibson Burning chrome Neil Stephenson The Bridge trilogy s-CRY-ed Fullmetal alchemist Hellsing Samurai Champloo Black lagoon…
Imagine Andreas going around making annoying electronic sounds all the time. Strike that. Andreas and Lars discuss using less power - less fancy abstractions - to make things easier to understand. Andreas likes to do a de-powering pass to code. Avoid making something which is more general than is useful. Lars goes into the lure of event sourcing - going for very high data resolution - it might come in handy! - at the cost of a lot of other things - how do we prevent duplicate user names? You've got to love a JSON blob. Finally, Lars derails Andreas' arrow of time and discussion of locking things down early when possible. Links Power glove Ghost in the shell 2 Stand alone complex Unlimited power! For-comprehensions Nerveshub REST Squiggle The lenses paper - Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire Not hot dog Domain-driven design Event sourcing CQRS Saga - event sourcing pattern Data lake Data lakehouse Ecto Penny Arcade - On discomfort Prince of Persia: The sands of time…
R
Regular Programming

How do people learn about licenses? If you entered into software in a certain way, it's easy to assume that everyone is a part-time license attorney. But how do other people pick up license knowledge? And what does one really need to know? Licenses underpin open source but seem kind of dull. But they are also a cool and special thing about the software industry. Lars provides his licenses 101 thoughts and looks forward to becoming open source grandpa. Links GPL BSD license MIT license Apache license LGPL AGPL - Affero license OSI Open source licenses tried in court Source-available Cockroach BSL - business source license FOSDEM Oxide & friends on how they handle the CockroachDB thing Forking Terraform Opentofu Elasticsearch Opensearch Redis Valkey The Redis-Valkey-story The XZ backdoor Andres Freund - The Microsoftie who found the issue Visual studio code VSCodium Gitpod code-server Embrace, extend, extinguish Docker Podman Hashicorp Salt Ansible Terraform Stallman Compis Apple II MySQL CLA - contributor license agreement Kelsey Hightower VLC Winamp Slackware Debian Coding freedom - book by Gabriella Coleman (full PDF) FreeBSD Ideell förening Moomin dad Snufkin Pettson Jussi Björling Gramophone player…
Everyone's favorite idempotent podcast returns to discuss learning new languages and concepts. Can mixing and matching new concepts and syntax help or hinder language adoption? A new concept but a familiar syntax might make a language easier for all the drifting Javascript developers to grab on to. Lars considers picking up a lisp at some point. It's harder to pick up new languages when you're mainly keen on building. Lars is very much in a building phase. He has problems, but they are his problems. Lars is currently learning - among other things - by working with other people, putting himself out there, and arranging a conference. Links Alan Perlis A language that does not affect the way you're thinking is not worth knowing Domain-specific languages Rails Phoenix Elixir Erlang Prolog Gleam Elm The CodeBEAM Gleam keynote by Hayleigh Thompson and Louis Pilfold is not out in video form yet Ant (the build system) Bash XLST - Extensible Stylesheet Language Transformations Xquery SAX parser SweetXml Exercism course on Gleam Lustre web framework Sprocket web framework - Gleam-style implementation of Liveview OTP AtomVM Cardputer REPL - read-eval-print loop NIF GHC - the Haskell compiler Lua Dave Lucia and Robert Virding talking about Lua on the BEAM - also not out in video form yet The Konami code Uiua ZFS Evan - creator of Elm - in Kodsnack 604 Smalltalk Pony…
R
Regular Programming

Wherein the wonders of C are explored. But first, let Andreas tell you what's so great about Chalmers' approach to teaching computer engineering. Spoiler: starting with Haskell, close to math. The tooling around C: cultural mystery meat. Lars tries out a shocking plan for a productive framework for C! It's very cool to be able to just poke memory. Memory, arrays, structs, and strings are discussed. Strings are a bundle of fun. Arrays are desugared. Finally, a dive into the wonderful world of interoperability, both with and without C directly involved. Links Rust C D latches Gymnasiet - roughly upper secondary school or high school C++ Autotools Autoconf Linux from scratch Slackware Debian Makefiles Bash GNU Make Buildroot Cmake Zig TOML Isaac who does Zigler for Elixir POSIX Win32 API:s Libuv SIMD B-tree Redis Erlang NIF Cocoa - the wild Elixir community member integrating stuff OpenCV Pythonx - run Python from within Elixir Lua Luerl LFE - Lisp flavoured Erlang Fennel - lispier Lua Chicken Scheme…
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. Links Functional programming Haskell Lazy evaluation Lambda calculus Turing machines Alonzo Church Gödel - "A German guy" who formalized the definition general recursive functions Immutability Pure functions Witchcraft Continuation passing Partial application Currying The ML language family Why the lucky stiff Sam Aaron Sonic pi Roc Clojure AST - abstract syntax tree UV The UV company: Astral Memoization Singleton…
R
Regular Programming

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. Links Proof of Andreas speaking in public Sverok Beamer - write your slides in LaTeX Lars' Gigcity Elixir talk José Valim Chris McCord Øredev Lars' Øredev talk Lars Lisbon talk - Lively LiveView Code BEAM Berlin Jon Carstens Null modem Erlang clusters Wireguard Open source summit Another brick in the wall…
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? Links DX - developer experience Elm Language server Elixir's brand new official language server team unifies the work of the previous separate teams The Elm language server Mix - Elixir build tool Nerves NervesHub Nerves Cloud Buildroot Vintage - network configuration and management for Nerves devices REPL - Read-evaluate-print loop Ccache IEx - Elixir's interactive shell Hyllie Øredev Yocto SKF Bredbandsbolaget NervesHubLink OTP Smalltalk Lisp machines Beam Radio Bryan Hunter Rebar3…
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? Links Lönegaranti - wage guarantee Uppsägningstid - notice period Aria Hyllie Øredev Frank Hunleth talking about Nerves Nerves Raspbian Raspberry pi 3 Raspberry pi zero Adafruit Inky pHAT e-ink display Lars' ported Inky library Buildroot Yocto NervesHub Josh Kalderimis Travis CI Nerves Cloud Milwaukee Delaware Stripe Atlas Heartbleed Shellshock Stagefright Row hammer CrowdStrike Flickswitch SmartRent…
R
Regular Programming

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. Links CRUD - Create, read, update, delete Django Ruby on rails Phoenix Ash RethinkDB Mnesia Plausible analytics Timescale Clickhouse Nervesconf Alex McLain Nerves CubDB RocksDB DynamoDB The DynamoDB paper Ecto OAuth…
R
Regular Programming

Embedded is a weird thing. Lars is all Nerves and tries to explain and report from a world where people know part numbers off the top of their heads. The physical device missing is rarely a thing that happens in web development. Embedded-style work can sneak into other areas as well. Without a root file system, everything is a lot more secure. Security is a deep topic in general, and WPA is not just for wifi. Andreas shares his view of what "embedded" means, plus the story of building a really bad audio cable. Links Raspberry pi Nerves Frank Hunleth Threadripper Coral TPU Tensor processing units AI kit for Raspberry pi 5 Lars' Nervesconf talk is not out yet TI AM625 Zephyr Real-time operating system HAL - hardware abstraction layer HAL 9000 Oxide Arm Trustzone Buildroot Linux from scratch Alpine Wolfi Vintagenet wpa_supplicant Eduroam 802.1x PAP MS-CHAP EAP EAP-TLS Orangepi Get secrets by shooting lasers at security chips Nonce HMAC…
R
Regular Programming

Andreas is a man of many hobbies. Interviewing for example. But sometimes, you get strange questions from strange people, end up feeling scared, or start lying just a bit. Then, perhaps, you tell the story of a bug. Perhaps we shouldn't work during the winter? Lars doesn't have interviews. More like sales calls. H§e shares his experiences of how to recruitment, both as part of interviews and as a more straightforward recruiter. Finally: the secret to everything Lars does. Links Percy Nilegård Hiring Processes with Gergely Orosz - Oxide and Friends (podcast) The Indiana Jones switch Gigcity Elixir Lars' conference report Chattanooga Nerves Amazon Aurora Rewriting the Technical Interview…
R
Regular Programming

Stories about Ecto quickly redeeming itself, and of what it takes to introduce foreign keys. Some of us are super comfortable referencing the ID. Lars dislikes that Ecto needs to be more complicated because of SQL, but the abstractions do hold. Also: the biggest reason to ever use a ORM! It can be really nice to come back to one after a tour of plain SQL-land. Some people have just been bitten so hard by cowboys. Links Ecto Foreign keys RethinkDB Referential integrity AXA Lantmännen ModelForm in Django Cowboy and Plug DSL Upserts Fragments Haxl - DSL for creating queries SQLAlchemy ets…
R
Regular Programming

Fredrik wants to think about long-lived code. Lars is offended, Andreas only a little bit so. Are there other good software development practices out there? Other than the ones focusing on building something quickly? Practices for building software which lives on and is maintained for much longer than we seem to care to admit? Should we remove dependencies over time? The swamp of dependency management and vendoring is probed, gradually shifting into firmware, the horrors of floating point (proper excuses are made), small language models. Finally, of course, indecent cups of tea. Links Lagom React Flux architecture Redux Changelog episode with Justin Searls about dependencies as liabilities Kent Beck talking about managing risks in software development Kent Beck drawing on a whiteboard and staring at the audience Mithril.js Interact.js Vendoring Working effectively with legacy code - the book about legacy systems Delphi 5 Flask Dynamic linking SAML POSIX Libc Glibc Musl H.264 Microcode Oxide and friends Coral TPU:s Tensorflow lite 286 Pentium CUDA ROCm Quantization LLaMA…
R
Regular Programming

The Saint Valentine's peak passed without issue. Andreas had time for semlor. Lars has opinions on semlor, and can imagine many possible improvements. Like having an apple. Or a pizza. Lars has had a nice influx of work, including hardware work using Nerves. Testing and very hackish hot code reloading are both included. Finally, some thoughts on Linux audio, and musings about the possibility of creating really nice audio tools for the platform. Links Saint Valentine The strangler fig pattern The strangler pattern Phoenix Cowboy Semla Mudcake The Swedish chef making chocolate moose Finnish fastlagsbulle with jam One of Lars' blog posts about Nerves Frank Hunleth - also hot code reloads the way Lars has done Lars' Stream deck library for Elixir Stream deck Elgato key light PulseAudio PipeWire Rogue amoeba's audio tools for Mac JACK Custom APT repository Quotes The Nordics go all awkward and weird In my heart, it was a catastrophy Had time for semlor An unimpressive pastry It's less messy to have an apple Professional nerves Building with nerves A reasonable enough abstraction The Rogue Amoeba for Linux…
Andreas tells the story of a old system which suddenly exhibited a new and frightening bug. Lars shares similar experiences of things going wrong in new and novel ways. When things do go wrong, it is so nice to have supervision trees or other things which allow you to hear about problems, not to mention recover from them. Also covered are some stories about TCP, networks, and timeouts. And a realization that testing the frameworks upon which you build could have saved some bacon, had it just been done a long time ago. Links Django Model-view-controller Drupal Unicode collation Supervision trees Oxide and friends - episode 27 TCP_NODELAY QUIC and HTTP/3 UDP Nyqvist-Shannon sampling theorem Hexagonal design Quotes Gaming convention management system When I say view, I mean controller View is a better word If I ignore it, it will go away Destructive favourites Alternative class hierarchies Failed in new and novel ways Both a mistake, and interesting Aaah, circumflex! TCP the good parts…
R
Regular Programming

Lars dove into data pipelines, and emerged bearing arrows and wishing for a lot fewer copies. What is there to think about regarding data pipelines, what is interesting about them? Which tools are out there, and why might you want to use them? Why all this talk about making fewer copies of data? What does Lars' current ideal pipeline look like, and where does Elixir fit in? Links Matt Topol Apache Arrow Large language models Vector search BigQuery sed AWK jq Replacing Hadoop with bash - "Command-line Tools can be 235x Faster than your Hadoop Cluster" Hadoop MapReduce Unix pipes Directed acyclic graph tee - to "materialize inbetween states" Apache Beam Apache Spark Apache Flink Apache Pulsar Airbyte - shoves data between systems using connectors Cronjob Fivetran - Airbyte competitor Apache Airflow ETL - Extract, transform, load Designing data-intensive applications Stream processing Ephemerality Data lake Data warehouse The people's front of Judea DBT - SQL-SQL batch-work-thingy SQL with Jinja templates Snowflake - data warehouse thing Scala Broadway Oban - "robust job processing for Elixir" Dashbit pandas - Python data library APL Arrow flight GRPC DataFusion - query execution engine Polars - "DataFrames in Rust" Explorer - built on top of Polars Voltron data The Composable Codex Pyarrow - Arrow bindings for Python Quotes I've been reading a lot about data pipelines What's so special about data pipelines? There's a lot of special tooling There's a lot of bad, bad tooling Less than optimal tooling Converging on something biggerlk He got me eventually All of your steps in one bucket What tools do you associate with data? I inherited a data pipeline BashReduce Iterate on the L and the T The modern data stack And then you demand more work No unnecessary copies Barely a copy Reconnecting with my Python roots…
R
Regular Programming

1 About Fun With GenServers 1:06:17
1:06:17
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:06:17
GenServers are fun! Andreas gives all the context. Things were learned, knowledge was aquired. You can do so much with GenServers, but make sure you have a good reason. If you don't watch out, this is where concurrency goes to die. Dynamic supervisors, and their children, are thoroughly considered. Also delved into is the mess other ecosystems make of doing things at the same time, waiting, and so on. The strange worlds of C and other unusual languages are considered. Finally, an interesting bug. Links Alan Turing Turing machine GenServer Cowboy Plug Umbrella ETS - Erlang Term Storage Øredev The actor model Virding's first rule of programming Registry DynamicSupervisor The Goth library - Google auth library for Elixir The GIL - the global interpreter lock Friday afternoon deploy Promises Esbuild Uiua - "A stack-based array programming language" Prefix tree Packmatic library , by Evadne Wu - streaming zip archives Quotes Where the system grows horizontally The kind of thing that starts happening when you hire developers It was missing a hat I have become nothing, the simplifier of things Where all the concurrency goes to die A whole dance party of sad, dark people The children of the dynamic supervisor Homes can be nodes Hundreds of interested parties Turns life into promises Poking some C programmers…
R
Regular Programming

Every web app starts out fine, the tabula rasa of an unwritten BODY. But sooner or later you need users. And a million other things which live in trees. Also: email. And that layer between the controller and the database where things like fine-grained access control goes. I'd like to have an admin, please. Eventually, web apps grows up. And while a larger framework with solutions and conventions for all those grown-up features may not necessarily be fun , it can certainly be useful. Links APM - Application Performance Management Django Teams should be an MVP feature! Bullet Train - a "Ruby on Rails SaaS framework" Flask Express Sinatra Scotty Phoenix Auth0 Okta Postfix Postmark Django Anymail Swoosh Model-view-template ACL:s - access-control lists Ecto Multitenancy Zack Daniel on Beam Radio Zack's Elixirconf talk Ash framework Plug DSL - domain-specific language Bigquery gRPC HIPPA Postgrest Function based views Django REST Laravel Titles Check in on your application Do you want details? The view is the controller Because names I'd like to have an admin, please The admin is kind of rough All the data is introspectable Endgame application Not another user management system A very special can of worms…
R
Regular Programming

The software development industry is very much built for code nerds. It shouldn’t be. Many of us know many people who are really into coding. Not every working developer can, or even should, be though. Doesn't that create kind of a weird gap between professionals who live and breathe code both on and off work, and those who have a more balanced life? Being passionate about your job shouldn't be an expectation or requirement for anyone or anything. Is there too little space for learning - are we assumed to know too much, and assumed to spend our own time figuring out things we don't? Your path into coding is not, can not, and should not be the only path possible. Links The Python 2 to 3 transition Robert A. Heinlein in 999 Words: What Every Human Should Know Ghost in the shell Harvest moon 4x - Explore, expand, exploit, exterminate TDD - test-driven development BDD - behavior-driven development Charity Majors 2017 blog post about career paths for developers. (Bonus: 2019 follow-up about engineering managers ) Late-stage capitalism Quotes I think that's perfectly healthy Surrounded by them Delving into software Surrounded by nerds Much more reasonable answers Where the nerd doesn't go so deep Computers are troublesome Why should you be passionate about your job? Squeeze the passion juice Too passionate to defend themselves Experience or scar tissue? Many developers have lives Popping out for the big picture Doing good work takes all kinds…
R
Regular Programming

Data has moved to a real database. Next, there may be brave attempts to add actual structure. Working with a real database is nice, as is not losing data, and being able to restore. Not everything is ephemeral, after all. Database service providers and cool stuff they do are discussed. The deal with Elastic is clarified. Finally, it is revealed where you should store your traces. It is actually probably fine. Links MongoDB RethinkDB Ecto Ecto changesets Database schema OpenAPI Ash framework Django Django REST framework X-Request-ID Transactions Write-ahead log pg_restore pg_dump Bigquery Logical replication Fly.io ElectricSQL Flutter React native CRDT:s Phoenix liveview Firefly Webassembly SQLite DuckDB Clickhouse Developer voices podcast Episode about Clickhouse Plausible analytics Fathom analytics podcast Paul Jarvis - the " Company of One " guy Jack Ellis Laravel Fathom Elasticsearch Meilisearch Lucene Cardinality Honeycomb OpenTelemetry New relic HyperDX Datadog Quotes A worse MongoDB Migration complete Everything is ephemeral The idea is to add lots of columns It seems a bit more Django The stakes were high but the budget was almost zero It is actually probably fine…
R
Regular Programming

It seems a mingle is a thing, and not just in Swedish! But what do we want to get out of them, how do we go into them, and how do we create good ones? Do you want resonance or hole-poking when you tell people about your plan to arm toddlers with nuclear weapons? Do you want to successfully mingle nerds, or just hit the snacks hard? The foood, the cake, the coffee, and the old classmates. Too hot, too loud, too crowded. Links Mingle (noun) Ben Orenstein Tuple Thougtbot podcasts - The bike shed and Giant robots . Ben was on episode 183 of The bike shed and episode 136 of Giant robots . Øredev The art of gathering The Whova app Quotes Interesting and fun Arm toddlers with nuclear weapons We don't trust solutions Excitement and resonance Intensively and excitedly and indefinitely The active rubberduck strategy Talking to fish in a barrell Successfully mingle nerds Hit the snacks pretty hard…
R
Regular Programming

Performance: we wish the incentives were there to focus on it more often. Lars would like more opportunities and incentives to focus on making things fast, rather than just making them not slow. Unfortunately, things tend to line up so that fast enough and more features are in focus. Plus, performance and optimization can be very context sensitive and age out without anyone really noticing. Also pondered: IRC, Gentoo, and the eldritch horrors buried within the x86 architecture. Links Grep os.walk() in Python Why GNU grep is fast Ripgrep Ag - the silver searcher Travelling salesman problem Bin packing Mnesia ORM Project Euler Fibonacci numbers D. Richard Hipp - the guy behind SQLite Changelog episodes with Richard XKCD and IRC IRC IRCCloud Matrix and Element Elm SVG Canvas Neovim Lisp Arch Nix Gentoo Funtoo Dart Flutter Skia - the graphics library under Flutter Linked list Pointers CISC - Complex instruction set computer RISC - Reduced instruction set computer io_uring Quotes Given up on old man Elixir Gotta go fast I never really needed it Grep, naively All the problems at the same time Travelling knapsack problem My ORM-infected brain Measuring things and muttering under my breath I have a hobby, I do job interviews Tools by toolmakers for toolmakers I'm the IRC guy Machine-whispering optimization…
R
Regular Programming

CTOs want the ability to get prototypes built and out into production fast . Others preach the gospel of building things properly. How fast can you be? How much can you perpare before you hit the ice? And one you built and shipped that prototype, how can you get any kind of speed trying to maintain and evolve something where many corners were cut for speed? How do we want things to work then? Having an algebra for things might be nice. A sprinkling of interface, things that break noisily, and nice toolboxes to work with structs are all discussed. Links The Scott - Amundsen race to the South pole Accelerate , by Nicole Forsgren Parse, don't validate Mnesia Deep modules Pure functions Plug Elm Bruce Tate CRC - Create reduce convert Ecto Roc Happy Path Programming . Episode 47 features Richard Feldman and Roc Richard Feldman , creator of Roc Quotes The gospel of building things properly The key to speed on the ice Before you hit the ice Bare maps Every step made sense The original intent very easily gets lost The curse of all software Strive for maintainability It must not sprawl A little sprinkling of interface At dawn, we roadmap Things that break noisily A quantity unitless The simple case of HTTP…
R
Regular Programming

Did they do design, or did they just do a system? Distributed systems are hard in many ways. Andreas describes a system communicating between backends and mobile phones in exciting ways with many exciting possibilities for errors. Like data format changes, loss of messages, having 1.5 source of truths, and of course ordering. In certain cases, nobody likes an optimist. The discussion then moves to discuss the working well-windows for various networking solutions, before diving into WebRTC and finishing up with the various dangers of auto. Links Recursion Eventual consistency Pubsub RethinkDB Event sourcing React native Android studio Mnesia - a "distributed, soft real-time database management system" written in Erlang Dirty reads and writes Websockets QUIC UDP TCP WebRTC NAT HTTP live streaming Lars' ElixirConf talk Zoom H4 Zoom H4n pro Quotes Working with systems and feeling the pain Coping with system design Eventually consistent, on a good day Eventually sourced A disappointment to work with Your internal representation of the user This is the shape of the data, deal with it 1.5 source of thruths Oh, it's an optimist I don't like optimists at all Optimist databases Within its working well-window Outside of the working well-window A crash of servers Bad connections over long distances I don't do math…
R
Regular Programming

Lars went to ElixirConf EU. Going to a conference can be a credibly incredible experience. Elixir has more clarity than Erlang. Lars also gave a talk, a fact he was comfortably uncomfortable with. Giving a talk also comes with benefits such as being able to talk to fish in a barrel. But why did he choose to make the whole talk a demo? What is the goal of it all? Gotta build things! Dive in, make stuff. Links ElixirConf EU Lars' conference report blog post Code BEAM Sverok Pieter Hintjens about giving talks by talking to the audience Windows 98 (not 95) demo fail Lars' presentation code Voice Driven Development: Who needs a keyboard anyway? - presentation by Emily Shea Hugging Face Quotes Born during ElixirConf Less clarity to it Genservers and stuff Mainstream Elixir Comfortable with that discomfort Talking to fish in a barrel A buddy from the internet The first one I bothered to count Your loose coupling to anything What do you hypothetically know?…
R
Regular Programming

Text editors - which ones do we enjoy, which ones have we used, and what do we actually want and need in them? Andreas has read about vim, sed and awk. Lars is quite comfortable in vim, but finds Visual studio code more than acceptable enough. Andreas is excited to show Lars how to use Vim properly. Lars considers advanced setups something of a hellscape. Lars has held a lecture about functional programming and wishes to provide a path for new .Net developers (dotnet dots?) to become free software zealots. They both share their history of editors. There are dreams of ergonomic editing - of code as well as text in general - on mobile devices. Any other editors we should be trying? No, but you could hack together collaborative vim editing. Links Humble bundle Learning the Vi and Vim Editors - book Vim The Anarchist Cookbook Thunderdome Monad ex - line editor which inspired vi ed sed & awk - book AWK sed Sublime text Zed Neovim Tmux I3 GNOME Pop!_OS KDE Treesitter ElixirLS FZF - fuzzy finder for the command line Ripgrep Functional programming Monads Fakeroot Notepad.exe Borland Delphi Notepad++ Eclipse Intellij Android studio Xcode Write/Wordpad Nano Pico Gedit Kate Netbeans Atom Scratch GNU Screen Live Share for Visual Studio Code Quotes Learning violent vim Like Thunderdome, but nobody leaves, ever I could do that with monads instead C's strange cousin There's a new sed on the block The power of just good enough Two terminals beside each other It's all a mess in here My sword and lots of configuration files The dotnet dots Quitters don't use Vim Real code is done on the server Notepad the way I want it to work A load-bearing note Exciting and fun, and incredibly unsafe…
R
Regular Programming

How do we feel about working remotely? Pretty good, on the whole. Chairs and other basics are of course important, as is making your way of remote work a nice way of doing remote work for you. It is also nice to need to wear your work face less. The challenges are more around the social sides - communicating differently, but generally replacing and rebuilding ways of being social with people both inside and outside of your work interests. That takes work. Also, some talk about audio and video gear for remote meetings. It's nice to come off as full-fidelity people! Links Conan the barbarian Eventual consistency Gamers Nexus on gamin chairs Ullman Nite-Flite RFC process Røde procaster XLR Ghost power (phantom power) Shotgun microphone The Kodsnack Slack Quotes My real comfy legendary office chair My chair was kinda good Fluffy parts It's me and Conan I go for the floof Eventually ergonomic Eventually comfortable Whenever I don't have one, I create one Your spine has a very particular taste in chairs A prosumer phase of life Definitely dialled in Make sure you have a social life I fetch a lot fewer coffees than most people Ghost power! Full-fidelity people It's very much my office I don't have to wear my work face all day My work face…
R
Regular Programming

Lars is thinking about distributed systems, and Andreas kind of fears them. The best thing to do for most cases might be to avoid distributing things at all. But if you do end up needing to distribute, you may run into one of the places in the world where worse is better is not necessarily better? Adding distribution on top of something not really built for it is one of the hard problems. There are deep dives into reconciliation, vector clocks, normalization, and places where fun goes to die. And there, still, are no magical solutions. Links Phoenix pubsub Worse is better ElectricSQL CRDT:s - conflict-free replicated data type The CAP theorem Soft real time Highlander N-tier architecture Postgres replication Vector clock Elixir outlaws Phoenix presence Operational transformations Split-brain Riak CouchDB Raft Paxos Normal forms for databases Googles' Mapreduce Google Spanner CockroachDB Cassandra Contentful The Cambria paper - schema evolution in distributed systems with edit lenses Quotes Distributed systems are interesting I'm doing an insert! A special little server The devil is always in the failure details The naive threshold The absolute wrong number of machines Where all the fun goes to die A good, sortable name They lie and they drift A simple incrementing number is incredibly useful Git merge for vector clocks Three is the best number…
R
Regular Programming

About Hackers Thinking about the term "hacker". Time to take it back to mean something rather down to earth, rather than a pedistal requiring years of C and a black hoodie? What do airlines have against Erlang anyway? There's also the mindset angle: the hacking mindset can be when exploring, versus when needing to solve a specific problem. The discussion goes into labels one feels comfortable with, switching between different modes, and the ever present, ever hard to find dark matter developers. Over time, labels can easily go bad in one way or another. But regardless of labels, we can all agree on duct tape and enthusiasm, right? Links Let it crash Burning man Activitypub Static site generator CMS The Unix philosophy COM FFmpeg vi Perl Ecto Dark matter developers Quotes So security, very programming Joy and playfulness My mind goes off Creative systems thinking Think through as many eyes as possible Many things are intended as complete packages Handing you the fun bits Things that provide you the entire world Not very together-bashable The media version of Vi Creating SQL that you didn't intend Mostly mindset What happens in the outliers Neutron programmers The unsung programmers Duct tape and enthusiasm…
به Player FM خوش آمدید!
Player FM در سراسر وب را برای یافتن پادکست های با کیفیت اسکن می کند تا همین الان لذت ببرید. این بهترین برنامه ی پادکست است که در اندروید، آیفون و وب کار می کند. ثبت نام کنید تا اشتراک های شما در بین دستگاه های مختلف همگام سازی شود.