Ted Piotrowski

Code to live. Live to spend time outdoors.

Page 5


Shade map

I’ve been working on a new project for about two months now and it will never be ready but it’s time to share some progress. Shade map uses elevation data across the world and the sun’s position to determine where you can currently see the sun.

Screen Shot 2020-12-01 at 11.18.41 AM.png

Click here to see what Los Angeles will look like at 4:32 PM.

And one more video showing sunrise in the Seattle area:

I’m not sure where I want to take this yet, but it has been fun learning WebGL, raytracing and mastering trigonometry again for the first time since high school. Also, GPU’s are amazing and underutilized by web developers.

Continue reading →


Lady Luck - Red Rocks

Cassondra and I climbed Lady Luck (5.7, 1000ft) this past weekend. It felt like I spent hours researching the First Creek Slabs descent route on Mountain Project. I made this map to save others time. Each dot represents an anchor location:

Lady Luck First Creek Slabs Red Rocks

Gear: .4 cam, doubles of .5 to 3" cams, C3 micro cams, set of nuts, 8 single draws, 3 double draws, Petzl Reverso, 2 cordellettes, 4 lockers

The night before the climb, we stopped at Desert Rock Sports to pick up a new 70m rope. No one who posted a trip report descended with a 60m, so buying a 70m seemed like the sensible thing to do. We started up the First Creek Trailhead around 6am. It was pitch dark and the temperature was a chilly 45 degrees. In the darkness we got spooked by some bright eyes staring at as from behind a bush, but it turned out to be a deer.

Lady Luck start of pitch 1

Starting up pitch 1

Finding the base of the climb was not difficult but we spent...

Continue reading →


Messages Not Delivered on iPhone

I switched from Mint Mobile to Verizon in June. Verizon provides reception in more areas and faster speeds than Mint which is essential when road-tripping. After activating my Verizon service, I was no longer able to send MMS messages.

My blue (iMessage) messages worked fine, but my green (MMS) messages said Not Delivered. More specifically, I could not:

  • send a picture or gif to any friends who did not have an iPhone
  • I could not participate in any group message thread where at least one member did not have an iPhone

I tried:

  • rebooting the phone
  • removing and reinserting the SIM card
  • Settings > General > Reset > Reset Network Settings
  • backing up and restoring the phone

Finally, I managed to get it working by

  • Settings > General > Reset > Reset All Settings

IMG_5941.jpg

This will remove all custom settings and permissions on your phone. You will need to re-grant permission for Location...

Continue reading →


Granite Peak - Southwest Couloir

Granite Peak Southwest Couloir

Granite Peak, highest point in Montana

I picked Cassondra up at the Billings airport at 2:30pm. I got a flat tire on the van about an hour before she landed and I didn’t have a spare because I recently ditched it to make room for her gear in the van. Murphy’s Law was in full swing. Fortunately the tire still had enough air left to drive it to a nearby tire shop and they had it patched in 30 minutes. That left me with enough time to shower and show up triumphantly in baggage claim a few minutes early.

Beartooth pass sunset

Sunset on Beartooth Pass

We stopped at the Billings Walmart to grab some groceries and headed south towards Red Lodge. After packing our backpacks in a shady spot next to Rock Creek we rewarded ourselves with a pepperoni and pineapple pizza, which we took with us up to Beartooth Pass. We ate the pizza while watching the sun set behind some of flattest mountain peaks I’d ever seen...

Continue reading →


Mount Hood

Mt Hood sunset

The summit forecast for the 5th of July was clear skies, winds at 10 miles per hour and temperatures just below freezing. Joe spent a couple of nights in Portland and I made my way through central Oregon. We met in an overflowing Timberline Lodge parking lot, sorted gear and hit the trail around 3pm.

Mount Hood routes

Mount Hood route from the parking lot

My pack felt surprisingly empty. I had barely been able to clip the top shut on Shasta but now it easily closed with room to spare. We made our way up the access road on the right side of the ski resort. The skies were clear and the sun’s rays were noticeably gentler than they had been in California. As we reached Silcox Hut I quizzed Joe about the packing list and that’s when I realized why my pack felt so small. I forgot to pack my sleeping bag. A night in the cold seemed more painful than running back to the parking lot, so I dropped my pack and...

Continue reading →


