skysight-inc/HackerNews huggingface dataset:
Haha, I met him on a JS conf once. There was one of those old "JavaScript has no types and is no real language" guys and he kicked his ass.

Basically he said static typing could be good and there were languages like Scala out there with real good type systems, but most of the "pro static types"-fanboys are using crap like Java or C++.
Previously:

1. https://news.ycombinator.com/item?id=11831629

2. https://news.ycombinator.com/item?id=11837901
My journey to face the Lambda expressions in Java
How to convert video to M2TS
I addressed this explicitly: an advanced user could create fake contacts, take or upload fake photos (for example, I might not care about EXIF data), create fake SMS's. How should an app determine the difference between a user with a new phone with few or no SMS's, and a user who has chosen to fake a few or no SMS's? More to the point, the phone could simply generate fake content algorithmically, and these algorithms could change all the time. How would an app keep up? If it helps you think about it, at this point the phone is the bot and the App is the one trying to keep a bot from successfully using its API. Surely possible, but not "trivial".
Uber tracked and published data on the one-night-stands of its users (2012)
I worked with C++, Java and Scala, and all felt really unwieldy.
I can't speak for the others because I have no experience, but definitely echo your Sublime experience. Even when it has crashed, and the only times I can recall have been on Windows, it's always kept state so not once have I lost work. This feature alone, as I mentioned, is worth the price of admission. It's a life saver.
Gu Li and Ke Jie played each other (in a jubango -- a ten game series -- in 2014: an excellent series of games!). AlphaGo did not play Gu Li unfortunately.
It's not Guido's point. He means that CPython, being the reference implementation, must remain easy to understand.
Jacob was an asset to the community. I really want to believe him (hopefully time will tell)
Show HN: Order-matter object validator for JavaScript
Some games have targeted consoles, created a bunch of console-resolution textures and other art, then ported to PC and been slated for the low-resolution textures and art.

Or at least, that was the case last time I read the gaming press about 10 years ago. I don't know if it's still an issue these days.
About the namespace problem: I do a lot of refactoring, and namespaces were never my problem, because the types of errors op is talking about could be handled by the test suite, and/or cider reloading. I really think I would not want versioning of my namespaces - that would make a huge mess. So like many other ideas that sound good and pure and elegant at the first glance, I think this one would be an overly complex mess in practice.

BUT, there is a more important thing, and there I support the author: instead on pushing Rich (the author of Clojure) to include any shiny feature that someone thinks would be nice, and then complaining that Rich ignores the request, the OP forked Clojure and tries to prove that his ideas are better. I think Rich does quite well on keeping Clojure sane and useful. I have no doubt that he will include stuff that really proves to be better. But, 99% of stuff is better only while is on scratchpad, but turns out either irrelevant, or, even worse, outright horrible in practice.

That's why I think that everything that can be a library should be a library instead a part of clojure.core. Those things that could not be libraries (not many of those come to my mind) should first be proven in some sort of "experimental" clojure. clojure.core should stay as it is :)
I don't know if I should post on HW, my 32-bit CPU that only exists as software emulator, plus a basic firmware that consists on a basic BIOS + machine code monitor that imitates Apple ][ Wozniak's machine code monitor. I ever managed to get a Raspery Pi B to run the emulator.

I try to wrote the CPU as VHDL, but I only did a few pieces (registers storage and a 32 bit ALU), so I can get a real and accurate cycle count for each instructions.
The problem is that the question is in the wrong context. Somebody is trying very hard to do something despite those constraints. For free. Why would you even try to discourage him to do so ?
I think one is referring to the whole state in general, and the other to Portland specifically.
It's been a while since I studied mathematics (and I wrote my thesis in optimization), but at the time it was not clear if simplex is in P or not. I think no one has found a selection function for variables that is always polynomial.
The final part is about "microcode" etc. in being able to get the most flexibility/performance from hardware. A good heuristic is to look far out (30 years) for "It would be ridiculous if we didn't have ...". See what any of those might mean 10-15 years out. Simulate the promising ones of these today using $ to pay for what Moore's Law and other engineering will provide at lower cost in the future. This will give a platform today on which the software of the future can be invented, developed, and tested. (This is what we did to get the Alto at Parc -- and this is what it was -- in the mid 70s an Alto cost about $22K -- about $120K today. But it allowed the software of the future to be invented.)

