
44 episodes

Regular Programming Lars Wikman, Andreas Ekeroot
-
- Technology
Conversations about programming. By Andreas Ekeroot and Lars Wikman, funded by Underjord.io.
-
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 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 -
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.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 -
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 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 -
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 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 -
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 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? -
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 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