3-day current streak·13-day longest streak
<!-- Empty line needed before code block. --> Hi, I'm Erik _Available for new opportunities_ · previously Software Engineer at @Netlify, Engineering Manager at @ResearchGate, Software Engineer at @Dubsmash and…
<!-- Empty line needed before code block. -->
[![Typing my name]()](#)
Hi, I'm Erik
_Available for new opportunities_ · previously Software Engineer at @Netlify, Engineering Manager at @ResearchGate, Software Engineer at @Dubsmash and @AxisCommunications, and Research Developer at @LundUniversity.\*
Backend engineer and former engineering manager with 10+ years of experience building scalable distributed systems in Ruby, Java, Python, and C. I build open-source tools born out of genuine need — from terminal powerlines to automation scripts. On GitHub since 2010. Browse the pinned repos below or check out my blog for more.
<!-- GitHub markdown: no support for CSS style attribute in HTML tags to set margins on the stats image above. -->
Tech Stack














GitHub Stats








Trophies
Contribution Snake
Find me elsewhere
| | |
| ----------------- | -------------------------------------------------------------------------------------------- |
| 🌐 Homepage | erikw.me |
| 💼 LinkedIn | linkedin.com/in/erikwestrup |
| 💎 RubyGems | rubygems.org/profiles/erikw |
| 🐍 PyPI | pypi.org/user/erikw |
| 🏗️ AUR | aur.archlinux.org/packages?SeB=M&K=erikw |
| 🏆 HackerRank | hackerrank.com/erikw |
| 📝 Gist | gist.github.com/erikw |
Preferences & quirks
<!-- Logos from https://github.com/simple-icons/simple-icons/blob/develop/slugs.md -->


 [1]







[1] ...and yes, I've pair-programmed in Emacs. It was fine.
Pinned Repos
<!-- Syntax: https://github.com/anuraghazra/github-readme-stats/discussions/1684#discussioncomment-2670295 -->
<!-- Own fork (to avoid hitting request limits): https://github.com/erikw/github-readme-stats -->
















-
jekyll-glossary_tooltip ★ PINNED
Jekyll plugin providing a glossary liquid tag that will show a tooltip of a term definition.
Ruby ★ 32 1mo agoExplain → -
ewxb-gcc-cross-compiler-builder ★ PINNED
A script for building a full GCC + glibc toolchain from scratch (with Go support via gccgo) in multiple stages.
Shell ★ 22 9mo agoExplain → -
taiga-stats ★ PINNED
Generate statistics from Taiga and produce burnup diagrams, CFDs, dependency graphs and more.
Python ★ 45 20h agoExplain → -
advent-of-code-solutions ★ PINNED
🎄 My solutions to puzzles at AdventOfCode.com
Ruby ★ 16 1mo agoExplain → -
exsportify ★ PINNED
Spotify Playlist Exporter: Ideal for (cron'd) backups to different formats.
C++ ★ 6 1y agoExplain → -
lauzhack16-buddyflights ★ PINNED
Hackathon 2016: Connect with you Facebook account and search for flights using Skyscanner API and get suggestions of travel routes where you can visit your global friends on your way to your destination.
JavaScript ★ 0 4y agoExplain → -
tmux-powerline
⚡️ A tmux plugin giving you a hackable status bar consisting of dynamic & beautiful looking powerline segments, written purely in bash.
Shell ★ 3.8k 29d agoExplain → -
vim-keybindings-everywhere-the-ultimate-list
The ultimate list of which programs support Vim-like keybindings natively, or how they can be added with extensions. A collaborative project.
Shell ★ 2.6k 14d agoExplain → -
restic-automatic-backup-scheduler
Automatic restic backup using Backblaze B2 storage and either Linux systemd timers, macOS LaunchAgent, Windows ScheduledTask or simply cron.
Shell ★ 659 4mo agoExplain → -
tmux-dark-notify
A plugin that make tmux's theme follow macOS dark/light mode.
Shell ★ 96 4mo agoExplain → -
dotfiles
🏠 My personal dotfiles, following the XDG Base Directory Standard.
Shell ★ 65 1d agoExplain → -
jekyll-google_search_console_verification_file
Jekyll plugin that generates a Google Search Console verification file from configuration.
Ruby ★ 8 8mo agoExplain → -
nestedtext-ruby
A ruby implementation of NestedText https://nestedtext.org/
Ruby ★ 7 1mo agoExplain → -
cs142a-labs
Projects in CS142A Interpreters and Compilers at University of California, Irvine
Java ★ 5 3y agoExplain → -
cd-bookmark ⑂
zsh and bash plugin to bookmark directories to cd. This is a fork with added functionality!
Shell ★ 3 4y agoExplain → -
cs143-project
Projects in CS143 Principles of Operating Systems at University of California, Irvine
HTML ★ 3 5y agoExplain → -
templates
Templates that I re-use for new projects.
TeX ★ 2 2mo agoExplain → -
jekyll-utility-scripts
Jekyll utility scripts for development
Shell ★ 2 2mo agoExplain → -
homebrew-tap
Erik Westrup's Homebrew Tap
Ruby ★ 2 7mo agoExplain → -
cvcd-latex
Continuously Deployed LaTeX CV Example - the LaTeX source
TeX ★ 2 4y agoExplain → -
github-readme-stats ⑂
:zap: Dynamically generated stats for your github readmes
JavaScript ★ 1 1y agoExplain → -
awesome-advent-of-code ⑂
A collection of awesome resources related to the yearly Advent of Code challenge.
Markdown ★ 1 8mo agoExplain → -
staticman ⑂
💪 User-generated content for Git-powered websites
JavaScript ★ 1 1y agoExplain → -
tardsquad-discord-bot ⑂
Bot for the Tardsquad Discord guild.
Python ★ 1 1y agoExplain → -
dark-notify ⑂
Watcher for macOS 10.14+ light/dark mode changes
★ 1 3y agoExplain → -
packer.nvim ⑂
A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
★ 1 3y agoExplain → -
tmux-sidebar ⑂
A sidebar with the directory tree for the current path. Tries to make tmux more IDE like.
★ 1 3y agoExplain → -
awesome-tmux ⑂
A list of awesome resources for tmux
★ 1 3y agoExplain → -
tmux-fzf-session-switch ⑂
the easy way to switch, when you have ton of ton session
Shell ★ 1 3y agoExplain → -
nvim-treesitter ⑂
Nvim Treesitter configurations and abstraction layer
★ 1 3y agoExplain → -
other.nvim ⑂
Open alternative files for the current buffer
★ 1 3y agoExplain → -
ticket.vim ⑂
Manges git branch specific vim session files
★ 1 3y agoExplain → -
ale ⑂
Check syntax in Vim asynchronously and fix files, with Language Server Protocol (LSP) support
★ 1 3y agoExplain → -
homebrew-autoupdate ⑂
:tropical_drink: An easy, convenient way to automatically update Homebrew.
Ruby ★ 1 4y agoExplain → -
github-stats-fork ⑂
Better GitHub statistics images for your profile, with stats from private repos too
Python ★ 1 4y agoExplain → -
vim-like-pile ⑂
Sources of Big Pile of Vim-like
★ 1 4y agoExplain → -
sandboxd ⑂
speeds up your bashrc by running (slow) setup commands on the fly
Shell ★ 1 4y agoExplain → -
collectd ⑂
The system statistics collection daemon. Please send Pull Requests here!
★ 1 4y agoExplain → -
the-plain ⑂
A minimalist Jekyll theme, ideally designed for your personal blog use.
★ 1 4y agoExplain → -
vim-unimpaired ⑂
unimpaired.vim: pairs of handy bracket mappings
Vim script ★ 1 4y agoExplain → -
eit060-project2
Second project in the course EIT060 Computer Security at Lund University.
Java ★ 1 14y agoExplain → -
irssi-bitlbee-facebook-rename ⑂
A irssi script to rename chat.facebook.com nicks in bitlbee from e.g. "u1359078110" to "AEvarArnfjord"
Perl ★ 1 14y agoExplain → -
github-stats
Created from https://github.com/jstrieb/github-stats
Python ★ 0 1h agoExplain → -
gomemo
A small note taking app written in Go
Go ★ 0 1d agoExplain → -
golumen
A fast, concurrent CLI file finder written in Go, designed to bring transparency to your directory structures with speed and simplicity.
Go ★ 0 1mo agoExplain → -
erikw
My GitHub profile README
★ 0 4d agoExplain → -
adventofcode-badge ⑂
Generate advent of code badge.
JavaScript ★ 0 1mo agoExplain → -
cs50p-project
Final project for the CS50P Python course.
Python ★ 0 4mo agoExplain → -
dotbot-ifplatform ⑂
Conditional execution of dotbot directives
Python ★ 0 7mo agoExplain → -
tmux-continuum ⑂
Continuous saving of tmux environment. Automatic restore when tmux is started. Automatic tmux start when computer is turned on.
★ 0 10mo agoExplain → -
cs50p-workshop-git-and-github
CS50P Workshop for Aryaloka students: basic Git usage on CLI and in VSCode and GitHub.
★ 0 1y agoExplain → -
cs50p-workshop-vscode
CS50P Workshop for Aryaloka students: unleashing the power of VS Code.
★ 0 1y agoExplain → -
cs50p-workshop-github-profile
CS50P Workshop for Aryaloka students: creating a GitHub profile README.md.
★ 0 1y agoExplain → -
test
Personal Github testing repo
Dockerfile ★ 0 1y agoExplain → -
cs50p-lectures
CS50P lectures for Aryaloka students complementing the official lectuers.
Python ★ 0 1y agoExplain → -
firefly
A framework and protocol that is used to communicate serialized data between two nodes.
C ★ 0 1y agoExplain → -
python-sqlite-test
No description.
Python ★ 0 1y agoExplain → -
can-cob-ros-test
Test for cob robot
Makefile ★ 0 1y agoExplain → -
gatsby-test
gatsby-test
JavaScript ★ 0 3y agoExplain → -
textual-cogs ⑂
Simple dialogs for the Textual TUI Python package
★ 0 1y agoExplain → -
cs50p-project-genai-copilot
GenAI (Copilot) test of my own hand-coded project. Just for fun, not used in the course.
Python ★ 0 1y agoExplain → -
dotfiles-test
Testing repo for dotfiles
Shell ★ 0 1y agoExplain → -
gooxpad
Simple text editor implemented as a batch script.
Batchfile ★ 0 1y agoExplain → -
edaf05-labs-solutions
No description.
Java ★ 0 3y agoExplain → -
dotbot-ghq ⑂
Manage remote repositories with ghq and dotbot
★ 0 3y agoExplain → -
tmux-plugins-list ⑂
A list of tmux plugins.
★ 0 3y agoExplain → -
gatsby-test-bug-summary-wrong-name
No description.
JavaScript ★ 0 3y agoExplain → -
project-euler-solutions
My solutions to problems from https://projecteuler.net/
Java ★ 0 3y agoExplain → -
netlify-demo
Demo of different features
HTML ★ 0 3y agoExplain → -
netlify-demo-build-action
A site with a build action
HTML ★ 0 3y agoExplain → -
netlify-demo-hook-site
No description.
CSS ★ 0 4y agoExplain → -
netlify-test-site1
Netlify test site 1
HTML ★ 0 3y agoExplain → -
jekyll_picture_tag ⑂
Easy responsive images for Jekyll.
Ruby ★ 0 3y agoExplain → -
netlify-test-eleventy-base-blog
No description.
Nunjucks ★ 0 4y agoExplain → -
ruby-on-rails-getting-started-guide-packlist
Ruby on Rails Guide Pack List
Ruby ★ 0 4y agoExplain → -
direnv ⑂
unclutter your .profile
★ 0 4y agoExplain → -
railstutorial-sample_app
https://www.railstutorial.org/book/static_pages
Ruby ★ 0 4y agoExplain → -
railstutorial-toy_app
https://www.railstutorial.org/book/toy_app
Ruby ★ 0 4y agoExplain → -
railstutorial-hello_app
https://www.railstutorial.org/book
Ruby ★ 0 4y agoExplain → -
cvcd-website
Continuously Deployed LaTeX CV Example - the website
★ 0 4y agoExplain → -
eda040-project ⑂
Project in the course EDA040 Concurrent and Real-Time Programming at Lund University.
Perl ★ 0 4y agoExplain → -
the-c-programming-language-solutions
No description.
C ★ 0 4y agoExplain → -
eit060-project1
First project in the course EIT060 Computer Security at Lund University.
Shell ★ 0 4y agoExplain → -
django-restframework-tutorial
No description.
Python ★ 0 6y agoExplain → -
nestedtext_tests ⑂
No description.
Python ★ 0 4y agoExplain → -
nestedtext-ruby-test
Client testing of erikw/nestedtext-ruby
Ruby ★ 0 4y agoExplain → -
nestedtext ⑂
Human Readable and Writable Data Interchange Format
★ 0 4y agoExplain → -
rdoc ⑂
RDoc produces HTML and online documentation for Ruby projects.
★ 0 4y agoExplain → -
vimomap
Tiny script to SSS (set sane settings) for keyboard-layout, mappings etc.
Shell ★ 0 14y agoExplain → -
snipmate-snippets ⑂
vim-snipmate default snippets
JavaScript ★ 0 13y agoExplain → -
eda031-project
Project in the course EDA031 C++ Programming at Lund University.
C++ ★ 0 14y agoExplain → -
etsf01-project
Project in the course ETSF01 Software Engineering Process - Economy and Quality at Lund University.
Java ★ 0 14y agoExplain → -
fmn011-projects
Projects in the course Numerical Analysis for Computer Scientists at Lund Universtiy.
Matlab ★ 0 14y agoExplain → -
mutt-colors-solarized ⑂
mutt mail client color schemes
Shell ★ 0 14y agoExplain → -
eda260-enduro-team0x08
A XP project in the course EDA260 Software Development in Teams at Lund University 2011.
Java ★ 0 14y agoExplain → -
kattis-solutions
Solutions to problems from https://open.kattis.com/
HTML ★ 0 4y agoExplain → -
xdg-urlview ⑂
No description.
★ 0 4y agoExplain → -
nestedtext-py-test
Testing NestedText official python library
Python ★ 0 4y agoExplain → -
ruby-on-rails-getting-started-guide
https://guides.rubyonrails.org/getting_started.html
Ruby ★ 0 4y agoExplain → -
jekyll-webmention_io-test
Testing webmentions
HTML ★ 0 4y agoExplain → -
jekyll-3.x.x-test
Basic Jekyll 3.x.x test site
Ruby ★ 0 2y agoExplain → -
jekyll-4.x.x-test
Basic Jekyll 4.x.x test site
Ruby ★ 0 2y agoExplain → -
polar ⑂
White, clean, no JavaScript Jekyll Theme
★ 0 4y agoExplain → -
news-o-o ⑂
📰 News from the openSUSE Land
CSS ★ 0 4y agoExplain → -
cops-website ⑂
COPS Official Website
★ 0 4y agoExplain → -
lemma-theme ⑂
Bootstrap theme for GitHub Pages (Jekyll).
★ 0 4y agoExplain → -
textlog ⑂
Minimalist, lefty-style Jekyll theme designed for documentation based blog.
★ 0 4y agoExplain → -
jekyll-materialize-blog-theme ⑂
:rocket: Jekyll Wrapper on Jekyll minima theme using Material Design! Inspired by https://blog.google
★ 0 4y agoExplain → -
awesome-jekyll-plugins ⑂
A collection of awesome Jekyll plugins (gems, scripts, pasties, etc.)
★ 0 4y agoExplain → -
directory ⑂
Plugins and Themes discovery for Jekyll, built with Jekyll.
SCSS ★ 0 4y agoExplain → -
minimal-mistakes ⑂
:triangular_ruler: Jekyll theme for building a personal site, blog, project documentation, or portfolio.
★ 0 5y agoExplain → -
python-taiga ⑂
A Python module for communicating with the Taiga API
Python ★ 0 5y agoExplain → -
weight-csv-to-gfit ⑂
Load weights.csv and import to a Google Fit account
Python ★ 0 8y agoExplain → -
erikw.github.io
GitHub Pages with Jekyll
HTML ★ 0 5y agoExplain → -
desktop-image-switcher ⑂
Utility to change MacOS desktop background image for all desktops
★ 0 5y agoExplain → -
5dv155-projects
Projects for 5DV155 (Android Development, Umeå University)
CSS ★ 0 9y agoExplain → -
edan40-labs
Projects in EDAN40 Functional Programming at Lund University 2013
Haskell ★ 0 12y agoExplain → -
edan55-labs-solutions
Solutions for EDAN55 labs
TeX ★ 0 5y agoExplain → -
escape-from-dev-null
A hackathon challenge: Escape from /dev/null
Python ★ 0 5y agoExplain → -
spotify-puzzles
Spotify coding puzzles from ~2013
HTML ★ 0 5y agoExplain → -
google-maps-cleaning-utilities ⑂
A set of scripts to keep your Google Maps neat and clean. Free your mind from the clutter. Offline life is better.
★ 0 5y agoExplain → -
dwm
My dwm (dynamic window manger) fork
C ★ 0 7y agoExplain → -
jcommenter.vim ⑂
A script for automatically generating JavaDoc comments
Vim script ★ 0 8y agoExplain → -
bullseye-ios-game
The BullsEye game tutorial from Ray Wenderlich's The iOS Apprentice book.
Swift ★ 0 9y agoExplain → -
source-highlight-solarized ⑂
Solarized .style and .outlang files for GNU source-highlight
★ 0 9y agoExplain → -
dwmstatus
My DWM statusbar
C ★ 0 9y agoExplain → -
django-tabbed-admin ⑂
Easily add tabs to django admin forms
Python ★ 0 9y agoExplain → -
spotify-backup ⑂
A Python script that exports all of your Spotify playlists.
Python ★ 0 11y agoExplain → -
spotify-ob-wrapper
Wrap python2-notify together with Spotify!
Python ★ 0 13y agoExplain → -
powerline ⑂
The ultimate statusline/prompt utility.
Python ★ 0 13y agoExplain → -
vim-clang-format ⑂
Vim plugin for clang-format, a formatter for C, C++ and Obj-C code
VimL ★ 0 11y agoExplain → -
bashmarks ⑂
Directory bookmarks for the shell
★ 0 11y agoExplain → -
Scrot-and-imgur-zenity-GUI ⑂
Scrot and imgur zenity GUI
★ 0 12y agoExplain → -
edan55-labs ⑂
Lab exercises for EDAN 55 (Advanced Algorithms, Lund University)
Python ★ 0 12y agoExplain → -
volnoti ⑂
Lightweight volume notification for Linux
C ★ 0 12y agoExplain → -
taskwarrior-androidapp ⑂
Taskwarrior for Android
Java ★ 0 13y agoExplain → -
mpd-notification ⑂
Notify about tracks played by mpd
C ★ 0 13y agoExplain →
No repos match these filters.