Microcode (invented long long ago by Maurice Wilkes, who did the EDSAC, arguably the first real programmable computer) used the argument that if you can make a small amount of memory plus CPU machinery be much faster than main memory, then you can successfully program "machine-level" functionality as though it were just hardware. For example, the Alto could execute about 5 microinstructions for every main memory cycle -- this allowed us to make emulators that were "as fast as they could be".

This fit in well with the nature, speed, capacity, etc of the memory available at the time. But "life is not linear", so we have to look around carefully each time we set out to design something. As Butler Lampson has pointed out, one of the things that make good systems design very difficult is that the exponentials involved every few years mean that major design rules may not still obtain just a few years later.

So, I would point you here to FPGAs and their current capacities, especially for comingling processing and memory elements (they are the same) in highly parallel architectures. Chuck Thacker, who was mainly responsible for most of the hardware (and more) at Parc, did the world a service by designing the BEE-3 as "an Alto for today" in the form of a number of large FPGA chips plus other goodies. Very worth looking at!

The basic principle here is that "Hardware is just software crystallized early" so it's always good to start off with what is essentially a pie in the sky software architecture, and then start trying to see the best way to run this in a particular day and time.
> moral cost

Trump just shed a tear ...
A Docker Container to Capture All Traffic from Host
4 out of 6 complaints here all help reduce the size of an electronics product.

In fact some of those decisions led me to chose an Apple product over a non apple one.

Locked down software ended up being a business decision for Apple's App store. As for the screws, I have no idea, but you can easily find appropriate screwdrivers online so it doesn't seem like that big of a deal to me.
N different implementations can also mean that any single implementation vulnerability will only affect 1/N of the total user base. Using a single implementation isn't always the best way to achieve security (cf OpenSSL).
There is a linear programming formulation of the shortest path problem: see https://en.m.wikipedia.org/wiki/Shortest_path_problem#Linear.... Indeed the vertices of the simplex method would correspond to paths, but I think running the simplex method on the dual formulation is more akin to Dijkstra's algorithm. Actually, I think the simplex method on the dual and Dijkstra's are equivalent, although I did not work through the details carefully.
"a nice 1br for 1400/mo"

Seems silly low for NYC/SF. I guess everything depends to what you compare it to.
Value is subjective: it's determined as agreement between seller and buyer. Engineer of the same ability is more valuable for an average SF company than an average Chicago company.
Rust is a great and powerful language, probably the best alternative to C++ nowadays, but I think you're overselling it.

Rust definitely does things Go doesn't, but Go also offers things Rust doesn't: builtin concurrency and parallelism with goroutines and channels, garbage collection (which is useful when your app can tolerate its moderate overhead), very fast compilation, and great tooling.
The state and future of Mesos-starter
Fire and viruses have an important difference though, when fire replicates, its children don't inherit anything. A better example would be crystals as their structure influences crystals they seed.
This article is several months old, and the linked repo hasn't been updated in about two months.
> all other things are in control now, and only cancer and heart attacks are left.
Really? What about parkinson etc?
>What makes you so sure that, had the GNU stack been BSD/MIT licensed and as popular, that Microsoft etc. would not have come out with products featuring the same software but with proprietary extensions and closed licenses?

Was makes you so sure that it would matter? The original software will still be there and free for any modification one would want to do.
1 nucleotide = 2 bits,

218 nucleotides = 436 bits = 54.5 bytes
I think the problem isn't so much with checked exceptions as it is with designing a throws clause for interface methods that is both useful and general enough.

