skysight-inc/HackerNews huggingface dataset:
Does anyone care to speculate on the odds that the Communist Party of China loses power/control in the next 5 years? 10 years? From the other side of the world I don't have any idea how likely this is, and I never see anyone discuss it.
Адвокат во Владимире Маринич Л.И
Great movie, novel and series. The terms in the movie are either rebirth, the promise of being reborn as a machine raised baby (a belief) or winning renewal when you touch the rainbow unharmed, extra time to your life. Rebirth is an eufemism for being obligatory zapped (or obligatory dying by a pleasurable gas in the novel), can you even win renewal in the deadly carrousel?
http://scifi.stackexchange.com/questions/22080/what-did-the-...
Looks like a beautiful article. Saved to Pocket. It would be pretty cool if NYTimes changed their app to better support this long-form content or maybe let you save articles to Kindle.
Direct link to library:

https://github.com/abcnews/d3-layout-narrative.

Neat stuff: I will see if it has utility for planning out my own writing.
Great binary. If you must do things in base 2, then in fact:

01 + 01 = 10
> 1) There isn't transparent integration with IO in the runtime as in Go or Haskell. Rust probably won't ever do this because although such a model scales well in general, it does create overhead and a runtime.

By "transparent integration with the runtime" you mean M:N threading. M:N threading is just delegating work to userspace that the kernel is already doing. There can be valid reasons for doing it, but M:N threading isn't us not doing the work that we could have done. In fact, we had M:N threading for a long time and went to great pains to remove it.

In addition to the downsides you mentioned, M:N threading interacts poorly with C libraries, and stack allocation becomes a major problem without a precise GC to be able to relocate stacks with.

M:N will never be as fast as an optimized async/await implementation can be, anyway. There is no way to reach nginx levels of performance with stackful coroutines.

> OS threads leads to lowest common denominator APIs (there is no way to kill a thread in Rust)

This has nothing to do with the reason why you can't kill threads in Rust. We could expose pthread_kill()/pthread_cancel() on Unix and TerminateThread() on Windows if we wanted to. The reason why you can't terminate threads that way is that there's no good reason to: if you have any locks anywhere then it's an unsafe operation.

> some difficulty in reasoning about performance implications.

I would actually expect the opposite to be true: 1:1 is easier to reason about in performance, because there are fewer magic runtime features like moving or segmented stacks involved. Could you elaborate?
...what? The point is that when any function in Go is blocking, it will obviously block the current flow of your own program until it returns. But it only ever blocks the flow of the current goroutine. Other goroutines will continue running just fine, and the runtime will schedule all the ready-to-run goroutines over the OS threads it has available, and that's nothing you need to take care of in your Go program. It essentially abstracts away what Node.js does in its event loop and the programmer does by manually splitting up the program into a series of function callbacks. Just use that knowledge to structure your program accordingly, and don't tried to badly reinvent futures.
Well, but that’s the entire point of Chrome Custom Tabs. There are even Presto and Gecko based implementations of it.
Are you saying C++ make it easy to write exception-safe code? Because Rust explicitly encodes exception safety into the type system with the RecoverySafe trait, you need to write unsafe code to bypass that, and the documentation on unsafe explicitly covers exception safety.
The existence of -fno-exceptions means that library authors either using the language as intended, and accept losing a portion of their potential user base, or write less-than-optimally elegant and clear code, which punishes everyone, so a few can turn off a core feature of the language. It fragments the community.
Zodiac Raises $3M for CLV as a service
All of the recipes in the itertools documentation should pretty much be considered folklore imho. If you always use the 'zip((iterator,)n)' approach, people will recognize it and know immediately what you mean.
Build Your Own Wi-Fi Smartwatch
People don't absorb every bit of information, even when it's from friends, neighbors, family, etc.

This is actually part of the communications field. Here's a page that talks about how people communicate information and several of the issues:
http://www.msucommunitydevelopment.org/effectivecommunicatio...

there's plenty more if you want to search for communication filters
Agree with many of these, but

>Cannot add an int to a float - need an explicit cast. This is an obvious deficiency

