Egg and spinach breakfast burritos

This recipe isn’t exactly rocket science, but it’s the easy, protein-rich way that I break my fast every workday. I make 5 burritos on Sunday and warm them up in the microwave before I go to work in the mornings. Reheated eggs aren’t for everyone though, so your mileage may vary.

Egg and spinach breakfast burritos

  • 5x 8″ flour tortillas
  • 8 large eggs
  • 1/3c chopped spinach, frozen
  • 4x vegan breakfast sausages (I use Apple Maple Field Roast)
  • storage container that will hold 5 burritos

Prep: Cut vegan breakfast sausages lengthwise into quarters, and then slice into small chunks. In a small bowl, defrost the frozen spinach in a microwave for 1 minute and drain off any liquid. Chop the spinach up into smaller pieces. Break the eggs into a small bowl and beat with a fork.

Cook: Warm up a large sauté over medium heat and brown the sausage chunks with some safflower oil. Add spinach and cook a bit. After sausage is lightly browned, add the eggs and cook the mixture as you would scrambled eggs.

Assemble: After the eggs are fully cooked, take off the heat and put onto a large dinner plate. Place the 5 flour tortillas on another dinner plate and warm up in the microwave for 30 seconds, flip the tortillas, and microwave for another 30 seconds. They should be easily malleable but cool enough to touch. Using a large spoon, divide the eggs into 5 sections (this is by far the hardest part of the recipe I swear). Take one of the 5 sections and place it onto one of the tortillas, wrap into a burrito, and place into the storage container. Repeat for the other 4 tortillas. Place storage container into fridge.

To re-warm: Place burrito on a plate and cook in the microwave for 50 seconds. Let set for 30 seconds and then devour.

Estimated nutrition value

  • 284 calories
  • 26g carbs
  • 11g fats
  • 17g protein

So who’s the girl in the relationship?

Earlier today while Daniel was mowing the lawn and I was washing dishes I recalled a close friend’s parent asking them “who was the girl” in my relationship. The question surfaces up one of the things I think is most awesome about same-sex relationships: there are no “expected” gender roles so we get to do whatever works for us expectation-free.

Daniel and I split up some of the classic gender roles in a variety of ways, usually playing to our strengths (he loves the outdoors and nature) and personalities (I’m an OCD clean-freak).

  • He usually cooks and I do the dishes. When I bake he does dishes.
  • We both wash and fold laundry.
  • He mows the lawn. He gardens.
  • He deals with the compost. I take the trash and recycling out.
  • I vacuum the house. He cleans the toilets.
  • We both do the grocery shopping.
  • He takes care of the pets (and by pets I mean house plants).
  • I wash the car. He takes pictures of me washing the car.
  • He handles the house plumbing. I take care of the electrical work.
  • We both work; I make more than he does (tech vs government sectors).
  • Daniel does more of the emotional labor in the relationship (this is something I acknowledge and am working on).
  • I pester him about calling his mother and reminding him of friends’ birthdays.
  • I throw pottery. He blows glass. We both sew.
  • He does woodworking. I write code.
  • I lift weights and run. He rides a bike and played rugby.
  • I’m vain about my hair (and never notice when he gets his cut).
  • We both have some body-image issues.

Of course, most of the time when someone asks that question they’re really talking about sex. And to that I just have to laugh because it does nothing but highlight just how limited some people’s ideas of sex actually are. If you have to ask the question, you’re probably doing sex wrong.1


1 And frankly, that’s none of their damn business anyway. What’s wrong with these people?

Gay community at Critical

Last week Daniel and I attended Critical Northwest, the annual Seattle-region Burning Man. This was our second time to go, the first was in 2015, and one of the things that we felt was lacking in 2015 was a sense of gay community.

This year we put a concerted effort into building and fostering queer community before the event. In the spirit of radical inclusion we decided to focus on a larger queer1 community rather than just a gay community. We created a Facebook sub-group for Critical Northwest Queers to create ideas, we contacted theme camps and encouraged them to host queer-centric events, and we collated and displayed all queer events as part of the Queer Agenda with Camp Waystation during the week.

