Regular Programming artwork

Regular Programming

53 episodes - English - Latest episode: 3 days ago -

Conversations about programming. By Andreas Ekeroot and Lars Wikman, funded by Underjord.io.

Technology technology programming software developers code development javascript python elixir
Homepage Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed

Episodes

About Ranting at Ecto

March 25, 2024 08:00 - 36 minutes - 16.9 MB

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

About Long-Lived Code

March 04, 2024 08:00 - 42 minutes - 19.3 MB

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

About Fat Tuesday Buns

February 19, 2024 08:00 - 31 minutes - 14.5 MB

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

About things you built long ago that start doing weird things

February 05, 2024 08:00 - 28 minutes - 13 MB

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

About Data Pipelines

January 01, 2024 08:00 - 43 minutes - 20 MB

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

About Fun With GenServers

November 20, 2023 08:00 - 1 hour - 30.8 MB

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

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

October 23, 2023 07:00 - 30 minutes - 14 MB

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

About Code Nerds

October 09, 2023 07:00 - 36 minutes - 16.6 MB

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

About Databases

September 25, 2023 07:00 - 42 minutes - 19.5 MB

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

About Mingling

September 11, 2023 07:00 - 37 minutes - 17.4 MB

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

About Performance

August 28, 2023 07:00 - 37 minutes - 17.2 MB

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

About Developing Speed

June 05, 2023 07:00 - 38 minutes - 17.5 MB

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

About System Design

May 08, 2023 07:00 - 38 minutes - 17.6 MB

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

About Conferences

April 28, 2023 07:00 - 31 minutes - 14.5 MB

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

About Text Editors

April 10, 2023 07:00 - 30 minutes - 13.8 MB

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

About Remote Work

March 27, 2023 07:00 - 36 minutes - 16.7 MB

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

About Distributed Systems

March 13, 2023 08:00 - 36 minutes - 16.9 MB

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

About Hackers

March 01, 2023 06:59 - 38 minutes - 17.5 MB

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

About Being Wrong

February 16, 2023 07:38 - 52 minutes - 24 MB

About Being Wrong Wherein polite gentlemen at gaming conventions explain how people didn't have their variables separate enough with regard to the Dunning-Kruger effect. Lars thinks Andreas has drawn the wrong learnings from this. It's a good idea to be humble … but strong opinions loosely held may not be the perfect thing, either? Also discussed is the curse of the expert - teaching across a large gap in experience, and how to actually go about changing systems and having better...

About Estimates

February 03, 2023 07:09 - 34 minutes - 47.6 MB

About Estimates Estimates are a nasty subject, Andreas doesn't know how to handle it. Fortunately, Lars has one weird trick, which doctors hate. When you have plenty of control, estimates can be useful. Not useful: unexplained deadlines. Finally: when things get stuck. (Lars is usually available to blame.) (In an alternate timeline, Andreas' tells us everything his relatives taught him about quark cake.) Links Deadlines whooshing past The XKCD about determining if you're in...

About Meeting Developers

January 20, 2023 08:00 - 35 minutes - 16.3 MB

Passing pandemics make it possible to meet developers in real life again. Elixir-Lars makes a splash, and tells about recent and coming real-life events he's enjoyed. Things learned from real-life events and the need - or not - of constant learning are mentioned. (It's not bit rot, it's data composting!) Finally, a deep dive into the art of arranging good events, including preparatory pre-event events. Who wouldn't like a movie night with a bunch of developers and pizza? Linkabl...

About Open Alternatives

January 02, 2023 10:16 - 1 hour - 29.5 MB

The continued cratering of Twitter, and the joy of discovering open alternatives. Lars and many others find themselves on the open and federated Mastodon instead of Twitter, having a great time, and feeling more excited about open systems than in a long time. On the level of individuals, owning and controlling your own data feels back in fashion, but there is even more to dig into on the level of large organizations. Perhaps when GDPR says no and the good spirit of the internet is...

About Teaching Functional Programming

December 19, 2022 10:43 - 39 minutes - 18.2 MB

How to teach functional programming? What are the proper steps, beyond the first ones? Especially when you can't or don't want to point to a framework and say "we do it this way!" Lars outlines his ideas for teaching Elixir to someone without requiring any prior programming experience. There is also discussion of mapping, reducing, and representing one in terms of the other. Also things which are better in Haskell than Elixir, perfectly named modules, and - inevitably - why you do...

About Archives

December 08, 2022 06:40 - 39 minutes - 18.2 MB

Archives are cool. How do you keep your digital things in order and, hopefully, backed up? We need more archivists. Andreas has re-read Snowcrash, and while it isn't the manual for the world to adopt it doesn't seem to stop the megacorps from thinking it is and trying. Where did Google go wrong, and why? And why aren't we jealous of their recruiting? Linkable matter The library of Alexandria - overrated? Backblaze B2 Syncthing Tailscale Nextcloud Hetzner Storage Share (Next...

About Good Things in Programming

November 21, 2022 10:26 - 39 minutes - 18.1 MB

There are good things in programming, many of which are enumerated in this episode. Among other nice things: the best features in Elixir. Lars won open source? Bots and realtime-y stuff. Not to mention a type system that screams at you. Also: Lists in lists, in lists (in lists). Code made by other people is not one of the things, however. Code made by other people is always upsetting. CSS does not make the list either, but Tailwind does, prompting a discussion of fractally diffic...

About Miscellaneous Hardware

November 07, 2022 06:58 - 56 minutes - 25.8 MB