is ridiculous. Implicit conversions cause huge classes of errors in languages that support them. There's not even well-defined behavior for converting an integer that won't fit in the mantissa to a float.

My experience with OCaml is that it made too many concessions to imperative programming to be a particularly useful functional language and its type system is sorely lacking. Things like 31/63-bit integers for pointer tagging, binary "generic" comparison operators, ;-sequencing, etc. are terribly ugly hacks.
What is Quality?
Rust's type system doesn't attempt to guard against resource leaks.
Posted to Reddit eight years ago: https://www.reddit.com/r/programming/comments/20dh6/ocaml_la...
No it wouldnt. Amiga was dead man walking due to culture of clueless management at Commodore. Tramiel took pride in not knowing a first thing about computers, he would be as happy selling cars or meat. His replacement was even worse, not to mention rest of the management.

Besides world moved on, even cheaper Sega Megadrive was better, never mind PlayStation. Then came the revolution, 1997 was the year of real 3D accelerators, Voodoo/Riva 128, 1998 Voodoo2/tnt. Amiga still couldnt muster a doom clone running at 320x240 above 7 fps while PC saw Quake 2, Unreal, half-life, Tribes and Thief.
It uses the JVM's threadpools directly so it applies to more or less any JVM-based language, and the problems it talks about (expensive sequential operation before threadpool submission and unbounded threadpool queue) are pretty common issues.

Witness the unbounded and unconfigurable (though replaceable — at your own risk since you're setting a "private" variable of the pool) queue of Python 3's threadpool: https://hg.python.org/cpython/file/default/Lib/concurrent/fu...
Yup, all the goodness now gone.
Demographic Consequences of Defeating Aging [pdf]
> Here's what that looks like in Python.

Although python multithreading outside of IO tasks or dropping into C code that drops the GIL isn't going to parallelize, the latter of which is the only way you're going to burn up cores. The API does make it seem simple though.
Pleased to welcome you to
the website Marynich Lawyer
Larisa Ivanovna!

Spam.

Flagged.
If you didn't want your comment to be misread, you should have been more specific after the "another".
Paper versions of the Roche metabolic pathway map have been on at least one -80 freezer in every biology lab I've ever worked in.

I remember the many, many hours I spent during my undergrad learning just parts of this. I felt quite proud when I had committed the Krebs cycle to memory and then somewhat crushed when I later saw it in context.
It doesn't guarantee destructors will run, that's true, but that's for things like Rc cycles. Take a look at the RFC for std::panic::recover- it definitely takes exception safety into account: https://github.com/rust-lang/rfcs/blob/master/text/1236-stab...

Also take a look at things like the design of the Drain iterator- the stdlib is definitely (intended to be) exception safe.
Ben Horowitz's Introduction to Andy Grove's “High Output Management”
> what this message that doesn't mention Sync is trying to tell you is that you need Sync on this type

There's no such error message that I'm aware of.
This year, the Greek Orthodox Easter is on the 1st May.

Therefore, if you want to witness the Easter Rocket War in person, you can travel to the Island of Chios (Greece) and be there in the evening of 30th April (a Saturday). The rocket war starts late in the evening of that Saturday.
You can buy a 8TB HDD for $219.99, that's $27.50 per TB.

I made a page that shows hard drives and SSDs sorted by price per TB: https://edwardbetts.com/price_per_tb/
Damn, that example narrative chart is the who's who of either corrupt, or stupid, Australian politicians.
Here in Canberra Australia I would regularly come back to my bike to find new marks in the plastic around my chain where somebody had tried to cut through. Your chain has to go through both wheels if you have quick release on the front, and you can't leave any clip on lights or your water bottle or it will be gone.

A few years ago I watched a junky go from bike to bike in a bike rack testing each lock to see if it would open easily. Right in plain view of everybody. When I confronted him he launched into some long and carefully rehearsed sob story about how his friend told him to come and get his bike but didn't know which one it was.
Please don't break the HN guidelines by going on about downvotes.

We detached this subthread from https://news.ycombinator.com/item?id=11368361 and marked it off-topic.
PCPartPicker is also usually a really good source for comparing part prices. https://pcpartpicker.com/parts/internal-hard-drive/#sort=a7&...
The rather idiosyncratic language preferences of the author show through at the end:

> Make no mistake: Java/C/C++/C#/Perl are much worse than OCaml! There appears to be just one good tool, with OCaml coming a distant second.

where "one good tool" links to http://www.podval.org/~sds/tool.html, an essay praising Common Lisp.
Get his attention. Open the Damn! :)
While playing Go at a local pub, one of the servers, after being told about AlphaGo...

