skysight-inc/HackerNews huggingface dataset:
I will speculate:

1. JavaScript is widely known and used. Thus, anything JavaScript attracts more attention than similar projects in other languages, especially if it's outside the box of the usual webby stuff.

2. The API on this library looks very intuitive and utilitarian. It doesn't get much easier than .people(), .topics(), etc. People can see themselves actually using this.
That is where you are wrong. There is already fundamental work happening around vernacular linguistics, robotics (especially Grey Orange) and fintech.

People misunderstand how much technology needs to be built to be able to reconcile something like cash on delivery.

We are definitely far away from valley level innovation, but having people germinate the ecosystem with management styles and culture is extremely important.

What is fundamentally broken is somewhere else - the investor ecosystem. Indian investors are young, barely out of college and are professional MBAs without a lot of experience in a startup. It is very hard to explain the value of technical debt, innovation etc...when we can chase copycat business models without innovation. It's been extremely hard finding bthe right culture fit in investors. Combine that with the fact that most entrepreneurs have not become billionaires in India...so you don't have that savvy, experienced angel investors with deep pockets (the Paul Grahams or the Peter Thiels of India).

That is what needs fixing. China already has a couple of Jack Ma who are being the second wave of investors.
I'd be interested in reading that post. Thanks for the link as well.
Mate I like reading about lisp and I couldn't give 2 craps about pg. HN has gone beyond yc and pg quite a while ago.
For me it is perfect; it allows me to do web dev and enough mobile dev to write 80% of what I need to write[0]. I also do embedded dev on it and dev for retro (z80) systems (which are quite similar). I have a USB wifi stick because the wifi driver for the built-in chip is horrible. With Debian there is plenty of software and I too use it for emulation to use PS1 (Crash!) and MSX games and software. Windows 95 runs fine on it which allows me to play Phantasmagoria and some other old games as well.

[0] http://brainfisheatfishbrain.com/2015/03/writing-a-game-with...
If only Prompt 2 supports Mosh like JuiceSSH. In fact, I can't seem to find any mosh client in iOS AppStore.
It's a really excellent demonstration of how difficult it can be to internalize certain things for people - I was eventually acceptably good at extracting meaning from Latin after years of taking it, but it never became anywhere near an internalized process of digesting the sentences, and my instructors were quite skilled in teaching and Latin.

One of the more interesting hypotheses suggested was that Latin classes, unlike a lot of SL classes, are not nearly as "immersive" as more common ones, and a lot of the language processing hardware we've got is better at digesting from spoken immersion. (Part of that, of course, is that outside of specialized environments, we don't really have any "native" speakers; part of that is also that common "spoken" Latin was a lot simpler than the brick-by-brick construction of Vergil or Cicero.)
Before vulkan you were on the mercy of Nvidia and Ati to literally rewrite your shaders behind the scenes to get good performance. Ati were notoriously bad at this which lead to Nvidia winning big couple of generations in a row, despite having a modest lead at best in tech.
> A "'C' with classes" approach is probably a good one - but I'd hate to find some subtle template or Boost bug in mid flight...

I'm not sure how much benefit that would bring, especially since dynamic dispatch is probably not encouraged. As for templates I'm not much of a c++ guy but wouldn't most template errors exist at compile time?
"LISP is such an EPIC language..."

IMO, the true advantage of lisp nowadays is that of an abstract syntax tree algebra ripped clean of cruft (well, that's scheme, but...). It's much more useful as a way of thinking rather than as a language. "Structure and interpretation of computer programs"is great because if one goes through the entire book and especially implements the scheme interpreter in e.g. C++ or whatever living language it gives you this fantastic general normalized thought model of programming languages which makes it much easier to learn new languages and concepts. That's anyway my experience.

So, to me, Lisp is useful similarly as say, relational theory is useful in software designed (having a relational model is wonderful for complex systems even with a lack of SQL database as a part of the system - if there is more than one 'thing' screw objects and rather use explicit tables and maps).
The more we live, the better we can approximate the priors for the probability of what is happening to us. These priors disentangle the apparent randomness of day to day life and represent the meaning we give our experiences. Even artificial neural nets can do that, why no humans?
People are constantly complaining about using it. And many of them are trying to make it safer, it's just a slow process since it requires standardization and adoption at a large scale. Think about strict mode, ES6, Google Closure compiler, Flow, Typescript, etc.
> I like the ability explicitly state what variables are being captured.

Why? You state what variables are being captured by just using them in the lambda body.
Your argument would hold true for 65,000€ or 50,000€ limit too. Why not those limits then? How was the magic number of 65,000€ arrived?

I think you've missed the point again. I'm asking a question on how the 60,000€ number was arrived. If it is not arbitrary, it's fair game. If it isn't, it's a deliberate protectionist move.
My feeling when using lisp is I am writing an AST .
And since most languages rely on generating AST it kind of makes sense to reinvent it.
Yes, that is an issue. John Oliver addressed it recently: http://m.youtube.com/watch?v=0Rnq1NpHdmw
I really enjoyed Brian Krebs' Spam Nation and I think it would appeal to the HN crowd. http://www.amazon.com/Spam-Nation-Organized-Cybercrimefrom-E...
If you set up a node.js project with Webstorm through the Webstorm UI and deploy with a plugin or built in feature you've pretty much get the most fully integrated IDE there is for node projects. It has testing built in, debugging inside the IDE, dynamic updates your browser, supports a ton of JavaScript libraries and npm as well as React and ES6/ES7 syntax. There's nothing else really like it.

IntelliJ based browsers haven't been slow in a long time, but they're even faster now, just be sure you exclude node_modules and library directories by right clicking them and things will move pretty quickly.
Unique_ptr offers many advantages:

1) Exception safety: what if you throw between your new and delete? Unique_ptr will clean up for you anyway and leave you in a stable state.

