Coder Radio

Coder Radio

Download on the App Store

Coder Radio episodes

  • 360: Swift Kick In The UI

    We react to Apple's big news at WWDC, check in with Mike's explorations of Elixir, and talk some TypeScript.

    Plus Mike's battles with fan noise, and why he's doubling down on the eGPU lifestyle.

    Links:

    • Thelio Fan Noise Hack - Mike's Blog
    — I’ve had a System 76 Thelio for a little over four months now and a consistent issue that I’ve been experiencing is persistent fan noise even when the machine is idle.
  • Advent of Code 2015
  • Elixir
  • — Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
  • Mike on Twitter
  • — Someone tell @wespayne that I hate him ;) He introduced me to @elixirlang and it's like fast #Ruby. I think I might be hooked. Totally failed to get anything done though lol
  • Elixir vs. Ruby and Phoenix vs. Rails: Detailed Comparison and Use Cases
  • — If you are facing the Elixir vs. Ruby/Phoenix vs. Rails dilemma, the best way to decide is to cater to the needs of your project. In fact, it is even possible to use both technologies in one project by choosing which of them works best for each individual feature. For example, you can implement chats with Elixir Phoenix, and the rest of the code can be written in Ruby on Rails.
  • TypeScript - JavaScript that scales.
  • — TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
  • Why TypeScript · TypeScript Deep Dive
  • — Types have proven ability to enhance code quality and understandability. However, types have a way of being unnecessarily ceremonious. TypeScript is very particular about keeping the barrier to entry as low as possible.
  • Basic Types · TypeScript Handbook
  • TypeScript Playground
  • microsoft/TypeScript-New-Handbook
  • — Incubation repository for the new TypeScript handbook.
  • Introduction - fp-ts
  • — fp-ts provides developers with popular patterns and reliable abstractions from typed functional languages in TypeScript.
  • Purify
  • — Functional programming library for TypeScript
  • piotrwitek/utility-types
  • — Collection of utility types, complementing TypeScript built-in mapped types and aliases (think "lodash" for static types).
  • Solving Problems the Clojure Way - Rafal Dittwald
  • — After overcoming a fear of brackets, the next challenge for would-be Clojurians is less superficial: to stop writing Java (or Javascript, or Haskell...) with Clojure's syntax, and actually start "thinking" in Clojure. It is said that Clojure is a "functional" programming language; there's also talk of "data-driven" programming. What are these things? Are they any good? Why are they good? In this talk, Rafal attempts to distill the particular blend of functional and data-driven programming that makes up "idiomatic Clojure", clarify what it looks like in practise (with real-world examples), and reflect on how Clojure's conventions came to be and how they continue to evolve.
    47 min
  • 359: 7 Languages

    Wes is back and Mike's got a few surprises in store, including a new view on Electron, a hot take on titles, and a programming challenge for the both of them.

    Plus when it's okay to lie to the compiler, what GitHub's Sponsors program means for open source, and your feedback.

    Links:

    • Coder Radio 343: Say My Functional Name
    — Mike breaks down the drama around nullable reference types in C# 8.0, and we debate what it means for the future of the language.
  • Coder Radio 358 Feedback
  • — In the discussion of Marzipan and Electron I think the answer is WKWebView, which just arrived in macOS 10.10.
  • Show Content Poll
  • — What Do You Want More of on #CoderRadio @CoderRadioShow this is your chance to give me some feedback for the next few months!
  • Why Computer Programmers Should Stop Calling Themselves Engineers
  • — The respectability of engineering, a feature built over many decades of closely controlled, education- and apprenticeship-oriented certification, becomes reinterpreted as a fast-and-loose commitment to craftwork as business.
  • About GitHub Sponsors
  • — Anyone with a GitHub account can sponsor anyone with a sponsored developer profile through a recurring monthly payment. You can choose from multiple sponsorship tiers, with monthly payment amounts and benefits that are set by the sponsored developer.
  • Lying to the compiler | Jon Skeet's coding blog
  • — I’m lying to the compiler to get it to stop it emitting a warning. The reason is that in the case where the value is null, it won’t matter that it’s null.
  • Programming Language Tourism | Bushido Codes
  • — I am attracted to this book precisely because it is impractical. You don’t gain mastery of any programming languages. Rather, you get the chance to explore and complete a series of coding katas to expand your mind about the art of programming.
  • Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages by Bruce A. Tate | The Pragmatic Bookshelf
  • — You should learn a programming language every year, as recommended by The Pragmatic Programmer. But if one per year is good, how about Seven Languages in Seven Weeks? In this book you’ll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby.
  • Uno Platform
  • — The only platform for building native mobile, desktop and WebAssembly with C#, XAML from single codebase. Open source and professionally supported.
  • Uno.QuickStart
  • — This repository is a basic sample for an Uno application which cross-targets UWP, iOS, Android and WebAssembly.
    44 min
  • 358: Batteries are Leaking

    A strong argument against Python’s batteries included model exposes some bigger problems the community is struggling with. We chat about all of it.

    Plus lessons learned six years after a project, a new tool, and some feedback.

    Links:

    • Home Page - ABC-Deploy
    — ABC-Update is an easy to use tool that sets you in control of MS Update operations.
  • On logic in a Rails app, revisited 6 years later
  • — My argument was that Rails is just an UI layer, and business logic should be put in domain objects instead of keeping somewhere in Model, View or Controller.
  • Python Software Foundation
  • Batteries Included, But They're Leaking
  • — Amber Brown of the Twisted project shared her criticisms of the Python standard library.
  • Twisted: Event-driven networking engine written in Python.
  • — Twisted is an event-based framework for internet applications
    47 min
  • 357: 3 OSes 1 GPU

    Microsoft catches Mike’s eye with WSL 2, Google gets everyone's attention with their new push for Kotlin, and we get a full eGPU report.

    Links:

    • QA Feedback from Lewis
    — I thought I was going to be in a big rush to get out of the basement and up to a developer position, but after listening to the show I really feel like my contribution to this team is going to be important and necessary from the get go.
  • Request: Subreddit recommendations
  • — Anyone know any linux and/or programming subs aren't full of mindless circlejerking? Most seem to be afflicted with mindless circlejerking, free software extremism and other indiscretions.
  • Feedback on Tools for Docs
  • — One idea is a mind map tool (like Freeplane). This can provide a free-form way to show at a high level how all the parts link together, and attach as much details as needed
  • Kotlin is now Google’s preferred language for Android app development
  • — “Android development will become increasingly Kotlin-first,” Google writes in today’s announcement. “Many new Jetpack APIs and features will be offered first in Kotlin. If you’re starting a new project, you should write it in Kotlin; code written in Kotlin often mean much less code for you–less code to type, test, and maintain.”
  • Flutter and Chrome OS: Better Together
  • — Flutter initially focused on providing a UI toolkit for building apps for mobile devices, which typically feature touch input and small screens. However, we’ve been building keyboard and mouse support into Flutter since before our 1.0 release last December. And today, we’re pleased to announce that Flutter for Chrome OS is now stronger with scroll wheel support, hover management, and better keyboard event support.
  • How Windows and Chrome quietly made 2019 the year of Linux on the desktop
  • — The cleverly named Windows Subsystem for Linux 2, announced at Microsoft’s Build event this week, shakes things up by shipping a full Linux kernel (version 4.19) within Windows itself as a lightweight virtual machine. Doing so should supercharge performance for developers who use the tool.
  • Ubuntu 19.04 – Easy-to-use setup script for your EGPU
  • — I have created a script which automatically detects your (E)GPUs and creates the needed X-Server configuration files.
    You won't have to mess around with finding the correct BUS-IDs and convert them from dec to hex or anything like that, the script takes care of it.
  • Linux Action News 105
  • — RHEL 8 is released, we report from the ground of the big announcement, Microsoft announces WSL 2 with a real Linux kernel at the core, and details on their new open source terminal.
    48 min
  • 356: Fear, Uncertainty, and .NET

    .NET 5 has been announced and brings a new unified future to the platform. We dig in to Microsoft's plans and speculate about what they might mean for F#.

    Plus the value of manual testing, Visual Studio Code Remote, and Conway's Game of Life in Rust.

    Links:

    • Feedback: Testing as a Career
  • Feedback: Keeping up with Documentation
  • ruby/rdoc
  • — RDoc produces HTML and command-line documentation for Ruby projects.
  • Javadoc
  • — Javadoc is a documentation generator created by Sun Microsystems for the Java language for generating API documentation in HTML format from Java source code.
  • Literate programming
  • — Literate programming is a programming paradigm introduced by Donald Knuth in which a program is given as an explanation of the program logic in a natural language, such as English, interspersed with snippets of macros and traditional source code, from which a compilable source code can be generated.
  • Literate Programming
  • — Writing a literate program is a lot more work than writing a normal program. After all, who ever documents their programs in the first place!? Moreover, who documents them in a pedagogical style that is easy to understand? And finally, who ever provides commentary on the theory and design issues behind the code as they write the documentation?
  • A tutorial that implements Conway's Game of Life in Rust and WebAssembly.
  • — This tutorial is for anyone who already has basic Rust and JavaScript experience, and wants to learn how to use Rust, WebAssembly, and JavaScript together.
  • JupiterBroadcasting/Talks
  • — Public repository of crew talks, slides, and additional resources.
  • Visual Studio Code Remote Development
  • — Visual Studio Code Remote Development allows you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.
  • Remote Development - Visual Studio Marketplace
  • Introducing .NET 5
  • — There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more.
  • The Friday Stream
  • — Our crew from all over the world share stories, make new friends, and give each other a hard time live.
    35 min
  • 355: F# Shill

    Mike and Wes dive into Bosque, Microsoft’s new research language, and debate if it represents the future of programming languages, or if we should all just be using F#.

    Plus some Qt license clarity, a handy new Rust feature, and your feedback.

    Links:

    • Feedback: ChromeOS vs Windows
  • Feedback: Hardware Coverage
  • Complying with the Requirements of the GPL/LGPL v3 License
  • — With the discontinuation of our continued support for Qt 5.6 also ends our support for the last Qt version licensed under LGPL v2.1. Moving forward, versions 5.7 and beyond will be subject to LGPL v3. This webinar is a great opportunity to gain a better understanding of the differences in rights and obligations between the two licensing versions.
  • Rust Pinning
  • — The Rust team is happy to announce a new version of Rust, 1.33.0. Rust is a programming language that is empowering everyone to build reliable and efficient software.
  • Regularized Programming with the BOSQUE Language
  • — We believe that, just as structured programming did years ago, this regularized programming model will lead to massively improved developer productivity, increased software quality, and enable a second golden age of developments in compilers and developer tooling.
  • All That You Need to Know About Microsoft's New Programming Language: Bosque
  • — The Bosque programming language is a Microsoft Research project that is investigating language designs for writing code that is simple, obvious, and easy to reason about for both humans and machines
  • Bosque Language Overview
  • Microsoft debuts Bosque – a new programming language with no loops, inspired by TypeScript
  • The Mad Botter INC on Twitter
  • — Happy #EarthDay! We are awarding a free @system76 #DarterPro to the middle or high school student that can send our CEO @dominucco an innovative idea to fight climate change using #Linux. To submit please write up a report and diagram & email it to [email protected].
  • git-secrets
  • — Prevents you from committing secrets and credentials into git repositories.
  • git-hound
  • — Hound is a Git plugin that helps prevent sensitive data from being committed into a repository by sniffing potential commits against PCRE regular expressions.
  • truffleHog
  • — Searches through git repositories for secrets, digging deep into commit history and branches. This is effective at finding secrets accidentally committed.
    1 hr 1 min
  • 354: A Life of Learning

    We celebrate the life of Erlang author Dr Joe Armstrong by remembering his many contributions to computer science and unique approach to lifelong learning.

    Plus some code to read, your feedback, and more!

    Links:

    • Elastic Beanstalk Retirement
    — Feedback from Sekhar
  • Professional development
  • — Question from Ashetyn
  • Francesco Cesarini on Twitter
  • — It is with great sadness that I share news of Joe Armstrong's passing away earlier today. Whilst he may no longer be with us, his work has laid the foundation which will be used by generations to come. RIP @joeerl, thank you for inspiring us all.
  • Goodbye Joe
  • — One of the amazing things Joe mentioned in his texts that was out of the ordinary compared to everything I had read before is that developers would make mistakes and we could not prevent them all. Instead, we had to be able to cope with them. He did not just tell you about a language, he launched you on a trail that taught you how to write entire systems
  • Goodbye Joe in r/programming
  • — About two weeks ago I came across Armstrong's blog for the first time and poked around at a few posts. I noticed he had recently (in the past year was my impression) discovered TiddlyWiki and rewritten his blog in it. His post talking about his eureka moment with TiddlyWiki had the feel of a very young, excited writer, so I was very surprised to later discover his age. I didn't know about him for very long, but the character described in this post really shined through.
  • Joe the office mate
  • — Joe would get wildly excited by one "big idea" for weeks at a time. This could be a new idea of his own or a "well known" idea of somebody else's: the Rsync algorithm; public key cryptography; diff algorithms; parsing algorithms; etc. He would take an idea off the shelf, think (and talk!) about it very intensely for a while, and then put it back for a while and dive into the next topic that felt ripe.
  • Why OO Sucks
  • — Note that this is an older post.
  • Erlang/OTP 21.3
  • — Welcome to Erlang/OTP, a complete development environment for concurrent programming.
  • One secret to becoming a great software engineer: read code
  • — Similarly, seeing diverse coding practices lets you expand your palette when it comes time to write your own code. Reading others’ code exposes you to new language functionality and different coding styles.
  • djblue/tetris
  • — An almost complete tetris in clojurescript
  • Animated guide to building tetris with Clojurescript
  • The Mad Botter INC on Twitter
  • — Happy #EarthDay! We are awarding a free @system76 #DarterPro to the middle or high school student that can send our CEO @dominucco an innovative idea to@fight climate change using #Linux. To submit please write up a report and diagram & email it to [email protected]
    46 min
  • 353: A Week with WSL

    Mike's back with thoughts on his recent adventures with the Windows Subsystem for Linux and what it might mean for the future of Linux development.

    Plus the hurdles of working with an eGPU, why you should learn languages you might not use, and a neat pick for playing with HTTP.

    Links:

    • Mike's eGPU Goodness
  • Moving on from Rails and what’s next
  • — A lot has happened during that time. I created Diesel, an ORM for Rust. In April of last year, I began managing the operations of crates.io, which eventually led to the creation of the crates.io team which I co-lead. I also started to find myself less able to effectively contribute to Rails. It became clear that I have a different vision for the future, and that I would never make it onto the core team.
  • Learn more programming languages, even if you won't use them
  • — By learning a new language, even if it stays in your toolbox for all eternity, you gain a new perspective and a different way of thinking about problems.
  • WLinux's New Name
  • — Hayden Barnes, of Whitewater Foundry, told El Reg that WLinux was only ever supposed to be a codename, and the new name "reflects our distribution's connection to both Linux and Windows". He added "it is close to the Japanese pronunciation and transliteration of penguin, which is pengin." Japan remains the company's top market.
  • Pengwin by Whitewater Foundry
  • — Pengwin is the easiest to use Linux distribution on
    Windows Subsystem for Linux.
  • HTTP Prompt - An Interactive Command Line HTTP Client
  • — HTTP Prompt (or HTTP-prompt) is an interactive command-line HTTP client built on HTTPie and prompt_toolkit, featuring autocomplete and syntax highlighting.
  • Linux Academy Limited Time Sale!
  • LINUX Unplugged Episode 296: Defining Desktop Linux
  • — The way we’ve been thinking about Desktop Linux is all wrong. We start by defining Desktop Linux, and where it might be going in the future.
    51 min
  • 352: Self Driving Disaster

    Mike’s away so Chris joins Wes to discuss running your workstation from RAM, the disappointing realities of self driving cars, and handling the ups and downs of critical feedback.

    Links:

    • America’s Cities Are Running on Software From the ’80s
    — Even San Francisco’s tech chops can’t save it from relying on computers that belong in a museum.
  • Intel Optane Persistent Memory starts at $850 for 128GB
  • — The pitch is simple, in case a mission-critical system fails, whatever data was in the memory isn’t lost; and for memory intensive applications, it offers shockingly high capacity at low prices.
  • How to Emulate Persistent Memory Using Dynamic Random-access Memory
  • — If you’re a software developer who wants to get started early developing software or modifying an application to have persistent memory (PMEM) awareness, you can use emulation for development before Intel Optane DC PMMs are widely available.
  • DAX: Direct Access for files
  • — For block devices that are memory-like, the page cache pages would be unnecessary copies of the original storage. The DAX code removes the extra copy by performing reads and writes directly to the storage device. For file mappings, the storage device is mapped directly into userspace.
  • Persistent Memory Wiki
  • — These pages contain instructions, links and other information related to persistent memory in Linux.
  • The kernel’s command-line parameters — The Linux Kernel documentation
  • — See memmap=nn[KMG]!ss[KMG] section.
  • Using Persistent Memory Devices with the Linux Device Mapper
  • AI “adversarial attacks” can trick self-driving cars, medicine, and the military
  • — In a recent report, Tencent’s Keen Security Lab showed how they were able to bamboozle a Tesla Model S into switching lanes so that it drives directly into oncoming traffic.
  • Linux Mint's Sobering Update: A Rare Glimpse Into The Personal Struggles Developers Face
  • — Reading the latest Monthly News update from Linux Mint leader Clement Lefebvre is a sobering experience. While users do get updated on the status of Linux Mint 19.2, a considerable portion of the update deals with feelings of defeat, uncertainty and frustration.
    51 min
  • 351: Riding the Rails

    Mike explores the state of Xamarin.Android development on Linux, and we talk frameworks versus libraries and what Rails got right.

    Plus adventures with rust on MacOS, your feedback, and more!

    Links:

    • Feedback from Eric
    — I like Python as well but since I spend most of my day in .Net Framework/Core I tend to prefer dotnet-script.
  • dotnet-script
  • — Run C# scripts from the .NET CLI.
  • Feedback from Tom
  • — I haven't tried Rust yet, but it seems to have a lof of momentum. Maybe there are issues with it, but I'm not going to take advice from someone who "really doesn't care" that Rust produces safer and more secure code.
  • Mike's fork of stl-thumb
  • — Stl-thumb is a fast lightweight thumbnail generator for STL files.
  • Why I miss Rails
  • — In the transition to the modern web stack we’ve unsolved some of what tools like Rails made easy 10 years ago. I don’t think it needs to be that way.
  • Luminus
  • — Luminus is a Clojure micro-framework based on a set of lightweight libraries. It aims to provide a robust, scalable, and easy to use platform. With Luminus you can focus on developing your app the way you want without any distractions.
  • Phoenix
  • — A productive web framework that
    does not compromise speed or maintainability. Phoenix leverages the Erlang VM ability to handle millions of connections alongside Elixir's beautiful syntax and productive tooling for building fault-tolerant systems.
  • Phoenix LiveView: Interactive, Real-Time Apps. No Need to Write JavaScript.
  • — LiveView powered applications are stateful on the server with bidrectional communication via WebSockets, offering a vastly simplified programming model compared to JavaScript alternatives.
  • How to develop Xamarin.Android applications on Linux with Rider – JetBrains Rider Support
  • — Please note that Xamarin.Android on Linux is officially unsupported. However, it is possible to manually install Xamarin.Android and configure Rider so that it can build and run Xamarin.Android apps on Linux.
  • Can not create Xamarin Application in Rider (Linux platform) – JetBrains Rider Support
  • Careers – Linux Academy
  • 39 min

About Coder Radio

From the publisher's feed

A weekly talk show taking a pragmatic look at the art and business of Software Development and the world of technology.

More shows like Coder Radio

Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

Software Engineering Radio - the podcast for professional software developers

273 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

286 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

624 Listeners

LINUX Unplugged by Jupiter Broadcasting

LINUX Unplugged

272 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

582 Listeners

Late Night Linux by The Late Night Linux Family

Late Night Linux

169 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

985 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,062 Listeners

Tech Brew Ride Home by Morning Brew

Tech Brew Ride Home

960 Listeners

Linux Dev Time by The Late Night Linux Family

Linux Dev Time

22 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

139 Listeners

2.5 Admins by The Late Night Linux Family

2.5 Admins

98 Listeners

Linux After Dark by The Late Night Linux Family

Linux After Dark

29 Listeners

Linux Matters by Linux Matters

Linux Matters

22 Listeners