I was expecting this to be the set-up for a joke :)
It's not that, it's just that experts tend to contribute to threads where they can share their expertise.

So while it appears that everyone here is amazing; that isn't the case: we just tend to have something that we're very good at and comment on it.

The good thing is that you can learn a lot here as long as you don't get sidelined by some of the inane arguments and fighting :)
I'm not sure spinning hard drives are more reliable outside of data centers - at least not for laptops because you are carrying them around (anecdotaly, I recently had en employee break a hard drive in a laptop after dropping it).

It probably doesn't really matter as much as your intuition might suggest anyway because each drive can and will fail. And they fail at similar rates (as opposed to an exponential difference of a factor of 10x or more). So you need to take similar precautions for each type of drive.

For personal use - I use exclusively SSDs because they are much faster. The I put all the information I don't want to lose in dropbox.

For servers, all data that is important goes in a database cluster (Cassandra) with a replication factor of 3. Those drives are backed up daily offsite. For data that cannot be lost at all (even a days worth), I also copy each record to Amazon S3 every time it is changed. - I'm sure there are many other ways to tackle this problem.
How did you get it? I emailed them at some point asking if I could buy it somewhere, and got a one liner back more or less telling me to get lost.
Social networking app for airports – anyone interested?
Hello Travel Hackers,

I'll keep this brief. For the last 15ish months or so, I have been working on an app for airports.

Before you dismiss it for being cliche, read on first.

The app only has two functions right now:

1) It tells you if your flight's on time or delayed

2) It sends you a push notification if your flight status changes (on time -> delayed, etc.).

The designs look pretty cool right now but could use a bit of work.

It's gotten ~10k downloads in the past 8 months, organically.

However, I wanted to add some new features to the app, including crowd-sourced tsa waiting times... A centralized frequent flyer dashboard [like MileWise]... And most unique, karma points/badges for checking into airports (like FourSquare but for frequent flyers).

How often would you use this?

Also, feel free to PM me if you want a link to the app in the App Store [iOS only for now].
Does implement ABAC/XACML wrappers?
Another alternative, works on both py2/3, assuming you replace bbs='000... with bbs=b'000...

import struct

result=''.join([chr(int(bits,2)) for bits in struct.unpack('8p'*(int(len(bbs)/8)),bbs)])

print(result.replace(' ','')[::-1])
How is "a chance to win God armors, weapons and tools with full maximum enchantments" only cosmetic? That's found at https://s.m.ly/category/305898 along with other stuff that seems to be pay2win.
Extensively discussed in several other postings.
>
No custom allocator can make a task that fails to allocate gracefully report an error.

Yes, you can. You can panic the thread, and you can recover from panics. But honestly this is never enough to gracefully recover from OOM. I can't think of any software that uses exceptions to gracefully recover from OOM (i.e. without crashing the process) in a way that works. How many Java applications do you see that catch OutOfMemoryError on a fine-grained level?

> Had Rust opted for exceptions, it'd be a much better, and actually usable, language. Rust's terribly error-handling strategy is the chief reason not to use it.

It's hyperbolic to call Rust's error handling strategy not "actually usable". I use it every day and never have any issues with it.
I found this http://www.arthy.org/wocfs/
I have no idea if it really works. If you give it a try would you mind letting me know?
IMHO, there are a two things very critical for your plan — Finding people who are articulate and communicate really well. In remote teams this is very critical. Secondly getting people who share the same passion as you do. You should hire them only if they can be the CEO of your product/ company. Anything less, do not even think. You need a team with lots and lots of passion and self motivation. And there aren't many people out there actually. Let me know when you begin.
Isn't the Blue Box what Wozniak was initially selling?
while Tay is a new step in AI

