I'm a little late in writing this post, but better late than never. Two weeks ago, I got back from my trip to Tanzania where me and 3 buddies climbed Mt. Kilimanjaro. It was a great trip - a week on the mountain, 3 days of Safari, and a few rest days scattered between. I posted some photos to Picasa: Kilimanjaro Trip Pictures.
99% of the hikers climbing Kilimanjaro start at midnight from Barafu camp at around 15k ft altitude, hike to the top (19k ft) for sunrise, and then turn around and descend a few minutes later back to 10k ft altitude. Our group instead opted for the little known Crater Camp option. We started our hike from Barafu at 8am, daylight and much warmer. We ascended to Stella's Point on the Crater Rim, 500 ft lower and a 30 minute hike from the actual peak (Uhuru Peak) and then dropped down into the Crater for the night. The plan was to wake up and start hiking at a leisurely hour of 5am in the morning.
The crater was well worth the extra day, most of the hikers never set foot in it, but we had time to explore. I opted to check out the glacier inside the crater, which is shrinking and may soon be gone completely. Many of our porters had never done the Crater Camp option before, so they were just as excited as we were.
Unfortunately, after going to bed, the altitude kicked in for me. We were all already weak, but it really hit me hard. When our guides woke us up in the morning, I decided to descend instead of finishing the last few hundred feet to the top. Acute Mountain Sickness was an interesting experience - it felt like the worst flu you've ever had: headache, nausea, vomiting, and extremely low energy levels. I had to take a break between tying one boot and the other. I was wearing a heart rate monitor for the trip and my resting heart rate was around 120 beats per minute - normally, it's around 70. Fortunately, dropping altitude did the trick. A few hours later at a lower vantage point, I was feeling absolutely fine. The other 3 in our group finished the route to the top and joined me that afternoon.
Not too many meteors, but the stars were better than I've ever seen before. By day 2 we were camping above the clouds, so there was essentially no man-made light pollution except for our own flashlights. The milky way was not only bright and clear, but I swear that I could actually make out hints of different colors in the stars with my unaided eye. I tried but failed to take any photos worthy of sharing.
On the tail end of the trip, we went on a 3 day Safari. I have to admit that I was mostly on the trip for the hike and hadn't really researched the Safari much in advance, but it was also a blast. Nice and relaxing, and crazy amounts of wildlife as you'll see in the photos.
2010-08-31
2010-08-02
Kilimanjaro: Wish me luck
Tomorrow morning, I'm off to hike Mt. Kilimanjaro in Tanzania. It is 19,334 ft above sea level at the summit, the tallest peak in Africa.