The point of interfaces is to abstract from the concrete implementation. But that also means that the API designer cannot possibly know what types of exceptions concrete interface implementations can throw.

You're left with the choice of either declaring "throws Exception" on all/most interface methods or using unchecked exceptions.
> Not only have I been the target of a fake website in my name that has falsely accused me of serious crimes, but I have also received death threats (including a Twitter handle entitled ‘TimeToDieJake’).

Credit where credit is due - the guy has learned his lesson about how to properly play the part of the social media victim.
Fair enough and I think with strict null type checking, where null/undefined isn't part of any anymore things would still get much better than with plain JS.
Typical LinkedIn "thought leader", didn't Google et al abandon brainteasers over a year ago?
Sorry for the late response, but I apparently left it open over the weekend.

I believe that the Core has no inbuilt microphone, instead relying on a bluetooth headset / 3.5mm jack for sound in/out.
C# with async/await is a different approach: it's a kind of cooperative multitasking where "yield points" are explicit. Go uses a kind of preemptive multitasking, in which goroutines don't have to explicitly "yield" control to the scheduler.
I would not call APRA cloud friendly. Systems of record can not be in the cloud, and I don't know of any bank that is actually storing data in the cloud
The learning curve on something like TS for people already conversant in JS is pretty shallow. I think the time invested learning it will pay for itself very quickly on any non-trival project.

I wish I had something similar for all the Ruby code I write.
Sounds like it fits within the "staged programming" model, which I think is a very interesting and relatively unexplored approach to adding some degree of dynamism into a statically typed language (which is not necessarily the goal here ...) It would be cool to have more of these systems reach the level where they are usable in commercial projects.
It's pretty difficult to ignore an error entirely in Go as there's a syntactical red flag everywhere you do it.

The problem with Go's error handling is that it doesn't play nice with using functions as part of larger expressions.
I'm talking about web pages that instantly open the play store with no possibility of user intervention.
My rather poorly made point is that whether it's a security problem or not depends on what you're using pickle for. My typical use case is simply as a local cache for some slow computation in ad-hoc scripts. Being able to simply dump objects and load them back again without needing to write serialisation code is a great timesaver, and the only ways I can see that causing a security problem rely on an attacker already having significantly more access to begin with.

I don't like people making such strong statements about what others should and should not do, based on issues in some situations.
While agree this BIOS update situation is poor, is there any proof a large number of 'common users' are affected by MITM attacks? The average Joe is not doing harbouring any state-secret. This is similar to 'stage-fright'? Please give numbers who got affected?
On the other hand, I find people are very relaxed enabling remote desktop or teamviewer (as it promises them to access their file anywhere) and using the same password.
This iPhone App Blocks Behavior-Tracking Ads and Evades Blocker-Blockers
See this https://en.wikipedia.org/wiki/Simplex_algorithm#Efficiency. But simplex is still widely used because real problems are usually solved in polynomial time. You have to design your problem to not finish in polynomial time.

But I am not a matematician this opinion it just how I understand it.
I work on / have worked on fairly big projects. Plenty of them have been "a challenge to work with". Always because of the code that had been written (+ other things). Never because of the language.

For me the trick to big projects is strong modularisation and well-defined interfaces which you can do regardless if you have static type checks or not.
You want to have your cake and eat it, too. You've just argued for both viewpoints (TS is bad because it does X and because it doesn't do X).

Just be honest and recognize that you dislike Typescript and/or Microsoft. Nothing to be ashamed of, many decisions in tech are based on feelings as much as on cold, calculated decisions.
Ah, I read that wrong, I thought he meant Alphago not Ke Jie.

Exciting times, I can't wait. I guess the later the game will be, the less chance Ke Jie has.
No, I didn't know about it...

Still, the hostility from the "against" side (which also included Yahoo and a pre-Chrome Google) was enough to derail the effort.
In those other jobs get hired a lot :

1 - by social networking;
2 - on diploma.

