Last month, the micropress I co-founded with my partner released our first full-length novel. Available on: Itch , Amazon , and more And yes, I'm proud to say, that is my name on the cover. One of the hobbies that I picked up with a vengeance coming out trans is returning to my love of the written word. At first, I inhaled everything I could get my hands on written by trans women. Largely, these…
On the 5th of June of this year, I had bottom surgery at WIH in Thailand . It still doesn't feel real. This post will hopefully help me process it, and with luck, help it feel more real as a result. First off, if you haven't had a look, the Opinionated Guide to SRS with Dr. Chet has some good info. NB: Dr. Chet recently changed his name, so I'll use the short form he uses that covers both. How did…
As I start this post, I feel the need to say that being trans and going down the path of intentionally changing my body, the way I'm perceived in the world, and the way I see myself hasn't been an easy journey. But what I can say from here, with what I've experienced, I would never trade it. I'd love for this look at two years on HRT to strike that balance. To be honest about the challenges and…
Somewhere along the way, I stopped believing in America. I moved to New Zealand over eight years ago. At first, all I noticed were the similarities to the place I'd lived for nearly 40 years of my life. Then, little by little, I noticed the differences. The fact that ambition didn't permeate every aspect of life here. That family was more important than work. Yesterday, I renounced my US…
Co-authored with Aurora Foo We just finished reading "How to Read a Trans Fem Writer" . The article is written generally for readers from outside the queer (and specifically the trans femme) community who might not be used to engaging in this type of art, and has lots of good tips for how to engage with our art. We'd encourage folks to read the essay and reflect. This is especially important…
Hi all! Wow, the last month has been quite the rollercoaster. In that short time, I announced June publicly and, on a sad note, also had its funding pulled. The end result was a feeling of whiplash that I needed to recover from. After taking a break, here are my plans going forward. Nushell Nushell has been a pride and joy for many years, though for many months I've very much been in the…
I've been involved in the Rust project in some form or another since 2016, and it's a language I'm very comfortable using. Many Rust programmers could say the same . But, if we take a step back and are honest with ourselves, we'd admit that the road to getting to that level of comfort was difficult. I taught Rust professionally for two years. Watching the faces of people trying to learn Rust for…
I'm sitting here, reading a book, thinking about the road ahead for me as a trans woman. It feels like I can already tell what's likely the worst part of being trans, at least so far. You might think it's the bullying. I definitely experienced some of that. Or maybe it's friction with the family. I definitely experienced that, too. For me, though, the worst part is time. Estrogen does what it…
Today marks one year on HRT. A year ago, I remember nervously sitting across from my doctor as she typed up the script that I'd pick up minutes later. I remember the fear of getting started, the trepidation of putting new chemicals into my body with unknown consequences. Along with that fear, a kind of hope also dared to show its head. What if HRT was good for me? What if it helped? A year later,…
2023 was the year I managed to rediscover my love of books and reading. Once I got turned on to the array of trans and sapphic books available, it was like I couldn't get enough. Below is the list of the books I read this year, sorted by author, loosely in the order I read them. One note before I begin: a lot of the books below deal with trauma of some form or another. If you're sensitive to this,…
I started thinking this year what a "Year in Review" might look like, but to be honest, I've had one bright theme running through it that I kept coming back to: being trans. This post then will be some reflections of the year with that in mind. Getting clean The year started off with me realising I had a massive YouTube addiction and facing it head-on. This helped me put to rest a struggle I'd had…
Recently, I had a chat with some of my friends about Nushell and why they stuck with traditional shells like bash/zsh or the "new" hotness like fish rather than using Nushell. After chatting with them, my brain kept bubbling away at the state of how folks were using their terminals and the end result is this blog post. In this post, I make the case for really taking a hard look at Nushell and also…
Hi, I'm trans. Let's talk about it! Note: In this blog post, I talk about the medical side of my particular kind of transgender experience. If that's not your thing, feel free to skip. A long time in the making The first time I looked up anything trans-related was in my early 20s. I didn't know it at the time, but I was actually looking for a way to help address a set of symptoms I was having. For…
There's a lot of speculation about why I left Rust yesterday, so I want to set the record straight in this post. What happened A short timeline of what happened from my perspective, as this is relevant for later: A request went out to the interim leadership group for potential keynote speakers for RustConf. JeanHeyd Meneide was proposed by myself and Manish as a keynote. JeanHeyd is one of the two…
It all started innocently enough. I had gotten interested in more efficient typing at first by learning about different keyboards and what they offered. I was intrigued. Except there was one small problem: fancy keyboards are expensive, especially to import into New Zealand. So, I took a different route: alternate keyboard layouts . These promised to help you type better than the standard qwerty…
Today marks my first month clean from YouTube . It was the right choice, but that's not to say it was easy. Let's talk about it. Quitting When I decided to do something about my addiction, I had a few choices: Cut back the amount I was watching Quit cold turkey They both have their pluses and minuses, but by the time I figured out what was going I was done with being hooked on it. I was ashamed of…
Hi, I'm a YouTube addict. I know what you're thinking. That sounds like a joke. That you want a funny punchline to go with it. Me too. First time I noticed Truth is, though, I've had a problem for a while. I first noticed it back in 2011. Back then, I could feel it growing. I would spend something like 3 hours at night on weekdays and maybe around 10 hours total on the weekends on YouTube. I was…
I just finished watching the movie called Stutz, a movie created by Jonah Hill about his psychiatrist. Through the movie, Stutz gives bite-sized practices drawn from Buddhism, psychiatry, and his own experiments. One of the themes is to accept that connection is the goal (connection with others, ourselves, and our body) and we connect using, among other things, vulnerability. For years, I've…
I've been thinking recently about being on the Autistic spectrum. But first, some trigger warnings: topics include some talk of sex and gender, emotional pain, burnout. I thought it was about sexuality, or gender, or... I've wanted to talk about this for a long time. Before coming out as non-binary, I was diagnosed in 2020 as being on the autistic spectrum. It hadn't even crossed my mind until a…
I've been thinking recently... The good, the bad, and the average Do you ever wonder about how we judge things? By this I mean, let's say we go to a restaurant with a friend. The meal is going well enough, then towards the middle of the meal we try our friend's dish. Wham! It's amazing! How do we judge the restaurant? Do we say it's just okay because that's how we felt about our meal? Or do we say…
I've been thinking recently about what the future for scripting languages could look like. We've had a good run with Python, JavaScript, and Ruby for the last few decades. I wondered, what might the next few decades look like. What is the scripting language of the future? How should it work? Here are some thoughts. Scalability Working on TypeScript , something that became a constant refrain for us…
Before starting a shell , if you would have asked me what an exit code was, I would have quickly replied "0 for success, non-zero for failure" without batting an eye. That's what it meant, right? Today, someone filed an issue on the Nushell repo . In it, they ran git log , exited, and Nushell reported the command to have failed. To know why it happens, we've got to do some digging. First, let's…
Yesterday was my last day at Microsoft. I've been fortunate to have worked in an industry that paid well over my 20+ year career and to have grown up with frugal parents who passed that on to me. Starting the 4th of March, I'll be retiring to work on open source and teaching. So what's next? I have a few projects in mind: Get Nushell to 1.0 We're currently working on the plans for what it will…
Hi all! A few days ago I posted on Twitter asking for topics that people wanted to see covered for intermediate Rust content. The response was awesome and it's inspired me to make a series where I go through each topic and do my best to cover it as a video and/or blog post. Here's the current list of topics. If you see something missing, you can drop an issue on this repo or ping me on Twitter and…
Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your commandline. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful commandline pipelines. Today, we're happy to announce the 0.5.0 release for Nu. We've got lots of new features, including some long-requested ones, in…
Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your commandline. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful commandline pipelines. Today we're happy to announce the 0.4.0 release of Nushell. The 0.4.0 release marks a continually maturing shell that is now…
Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your commandline. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful commandline pipelines. We're happy to announce that today we're releasing Nushell 0.3.0. Nu has seen numerous bugfixes, performance improvements, and…
Today, we're introducing a new shell, written in Rust. It draws inspiration from the classic Unix philosophy of pipelines, the structured data approach of PowerShell, functional programming, systems programming, and more. It's called Nushell, or just Nu for short. We have a book (¡también se habla Español !). We have a repo . This release was made by Sophia Turner (me), Yehuda Katz, and Andrés…
Look Mom, Pikachu running in Windows CMD! I've been wanting to play around with the cool spinning Pikachu demo everyone was talking about. Sadly, it used termion to do its magic, which meant that unfortunately it wouldn't work for me. Termion has been a boon for Rust, with lots of folks using it to create terminal applications. Unfortunately, as a Windows user, I know there's a good chance that if…
Definition: fallow: (of agricultural land) Ploughed but left unseeded for more than one planting season. Rust is an amazing project. It's unlike anything I've ever seen. Not only are we seeing an ever-growing number of big name users of Rust, we also continue to see leaps in productivity and functionality. Yesterday, the Rust 2018 edition shipped . The culmination of three years of work, it shows…
Talking about a language's popularity is traditionally a tricky topic. How do you measure popularity? How do you compare one language to another when they're focused on different styles and different audiences? So, rather than having one or two charts, I'm going to look at a number of "slices" into Rust's growth to see it front different angles. There are also many ways we could measure…
It's that time again! July 31st will be my last day at Mozilla. Even though I was only at Mozilla for just under two and a half years, I had the good fortune to work on some pretty awesome projects. I joined the Rust team and worked with Niko Matsakis and Aaron Turon on where Rust could grow, building on my experience coming from TypeScript. We learned a ton from each other, and I'm really…
Seeing Nick Nethercote's blog post about speeding up the compiler , I started wondering just how fast could a Rust compiler be? How fast could we compile a simple example? How fast can we compile a Rust hello world? Starting out When you do a cargo new hello_rust --bin , you get a simple Rust hello world: fn main() { println!("Hello, world!"); } Awesome. Let's see how long this takes to build: >…
This is an entry in the #rust2018 blogging efforts to talk about Rust in 2018 When you come to Rust, you're bound to hear a lot of phrases. "Wrestling with the compiler". "Rust evangelism task force". "Non-lexical lifetimes". "Systems programming". Some seem strange. Others are a bit scary. Some are just a common set you quickly need to learn to before you can even read the Rust news. In this…
Here's my #rust2018 post to add to the batch. The past few years, I've been lucky to be part of the Rust community survey process. In 2016, this data helped show the need to improve usability. We had good foundations, but they were too hard to get at. In 2017, we saw a renewed need to reach out to companies, to improve documentation, and a continued importance of pushing to making Rust more…
There are now 100 friends of Rust (Be sure to hover to learn about how each company uses Rust) There are now 3 Rust podcasts: New Rustacean , Rusty Spike , and Request for Explanation First year had one conference, the second year had three, and this year had four . crates.io is not even 3 years old, but already the number of crates has passed CRAN(R) and Hackage(Haskell) . The Rust reddit is now…
We've got some good news for Rust IDE support. We recently hit a milestone for the Rust Language Server, a tool that combines the power of the compiler with a fast autocompletion engine. Up to this point, if you wanted to use it you had to build it from scratch. The process was tedious, time-consuming, and error-prone. We're happy to report you can now install RLS from rustup . Landing as a…
As a Rust user, I was discouraged by not having all the good tips for using Rust in Windows in one place. This is an attempt to just that. Getting started Step 1: Install Visual Studio Community edition My recommendation for working with Rust in Windows is to first get Visual Studio 2017 Community installed. Edit: Make sure you check the boxes to install C++ support when you instal Visual Studio,…
Today, we're happy to announce the second alpha for the Rust Language Server, a project build to bring high-quality Rust IDE support to any IDE or editor. This release brings new features, better stability, and an easier installation than the first alpha. Support for new project types When a project first starts, it tends to begin life as a library or as an application. As projects grow, sometimes…
Today, we're announcing the first alpha release of the Rust Language Server (aka RLS) . With this alpha release, this is the first time we're encouraging early adopters to try on real projects and send us feedback . The RLS has now reached a level of maturity where it should be able to run against most Cargo-based Rust projects. But what exactly is the Rust Language Server? In a nutshell The Rust…
This week, the talented Julien Fitzpatrick (btw, you should check out their RustConf talk if you haven't already) asked what a good list would be for people who are interested in programming languages and compilers. I took it as a good excuse to write a blog post with some of my recommendations. I'm going to attempt to put together a list that doesn't require a lot of background information, but…
I recently did some work with Niko Matsakis on a new compiler error format. You can try them out by setting RUST_NEW_ERROR_FORMAT=true . While I put together a blog post talking about the design for the main blog, I also wanted to open it up for people to come help us move to the new errors. I've split up this post based on background for testers, doc writers, first-time compiler hackers, and…
I've just updated Rhai to 0.2. This release focuses on improving the interaction between Rhai and Rust. The result is a cleaner, easier-to-use API. This new API does mean some API breakages, so you'll need to update your code to work with 0.2. With this release, Rhai also now has arrays as a built-in type. You can upgrade/install Rhai from cargo . API improvements Rhai 0.2 has a lot of small…
For the last few weeks, I've been working on an embedded scripting language for Rust, based loosely on ChaiScript called Rhai . What's an embedded scripting language? While the definition might depend on who you ask, for this post embedded scripting has a few distinct features: A language that derives all functionality from bindings to the hosting environment As a result, it allows complete…
One of the first things you might notice about Rust, if you come to it from other OOP-style languages, is that Rust separates methods from the data they work on. You create your struct , then you impl a few methods on it later. struct Rect { height: i32, width: i32 } impl Rect { fn area(&self) -> i32 { self.height * self.width } } fn main() { let r = Rect { height: 10, width: 5 }; println!("area:…
In case you find yourself trying to match a String (perhaps as part of an Option or Result ), here's a little trick. As a concrete example, let's say you're working with commandline args and want to do different things if it's there and equal to a special value (like "-"), if it's any other filename, or if it's not there. match args().nth(1) { Some("-") => println!("Input is stdin"), Some(ref x)…
I got a lot of great feedback on my previous post "Rust and the Blub Paradox" , which inspired me to write a follow-up. In its original formulation, the Blub Paradox is something of a tool for people to feel smug about their favorite language. I heard a lot of feedback that it feels condescending. I hadn't realized that in my mind the Blub Paradox had morphed from its original form into something…
A few weeks ago, I read an analysis of Rust, D, and Go by Andrei Alexandrescu. Andrei, a respected member of the C++ community and a core developer of the D programming language , took a stab at Rust at the end of his writeup with what seems like a pretty astute observation: "Reading any amount of Rust code evokes the joke "friends don't let friends skip leg day" and the comic imagery of men with…
When I left Seattle, I jokingly told my friend "the first country I'm travelling to is Hawaii". "But it is isn't a different country," she replied. It is. Oh it is. Looking at Maui from the Kula Lodge Having travelled around the United States, I can't say there are many places even similar to Hawaii. Or, more precisely, Maui, the island I spent most of my time on this past week. To start with many…
HandmadeCon 2015, where even the welcome banner is handmade Today, I attended HandmadeCon 2015 . HandmadeCon is the first convention for the Handmade Hero project by Casey Muratori, a game industry gun-for-hire who most recently worked on The Witness , the follow-up game for Sophia Blow, the creator of Braid . Key takeaways There was a ton of material in the interviews. Enough so that I suspect if…