Skip to content

Instantly share code, notes, and snippets.

@mcspud
mcspud / README.md
Created April 18, 2024 19:31 — forked from amiorin/README.md
How to configure Home Row Mods with KMonad on macOS

Intro

Karabiner and KMonad are great open source software. Don't forget to support the authors and contributors.

If you want to try home row mods on OSX, don't use Karabiner but KMonad. KMonad is harder at the beginning but then it is easier than Karabiner. Creating layers in KMonad is trivial and without drawbacks, while it is impossible in Karabiner without drawbacks.

You need to compile a PR of the project. Install https://github.com/pqrs-org/Karabiner-DriverKit-VirtualHIDDevice/releases/download/v2.1.0/Karabiner-DriverKit-VirtualHIDDevice-2.1.0.pkg

Stevey's Google Platforms Rant

I was at Amazon for about six and a half years, and now I've been at Google for that long. One thing that struck me immediately about the two companies -- an impression that has been reinforced almost daily -- is that Amazon does everything wrong, and Google does everything right. Sure, it's a sweeping generalization, but a surprisingly accurate one. It's pretty crazy. There are probably a hundred or even two hundred different ways you can compare the two companies, and Google is superior in all but three of them, if I recall correctly. I actually did a spreadsheet at one point but Legal wouldn't let me show it to anyone, even though recruiting loved it.

I mean, just to give you a very brief taste: Amazon's recruiting process is fundamentally flawed by having teams hire for themselves, so their hiring bar is incredibly inconsistent across teams, despite various efforts they've made to level it out. And their operations are a mess; they don't real

@mcspud
mcspud / machine.js
Created December 4, 2019 16:37
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
{
"Columns@": [],
"Individuals@": [],
"IsOffline@": true,
"Packages@": [],
"PrimaryKeys@": [],
"Relationships@": [],
"SprocsParams@": [],
"Sprocs@": [
{
{
"Columns@": [],
"Individuals@": [],
"IsOffline@": true,
"Packages@": [],
"PrimaryKeys@": [],
"Relationships@": [],
"SprocsParams@": [],
"Sprocs@": [
{
@mcspud
mcspud / machine.js
Last active October 13, 2019 02:01
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@mcspud
mcspud / machine.js
Created September 26, 2019 01:28
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@mcspud
mcspud / machine.js
Created September 19, 2019 06:02
Generated by XState Viz: https://xstate.js.org/viz
const getOtherContactsAction = async () => await fetch('google.com')
const load_email_details_machine = Machine({
id: 'load_contact_details_machine',
initial: 'loading',
context: {
contactData: {}
},
states: {
loading: {
const otp_satisfied = (context, event) => {
console.log('otp_satisfied: ', context, event)
return true
}
const determine_challenge_type = (context, event) => {
console.log('determine_challenge_type', context, event)
return 'hello'
}
const emails_match = (context, event) => true
const log_result = (context, event) => console.log(context, event)
@mcspud
mcspud / machine.js
Created September 18, 2019 04:37
Generated by XState Viz: https://xstate.js.org/viz
Machine({
id: 'Update Email',
initial: 'view_email',
context: {
elapsed: 0,
entry: 'east'
},
states: {
view_email: {
on: {