Mount Shasta

IMG_3598.JPG

Joe and I spent the previous week camping at altitude (8000’+) in the high Sierra in preparation for doing some summits. The first one was Shasta and it was already starting to be late season. California snowpack in May was just 37% of average. Low snowpack means that the crumbling slopes of Shasta start to poke through the snow and loose rocks previously held in place with snow come rolling down the steep slopes. It’s like a game of bowling where the climbing route is the lane, climbers are the pins and you’re praying for a gutter ball every time you hear a rock cracking loose on the slopes above you.

IMG_3522.jpg

Bunny Flats campsite at the trailhead

The weather the previous week was especially warm (summit temps above freezing) but the weekend brought a cold front with 60mph winds. By Wednesday night the forecast called for chilly temps but low winds so we decided to give it a try. We passed...

Continue reading →


Moonlite

Screen Shot 2020-05-21 at 2.48.36 PM.png

I built a simple browser based Zoom clone for quickly connecting with people on the internet. My goals were:

  • audio, video, screensharing, chat
  • no user accounts
  • limit rooms to 2 people
  • cost $0 to operate
  • free to use for everyone!

How it works

  1. You visit moonlite.live and land in a random room indicated by the url. https://moonlite.live/cello-forum-rainbow is one example.
  2. Share the url. The first person to visit the url will instantly connect with you. As long as you’re connected, no one else will be allowed to join.
  3. That’s it.

The backstory

Over the past few months I’ve been using the Twilio Programmable Video api at Hopps and at some point I realized that we were paying on the order of $50+/month for something I could build in about a day. Most of the modern WebRTC magic that allows two people to connect via audio, video and screen share through the browser is built directly...

Continue reading →


Setting up pass on a new machine

I have been using pass as a password manager since 2017. Pass is free and has an iOS client which I use on my iPhone. It’s worked well over the years but occasionally I need to set it up on a new machine. Because this rarely happens I am going to document the setup process here. This article is intended for people who already have pass setup on one laptop and want to configure it on a new laptop.

 Install pass on new machine
brew install pass

 Add SSH public key for new laptop to git hosting provider:
ssh-keygen -b 4096 -t rsa -C newlaptop -f newkey
pbcopy < newkey.pub
 Paste the key into Settings on your git hosting

 Clone password repo to the new machine:
git clone git@host:repo.git .password-store

 On the old machine, export existing keys and transfer to new machine:
gpg --export ID > public.key
gpg --export-secret-keys ID > private.key
scp public.key private.key user@newmachine
...

Continue reading →


Plane crash on Pallet Mountain

IMG_2690.JPGOne of two C119 tail fins at the crash site

The oppressive summer heat (90+ degrees) hit Los Angeles this week. After two stuffy nights in the apartment I hatched a plan to abandon the city and head for the high altitude comfort of the Angeles forest. A few weeks back Wes mentioned an airplane crash site on the east slopes of Pallet Mountain and I wanted to see if I could find it.

IMG_2704.PNGMaps.me crash site coordinates: 34.385739, -117.865223

Ilona and I packed up in a rush after work on Friday and drove up Highway 2 just as the sun began to set. We arrived at Cloudburst Summit parking lot around 8:30pm. The air was calm and still relatively warm. A brilliant white sliver of moon hung overhead. In the darkness we descended a few miles into Cooper Canyon and found a secluded spot just off the PCT with a small stream flowing nearby. I took a wrong turn on the descent and it was close to 11pm by...

Continue reading →


Building hopps.io

Screen Shot 2020-04-08 at 1.15.39 PM.png

In January I started helping my friend Aamir with his new startup, Hopps. Hopps is an on-demand service for real-time help. Hopps customers want to tackle their engineering or marketing problem instantly. Hopps experts provide the solutions Hopps customers seek. This blogpost is going to focus on the technology that powers Hopps and the content is best suited for web application developers. If you want to learn more about the product itself visit hopps.io.

Infrastructure

One of the first questions to tackle is how to get code changes into and out of production in minutes. Most users won’t notice bugs you ship if you can fix them quickly. A fast deployment pipeline is like a Command+Z (Undo) shortcut for your product. It gives you the freedom to experiment with the ability to roll-back changes quickly. Get your product out as fast as possible and start using it. The day we shipped the...

Continue reading →