skysight-inc/HackerNews huggingface dataset:
Do you mind elaborating on content addressable vs name addressable? I did a quick google search on "name addressable cache" and did not find anything.
>But either way, REST is for documents (understood broadly), and I don't think I know how to understand "document" broadly enough to cover a horn. So it's gonna be a rough stretch, and in general, I'm skeptical about the value of applying REST semantics.

That's probably about the wisest thing that's going to be posted on the subject tonight. I did a large enunciator panel project and we ended up being "rest-ish", using the idempotent PUT to put hardware dodads into various states, and reserving POST for adding things to execution queues. Being clear and consistent is probably the silver pearl in any implementation. Hardware control always degrades to some kind of RPC scheme, even if you dress it in a REST outfit.
Maybe in the winter months, right now the chocolate would melt while waiting delivery.
Nothing special about Tesla

Many of the other car manufacturers provide remote access to cars. See GM's OnStar, Ford's Sync Services, etc... One of those companies used to advertise on TV you calling them and having them unlock your car remotely and IIRC starting the engine.
Gelotophobia: Living A Life In Fear Of Laughter
Google Trends: Hacker News vs. Slashdot
Yes, this is the main thing right now.
Yeah, it's kind of weird that people would go "on the record" but not want to be recorded. But there's something about pulling out a tape recorder (or in my case, an iPhone with a recording app) that freaks people out. I think part of this fear stems from the age we live in, with the 24 hour news cycle and "gotcha" journalism. People half suspect you're going to use something they said against them, as if it's a police interrogation. :)

I like to reassure people that I record them for my own accuracy, and that it actually behooves both of us to do a recording. Even still, about 50-60% of people will decline. Younger people seem more likely to decline than older people, at least in my anecdotal experience, which strikes me as interesting. There might be something worth exploring there.
I'm always open to suggestions, if you have 'em!
shouldn't this be a POST ?
I wouldn't mind performing GET /vehicle/{id}/honks?since={time}&limit=1000 to see an indicator of how aggressively my car has been driven. Especially if somebody else is driving it.
I think this interpretation is the best fit. Similarly PUT would be appropriate for requests where you are specifying the time that the honk should occur, which would make them idempotent.
Sounds like an awesome resource! I was also a BSMer :)
Torrent the seasons you want of the shows you want, overnight, and you can have the future today. You'll use significantly less data than the FireTV too.
It's good to know that cars can now be remotely controlled via CSRF attacks.
> A Good Solution: Constraint Based Generics and Parametric Polymorphism

> A Good Solution: Operators are Functions

> A Good Solution: Algebraic Types and Type-safe Failure

> A Good Solution: Pattern Matching and Compound Expressions

People have tried this approach. See languages like C++ and Scala, with hundreds of features and language specification that run into the thousands of pages.

For an unintentional parody of this way of thinking, see Martin Odersky's "Scala levels": http://www.scala-lang.org/old/node/8610

For additional hilarity, note that it is an undecidable problem whether a given C++ program will compile or not. http://stackoverflow.com/questions/189172/c-templates-turing...

--

Go was created by the forefathers of C and Unix. They left out all of those features on purpose. Not unlike the original C or the original Unix, Go is "as simple as possible, but no simpler".

Go's feature set is not merely a subset of other langages. It also has canonical solutions to important practical problems that most other languages leave do not solve out of the box:

* Testing

* Documentation

* Sharing code and specifying dependencies

* Formatting

* Cross compiling

Go's feature set is small but carefully chosen. I've found it to be productive and a joy to work with.
(Project owner here)

My fault for calling it that. It's REST-ish, but not RESTful. Tesla never called it that (they don't even officially acknowledge the API), so it shouldn't be misconstrued as them not knowing what REST is. This is their internal API for the mobile apps, so they're free to design it however they like.
We've seen this same article re-written countless ways. Seriously, this is (intentionally or not) a rewording of every existing criticism of Go, by people who complain that it isn't a language that it isn't.

No, Go's solution to generics is not interface{}. The moment you say that, you have lost. You are trying to fight Go and make it a language that it is not.

Always remarkable that such critiques always focus on the utterly trivial, while absolutely ignoring things like concurrency or composing complex systems. As always, the color of the shed is what the laymen want to argue about.
I love django/jinja and I hope it gets standardized as the default templating syntax for all languages.

I've been following pongo since day one and this release makes me really happy.

Don't ask me why but I hate go/template to death.
Gotta read the article... there were already pilot programs.
This is largely why note taking is a two pass process for me. The first is the pen and paper notes taken while speaking with someone else. The second is the process of transcribing and editing those notes onto some digital medium. I end up with a really nicely fleshed out document covering much more information, much more thoroughly. For example, for a more complex point in a discussion I may add an additional paragraph or two of background and context to what was actually talked about.