For 1, The problem is, programmers will be recruited either by:

- non programmers. And dev will likely not be found in the same social circles than those people;
- programmers. Which tend to use a technical solution to all problems.

For 2, we all know now that you got as many good and bad dev, no matter the diploma, so people have given up.

And yes, dev are spoiled in the US, so recruiting technics move fast, trying to adapt. But in France, they are not, and we have the same old recruiting technics. And it's not better. Lot of bad dev are recruited.
Unless the phone isn't simply recording, but is harvesting the mac address (or other identifier) of nearby phones in order to expose who the reporter is meeting with. Then the microphone is irrelevant.
Do you really need to test whether a candidate is technically competent if they have a degree from a well respected university like MIT, etc? You already know he has the discipline and academic requisites.

Interviewing someone at that point, I'd expect the employer would be more interested to see if they're a good fit for the company culture and not waste time on academic trivialities.
If you understand this topic well enough to spot what's missing, why not update the wikipedia page in a way you'd find more satisfying?
Learning time of the actual type system is nothing compared to learning/getting in to the code base if it's anything non-trivial.

At the very least type annotations are compiler verified documentation which is a huge time saver, along with better tooling that lets you navigate trough the code more efficiently.
Angular2 based Material Design components
I can confirm that the Python dynamic library installed from python.org do not have any reference to LC_VERSION_MIN_MACOSX. So in theory, it would work on any OS X version..

The only catch is that the official binaries are 32/64 bits which means that the shared library is 6MB instead of 2MB for the homebrew version, and the standard library zip is 23MB instead of 10MB for the homebrew's version..

I've updated the blog post with those remarks in the end.
Elliptic - https://elliptic.workable.com/ - London, UK - Onsite - Permanent - Full-time. With recent Series A funding we at Elliptic are a blockchain intelligence company. We identify illicit activity on the Bitcoin blockchain and provide our services to the leading Bitcoin companies and law enforcement agencies globally. We seek a Lead Java Engineer and a Frontend Engineer. Please contact me at james.peters@elliptic.co
>I.e. they are not playing the anthem of Cambodia on a toy recorder in order to be hired as a death metal band drummer.

Think about it this way: they are not playing a full playlist on an actual stage with a soundcheck and live audience either. Compared to the real gig they are performing a smaller task in an artificially simplified environment. It is actually very similar to a coding interview.

People often forget that puzzles are not a thing into itself, it's a tool for discovering candidate's style and a springboard for further discussion. I'm not interested in a solution itself as much as in an ability to discuss it, explain it & improve it -- because those are the things that are being done in a workplace on a daily basis.
Cached version: https://webcache.googleusercontent.com/search?q=cache:-E3ECQ...

Since it currently seems to be down
For the performance improvements, I think I'm missing something but why does coalesced reference counting have a high overhead?

Is it normally implemented along with buffered reference counting? It feels like those fit together very neatly, one thread managing the counts and receiving updates from the other threads, and each other thread tries to only send updates it needs to.

Is it simply a case of doing something basic a lot of times is faster than doing something smarter a few times because computers are just really fast at basic things? Or is there something more to this?
Farmdrop - https://farmdrop.workable.com/ - London, UK - Onsite - Permanent - Full-time. Farmdrop represents a new economic approach to food retailing whereby the benefits of cutting out the middle-men are shared between customers who enjoy fresher, healthier food at lower prices, and smaller scale producers who enjoy best-ever trading terms. We are supported by many in the food and farming communities and backed by the entrepreneurs behind Asos, Love Film, Zoopla, and Street Car. Current openings in London - Mobile Automation QA Engineer. E-mail me direct at james@farmdrop.co.uk for more information.
Why Do the Poor Make Such Poor Decisions?
Show HN: Node mailchimp module, with transparent batch handling
This is my first real open source contribution, any feedback is appreciated.
Jeff here (I work on Flow).

