Giter VIP home page Giter VIP logo

👋 Hi, I'm Sam Lehman

headshot

I'm a software developer, tinkerer, and perpetual student.

  • 😄 Pronouns: he/him
  • ⚡ Fun fact: this README is a work-in-progress, and I've probably forgotten to update it.

👀 Interests

  • Nix & NixOS
  • GNOME
  • Mobile Linux
  • Kubernetes & all things self-hosting
  • Shell environments
  • Home automation
  • Microcontrollers
  • Security & Privacy

Stuff I Use

  • Operating system: NixOS
  • Editor: Neovim (*also been experimenting with Helix lately)
  • Shell: Zsh
  • Desktop Environment: GNOME, Hyprland

Skills, Technologies, & whatnot

✨ Things I know

I've messed around and gotten my feet wet with dozens of technologies, frameworks, languages, tools, etc. For the sake of brevity, I will only list the ones I am willing to call myself proficient with.

Web Development

  • Semantics: HTML, Markdown
  • Design: CSS / Sass / SCSS / Bootstrap
  • Frontend: React.js
  • Backend: Node.js, Django
  • Packaging: Webpack, Babel

DevOps

  • Containers: Dockerfiles, Docker/Podman CLI, container registries, etc.
  • Container Orchestration: Kubernetes, Helm, Docker-compose
  • CI / CD: GitHub Actions, GitHub Pages, Nix, Hercules-CI
  • Environment configuration: Ansible, Nix, NixOS, asdf, devcontainers
  • Cloud Environments: Microsoft Azure, Google Cloud, AWS

Languages

  • Functional Programming: Nix
  • General Purpose: Python, Java
  • Shell Scripting: Bash, Zsh, PowerShell
  • Systems Programming: C, C++
  • Web Development: Javascript, Typescript

Platforms

  • Linux FHS / POSIX API
  • GNOME / freedesktop technologies
  • systemd

Misc Stuff

My last professional role was as a system administrator, so I have lots of experience configuring, deploying, & managing user workstations, developer environments, enterprise networks, & production servers running both Microsoft Windows & Linux.

Technologies:

  • Routing: DNS resolvers, DNS records & nameservers, Multicast DNS, DHCP, VLANs, Wireguard tunnels, Tailscale mesh networks

  • Authentication: LDAP, Active Directory, OAuth2, OIDC, Kerberos, sssd

  • Remote management: SSH, RDP, VNC

  • Cryptographic protocols: TLS, SSH, GPG, age, PKCS#11, Certificate Authorities, LUKS, TOTP

  • TODO: Split "Cryptographic protocols" into symmetric/asymmetric cryptography, communication/data encryption, some other categorization?

  • TODO: Split "Routing"

  • TODO: Split "Authentication" into "Authentication/Authorization"?

  • TODO: Browser-related security stuff like CORS, HSTS

  • TODO: DNS verity stuff like DNSSEC, DMARC, DKIM, SPF

🌱 Currently Learning

  • Rustlang
  • Yew
  • GTK Development
  • Flatpak & XDG Portals

Things I want to learn in the future

  • ActivityPub
  • Expand my Tensorflow skillset
  • Linux kernel development
  • Zsh plugin development
  • Nushell
  • Tailwind CSS

📫 Get in touch

Developer Accounts

Social

Chat

Homepage

  • Website: samlehman.dev Note: Currently under major reconstruction

Forewarning

Note: Many of these accounts will probably change in the near future as I migrate to self-hosted infrastructure on my own domains.

I am currently bootstrapping a bare-metal Kubernetes cluster using NixOS & kubenix.

Once my cluster is battle-ready, I will spin up servers for:

  • Mastodon
  • Matrix
  • Git forge (probably Forgejo, maybe GitLab)
  • Probably a lot more I'm forgetting about

then migrate my accounts there. If you hit a dead link, remind me to update them by opening an issue here.

To-Do

  • Test links
  • See above

Additions

  • Add personal projects list
  • Add contributor projects list
  • Add public keys?
  • Add resume link
  • Add some personal info not about tech
  • Add inline images for certain technologies?
  • Add links for certain technologies?
  • Add emojis to make usage parallel. (or remove them altogether)
  • Add links to request access to email / phone number?
  • Add list of services I self-host?
  • Add donation links?

Organization

  • Major re-org (how much info should I put here?)
  • Determine overall structure, sections, etc.
  • Determine scheme for bulleting items.
  • Determine scheme for categorizing nested lists.
  • Remove disclaimers, etc.

Sam Lehman's Projects

blog icon blog

In Lehman's Terms - a personal blog

capstone icon capstone

Machine learning tools to identify Penn State logos & accept or reject credit card applications. Capstone project for Capital One for CMPSC 483 at Penn State

disko icon disko

Format disks with nix-config [maintainer=@Lassulus]

farside icon farside

A smart redirecting gateway for various frontend services

heyimhungry icon heyimhungry

Hey, I'm Hungry helps eliminate food waste buy connecting hungry users with people who have excess or leftover food.

hive icon hive

The secretly open NixOS-Society

hivebus icon hivebus

A declarative configuration framework based on the structural theory of std.

meehive icon meehive

Nix / NixOS configs using std / hive.

nur-repo icon nur-repo

Personal Nix User Repository (NUR) repo

omnibus icon omnibus

A unified Nix configuration loading interface and framework that emulates the modularity, configurability, reusability, and overrideability of Doom Emacs.(based on Pure Object Prototypes)

qrrs icon qrrs

CLI QR code generator and reader written in rust

resume.nix icon resume.nix

Reproducible personal résumé built & deployed using Nix & jsonresume

sexualhealthlocator icon sexualhealthlocator

Sexual health resource locator. Helps users find mental health resources and support. Project for BBH 146 course.

std icon std

A DevOps framework for the SDLC with the power of Nix and Flakes. Good for keeping deadlines!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.