Bookmarks
Bookmarks

Bookmarks

Tags
A curated list of interesting podcasts, talks, blog posts I have liked and I keep coming back to. I find myself recommending these resources to a lot of people, so I created a list of the highlights.

Podcasts

tech related →
The Downtime Project : detailed postmortems of outages that have affected high profile sites
The Knowledge Project with Shane Parrish : insightful conversations
In Depth : great conversations about product and building startups
This Developer's Life : amazing podcast by Scott Hanselman & Rob Conery about the stories behind developers.
it has been discontinued since 2015 but I still find gems listening to the podcast. Plus its pretty cool to hear how the vibes in tech industry were in 2010-2015
my favorite episodes →
Scaler Pod : conversations with the leaders of indian tech companies about the software engineering challenges
 
others →

Conference Talks

Elixir

Conference Talk: Actor Model in Elixir – PartialConf 2017 - Michał Muskała
  • Good introduction to Elixir
  • Focuses on Why and What of Elixir
 
Conference Talk: Thinking In Ecto - ElixirConf 2017 - Darin Wilson
  • Great talk to see for an intro to Ecto.
  • Compares and contrasts the repository pattern used in Ecto with those in other object oriented languages.
 
Conference Talk: Processing 2.7 million images with Elixir (vs Ruby) - ElixirDaze 2016 - David Padilla
  • A good beginner level talk where David walks through his experience while trying to process large amount of data parallely in elixir.
  • Great explanation of using Poolboy to parallelise jobs.
  • Includes good comparison of achieving the same thing in Ruby and why Elixir was needed.
 
 
ElixirConf 2022 - Chris Grainger - The Future AI Stack
Chris Grainger (Amplified) delivers the Friday Keynote at ElixirConf US 2022. We switched our machine learning research, production inference, and ETL pipelines to Elixir. This is the story of how we made that decision and how it's going. At Amplified, we’ve been building our own deep learning models for long documents and putting them into production since 2017. Our ETL handles over 120 million patents and processes hundreds of thousands of updates each week including vector inference. Despite building our entire SaaS app in Elixir, we used Python for the machine learning and ETL portions of our stack. Python’s ubiquity and community made it seem like the obvious choice. Indeed, we benefitted greatly from the many pre-existing libraries for big data processing as well as from rapidly advancing tools like PyTorch. But as time went on, challenges emerged. Our machine learning and ETL are tightly integrated into our product, but our engineering team was mostly split. As a small team, we should have been able to coordinate effectively and iterate quickly, but instead, work and communications often got siloed into the data side or app side. Even just putting together a development environment that works across architectures and hardware was a challenge. The additional complexity and performance overhead of running a Python machine learning microservice for on-the-fly inference began to bite us. After a few too many painful experiences we began to look for other options. This wasn't the first time we considered consolidating in Elixir. Our initial product was a SPA front end and Elixir backend, but we later switched the entire app to LiveView and never looked back. Productivity shot up, and we’ve enjoyed an increase in feature velocity with fewer bugs. Despite how well that went, we couldn’t abandon Python. There was just too much that we’d have to build. But then Nx came out, and an ecosystem rapidly emerged that could do most of what we needed. The only thing missing was a data frame library. I decided to try building something basic to fill that gap so we could explore moving all of our data and ML operations to Elixir. It worked, and we made the leap. In this talk, I’ll share how we're thinking about an all-Elixir stack for deep learning in production, how the Nx ecosystem made this possible, what we’ve learned, and why we’re excited about what comes next.
ElixirConf 2022 - Chris Grainger - The Future AI Stack
The Future AI Stack - ElixirConf 2022 - Chris Grainger
  • Chris shares his team’s experience running machine learning research, production inference and ETL pipeline in Elixir for analyzing patent documents at scale.
    • They went with python first and then switched to elixir
  • Answers the question “Is Elixir ready for ML research + production usecase” wonderfully. (spoiler alert: answer is “yes”), and what the benefits are.
    • PS: this talk was delivered before bumblebee was released, now the answer to this question is an overwhelming “YES!” :p

JavaScript

React

Uncategorized

 
  • Bryan Cantrill being Bryan Cantrill, Funny and pretty interesting talk with insights on how to build your systems with debuggability in mind.
 
  • Bryan Cantrill's talk on "values of programming languages". interesting talk which i think gives a neat framework for answering the question "what programming language should I use for xyz and why”
 
  • very interesting stories about things that can go bad at places one wouldn’t think they would, at the firmware levels! you’ll learned a lot of interesting things about hardware
 
  • this is a fun talk about the history of text encoding, and the why's behind some of the quirks around it. if you’re interested in listening to stories around ascii, unicode, utf, emojis and some anecdotes where these have caused issues, give it a watch!

Blog Posts / Articles

E.W. Dijkstra: The Humble Programmer (1972)
  • written in 1972, this lays down six rules for a programmer to follow. they are applicable even today.
  • neat description of how programming was seen in the 60s, how it will pave the way to the future.
Elixir in the Type System Quadrant
  • where does elixir lie in terms of typing
  • good refresher around type systems and differences between static, dynamic, weak and strong typings.

 

Useful tools / links

  • Nix package version search: find all versions of a nix package that were available in a channel and the revision you can download it from.