I've found this process to be the best I've tried, and others who I share my notes with have voiced their liking.
From my family to you and yours, thank you. While you may have only given $15, you gave it and that in and of itself means just as much as any donation if not more. I wish there were better alternatives available to help offset medical expenses, however, despite being considered one of the wealthiest nations on the planet those that control that wealth see no need to share it. Our politicians vote in favor of those who have the money to keep them elected and see no need to actually care for the rest of us. Honestly, one of the statements I made to some friends and family earlier today was that I a) hope to survive and beat this cancer and b) win the lottery so that I can give away millions to help others who have found them in similar situations. I see no need to accumulate material possessions or wealth while others suffer. It's not in my nature to condone suffering and in the last few months I've found so many others who have had their own series of unfortunate events similar to mine which have left them in horrible places. Whether me meet our goal or not, the world will eventually know my story and those that have helped me. So once again, thank you for both the donation and the shoulder squeeze. I am humbled to know you and honored to benefit from your kindness.
This. While this API is not RESTful at all, that's just a nomenclature problem; it's totally fine as an API [1]. RPC is perfectly appropriate for a wide range of problems and there's no need to shoehorn every application into REST just because people say It's the Thing to Do. I could imagine a RESTful API for this, as people have above, and it might work well. But it isn't some sort of obvious best practice.

[1] Except that it really ought to use POST.
I'm using both, since not everyone loves PayPal. Also I was very curious about how to accept "direct" credit card payments, so wanted to set it up for that reason alone.

Recurly isn't super cheap, but it's a very slick interface for browsing payments and looking at stats. With PayPal I feel strong hesitation to go to their site as they are always very slow.

Recurly also helps collect payments even when credit cards expire by sending reminder emails to customers with a customer-facing interface where they can change their details. I think recently they are even doing some magic to automatically update expired cards: "For Mastercard® and Visa® credit cards, we’ll automatically apply the latest account credit card information when there’s an updated credit card number or expiration date." https://blog.recurly.com/2014/05/new-feature-automatically-u...
Seriously, get this shit off hacker news. What a fucking waste of space. Let's all post wikipedia articles about cross-stitch, and then link to AOL and MSN news articles about growing trends in sweater knitting.
You definitely seem to know more about it than me, but I question your assertion that there hasn't been any rail construction north of 72nd. Some of the construction, such as raising the bridge at 128, seems strange if the construction is only for buses.

I am somewhat glad that the diesel-powered rail didn't work out. I would much rather have some type of electric-powered rail. But any rail line is better than none.
The app server was Thin last I checked. It's a Ruby app, though probably not Rails (hopefully not, at least). The streaming stuff is a node.js server. I assume they have a load balancer in front of it all.

Keep in mind this isn't for the telematics, which are an entirely different system. This just gives you a view into some parts of that system. This is primarily used by the mobile apps, so the activity level is likely much lower than that.
Check out Epoch: http://fastly.github.io/epoch/
There are some ways, I'm just thinking off the top of my head for one here.

If the resources of the car were mapped and had states it could work fine with a full REST interface. You could change the state of the horn like you change the state of a switch. You'd change the horn to be "on", not call some "turn it on" procedure.

They have some indications of that. There's a URL that returns the state of the vehicle (driving and position). That's something that could be mapped as a first-class citizen and someone could mess with it with the semantics of the verbs.

Commands are a much more RPC area though, REST doesn't map perfectly. You can almost always make a command into something of a resource state change, it just isn't always simpler. REST wouldn't give them much in this case as it's hard to imagine they'd make use of any of REST advantages. Not that there wouldn't be any technically (being able to evolve APIs without breaking clients is a pretty big advantage, plus plenty of other things), but that for their business it doesn't matter (they control every client).
How is it REST-ish, even?
There's a reasonable argument for a custom verb.

But pragmatically, given the problems customs verbs cause I'd probably go for POST.
Could you elaborate on the costs of the features mentioned about Haskell?

As just one example, ADTs in Haskell are implemented in an extremely efficient fashion.

Type classes are implemented in the same way that Go's interfaces are implemented (basically the same way as vtables are in C++).

The immutability features (const) are compile-time checks, and can even help the compiler be more efficient.

"if as an expression" has no real cost.
I do this pretty often, and people pretty much always complain. Less so people my age (college-aged), but a lot of professors, TAs, and my parents all claim that it's entirely too creepy. My parents have actually told me that they'd prefer if I just looked at the screen the whole time.

But on the other hand, why would I look at what I'm typing? I already know what it says- I hardly have to read it again. A good typist knows when they've hit the wrong key and should be able to correct for it without having to read.
That's a pity.

