skysight-inc/HackerNews huggingface dataset:
My experience: I ported a 12k LOC app from javascript to typescript. It spotted about 5 typos where I was checking for a misspelled prop which always evaluated to false. Also I prefer how more clean classes look in typescript than in js but when compiled the js code is as I would have written it manually.

Also, I love the intellisense provided by VS through type definitions which also means less time spent on checking API docs, so far I've had very few problems with wrong or lacking type definitions for libs.

But it's not all about types. From what I've read from TS devs, they are trying to implement all ECMAScript 6 in TS so that basically (among other things) it gives you the javascript of tomorrow, today.
Myths, misfits and masks: Sana Amanat at TEDxTeen 2014
Do you have what it takes to make it as an entrepreneur
Microsoft Office, Now On iOS, Highlights A Powerful Lesson For Incumbents
Entity Framework Gets Code First Model Generation Through Reverse Engineering
You're kidding, right? Obviously the correct response when you see someone get hurt (btw, the author of the article did not know either of the people who got hurt in the bicycle accident; he asked them what their names were) is to assist them and call 911 if necessary. Nobody is saying otherwise--unless you count the author of the article himself, who at the end says that calling 911 is often a bad idea (which I don't agree with).
Hi David. Yes, we're going to move further in that direction. You probably noticed, to pick one example, that there have been almost no Ukraine/Crimea stories on the front page.

I doubt that we'll try to ban political stories altogether, partly because some (e.g. Snowden) do overlap with HN's core topics, but mainly because it's hard to define "political".

But "articles that get you riled up, but really don't lead to any productive or interesting discussions" is, to me, a narrower and clearer criterion that is pretty easy to apply fairly. PG has spoken about it in similar terms. I think we'll probably get more active about those. But we won't do anything major very quickly.
This article only proves that when doing it wrong, CoffeeScript causes problems.

No parenthesis make nested calls unreadable? Simple add parenthesis for the inner calls. Like in any other language with optional parenthesis (Ruby) too.

Too long statements are unreadable? Don't write them. Maintaining an 80 or 100 character line limit is good coding practice anyways.
Somebody has also made a JavaScript library for this: https://github.com/Gozala/protocol
People who buy cars that are in the "mainstream" price range tend to be much more focused on the price of the car, or more likely the monthly payment, than they are to be thinking about longer term costs like fuel and maintenance.
Depending on the language, delegation can be faster. For instance in C++, virtual function dispatch is slower than calling a non-virtual member. It is easier for the compiler to optimize member function calls vs virtual functions which cannot be inlined.
I think there's a good point here. The police don't know what happened, only what some complete stranger told them. For all they know, Partensky is the one who knocked the bike down, and then terrorized the victims into keeping quiet about it.

I don't condone the behavior of the police in this situation; what looked like a bike accident in all likelihood was simply a bike accident.

The fact that Partensky did not comply with the order to move away from the scene is disturbing and I don't remember it being part of the previous, heavily HN-commented version of the story.

However, as others say, he probably didn't merit arrest, solitary confinement, strip to underwear, and all that lunacy. Surely the police have more important things to do than go after some goofy slightly inebriated nerd who calls in an accident.

Actually I'm more likely to believe that they were anti-gay. He apparently is gay, and came out of a "gay leather bar". You'd think in SF of all places this wouldn't ever happen, but who knows; perhaps there's some bad blood between the SFPD and the gay community that I'm not aware of.
Nice list of alternatives. Good job you managed to find a link to your own.
Watching on my Mac Mini, some of the Video cuts are late. Your mind is used to light being received in your eyes prior to sound hitting your ears. When cutting, you should emulate that by cutting the video slightly early.
Room77.de
I've wondered the same! But often in an organizational context. One thing I love is that at Method, Inc., everyone rotates through the receptionist position.

I feel like we're so focused on outsourcing "menial" tasks when doing them can teach us a lot about workplanning and efficiency (which some people could certainly use), and more importantly about ownership (the Millennial generation, myself included, tends to look for handouts. Enter apps to do everything for you).
Yeah lets just ignore the cops instructions and act like a smug hipster, yeah then we'll post about it on the internet. That will get 'em!
While I'm not a lawyer, I would assume that "lawful order" has a specific legal definition and that "pursuant to this code" means that it's restricted to orders for enforcing the laws.

There are certainly laws against interfering with police, but the right to observe them if you're not in the way is pretty well established.
Two points here regarding Haskell. First, a function with typeclass constraints is less polymorphic (in that it will operate on fewer types) than polymorphic function without typeclass constraints. Of course, [the fully polymorphic version is] also more limited in how it interacts with the corresponding values.

Second, parametric polymorphism in Haskell is statically resolved. You can have polymorphic functions, but any given container still contains a single type. You can still do dynamic polymorphism in Haskell (by storing a list of records of functions, rather than storing data directly) but it doesn't typically involve type classes.
Both of the articles agree. From the first one-

