skysight-inc/HackerNews huggingface dataset:
This just seems to hit all of the highlights of the "I tried liking your viewpoint, but you are ultimately stupid" manner of rhetoric. You even give praise to the JVM.

For every post like this that has me starting to think "hell yeah, C is really stupid, how can others not see this?" I'm reminded of why Linus Torvalds is glad he didn't choose c++ for git. And... it resonates too bloody well. Especially when I consider all of the ports to other languages that have been attempted for git.

I think it comes down to generalities. The reality is most programs are doing good if they solve one problem. Not just solve it well, but solve it at all. Many algorithms, on the other hand, can be widely adopted.

This leads one to think they could "write with their gloves off" and nail down that algorithm in such a way that it will be usable everywhere. The reality, though, is that it rarely (ever?) works out. What you find is that all of the small corner cases that matter in solving something come back and bite you. Hard.
Snoop Dogg is. :)
I was just putting together a blog post on installing various "light" OSes on a decades-old laptop (Dell Inspiron 1200); the tl;dr version is that Haiku OS is by far the most performant, powerful, and just plain fun.
Ridiculously well put and I feel you hit a bullseye. I still don't understand it. But I do think you hit right on the money.
Not PyCharm user, but IntelliJ IDEA, PhpStorm and WebStorm - they are from one family.

Most important things are:

1) Static errors analyzing. Saves a lot of time. Really, hundreds hours of time.

2) Code completion (VS users call it "IntelliSense").

3) Refactoring tools. You can change name of method in one place and IDE will change all usages of this method everywhere in code. It's extremely important.
Here, have an upvote.

While the style of your comment was acidic, it still remains a psychological fact that people do not value things that are free.

One can be afraid of a perception that since "everybody can code" and "opensource is free as in ... beer? Speech? I don't care, it's free so it's basically worthless" that the intrinsic value of people who code is not that high. This is not a risk in large corps and dedicated software houses but it can create crappy management-employee dynamics in smaller orgs where code is just the enabler for the main product.

That said, it is up to the authors to decide how they feel about the fruits of their labour being used. There is nothing wrong with being generous and embracing all positive externalities - or blocking them or attempting to extract value from them for that matter.
This has been my experience. To the extant that I'm trying to embed Javascript everywhere now. Many server-side operations are deterministic and only need to be executed on the server because it's a trusted environment. They can be executed "optimistically" on the client if you have the same information and a compatible runtime. It makes everything feel snappier and enables a practical programming model. A single state transition function for each "action" performs the immediate client update and triggers validated server persistence in parallel. Without a ubiquitous execution environment that's like four/five times as hard.
Not having been a developer in the Borland era, the most valuable take-away for me is this statement:

"On paper this may seem like a fairly minor adjustment, if you have the attitude (as Borland executive management had) that developers are a dime a dozen and any developer can be applied to any product or problem space. That may work for technical programming skills but it doesn't work for passion."

Regardless of what the technical abilities of the product, it's a good reminder that a product made great by the hard work of people who believe in it should be mindful to prioritize their ambitions in product decisions. This is particularly relevant in the open source world.
I feel like if you make an effort to avoid callback hell, you can prevent it fairly easily. I don't know if I'm not writing complicated enough code, or everyone else is just bad at JavaScript.
I remember Delphi and its Microsoft counterpart Visual Basic 1-6. They were the best RAD tools to develop GUI applications. Frontpage/Dreamweaver/GoLive were RAD tools for HTML3-4 and very good too.

I currently miss the rapid development tools we had 15 years ago. There is definitely a need for a HTML5 RAD tool - ideally with the combined functionality of JetBrains WebStorm and Adobes Dreamweaver.
I'm wondering what LispWorks guys would say about it.
And what permissively licensed software did Microsoft apply this policy to, exactly? Or is it just an unfounded fear?
This may be because I'm from quebec, but this is perfectly fine for me, its a word that is much more precise, since if the word does not have a proper translation, its a better idea to use the external, but uniquevocal, word.
> While the observations I am about to make likely will be down-voted by some/many in this forum

