I’ve been at the airport for the last 20 minutes and I’m still shaking from the cab ride from downtown Vegas to LAS. When my friend and co-worker (who lives in Vegas) told me there was no Uber, I was kind of shocked. But I figured, “Hey, they have more taxis than they know what to do with so I didn't need to rent a car. I can just get a cab.”
When I arrived last Sunday I went straight to the taxi line and got a cab from the airport fairly quickly. The cab was clean, air conditioned and the driver was a really nice guy.
During my stay I didn't need a cab since I was downtown. Everything I needed was within walking distance. When I did need a ride, my friends would pick me up and drive us to a coworking space where we would, well you know, work. The week went by like a blur and we got a lot done. Overall, a successful business trip in Sin City.What could possibly go wrong on the trip back to the airport, or trips around Vegas?
How about taxi service with wildly fluctuating rates for the same distance, taxi lines that take forever to navigate (and that only valets can “magically” expedite) and varying levels of driver pleasantness and car cleanliness? And if you do ultimately have a problem, no real recourse?
Let me back up to give you some background — last night (Friday) I wanted to get out of DTLV for a few hours and meet up with a good friend of mine who happened to be in Vegas. He was staying at the Southpoint Hotel and Casino, which was 13.3 miles away.
When I arrived, the price of the fare including tip came out to $50 and change, or about $3.50 per mile. It seemed like a lot to me, but I couldn't really complain. I got from point A to point B without any hassles.
After playing Texas Hold 'Em for a few hours, I headed back downtown. I went to the taxi line and waited. And waited. And waited. After 10 minutes I was getting antsy and vented on Twitter.
Vegas needs Uber.
— Justin Dorfman (@jdorfman) July 12, 2014
Another seven minutes goes by and still no taxi in sight. Not to mention there were two people in line ahead of me. So I called a cab. I found a service with 3 stars and lucky me and someone picked up immediately! I told them where I was and they replied, "Sorry sir, we can't send a cab to hotels. You need to just wait until they arrive."
Yay I get to wait for awesome taxi service! Thanks Nevada! pic.twitter.com/2SGeX3o6ZM
— Justin Dorfman (@jdorfman) July 12, 2014
I hung up the phone and walked over to the valet station and asked if he could call us some cabs, since there were multiple parties waiting. He got on the phone and made a call; three SUV taxis magically arrived before he hung up.
When I got into the cab, the driver was a jolly guy all around. There’s not a lot of traffic at 2 am, so he got me back to downtown Vegas quickly. This time the fare was $15 dollars cheaper, which was cool.
I woke up this morning, packed my shit and went to the valet to get a cab to the airport. The car that came looked really beat up but I really didn't care. The inside is what counts (for me anyway).
I got in, and the first thing I saw was a beer bottle. Kind of gross but hey, it's Vegas! I start to roll down the window before we left because the car was balls hot. Why? The AC wasn't running. But hey… it’s Vegas?
The guy turned around and asked, "Where you headed?" I told him, "Airport, please," and we were on our way. That’s when I noticed what I’d literally gotten myself into.
I looked around in the cab and I was disgusted. I’ll let these pictures do the talking:
Now comes the best part. We arrive at the airport, I gave him my credit card and he said, "This is a cash only taxi.” I thought he was kidding because he was smiling...then I realized he wasn't kidding.
“How am I suppose to pay you?" I asked. He replied, avoiding the question: "I can give you a receipt."
What?
Clearly he saw that I had some cash (thank you poker gods!). I give him the $30.50 and got the hell out as quickly as I could.
Now, before you start making assumptions — such as that I work for Uber (I don't, I'm just a loyal customer and brand advocate) — hear me out:
I know this is a first world problem, but I live in a first world country and uberX is how I get around in Los Angeles when I can't take public transportation.
I am not rich by any means. I work hard and make enough money to expect a good customer experience and good customer service. I have had a bad experience with Uber. But when I gave a negative review, they quickly gave me a service credit and stated the driver was new to the area (DTLA is full of one way streets) and the ride was on them. This was unexpected, and I didn’t expect anything from them.
I have nothing against the taxi industry. In LA they are actually innovating the cab ride experience to keep Uber and others from taking over their market share. If uberX is not available, I just open up TaxiMagic and have an uberX-like experience. But there’s no alternatives in Vegas.
The problem is that I don't have a choice. The Nevada Taxicab Authority can get away with pretty much whatever they want.
Got a complaint? Don't worry, you can call customer service, wait on hold and leave a message that will most likely not get returned. Bottom line: there is no accountability or competition to change anything.If you don't know, the city of Las Vegas is not doing too well. While Las Vegas ranked No. 3 in employment growth in the first quarter of this year, it's still 6 percent below the city’s total number of peak jobs. Will allowing Uber to operate in Nevada increase job growth? Maybe a little, but it still won't be a silver bullet by any means.
I strongly believe that Vegas needs Uber is because their economy primarily relies on tourists to spend money on gaming and entertainment. While Tony Hsieh has done amazing things to help revitalize downtown Las Vegas, the casinos and the strip are what fuels the local economy. Six out of the ten largest employers in Nevada are casinos, while the other four are government jobs. (There’s nothing wrong with that. I’m just stating the facts.)
If their economy heavily relies on tourist spending money on entertainment and gaming, and if they have a shitty experience getting from place to place, why would they come back? There are other places in the country, and the world, that have legal gaming. You know like Atlantic City…I am probably in a very small minority of tourists who knows or cares what Uber is or does. However, I won't be visiting Vegas unless I need to for business. I don't find any pleasure in having a shitty experience and I avoid them at all cost.
Uber doesn't need Vegas, Vegas NEEDS Uber.
P.S. I optimized the images the best I could with ImageOptim but since they are on S3 and not a CDN they might load slow.
]]>Transparency is key in the web service industry. That is why most respectable services have status.domain.com. Here are a couple of companies that go beyond a simple page:
What did I miss? Let me know on Twitter.
]]>I have already showed you my genpasswd function. Here are 5 more shortcuts (functions/aliases) I use daily:
Allows you to quickly check whether a file is Gzipped.
Code:
function checkgzip { curl -sI -H 'Accept-Encoding: gzip,deflate' $1 |grep Content-Encoding --color; }
Usage:
$ checkgzip http://www.maxcdn.com/wp-content/themes/maxcdn/js/libs/modernizr.min.js
Content-Encoding: gzip
This will allow you to view new files in a directory placing old files at the top and new files on the bottom.
Code:
alias l="ls -alhtr"
Usage:
$ l
-rw-r--r-- 1 jdorfman wheel 72k Jun 10 18:05 3.log
-rw-r--r-- 1 jdorfman wheel 10k Jun 11 13:06 2.log
-rw-r--r-- 1 jdorfman wheel 34k Jun 12 16:06 1.log
Allows you to ssh to your EC2 instance.
Code:
function sec2 () { ssh ec2-user@ec2-00-000-0-000.compute-1.amazonaws.com -i ~/.ssh/ec2.pem; }
Usage:
$ sec2
Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-17-generic i686)
Last login: Wed Jun 12 05:10:26 2013 from foo.bar.com
jdorfman@micro:~$
Make ugly JSON pretty.
Code:
alias jpp="python -m json.tool"
Usage (Before):
$ cat foo.json{"id":"2","user_id":"1","name":"testing","type":"bouldering","picture":null,"lat":"36","long":"81","alt":"41932","accuracy":"53","thumbnail":null}
Usage (After):
$ cat foo.json |jpp { "accuracy": "53", "alt": "41932", "id": "2", "lat": "36", "long": "81", "name": "testing", "picture": null, "thumbnail": null, "type": "bouldering", "user_id": "1" }
Quickly view the status of your git repo.
Code:
alias gs="git status"
Usage:
jdorfman@air:~/github/bootstrap-cdn$ gs # On branch 2.3.2 nothing to commit (working directory clean)
]]>
I had an open call with Chad Whitacre last Friday and he asked me "How can I make the Gittip experience better for you?" (as a corporate patron). At the time I was under the impression that users on Gittip where informed who was giving to them. So my answer was basically nothing the service is perfect. It wasn't until I talked to my friend Nick after the call that I realized this wasn't the case. He had no idea who was giving him $24 a week.
I then sent an email to Chad and attached the conversation (with Nick's permission) and I believe that is what prompted this tweet:
What if Gittip made it public who you give to and receive from?
— Chad Whitacre (@whit537) June 4, 2013
The responses have been mixed. Both sides bring up good points, but I will make my case here since Twitter only allows 140 characters at a time. So here it is:
The reason the company I work for allows me to spend tip $200+ dollars a week is because we get it. We understand the sacrifice open source developers/contributors give everyday to make sure billions of people can enjoy their favorite web services such as Facebook, Twitter, Netflix, Youtube, Instagram, etc. We also understand that we are able to build a profitable business that can compete with 800 pound gorillas on commodity hardware and FOSS. As a test, I decided to show the world who we donate to. I got great responses and a lot of "thank you's" e.g.:
— John Resig (@jeresig) June 4, 2013
No, Thank You. Thank you John for putting blood, sweat and tears into jQuery. Thank you Mark and Jacob for spending nights (after your day job) and weekends working on Bootstrap. Thank you Chad for creating a simple, open platform where individuals and organizations can give small weekly cash gifts to people we love, are inspired by and give back to the FOSS community. Last but not least thank You. Yes, you reading this right now. I am sure you have made some contribution to an open source project, so thanks.
In closing I would recommend every company who uses open source software to get on Gittip and give back to those who allow you to run your business.
]]>As I said in my last post: S3 is NOT a CDN. It is an amazing Simple Storage Service, not a Simple Delivery Service.
Amazon S3 is storage for the Internet. It is designed to make web-scale computing easier for developers.
medium_bitcoin-660x493.jpg
(view on S3 | view on CDN) from a post Garry wrote about Bitcoins. Lets take a look after an hour of testing with a check frequency of 5 minutes hitting 7 different points of presence:
# Runs | Avg DNS (ms) | Avg Connect (ms) | Avg Time To First Byte (ms) | Avg Response (ms) | Avg Throughput | Avg Webpage Response (ms) | % Availability |
---|---|---|---|---|---|---|---|
82.00 | 38.32 | 6.49 | 51.07 | 70.88 | 6,103.92 | 70.88 | 100.00 |
# Runs | Avg DNS (ms) | Avg Connect (ms) | Avg Time To First Byte (ms) | Avg Response (ms) | Avg Throughput | Avg Webpage Response (ms) | % Availability |
---|---|---|---|---|---|---|---|
82.00 | 122.30 | 70.16 | 396.29 | 592.55 | 361.18 | 592.55 | 100.00 |
I think S3 is a great origin server for static assets, but it is NOT a CDN. When you click "Upload Media" in PostHaven it stores the media in an S3 bucket: phaven-prod.s3.amazonaws.com
which is great, but it isn't good for delivery. Not only is it slower but it is way more expen$ive.
So here it is Garry, your very own pull zone for phhaven-prod: http://phaven-prod.posthaven.netdna-cdn.com all you need to do is switch it with phaven-prod.s3.amazonaws.com. If you need SSL, I will get it for you Monday.
BTW: The first 10TB's are on us.
curl -I http://phaven-prod.posthaven.netdna-cdn.com/uploads%2F2013-05-17%2F20%2F3128%2FErQE0vKlNMIeNvaxbneY75nWyy4%2Fs3ul27%2Fposthaven-loves-maxcdn.png HTTP/1.1 200 OK Date: Sat, 18 May 2013 00:50:41 GMT Content-Type: binary/octet-stream Content-Length: 52958 Connection: keep-alive x-amz-id-2: NO6o51/19JsQJN9YHc+T/sraZSGNT+f3R+1GWl2QL3aD4SubqazjbMURb4VYaZyS x-amz-request-id: E640348D2D6EDA7B Last-Modified: Sat, 18 May 2013 00:47:10 GMT ETag: "f95534e9752b560f4acdda20228f90ba" Server: NetDNA-cache/2.2 X-Cache: HIT Accept-Ranges: bytes]]>
Prerequisites:
$ brew install pwgen
$ vim ~/.bash_profile
# Paste the following function genpasswd() { pwgen -Bs $1 1 |pbcopy |pbpaste; echo "Has been copied to clipboard" }
$ genpasswd 25 VyxjFrRnoFkAP7bpAzRKB2t4k Has been copied to clipboard]]>