>The third, lower-priced model could make its official debut at the 2015 North American International Auto Show in Detroit, Tesla confirmed Friday. It would begin selling in 2016 or 2017.

In one context they're talking about when it will be available for shows and demos, and so people can start doing reviews and all that. They aren't planning on being at the mass production, on the market level until a bit further after that.
I've found that this works very well for me. If I have goals but don't tell anyone, they tend to fall by the wayside. If I tell people, I feel like I'll look like a flake in their eyes if I fail, even if the goal had nothing to do with them.

Shallow, yes. But so far it's worked for me.
Why American dental insurance is so unspeakably awful
> Haskell has what it calls types

I think you mean typeclasses?

One of the things that always bothered me about interfaces was the inability to define a default implementation, especially when developing UIs. A proper mixin system (like what's used by React's components) has solved this particular problem for me.
I have a BS patent. It's a patent on the "conceptual system" (note: not a software patent) of using a Mechwarrior/Sims/Diablo style character builder interface plus standard search engine techniques to build a fashion search engine. I refused to sign it but somehow the patent was granted anyway.

Also included in the patent is the concept of paying humans to use the system to do searches for you (i.e., email a photo of shoes you like, someone will google it for you).

http://www.google.com/patents/US20130166591

If a patent is granted in spite of being obviously derivative to the point that the inventor refuses to sign it, something is broken.
I agree... and yet... here we are!

In a way, though, news is a cyclical thing. It comes up again and again. Maybe it's a good thing in this case; seems to be an instance of police brutality and wrongful arrest, so the more exposure, the better.

This story also brings out a couple of bits of information that we didn't get last time around, more of the police point of view.
Here's a strange thought. We tend to assume that people working the most hours are the most dedicated to the project. That's sometimes true, but is it always valid? Maybe most of the people who seem to be working the longest hours are the ones planning for it to fail.

When people are engaged and things are going well, people get a lot done. Sometimes, that involves longer-than-usual hours and sometimes it doesn't. But for the purpose of honesty, it's worth staging that long hours are sometimes a sign of something good-- a lot of opportunity.

However, it can mean the opposite. When a team or project or company is in trouble and it looks like failure is imminent, people ramp up the hours, not because they think it will prevent failure, but because they don't want to be blamed, sacrificed, demoted or fired when things go wrong enough for the knives to come out. When things go to shit, the people thrown overboard first are the ones who seem to be suffering the least.

When someone's working a lot because he's engaged and loves the work, that's not a bad sign. When people are visibly competing on hours, that means (to me) that they expect the project to fail. It looks like the opposite, but it's actually a vote of no confidence. As often as it means anything else, a person putting in long hours means, "I'm shoring up my image for the inevitable political fight, because shit's about to get nasty".

There's more to that picture. The best people, when they see what's happening, tend to disengage a bit and start thinking about other opportunities. Working 60+ hour weeks when the "prize" is an inferior version of the job they formerly had, that just doesn't appeal to them. They'd rather get away, and while they're putting themselves at some higher-than-normal risk of getting canned, by not competing on hours, they already have exit strategies in place. The ones who stick around tend to be, more often than not, the mediocre and political people.
No Silver Bullet (1986)
I'd say to "not the answer": what is your question? If "is it silver bullet," than of course, we know for decades that.

http://faculty.salisbury.edu/~xswang/Research/Papers/SERelat...

Otherwise, TypeScript does solve specific problems and I like it.
This is a nice story, but not an accurate reflection of reality. Look at the statistics on who are issued patents, who receives royalties. It's not the noble independent inventor, it's old MegaCorp that doesn't blink at underwriting the massive expense of prosecuting a good patent.

The story you describe is a convenient myth to justify a system that benefits established interests.
"objects-linked-to-other-objects" - why not use the established "composition over inheritance": http://en.wikipedia.org/wiki/Composition_over_inheritance

Or does it mean something else?
I am not sure I agree with this approach. New projects excite me because they're new and exciting. However, when it comes to finishing projects, I get my motivation from social components that involve me telling other people about my plans.

It's very rare that I solve a problem for myself only and then never share the solution with nobody else. When I tell other people my plans, I read their faces and sort of try to mentally calculate what they would look like if they were pleased by the solution I am trying to craft. Without that end goal of trying to improve something for someone else like a friend or a customer, projects tend to have less meaning and are harder to finish.

I guess it depends on what drives you.
There's an iPhone app, Replay, that does something similar: automatic music/video tagging to build a video "counterpoint". Of course it's more limited, as it's intended for general public, but the Epic theme is quite convincing. Disclaimer: I am CTO @ Stupeflix.
> With no variable declaration keyword (a la var, my, local, private), adding a variable assignment anywhere could radically change the variable scoping.
> I'm done, this isn't suitable for prime-time, time to go somewhere else.