You are likely to get down voted for this alone but since you are new here, I suggest you read the HN guidelines here: https://news.ycombinator.com/newsguidelines.html
It's easy to get a quick comparison by searching stackoverflow so I won't reitterate those answers, but I would just mention a couple of my favorite things from OCaml that F# doesn't have that those answers tend to leave out:

- Polymorphic variants

- GADTs

- Named arguments (that are still curried if you can believe it!)

- Last time I checked OCaml had better record label scoping. F# doesn't allow two record types in scope that share a record label name. Does anyone know if F# has plans to implement what OCaml has (or have they already?) OCaml used to have the same problem but it was fixed and now dealing with OCaml records has been massively improved as a result.
Knowing Snowden, the password was probably "1111".
I agree. Also, maybe Rust-the-community isn't ready to honor promises (http://blog.rust-lang.org/2014/10/30/Stability.html) it makes, which is critical for enterprise adoption.

Twenty-two days after release, Rust started talking about making breaking changes (https://internals.rust-lang.org/t/pre-rfc-adjust-default-obj...). This conversation killed a Rust project I had pushed for... it played into all the existing negative ideas about Rust (constantly changing, not worth investing in) and gave the doubters all the ammo they needed to kill the project.

The change wasn't yet implemented, and had ZERO impact on our code-base even if implemented. But Rust-the-community seems too clueless on the importance of APPEARING stable and able to follow promises.

I wonder how many other Rust projects died because Rust-the-community appears like an untrustworthy ally (I am speaking of perception not reality).
These don't have the twitter feed excusing the issue, the last tweet was a days prior when it happened last. It's as if they only affect African users, the Johannesburg PoP is also used by Kenyan users.

At first, I wondered why the HN Feed never explained the downtime. Then it made sense, it must be cloudflare.

Given that CloudFlare is everywhere & on everyone's websites, it's a pain when it behaves this way affecting users all over a continent.

Uptime websites also report the site as up.
Yep! All the material is on OCW:
http://ocw.mit.edu/courses/electrical-engineering-and-comput...

It's from 2006 but I'm told his courses don't change much from year to year.
You have to stop thinking about it from the point of view of the party they voluntarily turned that data over to and start thinking about it from the point of view of the people whose names were turned over to parties currently un-identified.

And then the Gestapo may be closer to home than you might like, for instance the FSB or the Chinese equivalent.

And for those people the consequences are well outside of the sphere of influence of the people that initially reported contact with them.

Databases like these on internet connected computers should not even exist, to see them fall in the wrong hands is absolutely in-excusable and to voluntarily aid in their creation is irresponsible at best.
While WebStorm and other JetBrain IDEs are great, the RAD/WYSIWYG part is missing. We had already Frontage/Dreamweaver for HTML3-4. If JetBrains would add a HTML5 WYSIWYG editor based on webkit/blink to their IDEs, it would be awesome.
Elsewhere in this discussion, finally someone mentioned a very "interesting" trick: Microsoft threw an obscene amount of money at the chief architect of Delphi.
https://news.ycombinator.com/item?id=9713816
Eh I disagree learning new languages can make you think in different ways. I know Ruby, Shell, C, Javascript and some OCaml and Haskell, each have taught me something that I apply to others.
Webviews and User-Agent strings
Cyber-Espionage Case Reveals the Shabby State of Online Security
I don't think you're being completely fair. We have excellent infrastructure, especially compared to Australia. Cloudflare now has NZ caches (and they peer locally) so HN is 3-5ms for me. Facebook has strange routing which seems to go via Auckland -> Australia -> California -> North Carolina rather than directly to the USA, which explains the added latency.
The more likely way in which this will be used is by targeting those abroad who have been in contact with the US intelligence community. A bit like what they accused wikileaks of doing with the cablegate release.
Russia and China broke into Snowden files to identify western spies, says MI6
Last year I went to a talk by VC Mark Suster.[1] He addressed age discrimination and how he doesn't participate in it and is actively against it. Why do other VC's do this?

It’s their goal: a billion dollar company. That takes 8-11 years to build, going at a full startup pace. A lot of life changes can happen in that time. You sure aren’t getting more energetic as the years go by. Your personal and financial responsibility is probably increasing over time. While he isn’t an ageist, he does say that the earlier you can do this, the better.

That explains VC's and startups active age discrimination. For non-startups, it seems more centered around a salary cap that is unattractive to experienced engineers. (Not to say that ageism doesn't exist there, and for the record, I am "plus-aged" myself.)