2) What if you forget to delete or your delete code never runs? Any of the many problems associated with explicitly writing delete can be non-issues with unique_ptr.

3) Clarity. When you see regular pointers in C or C++, it is never immediately clear who owns them. With unique_ptr, you don't have this problem because it doesn't look like a pointer. If you therefore see pointers, you know immediately they are non-owning.

4) Convenience functions like reset() on unique_ptr handle the release of the old and allocation of the new simultaneously. In general, the less code you have to write is often the better path to safety and maintainability.

5) Unique_ptr handle resources other than memory. It can be used to handle file streams, DB connections, etc and automatically close those also, if you provide a custom deleter function (which can just be a lambda, for elegance).

6) Unique_ptr is not copyable. This is important: if you own resources, it force you to consider this when you copy objects, and the compiler will force you to write your own copy constructor. Without this, it is easy to get into trouble if you forget these things with raw pointers.

7) Many syntactic improvements: i.e. unique_ptr will automatically call delete or delete[] based on what needs to happen, you can't accidentally get it wrong.

This is just a start list. The value of unique_ptr is considerable.
Personally, I never use Siri because I don't like talking to my phone. I'm also almost always on Messenger, so I'm sure to get these reminders.
The article got the numbers wrong, but that course was especially active when I took it, and I was taking it the second time it was offered. Still the best course in the OMSCS program that I've taken. Very lively, helpful and deep discussions, some of which had individual responses going into thousands of words.

The course itself was very innovative in its directions and tests because it asked questions that compared and contrasted human and artificial intelligence. That not just got people's creative juices going, but also made it relatable. More than one person related the artificial learning we were imparting to the code with our own learning processes - or that of our children.

The instructors (Dr.Goel and Dr.Joyner) also used it as a chance to compare the online vs on-campus versions of the course with some interesting results (tldr: the online version was OOM better due to student participation, which was likely due to self-selection of early adopters of the OMSCS program, but still worthwhile).
Hmm, sorry about that, it should! What city did you put in? I'll try to get that fixed ASAP.
there are different things you need to learn for building a stock trading platform, and some parts of it are rather expensive than the rest, but if you are stuborn enough well than welcome to the crazy town man, i myself has been trying to do it, but unfortunately i am in india and the regulations are quite strict here then other countries like UK or US even canada. It is a very long and detailed process but if you are interested please just drop a comment "I STILL WANNA KNOW" and i will elaborate the whole process.
>instead of having clear memory ownership contracts

You have a good point for shared_ptr, but unique_ptr offers the best clarity for ownership, much better than raw pointers, since owning and non-owning pointers all look the same, but a unique_ptr that hands out regular pointers to its memory makes it clear in the code who owns what.
You probably mean for web projects. If you mean a browser based IDE instead your options are Koding, Nitrous.io, Cloud9, CodeAnywhere, Codio, and CodeEnvy (that is into Eclipse Che). We're integrating Koding with GitLab to give a very integrated workflow https://gitlab.com/gitlab-org/gitlab-ce/issues/12759
I tweet the links and they show up on http://www.tweetd.com/

(I am the developer of Tweetd)
Yeah, I was just entertained by how lazily the removal was implemented in the consumer drive FW.
We thought Google was secure in its dominant position on the internet, then mobiles came and FB was favored while Google suffered. If a new paradigm appears, say, dialogue computer interfaces, there could be a change again in what company is best positioned to take advantage.
It's a kind of a straw man that you raise. I never said that it's not the "I've got cash to burn" category. All I'm asking is how that 60,000€ number was reached to. It could be 50,000€ or 70,000€ but it was specifically 60,000€
Every nation has protectionism.

