skysight-inc/HackerNews huggingface dataset:
Sure, and I thought twice before putting that in :)
We of course monitor our 95th & 99th primarily, for reasons that you said.
But I didn't quote those because they're usually blown out by slow db queries, n+1 selects,n+1 cache gets, etc, issues that happen regardless of language. often they're on rarely used end points, where the cost-benefit of optimising isn't worth it.
I feel median gives a resonable proxy for the language/framework execution capabilities.
Swipe Me: The Social Meal Plan
And to my Scala development :)

https://www.lucidchart.com/techblog/2015/08/31/the-worst-mis...
Use the second bookmarklet from here: https://news.ycombinator.com/item?id=9414599

It will zoom out the slides and make them readable. Weird how that is necessary.
for now :p
Some of the examples in K&R are not up to date with respect to modern security practices. They are almost case studies in how to implement code vulnerable to buffer overflows, etc.

Or maybe it's better to say -- sanity checking on inputs is an (unmentioned) exercise left to the reader.
onedata.org is another one of these unified file view used in science.
Google maps also changes the zoom level to the nearest integer. You can't do 12.5 for example. When I change the 10 on the google maps link in your comment to 10.5, it rounds it back down to 10 and rewrites the URL. Have ran into the issue before doing custom maps for sites where 14.5 would be the perfect zoom level, but can only pick 14 or 15 :(
"Moore's law is dead" is mostly false every time it's written. I would expect fixed costs to drop for 7nm so that more designs can go ASIC and benefit from lower cost per transistor and higher performance. Seems like even if we were locked at 7nm, decreasing NRE for custom SoCs will yield performance improvements for a long time coming.
My bad. You are literally just a guy with opinions. I thought you were soliciting for feedback on a public forum for a coworker. I got confused.
As in thinking in terms of what assembly you want the compiler to produce, and not trusting it to do so. Whereas people that program in higher level languages tend to think mostly in terms of the language semantics.
Pretty sure all those things are used by non-web people too.

If you're going to apply that standard, since to a first approximation everything is hooked up to the web, everything is web. In that case, it does no good to claim that "web people" are particularly prone to anything when "web people" are to a first approximation everybody.
One survey in support of this: http://qz.com/298635/these-programming-languages-will-earn-y...
Black Smart Self Balancing Electric 2 Wheels HoverBoard
I don't know how to measure this, but I'd be curious what impact all of these news outlets writing doom and gloom actually have. I'll bet it is quite a lot.

There is a very palpable sense of people wanting the economy to collapse, and I'll bet a lot of it is spite from renters who are having their rents jacked, and being completely priced out of even entry-level homes in many markets. They can't get a fair shake at things, so they want to watch things burn.

Not to say that I entirely blame that mentality, but I'm just very curious what tangible impact that has and how to measure it from a quantitative standpoint. Are there any good sentiment analysis tools for this sort of thing and correlating it with the market/economies?
> that's something that could actually be challenged at trial

How so? How is a judicial order challengable because the judge is in Wyoming? Or are you saying that the defense is going to bring a mind reader to testify about the motives of the government?
Don't bother, the guy is dyed in the wool devops.

And to them systemd is mana from heaven, as it allows them to bring up and shut down any number of nodes in their cattle farm swiftly.

