
Uber CLI - luisrudge
https://github.com/jaebradley/uber-cli
======
Animats
If you're going to draw lines with characters, use the line drawing
characters. We have Unicode now.

I have a program which takes text files with ASCII line art and automatically
turns them into text files with UNICODE line art.[1] I wrote this for some
very old documents, but it's still useful.

    
    
         ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
         ┃          Source Port          ┃       Destination Port        ┃
         ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
         ┃                        Sequence Number                        ┃
         ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
         ┃                    Acknowledgment Number                      ┃
         ┣━━━━━━━┳━━━━━━━━━━━┳━┳━┳━┳━┳━┳━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
         ┃  Data ┃           ┃U┃A┃P┃R┃S┃F┃                               ┃
         ┃ Offset┃ Reserved  ┃R┃C┃S┃S┃Y┃I┃            Window             ┃
         ┃       ┃           ┃G┃K┃H┃T┃N┃N┃                               ┃
         ┣━━━━━━━┻━━━━━━━━━━━┻━┻━┻━┻━┻━┻━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
         ┃           Checksum            ┃         Urgent Pointer        ┃
         ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┫
         ┃                    Options                    ┃    Padding    ┃
         ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┫
         ┃                             data                              ┃
         ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
      
    

[1] [https://github.com/John-
Nagle/pasv/blob/master/src/Util/picf...](https://github.com/John-
Nagle/pasv/blob/master/src/Util/picfix.py)

~~~
userbinator
_We have Unicode now._