So does that mean Python and Ruby are out the window too? It's really never been an issue in either of the three languages.
Overprescription is of course a serious problem in the developed world, but that doesn't mean that doctors are using autism as a catch-all diagnosis.

There are specific, medical criteria which need to be met for a diagnosis, and these criteria are outlined in the DSM V [1]. These are the details on how the disorders are classified, since you asked.

[1] https://en.wikipedia.org/wiki/DSM-5#Neurodevelopmental_disor...
Waze sued for $64M by early contributors for breaking open source rules
Xembly, the easiest XML builder for Java
Indeed; the video is a bit grating (it goes on forever, and the guy speaks so slowly). But the terminal experience, the quality of the interior of the planes themselves, the entertainment options are all miles above (pun not intended) the rest.
The idea is presumably older, but I think the current usage can almost always be traced back to _Design Patterns_ (GoF, 1995). It's in the Introduction.

I don't think Stroustrup really gets OO. I have yet to read a book of his that doesn't have some absolute howlers.
112k seems pretty high for entry level work, considering they most likely don't have a college education, but maybe it makes it possible for them to live here
"More than a day's experience" is not really fair.

It took me months to really get used to CoffeeScript, and I certainly left in a few unnecessary commas after the first day.

The rest of what you wrote I agree with.

But I think the problem is that people are dismissing CoffeeScript before they have learned it, just like I did originally.

I now vastly prefer to use CoffeeScript (or rather ToffeeScript these days, but thats another issue) whereas initially I thought that CoffeeScript was a joke.

Then I had to learn CoffeeScript because it was used in a library that I needed to understand.

It was only _after_ I had invested the time in learning CoffeeScript that I could see the advantages. In fact, up until that point that I had learned it, CoffeeScript _was not_ an advantage for me -- it was a liability, because I didn't know how to use it. When you aren't familiar with a language then whatever advantages it may have are more than offset by the fact that you don't know what you are doing.

I think this is a problem that pretty much every new paradigm shares to some degree. It is very difficult for the average person to emotionally get behind the effort to learn a new way of doing things, and psychologically we just aren't wired to make an accurate judgement about whether that will pay off.

