Joe Nelson Blog

Joe Nelson Blog

begriffs
Github Email Atom Feed
Video: C Portability Lessons from Weird Machines
November 15, 2018
Complete guide to running a mailing list
October 15, 2018
Actually, DMARC works fine with mailing lists
September 18, 2018
Mailing lists vs Github
June 5, 2018
User-defined Order in SQL
March 20, 2018
SQL Keys in Depth
January 1, 2018
PostgreSQL Domain Integrity In Depth
October 21, 2017
Deferrable SQL Constraints in Depth
August 27, 2017
Practical Guide to SQL Transaction Isolation
August 1, 2017
OpenBSD Workstation Guide
May 17, 2017
Good books for deep hacks
April 13, 2017
Video: Monad Transformer Workshop
April 9, 2017
The Design and Use of QuickCheck
January 14, 2017
Video: An Advanced Intro to GnuPG
November 5, 2016
External: Faster PostgreSQL Counting
October 12, 2016
Video: Purely Functional Linux with NixOS
August 8, 2016
Video: A Sensible Intro to FRP
July 27, 2016
The best linear algebra books
July 24, 2016
Returning to the Original Social Network
July 8, 2016
Video: Fast, Elegant Regexes in Haskell
June 27, 2016
Video: Pragmatic Haskell for Beginners, Lecture 2
June 1, 2016
The real responsive design challenge? RSS.
May 28, 2016
Relocatable PostgreSQL Builds
May 21, 2016
Video: Pragmatic Haskell for Beginners, Lecture 1
May 14, 2016
Video: Postgres Adores a Vacuum
April 19, 2016
Video: Software Transactional Memory
April 2, 2016
External: Five Ways to Paginate in PostgreSQL
March 30, 2016
Video: Sharing Haskell Builds Across a Team
March 26, 2016
Video: A Tour of PostgREST
March 20, 2016
Video: Difference Lists and the Codensity Monad
February 4, 2016
Making 20% Time Work
January 29, 2016
Video: Demo of IHaskell Notebook
January 20, 2016
Video: A Clear Intro to Lenses
January 7, 2016
DIY Backpack Base Station
January 4, 2016
Video: Efficient Linear Algebra with Plover
January 3, 2016
Video: What Code Does vs What Code Means
December 26, 2015
Dream Standing-Desk Setup
December 20, 2015
Video: FFT With Circat
December 14, 2015
Video: Phantheck, the Type-Level QuickCheck
December 6, 2015
Video: Functional Front-End Coding
November 30, 2015
Video: Learning Real Haskell Incrementally
October 24, 2015
Video: The Internet of Code
October 16, 2015
Video: PostgREST Workshop
October 2, 2015
Video: FP Graph Algorithms
September 4, 2015
Video: Applicatives in Math vs Code
August 30, 2015
Video: Dev and Deploy Haskell on Docker
August 11, 2015
Video: Nix ±Cabal
August 7, 2015
Video: Haskell Source Navigation
July 27, 2015
Video: The Essence of FRP
July 22, 2015
Video: The Design of Purescript Halogen
July 10, 2015
Video: From Haskell to Hardware
June 28, 2015
Video: Stack, the Haskell Build Tool
June 22, 2015
Video: Thinking with Laziness
June 17, 2015
Video: Continuation Passing Style in Haskell
June 3, 2015
Video: Safe Haskell
May 24, 2015
Haskell “God Mode” Sandbox
May 15, 2015
Going Write-Only, Halfway Report
May 6, 2015
Choosing 功夫
April 25, 2015
To Stalk a Muni
April 22, 2015
Going “Write-Only”
April 20, 2015
Video: SF CloudCamp Lightning Talks
April 18, 2015
Video: Deploying Predictive Models in R
April 10, 2015
Video: Circular Statistics of SF Bus Routes
April 5, 2015
Tracking Joy at Work
March 15, 2015
Video: Machine Learning at the Limit
March 13, 2015
Better Tweets Through Data Science
March 10, 2015
Video: Text Mining in R (Sentiment Analysis, LDA, and Syuzhet)
February 25, 2015
Video: How Transparent Encryption Works in HDFS
February 22, 2015
Video: Deploying Microservices
February 15, 2015
Video: Filling Haskell’s Type Holes Like It’s Agda
February 7, 2015
Video: Virtualizing a Hadoop Cluster (two videos)
January 28, 2015
Video: Writing a React JS front-end in Haskell
January 12, 2015
Video: Declaring RESTful APIs with PostgREST
December 30, 2014
Video: Intro to the Jut Dataflow Platform
December 11, 2014
Video: Datacenter to AWS Cloud Migration
December 4, 2014
A Survey of Data Science
November 30, 2014
Video: Intro to Apache Mesos, the distributed systems SDK
November 28, 2014
Video: Robot programming in APL
November 26, 2014
Video: Type-Safe DB Access with Persistent
November 18, 2014
Creating a package on Hackage
October 25, 2014
Writing controller specs for a Warp server
October 19, 2014
Video: GPU Programming with Accelerate
October 18, 2014
Create a static site with Hakyll, Github and Travis CI
August 12, 2014
Video: Pair programming with Haskell and Digital Ocean
June 9, 2014
Database migrations without merge conflicts
April 30, 2014
Good songs in classical, romantic, impressionist and 20th century art music
April 14, 2014
Tikhon Jelvis’ ideas about Structural Merging
April 8, 2014
Magic numbers in polynomial hash functions
March 28, 2014
Beyond HTTP Header Links
March 6, 2014
Thoughts for a new API server stack
March 1, 2014
API embedded resources considered harmful
February 14, 2014
API versioning best practices
February 10, 2014
Unlocking Deep HTTP with JavaScript, pt 2
January 2, 2014
Unlocking Deep HTTP with JavaScript, pt 1
December 31, 2013
The weird forest of “Big-Oh” asymptotics
December 17, 2013
Popularizing Haskell through easy web deployment
December 6, 2013
Eight tips for leading a tech workshop
November 30, 2013
Humane Computing and the Eras of Information
November 2, 2013
Fixing GHC for xcode 5 and OS X 10.9 Mavericks
October 31, 2013
How to compile Haskell libraries for Heroku
October 14, 2013
Haskell postgresql-simple examples, part 2
September 14, 2013
Haskell postgresql-simple examples, part 1
September 10, 2013
Using cabal-dev exclusively
September 5, 2013
An example of software transactional memory
September 4, 2013
Software transactional memory
September 3, 2013
Miscellaneous database stuff and an interesting book
September 1, 2013
Creating sqlite tables with Groundhog’s default settings
August 31, 2013
Groundhog: a Haskell db wrapper that gets it right
August 30, 2013
Haskell Monads Explained Without Words
August 29, 2013
Haskell Applicative Functors Explained Without Words
August 28, 2013
Weird symbols in their native tongue
August 27, 2013
Some extra safety with Yesod routing
August 26, 2013
Interactively discovering the best type classes for Haskell functions
August 25, 2013
Deploying Yesod to Heroku with Postgres support
August 24, 2013
Haskell on Heroku, let’s simplify
August 22, 2013
Getting dirty – cabal dependencies, string types, JSON
August 21, 2013
Try GHCi on Acid and watch function arguments melt away
August 20, 2013
Video: Connecting Vim with your Haskell repl
August 19, 2013
Don’t be partial to partial functions
August 18, 2013
Tricking Haskell into being dynamic
August 16, 2013
Writing Haskell every damn day
August 15, 2013
Video: An Interview with Brent Beer
August 6, 2013
Video: An Interview with Jack “Danger” Canty
July 22, 2013
Madison Thinkerspace Now Open
June 4, 2013
Exploiting Symmetry
April 30, 2013
A New Kind of Learning and Coworking
April 23, 2013
Give Yourself a Security Makeover
April 9, 2013
Feedback on the “Thinkerspace”
March 28, 2013
The Pilgrimage Begins
March 8, 2013
The Tension of Finishing What You Start
February 27, 2013
What might programming become?
February 23, 2013
You Don’t Know Your Visitors, So Stop Pretending
February 10, 2013
Programming Pilgrimage
February 4, 2013
Put Quality on Autopilot
November 11, 2012
Three-Month 1up Retrospective
October 26, 2012
Bespoke Vim
September 10, 2012
Version control for poetic time travelers
August 28, 2012
Git’s History and Design Decisions
August 21, 2012
Faster, Safer ActiveRecord
August 5, 2012
The Hidden Life of Stylesheet Preprocessing
July 27, 2012
Styleguide soufflé
July 15, 2012
Don’t Play CSS Tetris
July 12, 2012
The Order of the Lambda
July 4, 2012
Combinatory Logic, the Bytecode of Functional Programming
May 5, 2012
Creativity Bootcamps — the modern αγωγη
December 17, 2011
Honest Code
November 11, 2011
A Problem with the Infinite
October 19, 2011
Onion Testing
October 14, 2011
Structuring a Code Dojo
August 17, 2011
Overthrowing Syntactic Rituals
August 9, 2011
How to make a simple computer. Really simple.
July 20, 2011
Spam is Dead, long live email forwarding
July 13, 2011
How to Remember, Learn and Teach
July 13, 2011
No Whitespace
July 7, 2011
Minimal Instruction Set
July 5, 2011
Directional Quotes
July 5, 2011
Calm, Simple Things
June 2, 2011
Newsletter
Do you like these videos and blog posts? Sign up for the Begriffs Newsletter for notifications of new posts, events, and ideas. (Pretty low-volume, once every few weeks.)

Email *
First name *
Last name *
Written by Joe “begriffs” Nelson. joe@begriffs.com 🔑

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.