And overall I think our efforts were successful! I heard from numerous people how they felt that the event this year was explicitly, not just implicitly, queer-friendly and welcoming. The spirit of queer-inclusion seemed to bleed over into other camps flying various Pride flags which was fantastic.

But a queer community does not necessarily imply a gay community. Over the course of the week out of ~1200 participants Daniel and I only found 10 other male-identified people that seemed a part of the gay community — that seemed like our people — and very few of those attended the queer events. So while it felt really great knowing that others were finding their community this year, it was frustrating to feel that we still weren’t finding ours after putting a concerted effort into it.

There are a plethora of possibilities as to why so few gay men went to Critical. Perhaps there were well more than 10 other gay men out there that we never met. Perhaps gay men who were there didn’t identify as queer or weren’t looking for a community. Perhaps gay men are less likely to attend a regional burn (I don’t know what percentage of Burning Man participants are gay men). Perhaps this was an off year. Perhaps my expectations and hopes were just too high.

Regardless of the reason we don’t feel like we found our community at Critical.


1 Yes, I used the word queer although I still cringe internally every time. LGBTQ+ is utterly unpronounceable.

2 years at Spaceflight Industries

Today is my 2-year anniversary at Spaceflight Industries.

Coincidentally today I am operating as an Engineering Lead for our 4th mission rehearsal in preparation for commanding Global-1 when it launches in a few months. In the last 18 months my team has built Gemini, a ground & control system, from the ground up (pun intended) to task a 20+ earth-imaging satellite constellation from our groundstations around the world. The system provides satellite operators with real-time telemetry on the state of the spacecraft during a contact pass.

It’s amazing to think about what we’ve accomplished since I’ve been here and I’m excited what the next several months have in store!

Books that made me visibly emote

Some books are so powerful and moving that you can’t help but cry on the bus, laugh so hard that you embarrass yourself at work, or throw the book across the room. Here are three memorable books that moved me in very different ways

The Shepherd’s Crown

by Terry Pratchett

The Shepherd’s Crown is Terry Pratchett’s last book and forever the last book of his Discworld. It is one of the Tiffany Aching series, good for young readers, which is also heavily linked to the witches series. Mr. Pratchett, knowing it was going to be his last book, took the opportunity to tie off some loose ends in beautiful and yet heart-breaking ways. Not just at the end of the book, but at the beginning which sets the stage for the remainder of it. As such I was totally caught off-guard reading this book on a bus a few weeks ago and found myself crying in sadness, both for the characters, Discworld, Mr. Pratchett, and all the readers who loved his books. And that was all before Chapter 3.

To really appreciate this book, I recommend reading the other witches books and Tiffany Aching books before reading this one.

Let’s Pretend This Never Happened

by Jenny Lawson

I have a crazy affinity for Jenny Lawson, also known as The Bloggess. She, too, lived in a small town in West Texas, in the Texas hill country, and has a healthy fear of chupacabras. I love her writing style, her humor, and how she relates to her husband. I’ve read this book at least 4 times.

It’s so funny that after the 3rd time of embarrassing myself in public laughing my ass off, I vowed to only read it in the privacy of my own home where laughing so hard that I can’t breath with tears running down my cheeks would only disturb my partner and the children walking down the sidewalk wondering where the distressed cat sounds were coming from. My vow lasted for about 12 hours when I left for work the next day, which led to more laughing my ass off in the office cafe over lunch. Shockingly, despite knowing exactly what happens, the book gets funnier every time I read it.

If you, gentle reader, are not from a small town in West Texas you may, alas, only find this book very funny instead of guffaw-inducing hysterical, but I recommend it all the same.

Fall of the Kings

by Ellen Kushner

Fall of the Kings is the 3rd book in Ellen Kushner’s Swordspoint series. Daniel recommended the series to me when we first started dating. At the time he was in Minnesota finishing grad school and I was here in Seattle. We would read books together and talk about them over Skype or recommend favorites of ours for the other to read and discuss.

