Skip to content

Instantly share code, notes, and snippets.

View teddziuba's full-sized avatar

Theodore Dziuba teddziuba

  • DevOps@EarnUp
  • Placerville, CA
View GitHub Profile
teddziuba /
Last active February 20, 2023 14:11
Extract a Mac OSX Catalina user's password hash as a hashcat-compatible string
#!/usr/bin/env python3
Mac OSX Catalina User Password Hash Extractor
Extracts a user's password hash as a hashcat-compatible string.
Mac OSX Catalina (10.15) uses a salted SHA-512 PBKDF2 for storing user passwords
(hashcat type 7100), and it's saved in an annoying binary-plist-nested-inside-xml-plist
format, so previously reported methods for extracting the hash don't work.

Keybase proof

I hereby claim:

  • I am teddziuba on github.
  • I am teddziuba ( on keybase.
  • I have a public key whose fingerprint is 1708 720F E073 DE8D 8870 A7D2 F78B 92A9 0449 5452

To claim this, I am signing this object:

View gist:12530cdcf6d82bbf7042
user=> (defprotocol P
#_=> (foo [x])
#_=> (bar [x]))
user=> (defrecord X [a b]
#_=> P
#_=> (foo [this] a))
user=> (def x (->X 1 2))
teddziuba / crazy.clj
Last active August 29, 2015 14:04
data transport by function definitions?
View crazy.clj
;; We define a product record as a series of explicitly-defined function return values.
;; - This only convey data, not execution
;; - It can reference itself in a sensible way
;; - Consumers aren't concerned about message formatting, simply whether or not
;; a given function is defined.
(defpoints SKU12345
teddziuba / gist:6433642
Created September 4, 2013 07:13
My Public PGP Key
View gist:6433642
Version: GnuPG/MacGPG2 v2.0.20 (Darwin)
Comment: GPGTools -
teddziuba /
Last active December 20, 2015 11:59
Docker Service Discovery Proposal

Mental Models

My mental model of a Docker image is "the environment in which a given application runs", from the application's perspective, it has the entire machine to itself.

My mental model of a service is a single entry point ("address") that dispatches incoming service requests to one of N different processes. Each process is running inside a Docker container.

A process is an program, running inside a Docker container. A process has 0 to N service dependencies, and connects to these services by way of their addresses.

Running a Process with Dependencies