Is it really, though? What's new about it? I haven't been particularly impressed with any of its output (even when disregarding the cultural insensitivity).
Haskell -XStrict, problem solved :P.
John Draper (Cap'N Crunch) has been very sick in recent years. I was following his posts on Facebook till he removed himself from there. Here is an old article about it:

https://www.qikfunder.com/crowdfund/help-john-draper-captain...
I want to start programming, what is the best language?
It'd be hard to imagine how that should work on filesystem level (if I can't read contents of any directory, how do I figure out which directory do I add a newly created file to?).

OTOH, on the file contents level this seems very much doable. Sadly, I am unaware of any general purpose implementation of such a thing (encfs doesn't do anything of this kind).
Someone gets sued by the government in Canada and wins the case. How is this comparable to someone criticising their president and disappearing?
I don't think statistics will make better predictions than I can. For example, consider a moderately large file (eg. 100MB), which is only ever read occasionally, by sequential low speed streaming. It seems reasonable to place it on the HD, but it's music, and I want it on the SSD so I can have the HD powered down for lower background noise when I'm listening to it. And I could have another almost identical file which is a podcast instead, and that should go on the HD because I don't care about minimum background noise when listening to podcasts, so even looking at the file type won't help. The correct place for a file depends on what you intend to do with it, not any measurable property.
"the language of startups is interesting (graduation as a euphemism for quitting or getting fired), but the clear message is that this is odd, and thus, wrong"

What makes it 'wrong' is that 'graduation' is deceptive when employees are being fired or quitting because they hate the company.

Surely, some / many employees are leaving for positive reasons ('graduating' to something bigger / better) but if Lyons is right that that was the general term used for people who left the company, it is not only odd but Orwellian.
Not all WD Red drives are equal size
Don’t Grade Schools on Grit
Glyphosate Found in California Wines, Even Wines Made with Organic Grapes
It also helps on how ifs should be inserted, for example:

ys = []
for x in xs:
if P(x):
for y in Y(x):
if Q(x,y):
ys.append(y)

Becomes

[y
for x in xs
if P(x)
for y in Y(x)
if Q(x,y)
]

Surely combining this many for/if's may often be the wrong idea. Just like making a depth 4 iterative loop isn't always ideal. It does make the order easier to remember though :)
I don't know why, but reading that video transcript makes me feel a bit physically sick. The thought of deliberately holding ones breath for so long goes against every basic natural instinct I have. An extraordinary achievement.
Invisible ads, phantom readers
Or perform the vagal maneuver: https://en.wikipedia.org/wiki/Vagal_maneuver.
Depression is in fact a well-known symptom of an underactive thyroid [1].

Bear in mind that the reference range doctors use to determine whether your thyroid is healthy is considered too wide by some experts [2] - this will result in false negatives.

The treatment for thyroid disease and resultant thyroid underactivity is (synthetic) replacement thyroid hormone. I'd rather take a replacement hormone than a pharmaceutical drug with its side-effects. Not to mention hypothyroidism is a risk factor for heart disease and more, so better to address it than treat individual symptoms.

[1] http://www.niddk.nih.gov/health-information/health-topics/en...

[2] http://www.ncbi.nlm.nih.gov/pubmed/16148345
> The existing failure-oblivious APIs need to be explicitly deprecated.

That's total overkill. For 99% of applications, process abort is fine, and dealing with it is just noise. Those 1% are usually things like kernels that use custom standard libraries anyway.

We're not doing the 99% a favor by making them think about OOM every time they do something that might allocate.

> The only ways to redeem Rust is to either support exceptions as first-class citizens with mandatory runtime support or to convert all existing allocating stdlib functions to return Result and mark all the existing failure-oblivious ones as being as deprecated as gets(3) in C.

