Regular Programming - podcast cover

Regular Programming

Lars Wikman, Andreas Ekerootwww.regprog.com
Conversations about programming. By Andreas Ekeroot and Lars Wikman, funded by Underjord.io.
Last refreshed:
Follow this podcast in the Metacast mobile app to refresh it and see new episodes.
Download Metacast podcast app
Podcasts are better in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episodes

About Ending Things

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...

Jan 20, 202541 minEp. 65

About the Least Powerful Abstraction

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 ...

Dec 23, 202442 minEp. 64

About Licenses

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 lic...

Nov 25, 202445 minEp. 63

About Learning New Languages

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 probl...

Oct 28, 202442 minEp. 62

About C

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 int...

Oct 14, 202454 minEp. 61

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. Links Functional programming Haskell Lazy evaluation L...

Sep 30, 202438 minEp. 60

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 prepar...

Sep 02, 202428 minEp. 59

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? Links DX - developer experience Elm Language server Elixir's brand new official language server team ...

Aug 19, 202435 minEp. 58

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 atten...

Aug 05, 202429 minEp. 57

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. Links CRUD - Create, read, update, delete Django Ruby on rails Phoenix Ash RethinkDB Mnesia Plausible analytics Timescale Clickhouse Nervesconf...

Jul 08, 202430 minEp. 56

About Embedded

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 b...

Jun 24, 202437 minEp. 55

About Interviewing

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 Hi...

May 27, 202431 minEp. 54

About Ranting at Ecto

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...

Mar 25, 202437 minEp. 53

About Long-Lived Code

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 (prope...

Mar 04, 202442 minEp. 52

About Fat Tuesday Buns

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...

Feb 19, 202431 minEp. 51

About things you built long ago that start doing weird things

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 bee...

Feb 05, 202428 minEp. 50

About Data Pipelines

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...

Jan 01, 202444 minEp. 49

About Fun With GenServers

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...

Nov 20, 20231 hr 6 minEp. 48

About What Every Web App Needs But Your Developer Does Not Want You To Know About

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 - ...

Oct 23, 202331 minEp. 47

About Code Nerds

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 ...

Oct 09, 202336 minEp. 46

About Databases

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 Djan...

Sep 25, 202343 minEp. 45

About Mingling

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 an...

Sep 11, 202338 minEp. 44

About Performance

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.wal...

Aug 28, 202337 minEp. 43

About Developing Speed

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 ni...

Jun 05, 202338 minEp. 42

About System Design

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 fi...

May 08, 202338 minEp. 41

About Conferences

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 g...

Apr 28, 202331 minEp. 40

About Text Editors

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 softwa...

Apr 10, 202330 minEp. 39

About Remote Work

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 ge...

Mar 27, 202336 minEp. 38

About Distributed Systems

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. An...

Mar 13, 202337 minEp. 37

About Hackers

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....

Mar 01, 202338 minEp. 36
Hosted on Transistor
For the best experience, listen in Metacast app for iOS or Android