Where before admins fretted about making sure a server stayed up when booted (and if it went down, make damn sure to figure out why so it didn't happen again), devops seems to adopt what i consider uptime by machinegun.

That server won't stay up for some reason? No problem. Lets just throw thousands more just like it at the task, like a machinegun throws bullets at a target.
Deep Learning Meets the Genome
You'd probably understand if it was "chps" too.
True on PPC and SH5. Far as i960, you need to know the context. Look at these:

https://en.m.wikipedia.org/wiki/Intel_iAPX_432

https://en.m.wikipedia.org/wiki/BiiN

https://en.m.wikipedia.org/wiki/Intel_i960

The i432 was their most original work. It was a mainframe, capability-addressed, error recovery, and OS/apps in safe Ada. Did too much in hardware, though. BiiN had i960 which kept best parts of that. Think fast RISC with high reliability and security features.
>if I check that a value is > 2, I am also checking that its type is number

Surely, you're only testing that it can be coerced to a number?
We changed the HN title to be that of the article.

The submitted title ("US surveillance court rejected ZERO spying requests in 2015") broke the HN guidelines twice: first by rewriting the title to make it more misleading and linkbaity—the site rule calls strictly for making titles less so—and second by using all caps for emphasis. Please don't do that.
I haven't published there in a while but I don't think so.

> We are no longer able to accede to requests from authors that we withhold their identities from the referees. Such "double-blind" reviewing has been discontinued. [0]

[0] https://journals.aps.org/prl/authors/editorial-policies-prac...
Government wants your fingerprint to unlock your phone. Should that be allowed?
Yep. Neat that it's getting a revival.
It also prevents employees from realizing any value if the stock price drops in the first year.

EDIT: Nothing quite like watching the public stock price decline while you're in your lockup period.
Movidius Unveils Artificial Intelligence on a Stick
As ikeboy implied, NP does not stand for non-polynomial, but for non-deterministic polynomial. Thus the open question whether the two are equal. In particular, it is clear that P is a subset of NP, as any problem that is polynomially computable with a deterministic machine is immediately also polynomially computable with a non-deterministic one by just not using the non-determinism
Definitely. Please see https://news.ycombinator.com/item?id=11607224.
Would be nice to have a link to the Show HN posts itself to read the comments.
Yeah, but from the forum discussion it is 139 seconds for compiling 512 packages!

Compiling a C or C++ project with 512 translation units would probably take enough time to prepare a full meal.
Has anyone since reasonable explanation of what the future would look like with fusion?

To me, there will never be enough energy, this effort is about control, not power; even if there was (relatively speaking) an unlimited source of energy, the bounds of it's use would quickly be found, and as such, would not be "universally" available.
what happened to the company?
Borda Count
He probably means landlines or maybe analog cell phones. VoIP and GSM aren't great.
Table tennis trainer
If, in the process of attempting to track down material covered by a warrant, law enforcement wants to obtain information from a system owned by someone not originally party to the warrant, they should be required to serve a warrant to the operator of that system, from a court with jurisdiction over the operator of that system. Doing any less would imply that the operator of that system is less entitled to due process than the alleged criminal being pursued.

I don't fundamentally have a problem with the part of the ruling that allows serving a warrant to a specific party of unknown jurisdiction, based on evidence of criminal activity; however, I do think the terms of the warrant should require that as soon as an appropriate jurisdiction is determined the warrant must be re-issued from a court with that jurisdiction before any evidence can be used. (At the very least, that would result in most such warrants going to a federal court, rather than some local court. Wouldn't help much for international cases, but it's a step in the right direction.)

I do have a problem with the idea that a blanket warrant could be issued to "all operators of Tor nodes", just as I have a problem with the idea that a warrant could be issued to "all operators of Internet routers". Mass surveillance isn't any more acceptable with a warrant than without one.
Been waiting for this project ever since it was announced, a most worthy upgrade from my Pandora.
What width the potential for DC, PSP and PC emulation along with 4G, this should cover most of my mobile needs, maybe I can even get rid of my smart phone for something with days or weeks of battery time again.
I'm sure we all understand the feeling you describe and how irritating it is. I certainly do. But the essence of civility (or at least the hardest part of it) is containing that irritation and not letting it determine one's reaction. This is a work in progress for all of us, work that is necessary to make HN the kind of place we want it to be.
My experience says "don't use Go for building web applications".

Compared to something like Ruby on Rails, the development story with Go is much less batteries-included. You'll find yourself gluing together lots of components, and they're not really that friendly. Plus, for any front-end code, you'll end up using Node or whatever anyway to build assets. It's big and messy and not a good match.

Go does excel at two kind of web applications however:

- Simple single-page applications that use Websockets or simple AJAX to perform a basic task. In this case, the limitations around templating and such are less obvious, and Go is a brilliant match for Websocket clients. Think of things like status dashboards.

- JSON APIs with no front-end. Build your front-end using whatever other technology, and just fire requests at a Go app. It's pretty good at handling this, though JSON marshalling/unmarshalling is a bit stupid in Go.
It strikes me that Iodine is not something you need to worry about from a dirty bomb. If you cracked a nuclear reactor open
and processed the fuel rods right away you would get a lot of radioiodine, true, but the radiation would kill you. By the time you could work with the materials, the iodine would be decayed

Plutonium, Cesium and some Cobalt isotopes could be nicked, handled and fabricated into a dirty bomb, but (i) iodine pills won't protect you, and (ii) it's unlikely the radiation would be more harmful than the blast.
I'm not a super genius programmer by any means, but I've had a lot of pleasant surprises learning about the depths of Python.
Mathematical Strategies for the Most Popular Games
From the article: "NREL, the USA’s National Renewable Energy Laboratory, confirmed this world leading 7.6% efficiency in a 1cm2 area CZTS cell this month."

That's deceptive. It's "world leading" for CZTS technology, not for solar cells in general. Commercial solar panels today are delivering about 20% efficiency, and there are research technologies which have demonstrated 44%.[1]

Also, somebody else is claiming 12% for CZTS cells in a lab.[2]

Why are materials science articles from academic PR outlets so fake? We see this all the time with articles on batteries and surface chemistry, called "nanotechnology" for PR purposes. It's embarrassing.

[1] https://en.wikipedia.org/wiki/Solar_cell_efficiency
[2] https://en.wikipedia.org/wiki/CZTS
I'm trying to add call/cc to node, or to lua.

Recap: call/cc is the ability to save the current state of a running thread, then revert to that state at a later point in time. In other words, at any point in your program, you can say "Save the current stack." It's saved as a function. Later, whenever you call that function, the current stack is thrown out, and replaced with the saved stack.

This is very useful for a number of reasons. It's also a very rare feature to have in your language.

Neither node nor lua has support for this. The closest I've found is a Lua extension which adds coroutine.clone(). In principle, this is the solution. In practice, it has a number of limitations, such as restrictions on when you're allowed to call coroutine.clone(). (For example, if your stack looks like Lua -> C -> Lua, then it won't work.)

I tried to channel my inner Mike Pall and solve this problem once and for all, but I'm not Mike Pall, and this is really hard. I was hoping you might know of any possible solution which is (a) practical, (b) cross-platform, and (c) works in all cases.

Why post this here? Because this post happens to attract exactly the kind of people that might know a way forward. There must be a way. Apologies for the off-topic comment.
numerical issues aside, consider the paradox of unanimity:

http://phys.org/news/2016-01-evidence-bad.html

Regardless of domain, perfect agreement can indicate a problem.
Learning quantum mechanics is not a big deal if you have a good background in linear algebra. I wrote a book on linear algebra that covers the basics of quantum mechanics as an application.

No bullshit guide to linear algebra https://gum.co/noBSLA

Here's an excerpt from Chapter 10 on QM: https://minireference.com/static/excerpts/noBSguide2LA_previ... I also give a (non-hype) overview of the potential and obstacles associated with quantum computing.
My guess is that liking/not liking 'C' depends on how interested you are in its representation model. If you're actively disinterested in how things work as bits in memory, then I can't blame you a ... bit.
I've been using a lot of inline assembly lately, and while the Stockholm syndrome might be in effect, I'm coming to like the GCC syntax. For me, main thing that has helped has been to adopt a consistent syntax. Here's some examples of what I'm currently using for an AVX2 popcnt optimization, with some explanation.

#define ASM_VEC_BYTE_COUNT_SET(vec, sum, mask, shuf) \
__asm volatile ("vpsrld $4, %[VEC], %[SUM]\n" \
"vpand %[MASK], %[VEC], %[VEC]\n" \
"vpand %[MASK], %[SUM], %[SUM]\n" \
"vpshufb %[VEC], %[SHUF], %[VEC]\n" \
"vpshufb %[SUM], %[SHUF], %[SUM]\n" \
"vpaddb %[VEC], %[SUM], %[SUM]\n" : \
/* rd/wr ymm */ [VEC] "+&x" (vec), \
/* write ymm */ [SUM] "=&x" (sum) : \
/* read ymm */ [MASK] "x" (mask), \
/* read ymm */ [SHUF] "x" (shuf))

1) Try to use the %[symbolic] syntax rather than %[n] numeric. It's slightly longer to write, but usually clearer to read. Use upper case for the symbolic name. Put your inputs one per line, with a preceding comment.

2) If you are using the same assembly more than once in your program, declare your assembly within a #define macro, then use the macro in your code.