This is silly hyperbole. Ask anyone who works in security whether the danger of xmalloc() is comparable to the danger of gets(). In fact, I've seen many security folks recommend only using xmalloc() with process abort instead of trying to explicitly handle OOM failures!
Don't let the haters get you down. I see nothing wrong with what you've built and are building.
Am I the only one who this doesn't work for? Tried in Chromium, Firefox and Conkeror; the best I get is a progress bar, then a set of axes with a single dot plotted on the y axis. :(
Apple’s stock apps suck: Here’s what you should replace them with
It seems weird to design an AI for social interaction and not give it strong negative feedback inputs. Especially when it's publicly touted as "next-generation" by one of the world's largest software firms.
He's probably hinting at a debate about whether or not we should force kids to memorize the times tables by a certain age, which Jo Boaler (math education researcher) argues against: https://www.youcubed.org/fluency-without-fear/

Because it makes math solely about memorization and doesn't involve number sense (discussed in the original article, too), and causes anxiety for those students who struggle to shallowly memorize the table. See also work on 'growth mindset' vs. 'fixed mindset'. When or if students make mistakes at memorizing, they might simply give up and think they just can't do math.

I don't think it's an either/or - you can introduce the tables, but do so in funner or more subtle ways. As an example of the latter, I was in a combined 2nd & 3rd grade class. We weren't supposed to learn multiplication until 3rd grade. There was a huge times table on one of the walls that I'd walk by several times a day all year in 2nd grade. Gradually I'd get curious about the patterns I saw in the table. I never 'memorized' it (until 3rd grade when we had to), but I felt like I had begun to understand it and how it 'worked' after repeated exposure to it.

But I like the idea of the original author to make games about it. Another idea is to have students create their own tables.
> How many Java applications do you see that catch OutOfMemoryError on a fine-grained level?

I wrote exactly that sort of code, in Java, last week.
DiligentWindows: Concept Designs for Windows 10
I agree that the issues you mentioned are annoying warts for Ocaml but I'm not so sure that they are all concessions to imperative programming. The 31-bit ints have more to do with simplifying the garbage collector implementation. The "generic" comparison operators have more to do with the lack of type classes. This has a bit to do with the imperative bits of the language (which make implementing type classes a bit harder) but also has to do with conflics with the existing module system (ocaml Functors support type encapsulation and some other things that make it harder to add type classes to the language)
> Yes it does. That some compilers provide a way to disable mandatory language features is no argument.

It's actually very relevant that huge amounts of C++ deployed in the world use -fno-exceptions, and many shops (for example, Google!) have a policy of "we do not use exceptions". I don't care about how well languages handle OOM in theory; what matters is how well they handle it in practice.
> The point is that this is an unethical business model that I don't want to support.

How the heck is it unethical to sell in-game items to make real-world profit? It's simply not.
You can just order it online - it's free.

http://www.roche.com/sustainability/for_communities_and_envi...

Click on image below "Order the Poster".
> Massive hard drives only useful for archival purposes, under this argument: if your hard drive is being used for live queries, you want to access all the data on it. Even if you have have all the pieces in place to stream 1gig per sec off of the drive, a 1pb drive would still take 1 million seconds = ~11.5 days to read.

Your premise is that anything you don't use on a regular basis belongs in archival storage, presumably in some kind of central archive.

Suppose there is 1PB of static data of which you access a different 50GB every day. You can call it archival if you like but it's still going to save you 50GB/day of network traffic to have a local copy.

So for example, Netflix could make a box that came loaded with all their content and new content is added using IP multicast or P2P during off-peak hours. The peak hours bandwidth savings would be immense and you would be completely immune to crappy or unreliable network connections.
Citation needed, I was convinced I heard the opposite was the case...
Big employers don't care; web mail is already problematic for them, and E2E doesn't significantly change things.
Or you could get your DNA tested under a pseudonym with a prepaid card (if enough people started doing this they might even offer an anonymous or encryption option).
In my experience, critical problems required by successful language ecosystems that are solved by nodejs modules are either solved poorly or abandoned by the original author. The ones solved by go packages are solved elegantly and maintained.

Your mileage may vary but the JS ecosystem is mostly garbage from where I'm standing.

Want examples?

- Distributed worker queue

- Minimal web framework

- etc...
“The pressure of academia drove me to heroin”