I talked a bit about why we infer unions in this way in my ReactEU talk earlier this week (https://www.youtube.com/watch?v=VEaDsKyDxkY).

Ultimately it boils down to the notion that inference is about understanding the type, and annotations are about expressing it.

If you write a type annotation for a variable, then Flow will of course not infer anything more or less than your annotation. If, however, you use the variable as multiple types (but do so in a way that is clearly safe), Flow infers the union so that it doesn't give you errors for code that is clearly ok.

I think the example from the talk was something like:

var name = "Jeff";
name = name.toUpperCase(); // safe
if (loggedOut) {
name = null; // safe
}
var firstInitial = name ? name[0] : null; // safe

The above code has no errors in it, and because flow infers `name` as a type `null | string`, Flow is able to verify its safety and thus doesn't error.

OTOH, if we use an annotation to express the type of `name` as intended as only `string`, then we would get an error on the null assignment:

thing like:

var name: string = "Jeff";
name = name.toUpperCase();
if (loggedOut) {
name = null; // Error!
}
var firstInitial = name ? name[0] : null;

So in summary: Inference is the means by which Flow understands, annotations are the means by which you express to Flow your intentions.
Only Windows, and only if you use the ASUS-provided image or manually install it from their website.
Well, right now the banking system is transparent in a way that the gov can look at your bank accounts, but you can look at bank accounts on people at the gov. So it's an improvement.
The default pickle format is not binary, though it's about as human-readable as sendmail.cf:

>>> cPickle.dump(dict(foo=42), sys.stdout)
(dp1
S'foo'
p2
I42
s.
I guess that's encouraging, kind of. I've always felt like this whole thing was just an extension of "don't trust the IT guy", a viewpoint a one-time employer was happy to articulate loud and often ... in front of the IT guys.

I once had an agent almost freak out over the phone because he'd seen my open-source project and couldn't believe I'd created it myself. "It had to come from somewhere", I told him. "Why shouldn't it be me as much as any other random stranger on the phone?" Seems like even when I presented them with impressive, real-life work, they still didn't want to trust me :)
apparently they aren't though. People porting from PC to other platforms are still finding huge perf issues and have to refactor tons of code. I thought this gen (PS4/XboxOne) were going to be easy ports but from every team I've talked to they aren't
Ask HN: Should I use Wit.ai?
I'm planning on making a chatbot, and of course I have to parse the messages from the users. Should I use a third party API for this like Wit.ai or an NLP library like Stanford CoreNLP or OpenNLP? This will be my first NLP project, I have no experience in this area.
After entry level...it's usually just an interview and references.

Except it's not, that's the problem. But this is not a matter of incompetence on the part of the employer, but of deliberate and calculated policy.
The problem I have with Go's error handling is that it makes you choose: Either you write a function that can return errors or you write a function that can be used as part of a larger expression. It can never be both.

result := f() * g()

becomes

x, err := f()
if err != nil {
//handle f() err
}

y, err := g()
if err != nil {
//handle g() err
}

result := x * y

Even without exceptions I can imagine to have something like

result, err := f() * g()
if err != nil {
//handle err
}

Of course that raises a lot of other questions if functions can have side-effects (but possibly no more so than shortcut logical operators)
I use it save my shell session between reboots. Very useful, yet no security concern. There is always a niche for any tech.
How so? Sharing arbitrary objects via memory requires some form of coordinated memory management. So you still need a process-wide GC, meaning you're probably stuck with that 30% hit from thread-safe refcounting.

And all the other locking issues are still in play. How would you share a list with another interpreter such that they don't both have access to the same list items? Any solution that looks like a deep copy isn't going to be much better than just serializing across a process boundary.
Lost My Name - London, UK - Onsite - Permanent - Full time. We seek a Full Stack Engineer in our Loyalty Squad with a Ruby/Javascript background. We are a Google Ventures & Project A Ventures backed business. Contact jamesp@lostmy.name for me details. https://making.lostmy.name/listings/fullstack-developer-at-g...
Davao Death Squad