Judgments and decisions are actually emotional/subconscious and the rationalization comes afterward.
What are you looking for ?
If the police order you to do something (that doesn't harm you) that you believe they shouldn't order you - then you shouldn't decline - come on, you should comply anyway and then dispute the supposed rights violation afterwards to find out which of you actually was right, given the details of law and the particular circumstances.
One article titled "Why X Is the Answer" would be staggeringly more interesting than 4 articles on "Why Y Isn't the Answer".

Things aren't perfect. We get it. So suggest something better.
While I might tend to agree with this based on the less than approx. 2 years in my life that I worked for someone else, as an entrepreneur where you have to cover so many bases, and work hard to create opportunity, I don't agree based on my experience. (Especially if you are bootstrapping.)

I can tie many of the things that I have today to the wide net I cast in earlier years and the excess hours I put in trying different things until something stuck (many years later in a few cases). Forget vacations and weekends. That was for me. You may be different and be able to pull it off with less hours.

This blanked "smarter not harder" is just that. It's a blanket statement that could be correct in some cases and not in others. So it is essentially worthless. Do you know if it applies to you? Sure many years later you will. Do you want to take that chance? I didn't and I'm glad I didn't.

Otoh when I worked for someone else many years ago I was always amazed at how people would eat lunch in their cars and schedule really early meetings which I felt were counterproductive (given the amount you stood to gain in that particular situation). But even in this case it's a total YMMV.

So my advice is to work hard and work many hours if you are an entrepreneur and need to try to get a business to work or keep working. If you are doing something else (programming) that may not be the case. Remember what PG said about "staying alive". What if he had cut back and hadn't had something to sell? We wouldn't be reading HN today would we?

One last example. I learned Unix's in the 80's while running my own business in my spare time which led to being able to do many things on the net in the 90's. Had I not put in those hours (and it was working by the way) I would not have been able to take advantage of some of the things that I did.

Of course if you can't work hard for some reason (health, family etc.) than you can't. So there is nothing to discus. And you have to accept that fact.
The argument that "you just don't understand" can excuse any flaw in anything.

If someone can reasonably choose to formulate something, and for that formulation to pass static verification but do something totally unexpected, the language is at fault, not the author.
The problem in Python and Ruby is less obvious because you rarely have big, nested closures. In JavaScript those are pretty common (module pattern, mocha test suites, etc.).
The author raises valid points about Haskell, but I disagree with his statement about a static-typed lisp. Typed Racket is useful and enjoyable to program with, and includes a handy optimization coach.
The scoping issue is real, but it's very easy to mitigate. I think the real issue is to make sure you just don't ever use (file) global variables. You should enforce scope with the "do" operator:

changeValue = do ->
value = 42
lastValue = null
(newValue) ->
lastValue = value
value = newValue

That hides the new variables in a closure and they no longer leak to the the enclosing scope. This is cleaner code overall since you no longer have some variables at the top level where you can't be sure of how many functions are using them without searching.
I cannot speak for Lisp, but I am in the throes of writing a compiler from scratch in Haskell (while concurrently learning Haskell). I feel/felt very much as this article described—constrained. And then I learned ETA-reduces. Then I learned monads. And then I learned … The list just keeps going.

As I slowly learned the language the proper way, I am now able to do anything I did in a imperative/OOP/whatever language, but now I have that foundation of type safety. Like many will say, if it compiles, it most likely just works. Coupling this with automatic checking via GHC-mod and I am just as performant (in terms of writing code) and encounter half as many bugs as any other language I've ever used. Haskell isn't a panacea, but it's a very good language.
For a language that prioritizes "safety" above all things, there is an awful lot of flying blind and dangerously in Haskell. It's so, so easy to write Haskell code that's safe until you change something distant in the system, which changes when things get lazily-evaluated, and now you have a very serious resource leak. And because of the IO restrictions, you aren't likely to put logging in your code - and if you do, the logs will themselves change the lazy evaluation behavior of your code. I've seen Haskell programs that stop crashing when you pass in --debug !

If the Haskell environment was more like a virtual machine - like in Java - where you could connect into a side-channel and see what types of data were persisting in memory as the program ran - you'd at least have a chance of debugging this sort of thing. But instead it compiles to machine binaries.

There doesn't seem to be any interest in the Haskell community in making tools to deal with this sort of thing - they say "you should learn not to make resource-leaking code". Which is the same thing the Lisp hackers say - "just learn not to make type errors".
Police officers put their personal safety on the line daily. I think this compensation is adequate.
You don't need any form of education (besides high school) to become a police officer? If true, that's pretty surprising to me.
Nice ad for business process consulting services.
higher than I made my first year out with a masters a few years ago
"This is how music will begin to grow again."
I have always imagined Tarzan letting go of the previous vine and flying forward in free-fall for a second before grasping the next one, sort of like Spider-man.

What's more, if he did hold onto the old vine, and missed the new vine, he's going to swing backward, helplessly out of control and unable to either proceed or retreat.

All in all, not the best visual metaphor. That said, certainly it's good advice and common sense that you carefully plan out your next career more rather than plunge blindly ahead, burning bridges behind you.

But when you know something's right, you just feel it in your bones. The catch is that the money might not be there at the outset. But if you have planned ahead and stashed a year or two's living expenses, then you will have probably enough time to determine whether you have made a good decision or whether you need to go back to what you were doing.
In this case the title is actually empty.
Why would they need a college education?
These men and women are signing up to protect us, at great personal physical (not to mention psychological) risk. They should absolutely earn a living wage that enables them to live in the community in which they serve.
I think that part of the problem is that while JavaScript can do OO somewhat, it is not fundamentally an OO language, and if OO is the first tool that you reach for, you are likely doing JavsScript poorly.
IIRC, the delta between two slightly different copies of the same TC container is not the same size as the entire container. I'm actually not sure that TC is designed to be used this way, since it gives away information about what is being changed, when, and how much.
That seems reasonable. Being a police officer is a tough job, and San Francisco is a very high cost-of-living area.
I wonder how it compares to other 'public' sector roles that are less unionised - e.g. nursing. Do they earn 100k a year?
For comparison, the NYPD starting salary is $44,744.

http://www.nypdrecruit.com/benefits-salary/overview
Only 10 days of paid vacation? That's really a bit low IMO.
Key to never failing
TL;DR. Too much 'data exhaust' can cause 'data vomit'.
Related: http://www.theatlantic.com/health/archive/2014/03/life-of-a-...
> 112k seems pretty high for entry level work, considering they most likely don't have a college education, but maybe it makes it possible for them to live here

Couldn't you say the same about many software developers earning six-figure salaries?

After all, we all know that one doesn't need a college education to be a successful developer either.
"CoffeeScript isn't the answer because I don't understand how it works."
"what we really mean, and want, is code reuse"

I'm not sure if you meant it this way, so I'll underscore this point. Code reuse is truly the worst "reason" to use inheritance, and in fact an anti-pattern.

Composition is the only proper way to reuse code because composition is explicitly stating you are using the composed code.
I concur when it comes to lazy-evaluation. I once lost 10% of my grade in a project because I removed a debugging print statement, which in turn made a data-structure lazily evaluated, which in turn meant that a significant portion of my type-checking was never evaluated.
Exactly this. I used CoffeeScript when I had hard time understanding JavaScript. Once you truly gasp JavaScript, anything else will just look like a waste of time.