3) Use "__asm volatile". Declaring "volatile" is not required, but once you are writing inline assembly you usually know more than the compiler about where the block should go.

5) If you have multiple lines of assembly and output registers, you are almost always safer to use "+&" and "=&" for your constraint rather than just "+" or "=". Search for "early clobber" for details.

6) Strongly prefer single type constraints. The more flexibility you give the compiler, the more likely it will defeat your efforts at optimization. Use explicit memory addressing modes rather than "m". The modifier "c" is needed for the offset.

#define ASM_VEC_LOAD_OFFSET_MEM(off, mem, vec) \
__asm volatile ("vmovdqu %c[OFF](%[MEM]), %[VEC]\n" : \
/* destination */ [VEC] "=x" (vec) : \
/* byte offset */ [OFF] "i" (off), \
/* mem address */ [MEM] "r" (mem))

7) The register constraints for vectors are tricky, because the "x" constraint is used for both XMM and YMM vectors. There is no way to specify that one wants only one or the other. This sort of makes sense, since in hardware they share the same register. You can use the "q" modifier when you need to specify XMM syntax in the output when you need both forms of the same vector.
Better Aging Through Practice, Practice, Practice
What is coming in Drupal 9?
If you are speaking of the digital designs, yes, what you say is absolutely right.

But you need to keep in mind the analog designs. While a typical CPU, a typical GPU or a typical cryptographic IP chip (for a example) can be developed in just Verilog since they are just pure logic, when you move to the Mixed Signal IP, you can't use only Verilog, you have to manually design parts of the chip (creating the schematics of the designs at the transistor level and converting them to layouts).