Perhaps your color vision is now at the point where you should consider loading an accessibility stylesheet into your browser. I don't look forward to the day when I am required to do this, but I do know that it will inevitably arrive.
On the contrary, the idealised hacker loves having someone else take care of the base needs, so they can keep working on their 'thing'. Nothing in a retirement village forces you off the computer or workbench, out of your home and onto the golf course. As long as what you're hacking does comply with keeping the place looking neat and tidy (most hacker hobbies aren't at odds with this), I don't see a conflict between the two.
Go for it... History has proven that if your product / service is something people want / need / use then it will get traction regardless of the domain name. Being realistic most people know that .com domains are running out. And once your company gains traction you can make a bid and buy the .com domain
that's what mapping an -rwx page at 0x0 does, and as a result it segfaults, which is an access violation.
Are these novels any good?
Yay! xmonad! ;)

OTOH, the "interview character" is difficult to parse, even with all the highlights. Personally, I'd prefer the data extracted as a list (with the interview additionally or optional comments on the choice).
I get what you are saying, but why convolute C++ and Scala? One is a horribly designed complex language with macro-like templates rather than modular parametric polymorphism. The other is much more well designed but, as you say, still complicated. You could have stayed at Scala without degrading into a comparison with C++, which is a universally kicked dog anyways.

It is possible to do type parameters in a way that is simple yet effective. But I can understand why it wasn't done this early in Go's lifetime, especially since Rob Pike isn't exactly well into generics (vs. Odersky's experience with Java/Pizza).
just look at all those mac nazis! did apple pay for this ad?
> "People want to talk about this stuff at work?......water cooler for hours a day discussing football, cinema, the symphony, and/or sex..."

Either you misunderstand my point, or you're making a straw man argument. I was talking about discussion on here (HN), not sitting around water coolers in the office for several hours. See how my previous comment has been downvoted without explanation? I'm talking about that sort of thing, reflexive "Ewww, he said sex!" behaviour.

> "If sex and gender are an obstacle to getting work done (you know, the actual reason we're even getting paid to be in this office...."

Well, it isn't an obstacle to work every day, but it can be. You might have heard of the github incident recently, or if you haven't, you might want to read the details.
It's always great to find that my initial pessimism was too hasty! Best of luck to this exciting project.
Perhaps I want to support the shows I'm enjoying.
You change the state of the horn to be on, but I'd imagine you might want the horn to automatically sound for a predefined length of time. Then the mapping is less obvious. Agreed that it doesn't really matter much in Tesla's case anyway.
How should one RESTify methods? If my 'state' is represented as objects, and I want to execute a method on one of those [remote/server-side] object, what's the RESTful way of calling that method? I don't even know what RPC over HTTP should look like, let alone whether mixing it with REST would even be acceptable.
I've got a light-weight "API" for each interview - just append /json to an interview URL.
http://usesthis.com/interviews/windows

http://usesthis.com/interviews/linux/

http://usesthis.com/interviews/bsd/
Perfect summary of your product. 10/10
How is it different than Splunk and Tableau products?

I like this.
>See languages like C++ and Scala

Of the 4 you mentioned (Constraint based generics and parametric polymorphism, operators as functions, algebraic types and type-safe failures, and pattern matching/compound expression) C++ really only has 1 (operators as functions).

>with hundreds of features and language specification that run into the thousands of pages.

This describes neither Rust nor Haskell.

>Go is "as simple as possible, but no simpler".

It has mandatory heap usage, garbage collection, green threads. It's more than generous to call that "as simple as possible".

Of the 5 features you mention that Go has "canonical solutions" to (in the form of external tools), I know off the top of my head that Haskell's Cabal takes care of at least 4 of them. I'm not sure about formatting. Rust probably has similar tools, or if it doesn't, they can certainly be added without changing the language.
> I use complexity here the same way the Go community does

It is more important for the implementation to be simple than the interface.

-- http://dreamsongs.com/RiseOfWorseIsBetter.html
Several of the initial Go designers were doing "systems programming" in the 1960s under the exact same meaning.

I'd also s/didn't actually care/got confused/ in your last sentence too.
It would help to have an example of what the subscription provides.
so basically when you hit 901 real shipments, it becomes profitable to send 1000 - (number of real shipments) empty envelopes, at a total savings of $3 * (number of real shipments - 900).

(For number of real shipments <= 1000)
Any specific reason your still on sourceforge?
Will metro residents give up their cars?

I wonder if the rise of Uber will affect this.