Not everyone and not everywhere, and depending on the font, the line-drawing
characters may not be the same width as the others even if it's a monospace
font (e.g. see [https://blog.helftone.com/ascii-art-
unicode/](https://blog.helftone.com/ascii-art-unicode/) ). The whole point of
text files in things like RFCs is to be as portable as possible, and using
Unicode somewhat defeats that point.

~~~
Animats
That's a problem. The above example looks good in a Ubuntu terminal window and
in Firefox, but misaligned in the "gedit" text editor. In the SciTE editor,
the line drawing characters show as four hex values in a box. groff, even with
the "preconv" preprocessor for Unicode, can't display them either.

The box drawing characters aren't even in the astral planes. They're in plane
0 in the 0x2xxx range. So even old 16-bit Unicode implementations should
support them.

(The TCP header from an RFC was just an example. I'm converting some old troff
documents to PDF, and they have lots of box drawings.)

------
mritun
That argument to UberClient() looks like an API token. Did you mean to leave
it in there for the world to use?

[https://github.com/jaebradley/uber-
cli/blob/master/src/servi...](https://github.com/jaebradley/uber-
cli/blob/master/src/services/UberService.js#L14)

~~~
jaebradley
Hey, I'm the author (thanks @zoodle for notifying me).

Obviously, this is a security issue that is pretty much bottom-of-the-barrel-
shitty.

My explanation is that I didn't feel like standing up a middleware service to
direct traffic through in order to obfuscate the server token. Especially for
a tool that I anticipated being used by pretty much only me.

Not a satisfying answer, but thanks for exposing this security flaw -
definitely going to add it to my project task queue.

~~~
marblar
There's no need for a middleware service. Just store it outside of the repo.

~~~
jaebradley
It's an NPM package that people download - how would you store it outside the
repo such that people that download the package can reference the token? Can't
really use an environment variable at that point, right? There probably has to
be some HTTP request to some service that ends up forwarding the request to
Uber with the token. Maybe I'm over-thinking this...

~~~
lexpar
I think the idea is that you implement some interface for interested users to
supply their own API keys.

~~~
jaebradley
Gotcha - ok, that certainly makes sense. Though makes for a slightly less
friendly (but certainly more secure) service.

~~~
mr_turtle
A friend of mine accidentally pushed his Heroku or New Relic API key to a toy
repo which was public and that information was immediately scraped and used.
He was billed a non trivial about which he disputed but cost some time and
headache.

Enforce best practices and don't do that even if it's for something trivial
and won't have real world consequences.

------
chx
Do tell me, why are you still using Uber? What needs to happen? Let's see:
Weakening the rule of law by deliberately ignoring taxi legislation, that's
not enough. Rebuilding indentured servitude via subprime mortgaged cars where
the payment comes out of the drivers' wages, that's not enough. Launching self
driving cars going again against regulations and putting cyclists in deadly
danger, that's not enough. Treating women like shit, that's not enough.
Stealing Google tech brazenly, that's not enough.

Tell me, what would be enough?

Sources for subprime loans: [http://valleywag.gawker.com/uber-and-its-shady-
partners-are-...](http://valleywag.gawker.com/uber-and-its-shady-partners-are-
pushing-drivers-into-su-1649936785)
[https://www.bloomberg.com/news/articles/2016-05-31/inside-
ub...](https://www.bloomberg.com/news/articles/2016-05-31/inside-uber-s-auto-
lease-machine-where-almost-anyone-can-get-a-car)
[https://twitter.com/shashashasha/status/688734478181732352](https://twitter.com/shashashasha/status/688734478181732352)
Self driving shit: [https://www.theguardian.com/technology/2016/dec/19/uber-
self...](https://www.theguardian.com/technology/2016/dec/19/uber-self-driving-
cars-bike-lanes-safety-san-francisco) the rest is either obvious or recent
enough not to need a source.

~~~
arcticbull
You could make the case that, since they have a -140% profit margin, the best
way to hurt them is to use them all the time ^_^ Every $1.00 you give them
costs them $2.40, every dollar you don't give them costs them nothing.

~~~
chx
As long as investors see people using them, there'll be money. Stay away.

------
WillySchu
Using this, a command that will get your public IP, geo locate it, and then
get an uber pickup time for those coordinates.

dig +short myip.opendns.com @resolver1.opendns.com | xargs -I {} echo
"ipinfo.io/"{} | xargs curl | grep loc | cut -d: -f2 | sed "s/,$//" | xargs
uber time

~~~
coderholic
Nice ipinfo.io mashup! This whole part

    
    
        dig +short myip.opendns.com @resolver1.opendns.com | xargs -I {} echo "ipinfo.io/"{} | xargs curl | grep loc | cut -d: -f2 | sed "s/,$//"
    

can be simplified to

    
    
        curl ipinfo.io/loc
    

which gives you exactly the same information, per
[https://ipinfo.io/developers](https://ipinfo.io/developers)

But ip geolocation usually gives you city or zipcode level accuracy, which may
or may not be good enough to get an accurate uber estimate depending on how
big your city/zip area is.

------
randomsofr
I thought everyone already deleted that app...

~~~
donjh
Everyone deleted the app, so we have to use the CLI now!

~~~
anaganisk
made my day

------
jaytaylor
I'd be more interested in this except for Lyft instead of uber.

Like many others, I'm done with the tire fire that is uber.

~~~
lettersdigits
And what if you fly somewhere outside the US ? still no Uber ?

~~~
chris_wot
Use a taxi.

~~~
eertami
In the UK that would be doubling the cost and receiving a much worse service.

Tech workers may be uninstalling Uber in protest in the valley but non-tech
people do not know that there is even an issue/scandal.

When I am sharing a ride with friends in London I'm not going to say: "No, I
can't share the fare because I uninstalled Uber".

------
mahyarm
Is there a way for this to grab your current location, so you don't have to
type your address?

------
arikrak
Google maps makes it easy to see the estimated prices of Uber and other
services.

~~~
justinhensley
The goal of this project is to be able to check it from the command line. So
while you're at the computer, you can check it via CLI rather than opening a
browser.

I think the authors intent was just for his own use and some fun.

------
aduffy
Great, just another thing I need to delete

~~~
divanvisagie
Well it's on npm so the Author will delete it once you become dependent on it.