Examples of mixed signal IP are USB, HDMI, MIPI, Ethernet, PCIe, and so on.

We don't have tools capable of synthetizing really fast PLLs, DCOs, Band Gaps, most of the high speed analog blocks.

But I think the article was exaggerating on the "50 engineers will need 10 years to complete the chip design to tape-out". I work at Synopsys and we are already working on the latest process nodes (10nm, 7nm, 5 nm) and we already have some solutions ready for silicon and it didn't took us 10 years.

All these articles make it sound so dramatic that it's nowhere near the reality. The process of designing the analog blocks again in 10nm, 7nm, 5 nm and so on, it's exactly the same every time. It is very much like porting your C++ code to Python: sure you have to do it from scratch but the process and the fundamental concepts are exactly the same.

It's not rocket science nor quantum physics, it's easier than it sounds. The main problem is the huge cost of the tools and of the technology from the foundry. If you are past that, you just need time and some knowledge in micro-electronics.

Don't be fooled by these over dramatic articles, the hard part of digital and analog design is not getting the knowledge to do it, it's getting the money to have the proper tools to do it.
What you say is surely true, but it's trumped by the more important concern of working together to make HN the kind of place we want it to be. That means turning ourselves into damping filters for annoyance, not amplifying ones. It doesn't mean that the inputs aren't annoying, just that when producing outputs we need to be less so.
Libcuckoo – high-performance, concurrent hash table
You should look at the AS/400. They've actually been shipping a product using this scheme for almost 40 years.
Would upvote but for your first sentence.
At the moment I find myself carrying around a netbook (EeePC 901) and a smartphone (Xperia Mini Pro, slidey keyboard). I'm going to replace both of them with one of these - it's well over twice as powerful as them put together. You might think it's a wee big to use as your main smartphone, but I'm psyched by the ability to run desktop software comfortably on something that fits in a jacket pocket (apparently the nubs are easily precise enough to use as a mouse). Desktop software beats the pants off "apps", in the free software world at any rate. I actually don't give much of a hoot about the gaming controls - I think of it as like a chunky Neo900.