Yes, that's my point. Not every one agrees with this and GGP's comment doesn't mention this fact.

So pointing out examples [..] contributes little to the discussion.

It adds examples of US protectionism so you can compare them with the ones from China that were mentioned before. Hopefully, this contributes to a more objective point of view. Why do I need to justify this?
Although their focus has shifted to education, Codio is my favourite Web IDE

https://codio.com/features/ide/
I wish. At best you learn to avoid some class of mistakes at the expense of seeing everything through the lens of experience. I would trade my "wisdom" in heartbeat to have back the raw computational power and mental flexibility of my youth.
Vulkan has practically no incidental complexity. The API is complex because it maps directly to a very complex system of hardware. Any simplification would make it worse.

If you want a simple way to draw graphics without all the complexity, you don't want a graphics API, you want a game engine.
Here is a fun fact about "don't talk to the police". The advice applies to everyone, even the police. The union regularly warns members about this. You cannot avoid answering questions as a police officer but if you're being compelled to talk without the presence of an attorney, there are limits on what the superiors can do with the statements.

So basically in case your superiors are planning to put criminal charges on you, you should ask if you are at liberty to not talk without an attorney present.

So remember when you hear the "don't talk to the police" line that even police officers don't talk to the police.
Indian regime has to build a 5000 km fence along Ganga river perimeter.
What do you mean by ARM being more interesting than MIPS?
We tried that. It didn't work out :)
Unicomp.
Don’t Annoy Your Audience with Bad Content Scheduling
I've always wondered how Vulkan is bootstrapped and its drawing surface attached to a window. Now I know.

I would assume that the code for Linux and Android is similar.
How is it democracy when a group of individuals hold concentrated amounts of power? And when I say individual, I mean corporations, based on current standing legal precedent.

I usually agree with a lot of the things you've stated on here in the past, but I'm really disappointed that you:

a) Conflate democracy with the current sham political system we have in the USA.

b) Don't think that the 4th amendment has much to say about surveillance.

The will of the few is not will of the people. That's the exact opposite when we think of democracy as the "tyranny of the majority".
Obligatory "Should I switch to #Vulkan?" chart:

https://twitter.com/renderpipeline/status/699501481632886786
Europe has done pretty much everything the US wants, from spying on our citizens to foreign companies paying little to no tax. All you hear these days is how lame Europe is because we don't have a Facebook and how we should all move to the overpriced small town of SV. China doesn't only have a Facebook, it has a Google, an Amazon and an Uber. Which are in many ways surpassing their US counterparts. Since when was trade ever fair? I think the bigger thing here is just that China isn't in the US sphere of influence in terms of politics, but also in terms of culture and it's treating them quite well.
As a free alternative to let's say WebStorm i have been using NetBeans for some time. It integrates HTML, JS, Angular and CSS in a usable way and has many plugins (browser js debugging, nodejs). It is worth a try.
> I think the primary need for manual declaration is because in C++ you need to differentiate between pass by copy semantics and pass by reference semantics.

That's not actually a need, C++ includes [=] and [&] (capture everything by value or by reference). You can get a mix by creating references outside the body then capturing the environment by value (capturing the references by value and thus getting references).

On the one hand it has a bit more syntactic overhead (you have to take and declare a bunch of references before creating the closure), on the other hand there's less irregularity to the language, and bindings mean the same thing in and out of the closure.

FWIW that's what Rust does[0], though it may help that Rust's blocks are "statement expressions", some constructs would probably be unwieldy without that.

[0] the default corresponds to C++'s [&] (capture by ref), and a "move closure" switches to [=] instead
I completely agree and I wish we could have the best of both worlds. I love Clojure and I love the compiler support with static typing in other languages.

Clojure attempted to add static typing with the core.typed projects, but high-profile exits [0] from that framework have made clear that this is a problem that can only properly be implemented at the language level.

If I could have a lisp with static types, I might not use anything else again.

[0] https://circleci.com/blog/why-were-no-longer-using-core-type...
> In my experience, faster development didn’t matter much. Developers’ speed mattered somewhat, but only to the extent that we made effective product design choices based on the valid understanding of customer, user, and stakeholder needs.

Lately I've been thinking that most of the value a good engineer provides is in making a vague specification concrete. Building something that works is easy; deciding what it is that you are building is the hard part. You can think of the process of writing software as the process of deciding exactly how every unspecified edge case and detail in a specification will be resolved.