The thing I love about the series are the moving and engaging relationships of the characters. Specifically the gay characters who have depth to them beyond their interest in each other. I was particularly taken with the relationship of two characters in Fall of the Kings, to the point that when unexpected tragedy struck I was so utterly gobsmacked and furious that I threw the book across the room and fumed for 15 minutes before picking it back up and seeing what happened next.

I believe this is the only book that I have ever thrown across the room. I still assert that it had it coming and yet deserves to be read all the same. Herein lies adventure, passion, legends, and tears.

#putashirton body shames men

Fruit of the Loom has a new, and rather clever, marketing campaign for their t-shirts: PutAShirtOn.org. Their tongue-in-cheek video1 explains that the real reason for all the shirtless selfies on social media is because the guy’s shirts are poor quality and are getting “ripped” and “shredded”. Their social media campaign suggests that people comment on these photos with a #putashirton hashtag, which ties into Fruit of the Loom’s marketing campaign, and promote their EverSoft shirts.

It’s clever.

It’s also body shaming men.

I spent all of my childhood and most of my adult life hating how I looked and feeling ashamed of my body. I remember in middle school my dad took my brother and I to an after-school basketball program. I had so much shame taking my shirt off for the “skins” team that I refused to go back after the first night.

In college I remember riding my bike one day without a shirt on. Some assholes in a truck pulled up besides me at a stop sign and mocked me to “put a shirt on that ugly body”, laughed, and drove off.

It wasn’t until two years ago that I did enough mental and physical work to like how I looked. After feeling more confident I started posting some pictures to Instagram (warning: I’m often shirtless). Positive reinforcement of those pics by friends and strangers helped reinforce that I’m not ugly. I can easily imagine how shamed I would have felt at the beginning of that journey if someone had posted this marketing hashtag to my shirtless posts. (Today I would just consider them trolls and delete them.)

Feel free to roll your eyes at we narcissists (or want-to-be narcissists) posting shirtless selfies, but please don’t use this marketing hashtag to shame us.


1 A video which includes generally slim guys, most of them white, and all but one of them smooth, thus further perpetuating this as the “right” way that men should look. To their credit, it isn’t all really buff guys, so there’s at least that.

Creating aspell dictionary packages for Ubuntu

There are many aspell dictionary packages available for Ubuntu, but not all of them. If you’re a somewhat esoteric project like Distributed Proofreaders, you may discover that you need things like the Latin aspell dictionary (aspell-la) which I can’t seem to find packaged anywhere.

Installing from source

It’s super easy and perfectly possible to install any of the aspell dictionaries directly. Just fetch the file, configure, make, and make install and you’re golden:

wget https://ftp.gnu.org/gnu/aspell/dict/la/aspell6-la-20020503-0.tar.bz2
tar xvfj aspell6-la-20020503-0.tar.bz2
cd aspell6-la-20020503-0
./configure
make
make install

The quick and dirty works but for systems maintained by multiple people it’s a recipe for disaster without a lot of documentation. How will someone remember that this needs to be done again for the next server upgrade or server migration? In these cases it’s usually best to create a system package and install the package.

Building & installing a package

Building a package for Ubuntu / Debian can be mind-boggling complicated when all you want to do is package up a few files to lay down on the filesystem. Luckily for aspell dictionaries we can easily borrow the template used by the aspell-en package.

Start by finding and downloading the aspell dictionary that you want to install from the list available and extracting it.

wget https://ftp.gnu.org/gnu/aspell/dict/la/aspell6-la-20020503-0.tar.bz2
tar xvfj aspell6-la-20020503-0.tar.bz2

Configure and build it to create the .rws file:

cd aspell6-la-20020503-0
./configure
make

Now head over to the aspell-en package on LaunchPad, to find and download the aspell-en_*.debian.tar.xz file from the Ubuntu version that most closely matches your own, then extract it into the the dictionary directory. This is the source file for the debian/ control directory used to build the aspell-en package, which we’ll use as a template for our own.