I'd like to have a go at controlling a wifi quadcopter with it though :)
Like is said in the abstract, the designers of risc-v have the advantage of 3 decades of hindsight. So they could avoid stuff that was considered good back in the day but history showed was more a disadvantage, like delay slots ot register windows.

The cynic in me likes to think that existing proprietary isa's keep adding new instructions partly to keep customers on the upgrade treadmill. If you design an open ISA from a clean slate, you can make a nice orthogonal one from the get go.
Saw that though couldn't download as it was timing out... I thought it's just weightages and values for the trained model. Wasn't sure it had code.
Thanks for the useful link!
Fortran pull requests are almost always accepted
Yup, SOCOM likes them because they're able to cherry pick equipment without having to worry about whether it's suitable for the entire Army. They have always had custom aircraft, whether it was Little Birds, or the Stealth Blackhawk. But that doesn't mean the Army should choose what SOCOM likes; different roles, and funding. The reason the Tucano and its ilk are popular is low cost and easier training. Getting the Afghan AF up to speed on maintaining a high bypass turbofan and its supply chain is several magnitudes harder than a proj job.
This Swedish Automated Store Is Run by a Smartphone App – Digital Trends
I can understand the dramatically increased costs with chip production. But the article makes it sound like the 9x increase is with the design of the chip (e.g., with an HDL simulator).
My favorite language remains 'C'. You don't have to even look at the corner cases, landmines and ambiguities - use the subset of the language that works.

Other than things like signed integer weirdness, most complaints about 'C' revolve around the library. Well, don't use those parts of the library.
Atom Packages Directory
Plus they are federal judges. Even if they could be fired (I see no mechanism for that), they are still federal district court judges for life.
After working with .NET/Java/Node.js/Ruby/Python etc the move to Go involved a larger investment in time. I found this really informative and it's great to have the learnings condensed down.
AndroidAudit – Your Android app as a crime scene
Yes. Grover's algorithm searches a disordered database in time sublinear in the number of elements, and provides a quadratic speedup over any possible classical algorithm. There are similar results for finding collisions etc. There is no proof, however, that quantum computers offer an exponential advantage on decision problems without some additional assumption, although this is widely believed to be the case, due in part to the exponential improvement of Shor's factoring algorithm compared to the best -known- classical algorithms.
Really? My experience is that while there are a number of high-end Java positions, and a number of Ruby positions in well-funded startups and such, there are VAST numbers of Java positions for mediocre engineers and mediocre companies – no fault of the language, more of the niche it has found itself in. I'm not surprised at all to find that this drags the average salary down.
I mean, that's like saying it's not really a car accident because even though the front of the car is crushing into the divider wall, the rear of the car is moving at almost the same speed.
They planned for it since the beginning. While the base RISC-V encoding uses only 32-bit instructions, it's actually a variable-length encoding, where the least significant bits define the instruction length. If the least significant bits are 00, 01, or 10, it's a 16-bit instruction.

The base RISC-V was designed to be minimal; for instance, hardware multiply and divide is the M extension. I expect that, once the C (compressed instructions) extension is standardized, most high-performance implementations will include it, since the extra area cost should be minimal compared to the out-of-order machinery; small in-order implementations where area is at a premium and performance is not so important will continue to use only the base 32-bit instructions. There's even a variant, RV32E, which omits half the registers to make the core even smaller.
Haskell can be annoying to work with in the beginning, since the slick quicksort examples don't really explain why you'd want to use it to write something real. But then your project grows bigger, and the type system maintains sanity in a way you don't otherwise see. Other languages usually use tons of unit tests everywhere to enable refactoring, but then they bog you down if you really need to change something.

I guess it has problems with records, space leaks, and deployment to old machines. Maybe ML or F# are just as good for this purpose; I haven't really used them.