When I lived in Seattle, I noticed that a lot of people didn't commute to work via car but had one anyway, usually for one or two trips per week. Public transportation (buses and later light rail) were pretty good from about 8 a.m. to 7 p.m. or so during weekdays but were horrible the rest of the time. Bikes could be used intermittently.

Uber does an amazing job of filling in the gap. Last time I visited Seattle, I was struck by how some of my friends had given up cars, despite rising incomes, largely due to Uber. Uber may play a key role in getting rid of a lot of cars that are only marginally utilized, since it appears far more reliable and friendly than taxis—virtually all Seattlites who have to use Seattle taxis hate them. This has environmental and other implications.
How is this different than copy and pasting to Paint. What different does this do?
I was around for the Java vs. Smalltalk keruffle. I have to say that Go is less hype and more good, pragmatic design than Java. Go also started out with quite respectable speed and a pleasant development experience, which wasn't true for Java.

Also, as for a "huge amount" of corporate support, if we see the equivalent of "Enterprise Java Beans" then I'll concede that Go is "another Java."

Similar to Java: The barriers to outreach are small because the language is in many ways familiar. I think that's a wise and pragmatic choice.
Late reply. A product like the SP3 for me would be at the MBA having touch screen like the Ultrabooks have. This would have the MBA cannibalizing the IPad sales. Thin, lightweight, touchscreen device, full OSX.
Yet you seem to be mixing these things up.

> IMHO if you're a programmer you should know how to use a terminal to the point that you prefer it over most GUIs

Knowing how to use a terminal: Yes, should be required and isn't taught enough. Preferring it for almost any task - no, it depends on the task and it depends on what you're the most efficient with. I have yet to see a clinical study showing that terminal editing leads to performance improvements over proficient use of hotkey based editing with keyboard and mouse. I have nothing against people using it on a project I lead, but I would never make it a criterium.

> Vim and terminal usage is not a "time sink" and it pains me whenever I hear people who consider them selves "programmers" claim it to be.

Again, you're mixing up terminal proficiency with using it as a your main editor, then belittle those who don't agree with you.

> If you haven't learned how to use the terminal yet (or haven't found a use for it) then you aren't a respectable programmer IMHO.

I agree with that, but it's a different point as outlined above.
To me, SLC is the ultimate counterpoint to the whole "Republicans are destroying transit!!" hysteria. SLC's core is definitely left-leaning, but just a few miles outside the city center it is pure Republican territory. And despite the heavily skewed demographics, they are voting in massive numbers to extend rail transit to their cities. It is quite amazing what will happen to voting trends on transit investment when you consistently demonstrate fiscal responsibility, fast construction, and high ridership.
You seem completely ignorant of the things you're attempting to talk about. Scala doesn't have "hundreds' of features, nor is the language specification thousands of pages. It's just an outright fabrication to say so.

>Go was created by the forefathers of C and Unix.

Yeah, and it's obvious (and sad) they ignored the last twenty years of PL research and progress.

>They left out all of those features on purpose

Did they? I don't believe this is the case, as I've heard from the creators many times that they want to add generics but haven't figured out the details yet.

Are you really going to sit here and argue that static typing is important EXCEPT for when working with collection? That parametric polymorphism doesn't make things simpler?
This logic puzzle will make your brain hate you
Sorry,

But Denver is Way more progressive and open than Salt Lake.
So in general it rocks! And we can buy beer at sundays ;)
Facebook Tinkers With Users’ Emotions in News Feed Experiment, Stirring Outcry
While this is clearly not REST-ful, the fact that the comments here can spend so many words philosophizing over whether this ought to be PUT vs. POST vs. PATCH illustrates why REST is not my favorite technology.

It's like XML all over again. Should it be an attribute or a child node? Should the parameter go in the header, or in the body, or in the URL? Should it be part of the URL path, or a URL parameter? Should the error be indicated in the HTTP status code or just in the body? Did we get it right, or do we need to find a Roy Fielding quotation illustrating the principle we violated?

Normally this wouldn't bother me, since I generally have faith that the "free market", so-to-speak, will favor the best technologies in the long run. But HTTP and REST have an artificial boost in that they are the only way to get through many firewalls, so in essence everyone has to go along with REST whether they want to or not (or at least tunnel over it). And of course everything can be made to work with REST, so everyone eventually converges on it, even if it's not the best fit, and its dominance grows.
The difference is that those services are optional and often opt-in, whereas with the Tesla it appears to be mandatory.

Personally, I'm not too fond of my car being accessible remotely unless it's me who has control over that access.
There a lot of pressure when you have 40+ people expecting you making them a 10x + return. But raising money is something that startups think they must do these days.
What is Go demonstrating about programming without generics that Lisp, Java (pre-2004), Python and tons of other languages haven't already demonstrated?