Skip to content

Instantly share code, notes, and snippets.

View nex3's full-sized avatar

Natalie Weizenbaum nex3

View GitHub Profile

The PATH is an important concept when working on the command line. It's a list of directories that tell your operating system where to look for programs, so that you can just write script instead of /home/me/bin/script or C:\Users\Me\bin\script. But different operating systems have different ways to add a new directory to it:

Windows

  1. The first step depends which version of Windows you're using:
  • If you're using Windows 8 or 10, press the Windows key, then search for and

How @extend Works

@akhleung is working on hcatlin/libsass and was wondering how @extend is implemented in the Ruby implementation of Sass. Rather than just tell him, I thought I'd write up a public document about it so anyone who's porting Sass or is just curious about how it works can see.

Note that this explanation is simplified in numerous ways. It's intended to explain the most complex parts of a basic correct @extend transformation, but it leaves out numerous details that will be important if full Sass compatibility

@nex3
nex3 / soulslike-ap-location-naming-guide.md
Created March 30, 2025 23:49
Soulslike Archipelago Location Naming Guide

Soulslike Archipelago Location Naming Guide

This is a style guide for creating location names for "soulslike" games to hook up to Archipelago, based on the conventions arrived at for naming locations in Dark Souls 3, the first such game to be added to Archipelago. The names of all the DS3 locations can be found on the locations page, as can the guide for understanding them.

Structure of a Name

In general, location names should have three parts:

  1. The region, an acronym of four or fewer letters indicating the general area the item is found. Since these games generally give explicit names to regions, it should follow those naming conventions. One example in DS3 is "HWL", for "High Wall of Lothric". Generally, each region should only have one acronym even if it changes over time or multiple parts open up ove
// Copyright 2022 Google Inc. Use of this source code is governed by an
// MIT-style license that can be found at https://opensource.org/licenses/MIT.
import 'dart:typed_data';
import 'package:rational/rational.dart';
// Matrix values from https://www.w3.org/TR/css-color-4/#color-conversion-code.
final d65 = chromaToXyz(Rational.parse('0.3127'), Rational.parse('0.3290'));
// Copyright 2022 Google Inc. Use of this source code is governed by an
// MIT-style license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT.
import 'dart:typed_data';
/// The D50 white point.
///
/// Definition from https://www.w3.org/TR/css-color-4/#color-conversion-code.
const d50 = [0.3457 / 0.3585, 1.00000, (1.0 - 0.3457 - 0.3585) / 0.3585];
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
@nex3
nex3 / out.md
Last active March 28, 2024 14:40

So: I’m trans.

First things first. I’ve taken “Natalie” as my new name and I use female (“she”) or neutral (“they”) pronouns. If you get these wrong, I’ll gently remind you, but don’t worry: I’m not upset.

Practically speaking, not much is changing beyond my name, pronouns, and presentation. I’m still happily engaged to Liz and I’m still working on both Dart and Sass. Expect considerably more pictures of me in cute outfits and complaints about laser hair removal, but otherwise my social media will remain largely the same.

In terms of my identity, I consider myself to be a trans woman but also to be gender non-binary. When I first started understanding myself as trans, I was motivated mostly by a feeling of alienation from masculinity, and I described myself as genderqueer. As I’ve explored femininity more since then, I’ve found myself comfortable with it to varying degrees in various situations. The whole thing is complicated and I’m still working on understanding it m

@nex3
nex3 / hosting-a-cube-on-mtgo.md
Last active March 22, 2024 03:24
Hosting a custom cube draft on Magic Online

This is a companion to this gist which explains how to participate in a draft hosted this way.

We may all be quarantined at home, but I'm not going to let that get between me and my weekly cube draft night. I bought an entire copy of my cube on Magic Online so I could keep drafting and iterating on it even while we can't gather in person. Is it more of a pain than drafting a first-party cube? Without a doubt. But you can do it with your friends, at any time, using your cube list.

This document will walk a cube owner through the process of hosting a cube draft where decks are drafted on dr4ft.info. It was written in May 2020, and some details of how things work may change in the future. Feel free to post updates in the comments, or even just fork this and modify it as necessary.

Table of Contents

Optional Enhancements

A Change in Plans For Sass 3.3

Sass 3.3 is coming soon, and along with it several major new features. It supports source maps, SassScript maps, and the use of & in SassScript. In preparation for its release, we've put out a couple of release candidates to be sure that everything was set and ready to go. Unfortunately, it wasn't.

Release candidates often turn up small bugs and inconsistencies in new features, but it's rare that they find anything truly damning. In this case, though, several users noticed an issue with using & in SassScript that rendered a sizable chunk of our plan for that section of 3.3 unworkable. It's not a fatal issue, and we think we have a good plan for dealing with it (I'll get to that in a bit), but it is a problem.

The Background

To understand what's wrong, first you need to understand the reason we decided to make & accessible to SassScript in the first place. One thing users want to do pretty often is to add suffixes to classes. Sometimes this takes the place of nest