sudo access for claude
How to give a `claude` agent SUDO access
The feed for Igor's personal writing
How to give a `claude` agent SUDO access
Expose your local dev services to the public internet via this basic SSH tunnel and traefik.
Making medical cannabis chocolate for my mom's dementia.
Donating to political campaigns, without getting bombarded by apocalyptic messages from randos.
My setup, how to weather-proof it, flashing WLED on an ESP32C3, and power tips
My experience creating a data boundary layer with Zod in Hono and HTMX.
My takeaways from the (few) events I attended at SF Climate Week 2025.
How to go to Burning Man in an EV, and charge it with solar while you're there!
Now page for March 2024
We decorated a boat for the Sausalito light-up boat parade!
A service and an approach for managing secrets in docker compose repos.
A story of how my grandfather Lev was exiled to the uranium mines.
I wrote a self-hosted link shortener!
I picked up my Rivian R1S just over a month ago; how is it going?
Recoolit is focused on transparency, and every purchase is allocated to a specific molecules recovered in the field. This post describes how we do that.
Recoolit prevents global warming by collecting and destroying refrigerants. But when even are refrigerants? Read to find out what refrigerants do, the different kinds that exist, why they can be so concerning, and how the world has managed the risk.
In Cory Doctorow's book Down and Out in the Magic Kingdom , the main character (Jules) has this to say about himself: [my compulsion] was Beating The Crowd, finding the path of least resistance, filling the gaps, guessing the short queue, dodging the traffic, changing lanes with a whisper to spare -- moving with precision and grace and, above all, expedience . I spied a queue ... that was slightly…
I was at Burning Man 2022 when I heard that my dear friend Peter was, initially, in critical condition. I learned later that evening that he had passed away. In the midst of a difficult exodus full of logistics and dust storms, I kept finding myself with tears in my eyes, in a state of shock and disbelief that such a light in the world as Peter had gone out. I was grateful to learn the news while…
I was born in Mykolaiv, Ukrain . I lived there until age 9, when my family emigrated to Los Angeles. Over the years, much of my immediate family has likewise emigrated to the US. However, I still have many extended family members there. I haven't been back to Ukraine since I left as a child. My parents, however, have returned several times to visit friends and family. I feel strong personal…
Language shapes thought -- a.k.a, the Sapir-Whorf hypothesis . There's lots of good evidence for this -- for instance, a very popular study on how Russian's multiple words for shades of blue allow speakers to more rapidly distinguish between those shades . Differences in thought patterns might arise not just between speakers of different languages, but between individuals speaking the same…
I've been spending a bunch of time, both personally, and professionally, thinking about the clean energy transition and "kitchen table decisions". Some examples of kitchen-table decisions: where to live how to heat the home/heat water for home use whether to get solar panels whether to use an electric car whether to get battery storage how to insulate the home how to do laundry and drying how to…
I started a new job, and this job came with a new computer -- an Apple M1 MacBook. I had to do quite a bit of work to get my usual dev environment set up, mostly having to do with the transition to the amd64 architecture from x86_64 . Some tips and tricks are documented here. Two homebrew s I found this stack overflow question invaluable. On my computer, I had already run the normal homebrew…
After encountering some issues with Ubuntu on my Thinkpad X1 Carbon 6th-gen, I went back to Arch linux. So far, I'm loving it, but I did have to figure out a few things. This is meant to document a few things I did to customize the machine to my liking. Re-mapping CapsLock to Ctrl My brain is very used to the caps lock key being the control key. When this is not remapped, I end up constantly…
If you, like me, live in the Bay Area, you may have woken up to something like this last week: This is my back yard, but things looked just as dire in the house: If you checked a website, like PurpleAir or AirNow , you would see scary numbers and dire warnings about staying indoors and avoiding the air outside. However, how is the air inside your house? Are you actually much safer? Thankfully,…
From December 2018 until May of 2020, I worked as a software engineer at Aclima . While I was there, I ended up building an in-house ETL system written entirely in Python on Kubernetes. Though fairly generic, this system is, and likely will remain closed-source. However, I still learned a lot -- about ETL, Kubernetes, data science workflows -- and this post is an attempt to summarize those…
You might already be using multi-factor authentication (MFA) for logins to your AWS account. This will cause AWS to prompt you for your MFA token when you log in via the web console. However, if you use AWS via command-line tools (e.g., terraform or aws s3 ), you might have issued yourself access keys. Those are single-factor, and if they leak, anyone on the internet can use them to do horrible…
When I was at Airbnb , I learned a lot about how to scale a website. I've recently been working in that space again, helping other websites to scale. I figured it might be useful to write down some of what I've learned in this space. This is useful for me, to clarify my thinking, but is also useful for collaboration. If my colleagues understand how I think about scaling, it would help set the…
Syncthing is a file synchronization tool. I decided to try it after seeing this post on hacker news . Many posts have been written about how awesome it is, and this is another one of those -- I'm really having fun with it. Setup I mainly run syncthing on three devices -- my Android phone, my server, and my laptop. I ended up switching to it because I upgraded my laptop to Ubuntu 20.04, and this…
You install raspbian on a brand-new Raspberry Pi . When you plug it into power and the ethernet jack, it's online, but how do YOU get into it? Over the years I've resorted to: giving my Pi a static IP -- which breaks when I put it on a different network scanning the network with nmap running a DHCP server with netmasq on my laptop's ethernet port (probably a USB one) and then sharing my wireless…
I've been on a climate-change book-reading spree lately. Since March, I've read: The Weather Makers An Inconvenient Sequel Drawdown The Uninhabitable Earth Climate: A New Story Falter That's not even counting books that are a bit about climate change. For example: Braiding Sweetgrass Parable of the Sower (particularly scary and prescient) My goal has been to find a book I can recommend as a…
Can your individual action make a difference for climate change? Often, there's little room for such action in the climate change discourse. Take Project Drawdown, which aims to rank the best climate-friendly interventions available. Some (such as their #1 intervention, "Refrigerant Management"), are targeted at small groups of specialist in a specialized industry. Others, such as #3 -- Reduce…
The cover story on NYT today is headlined "Profitable Giants like Amazon Pay $0 in Taxes, and Voters are Sick of It". Okay, cool, that sounds interesting. I would like for corporations to pay their fair share of taxes. I read the article, and there are many stories of laid-off workers, of political strategy, Democrat vs. Republican priorities, and how to defeat Trump in 2020. But what do I do…
When Let's Encrypt became available, I moved most of the vHosts I run on this web server behind HTTPS. This included my Mailman web interface. However, this broke the admin interface for my mailing lists. Even though I changed the DEFAULT_URL_PATTERN in /etc/mailman/mm_cfg.py to 'https://%s/' , the submit button on the admin interface still took me to http://mailman.moomers.org . I spent way too…
The Spa was a project for False Profit's Priceless event in 2017. As in past years, we (meaning myself, Jered and Abi ) wanted to create a space where participants could interact in a quiet setting (no loud music) that wasn't someone's camp (so, there's opportunity for a chance encounter). The Spa was a two-part project -- a Finish-style dry sauna, and an accompanying welcome space. The concept…
April 3rd, 2017 was my last day at Airbnb. These last 4 ½ years were an intense, wild adventure, and a very important part of both my career and my life. As I move on, I want to reflect on this experience while it is still fresh in my mind. Some of the things I want to focus on: what I was able to accomplish while at the company, what I think I could have done better, and my reasons for leaving.…
Recently, I wanted the ability to more reliably check email while on my phone. So far, I had gotten by with VX ConnectBot , which I would use to SSH into my phone and connect to my tmux session running mutt . But I wanted to be able to check personal email while on the go without a laptop more often, and I wanted the ability to access attachments without having to forward them to my gmail address.…
I've been running a personal Linux server for just about ten years. This makes me a Gladwellian expert at the task! One of the chores of running a personal server is backups. Recently, I got access to a second machine with enough disk space to back up at least the most important files. This documents how I set up duplicity to regularly back up the data to the remote machine. I was inspired by…
I'm a technologist -- someone who builds tools and systems. I'm also not someone who draws a sharp distinction between work and life. I view life as a series of projects I care about, the only distinction being that sometimes people want to pay me money to work on some of these projects. I am motivated in my work by the premise that what I am doing is somehow helping to improve the world. In the…
Party people, we need to talk. Every time I go to a renegade event -- a party on the beach, or in the forest, or in an abandoned tunnel -- there is always a generator involved. The generator powers the sound system, but it also creates a steady hum of undesirable noise and a plume of smelly smoke. The generator inevitably runs out of gas, causing the party to pause for a minute while it's topped…
I recently had heart surgery to fix a leaky mitral valve . When investigating my condition and the surgery online, I found individual people's accounts of their progression to be most helpful to understand what I'll be going through. These accounts are unfortunately rare -- they mostly seem to crop up in individual posts in random forums in the dusty corners of the web. I plan on documenting my…
I recently became locked out of my StackOverflow account . This was because, back in the day when I first created the account, I set it up to authenticate via OpenId. However, I never ran my own OpenId provider, which seemed like a huge hassle. Instead, I started out delegating to an OpenID provider called MyOpenid . This worked for a while, but eventually this provider went out of business. I…
I am one of the primary authors of Airbnb's SmartStack, which is composed of two pieces: nerve and synapse . When we released this software, we documented a lot of the reasoning behind it in a very comprehensive post on service discovery. I recommend reading that post carefully to understand why we made the design decisions we did. Recently, I've been getting a lot of questions on how SmartStack…
Your public domain name is the name that your users use to access your site. For instance, if you're google, your public domain name is google.com . For Airbnb, it would be airbnb.com . Delegation Usually, when a user initiates a request for something under your domain name, one of your own servers will respond. However, this is not always the case. For instance, you may be using a bulk email…
Over the break, I dropped my phone on a tile floor and totally shattered the screen. I can still see what's happening, but the digitizer is not working so I cannot unlock it or do anything. I ordered a new phone, but in the meantime I would like to access my text messages (a lot of them NYE well-wishes from friends I don't see too often) and get to my Google Auth credentials. There are a few…
As an engineer at Airbnb , I do a LOT of interviewing. I talk to at least two to three people a week, but sometimes it's as many as 5 or 6. All of my interview questions involve asking people a technical question that we can work through to generate real, working code. Usually, I'll whiteboard the question and we'll spend a moment talking about possible approaches. But the goal is to get the…
In 1986, my uncle Michael got summoned to the offices of the KGB in Nikolaev, Ukraine. They wanted to know about his friend, Tolic Dobrusin. Did Tolic have any relatives outside the country? Michael plead ignorance, and the KGB let him go. When Michael got home, he called his friend Tolic. He told him that the KGB had been asking questions about him, and that they needed to talk. Tolic came over…
When I wanted to start a github pages blog, github was serving it's page requests on <username>.github.com . These days, they service it on <username>.github.io , probably for security reasons (session cookies?). Anyway, when I wanted my page to be at igor.moomers.org , my own domain name. I also wanted the same thing under igor.monksofcool.org , which is another domain name that is also…
Now page for Feb 2025