I wish there were more and better tools for declarative programming. Most of the time imperative programming produces overly specific solutions that are brittle and difficult to understand. It's really hard to infer the original intent of such code. A lot of solutions don't even require a Turing-complete language in the first place! For example, a library for mutating a datastore and keeping it consistent can be entirely specified using SQL-like expressions. Yet there are all these frameworks and ORMs for writing such libraries by hand using Turing-complete languages. It baffles me. /rant
I'm not familiar with closures from other languages. What about capturing a shared_ptr by value?
Stop projecting! Just because you used to be afraid of other languages does not mean people cannot criticize the economic and social barriers languages put up. Calling an idea xenophobic because you disagree with it shows a complete lack of objectivity.

Would you call the creation of the Euro or even bitcoin xenophobic? They both were designed to eliminate barriers imposed by differences between countries as well.
Yeah this is not an exact case, the quote mentions the warrant part as well (that is why I pasted that part in), but thought it was similar because it is still Federal agents, in their line of duty, and court declared they get to disregard state laws.

The other interesting aspect is this is looked what Federal agents can do, not "How can we protect the privacy of our citizens? Let's see what we can do for them. Maybe they are entitled to more privacy because they live in California". This mirrors the attitude of the "expert" in the story, they just see the Constitution as an inconveniance you need to bypass in order to get your job done.
Let's just hope that it doesn't end up like all other subsidies: the car maker increasing price to include this rebate and munching all the benefits from the government's help..

I still remember how photovoltaic subsidies in France ended up in the hands of the hands of the installers, who raised prices to match the government's help and fucked up consumers who thought they were getting a bargain when they were actually paying much more that real market prices.
The real exciting part about this (to me) is the potential for a full fledged linux altoids tin computer. Suddenly the something like the Pyra/Open Pandora is a lot more realistic. Or even a (usable) hobbyist diy phone.
> You just can't expect everyone to work when machines do all the work.

Wrong. When those unemployed people won't be able to buy anything produced by the robots because they don't have money, there is only one option left: If people want to work, they still can. They can work for themselves! They can use technology that is still available to aid them in their work to earn a living. A small patch of land could feed many. Unemployed people could team up to form collectives and grow their own food, install solar panels and other energy generation devices, barter with other humans for skilled services. Basically we can still do everything we can do today, but robots will also offer stuff at low price.

If people are driven to the point where they can't even work to save themselves from poverty, not even if they work for themselves directly, then we will have a revolution on our hands. That could happen if wealth becomes even more concentrated at the top, and this usually happens when there are technological leaps that bring temporary advantages (monopoly) to a company.
What is Vulkan and why are we programming in Win32 in 2016?
It's possible to make a less-complex low-level graphics API. Apple's Metal framework manages to be much easier to use (though still a bit of work to set up).
It's very low level. Khronos noted, that they didn't have time / resources to create a higher level API (on top of Vulkan) that would at least match the level of OpenGL in usability (but would avoid its downsides like stateful nature). Hopefully someone will make such higher level library. Engines can't fill that role - they are too high level and specialized already. So that middle layer is still missing.
I think the Windows story is becoming more robust by using mostly isolated apps. Very little is shared these days and dll-hell isn't really and issue any more.

The only shared libraries are things like C++ run times, directX etc which are basically optional OS components since they are also made by Microsoft. Even those are moving towards "isolated deploy" modes where you should ship a .NET runtime as a deployed dependency instead of using a shared prerequisite. This is much more robust but also wasteful and harder to patch of course.

> The apps end up around 50 MB or so, not 500 MB to 2 GB.

They try to accomplish much less and of course have fewer enormous apps dragging the average up (try the latest doom at 50GB!). The average app sizes should be counted relative to the average device space. A desktop system has 200-2000GB and a mobile device 16-128GB so around one order of magnitude is a reasonable difference.
In Moscow all buses are equipped with GPS/GLONASS trackers and there is an app, Yandex.Transport, that shows you where all the buses are. It is hard to keep a precise schedule in traffic, but with the app you always know how far away the next bus is.
Ask HN: How popular is pramp.com for interview practice?
Hi,
I am practicing for interviews and just had my first pramp interview. It was an awesome experience! But my guess is that pramp is not too popular right now or does not have too many users. Can pramp creators please comment? How many users do you have? I think it's a great service and I'd like to help in any way to attract more users to pramp so that we can have awesome mock interviews preparation and practice! So, what's the user base? Is it mostly just students right now?
https://gcc.godbolt.org is also helpful, it colorizes the assembly output corresponding to the C/C++ source. Furthermore, you can simply change between Intel and AT&T synatx.
Since you can ask that question for every number, it is useless.

Unless you have indications that suggest "a deliberate protectionist move" it's pure polemic.

I have no idea how that specific number was reached. But since I don't suggest ulterior motives or a grand conspiracy I don't have to provide anything. You have to show evidence or at least a coherent argument that amounts to more than "I don't like the outcome".
Refusing to break backwards compatibility is their problem. I respect them for that; if you do want to break it make another language that plays nicely with C++ instead.