The hardware woes episode. But first: the joy and wonder of ID3v2.3. Implementing the specification of a binary format as a library. Lars' next laptop. Then Lars' gear situation. Power bricks and cable capabilities are … a labyrinth. The trials and tribulations of getting and setting up a Steam deck. Linkable matter * The ID3v2.3 spec * EXIF * Fold left and fold right * Lars' blog post about working with ID3 * CRDT * Apple's WWDC keynote * The M2 Macbook air * The Framework lap...

About Cyberdecks

October 27, 2022 07:05 - 46 minutes - 21.2 MB

Elon Musk wanting to buy Twitter leads naturally into the topic of cyberdecks and jacking in, which in turn naturally leads one to talk about audio on Linux. But what is a cyberdeck? How do you build one? And when would you use it? The sad state of video calls compared to Star Trek - why don't they have to install Teams to hail the Microsoft ship? Lamenting the sad state of the current crop of dystopic overlords. Who runs Google, really? Amazon might be the most attractive target...

About Proprietary Things

August 29, 2022 06:20 - 55 minutes - 51 MB

Notes will improve when beatings continue.

About Recruitment

May 21, 2022 07:32 - 1 hour - 60.5 MB

Hopefully some day :)

About 90/10

March 28, 2022 06:55 - 34 minutes - 31.6 MB

TBD

About Good Software

March 14, 2022 07:53 - 47 minutes - 43.4 MB

TBD

About Blockchain

February 28, 2022 12:43 - 51 minutes - 47.1 MB

TBD

About Docker

February 04, 2022 07:55 - 45 minutes - 42.1 MB

:)

Small Entrepreneurs

January 20, 2022 15:27 - 57 minutes - 52.7 MB

TBD

About Learning

January 07, 2022 06:41 - 1 hour - 59.2 MB

Show notes may show up again some day. But right now we wouldn't be on it :)

About Microservices

December 20, 2021 19:53 - 52 minutes - 47.8 MB

Thanks to the listener who chimed in and wanted our thoughts on microservices. That wasn't what put it on the topic list but I think we still get credit for responding to input right?

About Seniority

December 10, 2021 06:59 - 50 minutes - 46.5 MB

We apologize for any discomfort in the audio. We lost the original Ekeroot recording and had to use the backup cloud recording. The people responsible have been sacked.

About Programming Languages

November 26, 2021 07:05 - 1 hour - 77.4 MB

This episode was a bit delayed, sorry about that. Poor planning on our part :)

About Types

November 08, 2021 06:36 - 52 minutes - 48.5 MB

Show notes, hopefully some day :)

About Production

October 11, 2021 06:25 - 32 minutes - 29.3 MB

Running with show notes?

About Vacations (12.1)

September 27, 2021 06:10 - 22 minutes - 21 MB

Some show notes might show up later if you are lucky :)

About Vacations

September 27, 2021 06:10 - 22 minutes - 21 MB

Some show notes might show up later if you are lucky :)

About Observability

September 13, 2021 06:20 - 49 minutes - 45.6 MB

More notes TBD

About Gear

August 30, 2021 06:09 - 1 hour - 82.3 MB

We're talking gear and trying to answer the always relevant question of what is needed to program. C++ CSS HTML Javascript Gymnasium IBM's briefcase-shaped PC Monochrome monitor Glitch.app or maybe Glitch.io Raspberry pi, all versions Microsoft ergonomic keyboard Trackball GHC Swift Rust LLVM Property based testing explained by Jessitron Elixir Erlang BEAM Dialyzer Docker Vagrant VirtualBox Moore's law Let's encrypt Bayesian inference ASIC Balrog Laggard...

About Testing

August 16, 2021 06:17 - 1 hour - 72 MB

Painstakingly putting together a framework on frameworks. Also name dropping as if there was no tomorrow. Ariane 5 rocket launch explosion TDD Haskell Python Mocking or mock objects Quickcheck Hypothesis Pytest Elixir Phoenix Framework Domain-driven design Telegram Elixir Outlaws: Episode 97: Successfully Vamped Chaos monkey Prince of persia Testing telecoms software with quviq QuickCheck Blue green deployment Django The About ORMs episode New Relic Datadog Pro...

About Onboarding

August 02, 2021 06:22 - 57 minutes - 53.1 MB

Jonathan Stark speaks about value based pricing, his podcast Ditching Hourly is highly recommended. Fight Club

About Servers

July 19, 2021 06:32 - 1 hour - 56.9 MB

Show notes are on vacation time. Hopefully we'll have them expanded eventually :)

About Tooling

July 05, 2021 05:54 - 1 hour - 56.8 MB

Notes will arrive if vacation allows.

About ORMs

June 21, 2021 15:49 - 1 hour - 60.2 MB

All about that base, data base no, trouble. ORM Python PHP SQLAlchemy Django ORM Drupal Wordpress Elasticsearch C# dapper Ecto Elixir The pattern book Laravel Ruby Java Diesel Selda Haskell SQL SQLite PostgreSQL MySQL MS SQL N+1 queries select_related prefetch_related aka The other one REST Modelforms Ecto schemas Ecto changesets Http forms Repo insert Repo update Data mapper Structs in Elixir Record types DSL Post-mortem: 10 years in the vertic...

About Frameworks

June 07, 2021 11:14 - 1 hour - 61.6 MB

Painstakingly putting together a framework on frameworks. Also name dropping frameworks and everything under the sun as if there was no tomorrow. Phoenix Framework tailwindcss alpinejs Django jQuery Wordpress Laravel Symphony Drupal Django admin Django modelforms Ecto schemas in Phoenix Ecto changesets in Phoenix Ruby on Rails Django formsets Flask FastApi HTTP basic auth Django REST framework Plug Cowboy Liveview Erlang Celery Sidekiq Cron Redis Oban Be...

Twitter Mentions

@fhunleth 1 Episode