1. http://philip.yurchuk.com/career/mark-suster-talks-startups-...
Mathematicians think they've worked out what happened to Flight MH370
Node is largely a reaction to advances in event multiplexing like kqueue and epoll. It was intended to be a scripting language bolted on top of a single-threaded concurrency model. This design-decision corresponds to the before unseen degree of callback hell that is Node's primary pain point.
Prior discussion: https://news.ycombinator.com/item?id=9712820
Because they are read as '0' and that's the start of the unix epoch.
I never bothered learning a newfangled, flavor-of-the-week language like C. As a result, I'm an expert in COBOL and Fortran. I suspect I'm much happier not knowing C.
On the same site: Navy Electronic Warfare Manual[1]

[1]http://jacquesricher.com/EWhdbk/
I think the biggest problem was that between delphi 7 and delphi 2010 there wasn't a version worth paying for, even if you were an enterprise shop at the core of their delphi target market. All they did was bundle components which you could have bought yourself, and tack new features on the side, while letting the core platform go basically unmaintained. After embarcadero took over, delphi releases actually improved the core again.

I don't buy the argument that the IDE market was dead. If properly managed to cater to enterprise developer's needs, delphi could have still been big. A lot of commercial software got built with delphi not because it was affordable, but because it was better than the alternatives.
Ruby doesn't teach you anything if you already know Lisp + CLOS or Smalltalk.
Quite the opposite - I'm sure they are. I also have a huge amount of respect for and trust in my (UK) government and that they keep my best interests at heart.

The word "authoritatively" just seems obviously wrong.
Worth noting this was not the most voted answer. http://www.quora.com/Is-Node-js-declining-already
Magic concatenation:

string hello = "hello";
string world = "world";
string hw = hello + ' ' + world;

Auto-conversion:

stringstream ss;
ss << "2 + 2 = " << 2 + 2 << endl;
string result = ss.str();
Confidential Transactions: content privacy for Bitcoin transactions
For what it's worth, from an American:

> in China, I was taught "not to accept gifts too easily"

Turning down gifts sends a strong social signal that you don't want whatever relationship the gift implies. For example, someone might turn down a valuable romantic gift from a person they don't want to date. Or, if someone offered you an excessive gift, let's say $10,000 from someone you don't know well, you might decline it because you don't want to accept the obligation that the gift implies -- what does this person want in return? However, it is appropriate when opening the gift to say 'you shouldn't have' or 'you really didn't need to bring me a gift'.

> working while you are sick. In China, this is appreciated, people would think this hard-working. But here, this is disliked. people think you are infecting people.

This depends on your workplace. In some you'll find the attitude you describe. In others, sick days are for weak, uncommitted people and you'll hear people take pride in never having taken one.
The first time I saw Hejlsberg was from this delphi easter egg:

http://www.blong.com/Undocumented/Delphi1.htm
It won't affect Google ads if they're loaded in native apps, but what's keeping Apple from ousting Google ads from their platform entirely? iOS doesn't have a monopoly on mobile, so Google would have no recourse if Apple decided that all new apps must use iAd rather than AdMob. App developers wouldn't care, advertisers wouldn't care, and users definitely wouldn't care.
Objects in Javascript, while very similar to HashMaps, are not Hashmaps.