If we're doing well, we'll even sleep one night inside the Crater, at roughly 18,000 ft. That should be amazing and painful at the same time. We'll be hitting the summit around new moon. Most people go for full moon as you have to do some night hiking, but we'll be hiking during the Perseids meteor shower, so the lack of moonlight, the lack of human-made light, and the high altitude should really make for quite a show.
I was hoping to be able to use MyTracks on the journey and post the route when I return. On some test trips, I tried a few solar chargers to keep my phone going, but none of them were able to collect as many photons as my Nexus One wanted to eat. I'll still be bringing the phone along for identifying stars (see my previous post), but I'll leave it off most of the way. I'll also bring back lots of photos to share on the blog.
If you want to get more involved, Jeremy, one of the other hikers, will be carrying a Spot messaging device that will track our route. You can see the map at http://jeremyshapiro.com/kili/. Another way to participate it to "sponsor" our climb in a sense. Matt Cutts set up a page at charity:water in honor of our trip, and he blogged a little bit about his choice of charities. Lastly, check back in about 2 weeks for a final update.
If we're doing well, we'll even sleep one night inside the Crater, at roughly 18,000 ft. That should be amazing and painful at the same time. We'll be hitting the summit around new moon. Most people go for full moon as you have to do some night hiking, but we'll be hiking during the Perseids meteor shower, so the lack of moonlight, the lack of human-made light, and the high altitude should really make for quite a show.
I was hoping to be able to use MyTracks on the journey and post the route when I return. On some test trips, I tried a few solar chargers to keep my phone going, but none of them were able to collect as many photons as my Nexus One wanted to eat. I'll still be bringing the phone along for identifying stars (see my previous post), but I'll leave it off most of the way. I'll also bring back lots of photos to share on the blog.
If you want to get more involved, Jeremy, one of the other hikers, will be carrying a Spot messaging device that will track our route. You can see the map at http://jeremyshapiro.com/kili/. Another way to participate it to "sponsor" our climb in a sense. Matt Cutts set up a page at charity:water in honor of our trip, and he blogged a little bit about his choice of charities. Lastly, check back in about 2 weeks for a final update.
2010-07-30
The 4 Android Apps that all backpackers should carry
If you go backpacking or even hiking and use an android phone, here is a list of the Android Apps you should be carrying.
My Tracks: Record GPS tracks of where you hiked, view elevation profiles, and upload to Google Maps. Tip: To keep battery low, change the settings for coordinate frequency to "battery miser". This is what I use to generate nifty maps and elevation profiles of my hikes that I post on this blog.
Google Skymap: Augmented reality for showing the stars in the sky. Hold your phone up to the starry sky and see whether that bright thing is a planet or a star, and which one. Works even without data access.
Peak.AR: Augmented reality that will tell you the name of every mountain peak you are looking at.
Rainy Days: Overlays moving weather images over google maps to show you live weather around you. Obviously only works if you have data coverage.
I'm headed to Kilimanjaro on Tuesday, what are some other good backpacking Apps?
My Tracks: Record GPS tracks of where you hiked, view elevation profiles, and upload to Google Maps. Tip: To keep battery low, change the settings for coordinate frequency to "battery miser". This is what I use to generate nifty maps and elevation profiles of my hikes that I post on this blog.
Google Skymap: Augmented reality for showing the stars in the sky. Hold your phone up to the starry sky and see whether that bright thing is a planet or a star, and which one. Works even without data access.
Peak.AR: Augmented reality that will tell you the name of every mountain peak you are looking at.
Rainy Days: Overlays moving weather images over google maps to show you live weather around you. Obviously only works if you have data coverage.
I'm headed to Kilimanjaro on Tuesday, what are some other good backpacking Apps?
2010-06-07
Training for Kili
In August, I'll be doing my best to hike to the summit of Mt. Kilimanjaro, Africa's tallest peak. In the meantime, I've been trying to hit the trail whenever I can to make sure I'm in the best shape I can be in. The better shape I'm in, the more fun I'll have.
Last Monday, May 31, Memorial Day, Cristin and I joined @JeremyShapiro and Emily to hike around Pinnacles National Monument. Our route climbed from the east entrance up the High Peaks Trail, descended from the peaks on Tunnel Trail and Juniper Canyon Trail, and then looped back along the mellow Balconies Trail through Balconies Cave, a Talus Cave formed by rocks falling into a V-shaped valley. The whole trip was supposedly around 9 miles, of course with as much elevation change as we could find in order to prepare for the climbs we expect on Kili. The graph on the right is the elevation profile that MyTracks recorded. The GPS bounces around a bit though so the total distance of 12 miles is an overestimate. We were on the lookout for some California Condors, but failed to find them. The area was starting to get a bit hot for the summer, but still not too bad. Hopping into a dark cool cave in the middle of the afternoon was still an appreciated break from the sun. A few photos that I snapped with my cell phone when I remembered can be found here: Pinnacles Photos.
This past weekend, June 5-5, @JeremyShapiro, Ryan Moulton and I loaded up the backpacks and went for a 2-day trip in the Ohlone wilderness, hiking from Del Valle to Stewart Camp. Since it's a training mission, I opted for plenty of comforts and extra water, my pack weighed in at right about 40 pounds. While only 6.5 miles (again MyTracks is incorrect), The route was quite steep and exposed for much of the way as you can see in the elevation profile on the left. We ate lunch in the little dip you see around 1,800 ft, alongside a shady brook in Williams Gulch. Then it was more climbing up to the final ridge.
Nearing the campsite, we saw a small cairn indicating a path the bottom of Murietta Falls. We dropped packs and wandered down to find that the falls was only a trickle at the time. There was a small pool at the bottom with several small snakes in it trying to stay cool. The basalt rocks on top of which it flowed were fairly unusual looking for the area, and since two of us are regular rock climbers, we decided to free climb the falls back to our packs instead of hiking back up the path. The climb had several large ledges so it was fairly safe, but the climbing was sketchy in places, we thought we might need to downclimb a couple times. We eventually made it up the falls with only minor injuries, and startling only a handful of snakes. A little extra adventure for our adventure.
Another half mile of mellow trails and we reached our campsite, only to find someone else already in it. We held the reservation for this site for that night. The other group we found in our campsite had a reservation for the next campsite over - another 4 more miles. After completing the 6 miles of strenuous climbing, they had found themselves unable to continue on, so they squatted in our site instead. Fortunately, we found another spot just a short distance further down the trail that had been used as a campsite before and while it was smaller it turned out to be an even better campsite. A rock outcropping above the site provided some great flat spots to cook food and enjoy a fantastic view of the bay area, overlooking Livermore, Oakland, the SF Bay, San Francisco, and even the Pacific. It was possibly the best view we saw on the trail, and we only found it because someone else had stolen our campsite. We hung out and watched the sun set, the lights of the cities come on, satellites and shooting stars flying by overhead, and airplane traffic starting the descent into SFO. Ryan played the role of cameraman for this venture, you can find more photos over at Ohlone Backpacking Photos.
| Pinnacles Day Hike Elevation |
Last Monday, May 31, Memorial Day, Cristin and I joined @JeremyShapiro and Emily to hike around Pinnacles National Monument. Our route climbed from the east entrance up the High Peaks Trail, descended from the peaks on Tunnel Trail and Juniper Canyon Trail, and then looped back along the mellow Balconies Trail through Balconies Cave, a Talus Cave formed by rocks falling into a V-shaped valley. The whole trip was supposedly around 9 miles, of course with as much elevation change as we could find in order to prepare for the climbs we expect on Kili. The graph on the right is the elevation profile that MyTracks recorded. The GPS bounces around a bit though so the total distance of 12 miles is an overestimate. We were on the lookout for some California Condors, but failed to find them. The area was starting to get a bit hot for the summer, but still not too bad. Hopping into a dark cool cave in the middle of the afternoon was still an appreciated break from the sun. A few photos that I snapped with my cell phone when I remembered can be found here: Pinnacles Photos.
| Ohlone Backpacking Day 1, Elevation |
This past weekend, June 5-5, @JeremyShapiro, Ryan Moulton and I loaded up the backpacks and went for a 2-day trip in the Ohlone wilderness, hiking from Del Valle to Stewart Camp. Since it's a training mission, I opted for plenty of comforts and extra water, my pack weighed in at right about 40 pounds. While only 6.5 miles (again MyTracks is incorrect), The route was quite steep and exposed for much of the way as you can see in the elevation profile on the left. We ate lunch in the little dip you see around 1,800 ft, alongside a shady brook in Williams Gulch. Then it was more climbing up to the final ridge.
Nearing the campsite, we saw a small cairn indicating a path the bottom of Murietta Falls. We dropped packs and wandered down to find that the falls was only a trickle at the time. There was a small pool at the bottom with several small snakes in it trying to stay cool. The basalt rocks on top of which it flowed were fairly unusual looking for the area, and since two of us are regular rock climbers, we decided to free climb the falls back to our packs instead of hiking back up the path. The climb had several large ledges so it was fairly safe, but the climbing was sketchy in places, we thought we might need to downclimb a couple times. We eventually made it up the falls with only minor injuries, and startling only a handful of snakes. A little extra adventure for our adventure.
Another half mile of mellow trails and we reached our campsite, only to find someone else already in it. We held the reservation for this site for that night. The other group we found in our campsite had a reservation for the next campsite over - another 4 more miles. After completing the 6 miles of strenuous climbing, they had found themselves unable to continue on, so they squatted in our site instead. Fortunately, we found another spot just a short distance further down the trail that had been used as a campsite before and while it was smaller it turned out to be an even better campsite. A rock outcropping above the site provided some great flat spots to cook food and enjoy a fantastic view of the bay area, overlooking Livermore, Oakland, the SF Bay, San Francisco, and even the Pacific. It was possibly the best view we saw on the trail, and we only found it because someone else had stolen our campsite. We hung out and watched the sun set, the lights of the cities come on, satellites and shooting stars flying by overhead, and airplane traffic starting the descent into SFO. Ryan played the role of cameraman for this venture, you can find more photos over at Ohlone Backpacking Photos.
2010-05-23
Using Amazon's Mechanical Turk for Price Comparison Shopping
I use a ReadyNAS NV attached to my home network. When I bought the device, I initially installed 3x 300GB drives into it and that has served me well providing 600GB of RAID protected storage.
I recently decided to upgrade the drives. Netgear has a ReadyNAS Compatibility Guide which lists specifically tested and recommended drives to use with each of the ReadyNAS products. I knew that I wanted 1TB drives, which seemed from limited research to be a fairly good spot in the market. That left me with 11 drives to choose from, which seemed like alot of work to research and price compare. I researched a few on Amazon and bought my first drive for around $145.
For the other 3, I decided to try a different approach mostly as an experiment. I created an account on Mechanical Turk and asked 3 workers to find me the lowest price they could on any of these drives. I charged the task out at $3/worker and since there was no clear success criteria, I promised in the task description to give a $10 bonus to whichever worker found the cheapest price. I mentioned that coupon codes, discounts, and rebates were all fair game, but not to worry about shipping/taxes to keep it simple. I only cared about price: performance didn't matter much since it was a NAS drive. Total cost = $3 x 3 + 0.30 x 3 (Amazon's fee) + $10 = $19.90.
Here are the results, about an hour later:
I think if I did it again, I'd be a little bit more specific about what I want (US retailer), maybe add shipping/tax to the mix, possibly ask for the 2-3 cheapest drives they could find so I have some choices. I'd also probably drop the task price to say $0.25 but add that any worker that gets within 10% of the lowest price worker will also earn a $3-5 bonus. I suspect that the ability to earn $3 for a few quick pricegrabber searches might make sticking around and spending more time doing research less enticing. Still the results weren't that bad with my first try, enough to make me wonder what else I could use the turk workers for.
I recently decided to upgrade the drives. Netgear has a ReadyNAS Compatibility Guide which lists specifically tested and recommended drives to use with each of the ReadyNAS products. I knew that I wanted 1TB drives, which seemed from limited research to be a fairly good spot in the market. That left me with 11 drives to choose from, which seemed like alot of work to research and price compare. I researched a few on Amazon and bought my first drive for around $145.
For the other 3, I decided to try a different approach mostly as an experiment. I created an account on Mechanical Turk and asked 3 workers to find me the lowest price they could on any of these drives. I charged the task out at $3/worker and since there was no clear success criteria, I promised in the task description to give a $10 bonus to whichever worker found the cheapest price. I mentioned that coupon codes, discounts, and rebates were all fair game, but not to worry about shipping/taxes to keep it simple. I only cared about price: performance didn't matter much since it was a NAS drive. Total cost = $3 x 3 + 0.30 x 3 (Amazon's fee) + $10 = $19.90.
Here are the results, about an hour later:
- Seagate Barracuda LP ST31000520AS at buy.co.uk for £68.02. I didn't specify US, my mistake. Still approved the work.
- Seagate Barracuda ST31000528AS at unistorage.com for $68.84. This worker actually listed lowest prices for every one of the drives. The $68.84 one was the cheapest before shipping/taxes. This worker got the bonus by a slim slim margin (see worker 3).
- Seagate Barracuda LP ST31000520AS at Newegg for $69.99. This drive ended up cheapest after shipping/taxes.
I think if I did it again, I'd be a little bit more specific about what I want (US retailer), maybe add shipping/tax to the mix, possibly ask for the 2-3 cheapest drives they could find so I have some choices. I'd also probably drop the task price to say $0.25 but add that any worker that gets within 10% of the lowest price worker will also earn a $3-5 bonus. I suspect that the ability to earn $3 for a few quick pricegrabber searches might make sticking around and spending more time doing research less enticing. Still the results weren't that bad with my first try, enough to make me wonder what else I could use the turk workers for.
Google Encrypted Search
It's often fun to read the response that the internet community has to Google's launches, especially ones that I'm somewhat familiar with. There is always a bit of tinfoil hat concerns about Google's intentions.
Late last week we launched to Beta an Encrypted Google Search option. Most discussions focus on the privacy aspect of this launch, but there are a number of discussions noting that this disables referrer (and hence query) passing for many destination websites: take the webmasterworld discussion for one example. The tin foil hat interpretation is that Google hidden agenda is to prevent webmasters from seeing their query data.
Fortunately, it's easy to see what is actually going on. When you surf using the HTTPS protocol, the goal is to encrypt(hide) your surfing traffic from your transmitting network, not from the destination sites. However, if you click from a HTTPS page to an HTTP page, passing the referrer would leak a small amount of data about your encrypted traffic to the network. As a result, all web browsers that I know of send an empty referrer string in this case. Interestingly, if you navigate between HTTPS pages, even on different domains, the referrer is passed. This is consistent with hiding the data from the network but not the destination site.
If a webmaster so desired, they could move their entire site onto HTTPS and then start getting the HTTPS referrers sent to their server again. If Google's intent was to prevent websites from seeing query strings, there are much easier ways to do so, such as using POST.
Late last week we launched to Beta an Encrypted Google Search option. Most discussions focus on the privacy aspect of this launch, but there are a number of discussions noting that this disables referrer (and hence query) passing for many destination websites: take the webmasterworld discussion for one example. The tin foil hat interpretation is that Google hidden agenda is to prevent webmasters from seeing their query data.
Fortunately, it's easy to see what is actually going on. When you surf using the HTTPS protocol, the goal is to encrypt(hide) your surfing traffic from your transmitting network, not from the destination sites. However, if you click from a HTTPS page to an HTTP page, passing the referrer would leak a small amount of data about your encrypted traffic to the network. As a result, all web browsers that I know of send an empty referrer string in this case. Interestingly, if you navigate between HTTPS pages, even on different domains, the referrer is passed. This is consistent with hiding the data from the network but not the destination site.
If a webmaster so desired, they could move their entire site onto HTTPS and then start getting the HTTPS referrers sent to their server again. If Google's intent was to prevent websites from seeing query strings, there are much easier ways to do so, such as using POST.
2010-05-22
Gas Station Inefficiency