# from within aspell6-la-20020503-0/
wget https://launchpad.net/ubuntu/+archive/primary/+files/aspell-en_2017.08.24-0-0.1.debian.tar.xz
tar xvfJ aspell-en_2017.08.24-0-0.1.debian.tar.xz

This contains several files that we don’t need for our simple dictionary, so we can clean things up a bit. Keep in mind that we’re not creating a dictionary for distribution, just for ourselves, so this doesn’t have to be perfect.

cd debian
rm aspell-en.info-aspell changelog copyright extrawords.txt
cp ../COPYING copyright

You’ll need to update some of the files to reference your language, most of these are fairly straightforward:

  • control – Update references to aspell-en to your aspell dictionary; also update Maintainer and Description. You might need to change the debhelper version to whatever is installed on your system (Ubuntu 16.04 uses v9 not v10). If you change this, you should change it in compat too.
  • watch – Update the last line to point to where you got your aspell dictionary from — you probably just need to change the two instances of ‘en’ to your language’s code.

Three files require a little more finessing: installrules, and source/format.

The install file specifies which files should be copied into the package for installation. For reasons that I, frankly, just don’t understand, we need to specify that the .rws file needs to be installed. Your install file should look like this:

*.multi         usr/lib/aspell
*.alias         usr/lib/aspell
*.dat           usr/lib/aspell
*.rws           var/lib/aspell

The rules files is a makefile that does all of the heavy lifting for building the package. The version for aspell-en includes bits that we don’t care about, namely everything related to docs and extrawords, we can remove those and update the DICT_LANG which leaves us with:

#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk

DICT_LANG := la

DEB_DH_MD5SUMS_ARGS += -Xvar/lib/aspell

install/aspell-$(DICT_LANG)::
        for f in `LC_ALL=C ls *.cwl`; do \
            gzip -9 -n -c "$$f" > "$(DEB_DESTDIR)/usr/share/aspell/"$$f".gz"; \
            WL=`echo $$f | sed 's/\.cwl$$//'`; \
            touch "$(DEB_DESTDIR)/var/lib/aspell/$$WL.rws"; \
            dh_link "var/lib/aspell/$$WL.rws" "usr/lib/aspell/$$WL.rws"; \
            echo "$$WL" >> "$(DEB_DESTDIR)/usr/share/aspell/$(DICT_LANG).contents"; \
        done

        touch $(DEB_DESTDIR)/var/lib/aspell/$(DICT_LANG).compat

        installdeb-aspell

Note that the 8-space indents above should be tabs in your version — this is a makefile!

The final thing to do is change source/format to say we want to use the 1.0 version:

1.0

The last thing to do is to create the changelog file using dch. This file is used by the packager to determine the name and version of the package file. To keep things simple, I recommend sticking with the version from the source file itself, even if that differs from the normal Debian version format.

# from within aspell6-la-20020503-0/
dch --create -v 20020503-0 --package aspell-la

Now all that’s left is building the package:

# from within aspell6-la-20020503-0/
debuild -us -uc

If successful, this will put a aspell-la_20020503-0_all.deb file in the parent directory.

$ ls -1
aspell-la_20020503-0.dsc
aspell-la_20020503-0.tar.gz
aspell-la_20020503-0_all.deb
aspell-la_20020503-0_amd64.build
aspell-la_20020503-0_amd64.changes
aspell6-la-20020503-0
aspell6-la-20020503-0.tar.bz2

You can now install this via:

sudo apt install ./aspell-la_20020503-0_all.deb

Note, the ./ is required, otherwise it will look in the package catalog instead of on disk for the package.

You can test that your new dictionary works via:

$ echo hello | aspell list --lang=la

If that returns with “hello” as misspelled word, it worked. If you have problems, you can remove the package (sudo apt remove aspell-la), futz with some of the files, and try rebuilding it again. Things to watch out for are ensuring you’ve configured and make’d the package and that your changes to the install and rules files are correct.