` "Prototypical inheiritance" is nothing more than a shallow copy of an associative array. By its very definition, that is _all it is`

No, when you access a property on an object, and that property does not exist on the object itself, Javascript will look for the property on the Object's prototype and the prototype's prototype, etc...

This is very different then a dictionary, where you now have the ability to 'shadow' a property or to change the value of a key in a prototype and have it reflected in all children (which is the exact opposite of a shallow copy).
> I've been lucky to far exceed that in my own practice, but I agree you want to budget conservatively, so 1000 hours is a good assumption

That's totally fair, I didn't think it through entirely. I've also been lucky in far exceeding that, but I can see why it's a better choice to plan for that instead.
Paul Graham's 'Secret Weapon' ;)
No churn eggless mango ice cream with just 4 ingredients
Sure, Kevin. Thanks for the lovely feedback. I'll update the documentation and include the link
Go 1.5 can call C and be called from C. So you can write a Go function to extend your C app.
Steal This Book (1971)
I was that guy & never switched to an IDE because I was really good at tearing through text with the vim model. intellij's vim plugin (ideavim) is top notch. Just having auto completion, find definition, find file and rename are worth the price of admission.
Sadly the majority of consumer traffic is still on IPv4; so if you want to understand what regular people are experiencing - it will be v4 traffic. The network I was on in this case for doing the testing was v4-only. All that said, I'd be quite keen to see where v6 peering is happening.
Really nice effect - I can see this being used on galleries / profiles, etc. What is with the weird scroll behaviour on this page, though? It will refuse to stay where I put it and keeps jumping to odd snap points after a few seconds. Annoying.
The Disturbing Rise of Openwashing
I would say Mozilla is backing Rust, and Google is responsible for a lot of Python's success.
Thing is that node can be searched by "node" "nodejs" "node.js" thus the results will always be skewed by a single term like "PHP".

When you think about it, PHP is not as high as you would expect in comparison.
The hostile scrolling on the page makes it effectively unusable on mobile
Adblock Plus for Android
Britain pulls out spies as Russia cracks Snowden files open
NSA: Newly disclosed hack got ‘crown jewels’
Why does the page keep jumping around?
You know, you're right; there's no such thing as an ephemeral language or platform. Why, look at all new projects started every day in QBasic, Tcl, or Turbo Pascal.

I'm sure people will be building stuff with Ruby forty years from now.
The promise was "we won't break your code". The conversation was to determine the answer to the question "is there any code out there that this will break", because we take that compatibility promise seriously and want to honor it. If you're unhappy that we're having that discussion, well, I'm sorry, but we need to have these kinds of discussions if the compatibility promise is going to mean anything. The alternative would be to make these sorts of changes without discussion (or to stop making any kinds of changes that could break code at all, which rules out too many benign improvements; see below).

It's untenable to guarantee that, in a strict sense, the universe of all possible programs that run on 1.0 will always have the exact same behavior on 1.1. With any language, there are plenty of ways to break code in theory on upgrades that are very unlikely to lead to problems in practice; as an obvious example, incorrect unsafe code that depends on undefined behavior can break when the compiler starts optimizing based on that undefined behavior. I think that, instead, what we can realistically guarantee is that code that actually compiles in 1.0 compiles in 1.1. If there's no code out there that actually breaks, then I don't see any problem.

Golang has made many changes that could technically, and actually did, break code as well (just to name a recent example, the GOMAXPROCS default bump; there have been several others).
That was an entirely bizarre incident with entirely unique circumstances. Nothing similar has ever happened before, or may ever happen again once the troll is shot down in court.