Near where I live is a gas station that is almost always packed and overflowing into the road. It's not particularly small, but they have decent prices.
I've wondered why the station always looks so busy. I think I have the answer. In addition to having decent prices on gas, they also have a big sign that reads "9c/gallon off with cash". I've observed that the vast majority of the users wait in line until their car is in front of a pump, then walk into the store to get in another line to prepay in cash for their gas. Once they've prepaid, they return, pump, and sometimes go back in for change. If you add all this up, they spend about 5-10 minutes with their car in front of the pump for every 1 minute or so of actual pumping of gas.Pump utilization is abysmal, leading to low throughput, leading to long queues. Sounds like a dumb algorithm to me.
What I don't know is if this behavior increases their sales or decreases them. I know that Cristin and I sometimes avoid this station because of the congestion meaning lost sales. However, it's possible that the lines of overflowing cars out into the road draws attention and gives a false sense that this must be the cheapest around driving more sales still.
2010-05-13
Google I/O Site Review
If you are going to be at Google I/O next week, I'll be on stage for the SEO Site Advice from the Experts Session with Matt Cutts and Tiffany Lane. It'll be a fast-paced Site Review, lots of fun. Check us out, Thursday the 20th, 2:15 PM, Room 8. Matt has put out the call for sites to review, ideally get in on the list early.
2010-05-10
Henry Coe, Kelly Lake, Backpacking
This past weekend I went backpacking in Henry Coe with JeremyShapiro, Matt Cutts, and David Signoff.
We hiked in on a perfect day from the Hunting Hollow entrance on a gorgeous day, a grueling climb up Middle Steer Ridge Trail, a short stroll along Steer Ridge Road to lunch at Wilson Peak where we saw a deer also relaxing and having lunch. We backtracked slightly and quickly descended half the elevation we just gained down Serpentine Trail. Back up on Tule Pond Trail, following the ridge on Wasno Road, then Wagon Road, and then a very steep descent down Kelly Lake Trail to Kelly Lake. Total distance: roughly 10 miles
There were 4 parties including ourselves overnighting at Kelly Lake. Beautiful spot, but lacking for ideal campsites and we weren't the first to arrive. I think I still prefer having Redfern pond to myself 2 years ago to sharing Kelly Lake with others. Serenaded by birds and then frogs, our crew played cards and then got a good nights' sleep.
The next morning, rain clouds started appearing so we packed up camp quickly and headed out. Our plan was to stick to trails back to Hunting Hollow, but we hit some moderate rain on the return hike and so took a shortcut. Back up Kelly Lake Trail on the other side, ridge walking on Wasno Road until descending on Dexter Trail which is when the rain hit, and then a moderate descent along Grizzly Gulch Trail until we reached the Coyote Creek park entrance. From there, only a 2 mile flat walk back to Hunting Hollow Entrance where my car was getting a nice shower. Total distance: roughly 7 miles.
I found a similar hike done by another crew, with GPS map and altitude here: Hunting Hollow to Kelly Lake round trip with GPS. That trip was 20 miles with 6800ft of elevation gain/loss.
We hiked in on a perfect day from the Hunting Hollow entrance on a gorgeous day, a grueling climb up Middle Steer Ridge Trail, a short stroll along Steer Ridge Road to lunch at Wilson Peak where we saw a deer also relaxing and having lunch. We backtracked slightly and quickly descended half the elevation we just gained down Serpentine Trail. Back up on Tule Pond Trail, following the ridge on Wasno Road, then Wagon Road, and then a very steep descent down Kelly Lake Trail to Kelly Lake. Total distance: roughly 10 miles
There were 4 parties including ourselves overnighting at Kelly Lake. Beautiful spot, but lacking for ideal campsites and we weren't the first to arrive. I think I still prefer having Redfern pond to myself 2 years ago to sharing Kelly Lake with others. Serenaded by birds and then frogs, our crew played cards and then got a good nights' sleep.
The next morning, rain clouds started appearing so we packed up camp quickly and headed out. Our plan was to stick to trails back to Hunting Hollow, but we hit some moderate rain on the return hike and so took a shortcut. Back up Kelly Lake Trail on the other side, ridge walking on Wasno Road until descending on Dexter Trail which is when the rain hit, and then a moderate descent along Grizzly Gulch Trail until we reached the Coyote Creek park entrance. From there, only a 2 mile flat walk back to Hunting Hollow Entrance where my car was getting a nice shower. Total distance: roughly 7 miles.
I found a similar hike done by another crew, with GPS map and altitude here: Hunting Hollow to Kelly Lake round trip with GPS. That trip was 20 miles with 6800ft of elevation gain/loss.
2010-04-24
Domain'ing is Annoying
The way in which domain names are allocated seems broken to me. Speculators register domain names for a very small amount of money ($6/yr for .com's, sometimes pennies for some ccTLDs) and then refuse to give up the rights for anything less than $10,000. The domains are worth more than the registration cost to someone who would actually use them, but less than the squatter price. As a result, excellent domain names go unused (parked) while good content creators with low budgets end up with stupid domain names that nobody wants but which are affordable.
A strawman proposal for fixing this:
Instead of a flat $/yr charge for domain names, charge based on demand. If a user comes along to the registrar and wants to buy an already used domain name, they can file a bid with the registrar. The registrar records and authorizes the charge for the bid, perhaps even taking the money into escrow. At the same time, the current owner is contacted. The current owner can now choose:
The 5% is just a random number. Tweaks might include a some cap at $500, or having the percentage decrease as the offer increases so that the registration fee for google.com or whatever isn't astronomical. Perhaps reduce the percentage the longer the current owner has owned the domain as changes in identity are undesirable. It also seems like you might want to have registration fee hike exceptions in some cases, such as trademarks. Lots of options available.
Where should the extra registration money go? The registrars don't deserve most of this. I'd probably put it towards public projects to build better planet-wide network infrastructure (fiber in the ground) or something.
A strawman proposal for fixing this:
Instead of a flat $/yr charge for domain names, charge based on demand. If a user comes along to the registrar and wants to buy an already used domain name, they can file a bid with the registrar. The registrar records and authorizes the charge for the bid, perhaps even taking the money into escrow. At the same time, the current owner is contacted. The current owner can now choose:
- Accept the offer, sell the domain name.
- Accept an immediate increase in the annual registration fee for that domain name of 5% of the offer price.
The 5% is just a random number. Tweaks might include a some cap at $500, or having the percentage decrease as the offer increases so that the registration fee for google.com or whatever isn't astronomical. Perhaps reduce the percentage the longer the current owner has owned the domain as changes in identity are undesirable. It also seems like you might want to have registration fee hike exceptions in some cases, such as trademarks. Lots of options available.
Where should the extra registration money go? The registrars don't deserve most of this. I'd probably put it towards public projects to build better planet-wide network infrastructure (fiber in the ground) or something.
Subscribe to:
Posts (Atom)