Among other things it involves someone who's made 2,200 sales on a marketplace and was dabbling in straight up speculation.
Chaining. Chaining. Definitely for chaining.
My power combo is F# and Rust. F# is fairly fast, has great tooling and rather expressive. And for the parts I need the speed, Rust fits in nicely. I can keep safety, while maintaining decent expressiveness. Something like Rust is needed, because when you need manual memory control, you really need it. With F#, I could measure the impact of every single allocation, even though short lived GC items are cheap.
The UI is so white that it is really hard to see what place is clickable and what to do next.
My customers are old people over 40 and 50.
There is no way that they can do anything in that site.
Unfortunately, I wasn't flowing in a C# environment as in a Delphi environment. It might have been the ease of composability with Delphi's VCLs.
Would using a really large order polynomial be any more help? For example a 10th order best fit?
TIL that between 2003-2010 Microsoft built an experimental OS, based on C#
They were pretty huge in volume at one point, mostly wholesale and rebranded. I don't know about now. 10-15 years ago you would always look for CD/DVD blank deals that were rebranded TY, and they were never difficult to find. When they got cheap enough I switched to just ordering large spindles of actual TY.
We built a very similar component for React, hooked into Flummox. The nice part is that async "just worked", and having the entire router available as a Flux store with actions that you can fire to change the page made integration powerful.

We also added some extra little code to make it run on the server: the <Link> component renders down to an <a> tag, and the router runs correctly, so everything works isomorphically, and as a neat bonus the bulk of the site works without Javascript enabled.
DrRacket ships with turtle graphics: http://docs.racket-lang.org/turtles/Traditional_Turtles.html

I've had a good experience introducing DrRacket to early-elementary-aged kids; it's much more approachable than anything in Clojure-land.

Of course, for pre-typists you can't beat Scratch: http://scratch.mit.edu
Some developers may care. I'm not saying they should or shouldn't do that, I'm just saying that while this can be used to prevent GA tracking via web ads it isn't an out-and-out attack on googles ad network
FWIW, I always say "no problem" and have, since as a kid, thought "you're welcome" was pretentious.
Could someone unpack and explain this answer snippet a bit?

I personally do not believe that Node is a viable platform for building
multi-user server logic. Node is great for asynchronicity, but that
shouldn't be confused with concurrency* which is really what you want in
those scenarios (I can write a list of things Node doesn't do well for
building safe backend systems, but that's one example).

The Node platform is very good for single-user applications (games, web
apps, command line tools, "browserified" apps, Node+browser containers),
but I think a lot of people will come to regret using it for bigger
back-ends.

A company I work with occasionally is building a backend and client system in node+mongo, and I wonder if it is a good idea. The backend will be an app catalog of sorts, while the client will run these apps, which will animate stuff in a browser.

I've read lots of warnings about mongo, and now this. I'm torn about these choices, I've tried and liked them, but am a bit out of my element as primarily a python/c developer.
'Dinosaur Buildings' in Detroit That Need Saviours
This is hypocritical, because the GPL does exactly what you describe through its "or any later version" clause. Remember when gcc switched to GPLv3? Did you contribute to gcc? If so, your contribution got re-licensed under whatever the FSF decided, and thereby acquired a bunch of new restrictions that you never agreed to.

And sure, everyone is free to use the v2 version of the code (i.e. gcc 4.2), but nobody wants to, since all new development is happening with the v3 version, which is now the standard.

Linux is a famous exception: it omits the "or any later version" clause, and so avoids getting steamrolled in the way you describe.
In what way is Agile strict and brittle? It's entire point is to adapt quickly, on short iterations. To be flexible. In probably the most strict form of Agile, Scrum, constant improvement of the process is an intrinsic part of the process.

I'd like to see a process that handles this better while clearly being not Agile.
> We really didn't know Java all that well

I think you hit the nail on the head, IDE's are an excellent choice for when you don't know what you're doing. :p

Seriously though, auto popups of docs are very helpful for huge libraries and new codebases. I wrote a little script for that.
This is great for photos but not that useful with product images surrounded by white space as that white space becomes a colour.
No. Their country-wide firewall is sufficient, and there would be no way to enforce a rule that everyone install some iPhone app. (And most Chinese users aren't using iPhones.)