skysight-inc/HackerNews huggingface dataset:
To be clear, I wasn't so much imagining using the FFI declaration to vouchsafe the opaque handle into a completely Rust-nativized memory-safe owned reference; but rather, as taking the opaque nullable pointer from the FFI, and unwrapping it exactly one level into an Option<opaque non-nullable pointer>—that is, turning a nullable FFI "handle" into an Option<non-nullable FFI "handle">.

Such an FFI function declaration really can't require that the thing returned inside the Option be a dereference of the pointer: in the happy case, it's still an opaque FFI handle, so dereferencing it just exposes an opaque struct you shouldn't touch; and in the unhappy case, it's still an invalid pointer, just one that's invalid because somebody else (like the library that gave it to you) freed it. The raw pointer itself, even if non-NULL, is still "tainted"; you still want to apply manual runtime checks to it before casting it to a Rust reference. (And, past that, in both cases you still probably want to deal with the pointer mostly just by passing it back to other FFI functions from the same library, treating the pointer itself as an identifier, a key the API associates with something.)

I'm emphasizing this distinction because the NULLness of the pointer is, from what I can see, "outside" the lifetime of the reference, and even outside the "identifier-ness" of the handle. Knowing the validity of the pointer requires knowing about ownership/lifetime; the pointer might point to memory that has been free()ed. But you can know that the pointer is intentionally NULL (and therefore not a valid handle/identifier from the FFI's perspective) without attempting to construct a reference.

Effectively, a [nullable] raw pointer is the moral equivalent of a tagged data structure. There's a piece of metadata you can get from the tag: when it's zero, the contained raw pointer is intentionally invalid; when it's nonzero, the contained raw pointer is only maybe-invalid. You can destructure and act on the "tag" without doing anything else to the [non-nullable] raw pointer "stored inside".

I wouldn't expect most languages to care about a distinction this fine, because if a language has references, it really only wants to think about "pointers: maybe invalid" and "references: always valid". But Rust is in the unique position of trying to work "directly with C" without the impedance mismatch of glue like SWIG. And C provides many libraries that return nominally opaque handles, but expect their consumers to notice if those handles are NULL (which happens often, when e.g. a factory-function from such a library is called with NULL arguments, or unexpectedly receives a NULL from a library it itself consumes.)
Double Down on Your Bright Spots
Since you scratched off the last digit, 10 is really 100, plus 5 for the digit you scratched off = 105.

105 is a multiple of 21.
Nothing. It is China. All bets are off.
I had some fun reverse engineering that. Here is my take at how it works.

Label all of the nodes 0 through 6, starting with making the white node 0, and following the black arrows. We can consider each of these nodes to represent a congruence mod 7.

Let n be the first digit of the number, and nXXX be the entire number. After we walk n nodes by following the black arrows, we arrive at the node n' = n MOD 7. Notice that n'XXX = nXXX MOD 7. More specifically, nXXX is divisible mod 7 if and only if n'XXX is divisible by 7.

Let m be the second digit. At this point, we reduced the problem to testing n'mXX MOD 7. Notice that n'mXXX = (10n' + m)XX. [0] Notice that following the white arrow at an arbitrary node, k, is equivilent to following 10k black arrows. [1] This means that after following the white arrow, we have reduced the problem to mXX. At this point, we simply recurse to the first step until we are out of digits.

[0] This construction is slightly improper, in that it involves a single "digit" having a value greater than 10.

[1] This can be verified by considering the value of 10k MOD 7, and comparing it with the destination node.
US Starts Making New Plutonium-238 Fuel for Deep Space Missions
In Texas, I guess every wind generator should come with a bitcoin miner that turns on whenever electrical load falls short of generated power. New revenue source for the utility!
Have you tried a Perceptron or MaxEnt model for your medical data? They're also fairly simple (MaxEnt slightly less so), but will give you solid results.
A good, if brief, book on the lead-up to reunification is "The Fall of the GDR: Germany's Road to Unity". The biggest takeaway for me was how incredibly rapidly the collapse progressed once it began - effectively, no one stepped in to stop it and feedback loops took over.
> When the mouse is moved very rapidly, the mouse blinker gets big like Godzilla in order to maintain visibility.

That happens in OS X El Capitan presently.
This is spam in italian... LOL ?
There are large projects that handle OOM and it isn't that hard to do.

Imagine every function in your call stack handles errors consistently. In most cases these functions will bubble up all errors to the caller. In many cases they will perform allocations themselves and free those allocations when they fall out of scope due to either success or error.

The function at the top of the stack hits a malloc error. It will bubble up its status to its caller, who will do the same for his caller, etc. The chain of functions will free intermediate allocations they made along the way. By the time you get to some top-level or near-top-level function, you can react to the error, and you likely even have quite a bit of heap space when the rest of the stack frees its work. But if you don't happen to have the heap space, then you can structure that top-level error handler so that it performs very few allocations, does allocations at upfront at initialization time, etc.

I don't think any of this is hard and I've seen it work well in practice. It's sad to me when I see the opposite, some unreasonable allocation quite reasonably fails, and it takes down the entire process because whoever wrote that code thought it was too hard to do otherwise.
The insight is that technology is natural. That's it.

Now that might in the end form a new theory that will require a new name (just like Darwin did when his insight was that animals and humans are part of the same tree), but the insight is not a new word but instead the insight it would represent.

You can take the term "a theory of evolution" away and it's still as insightful a perspective (humans come from apes).
It was a campus squirrel. They're generally used to people walking by within a few feet. This was just a little slow to shift gears, apparently.
1Password v4.1.0 for Windows Crack and Patch Free Download
NULL/zero is a very simple concept. It means the lack of something. C/C++'s equating of null/zero with false also makes great sense with you think of it this way. Thus my personal belief is actually "avoid NULL, use zero instead."

program will fail in run-time. Sometimes it's not an acceptable situation, sometimes it just makes debugging other problems more complicated.

I disagree. If I were to make a list of all the bugs I had to find over the years, sorted by difficulty, a nullpo (usually caused by something else) would be near the bottom. They're quite obvious precisely because of the crash that occurs when they're used, and you can usually easily trace back to the origin of that value.

Seeing all these clumsy "solutions" that increase complexity just to avoid something so simple is both sad and somewhat amusing. It's a bit cargo-culty. E.g. if you use the "Null Object Pattern", with the example given you still have to presumably check whether the returned value is an instance of the null object or not... so not only do you still have to do the same thing you'd have to do if you'd just used a simple 0, you now also have to make an additional class and figure out how to compare with it. It's obfuscatory.

I think avoiding "NULL" makes as much sense as avoiding the number 0 - i.e., none, null, \0, nada, zilch. ;-)
I'm not sure if they do the same in the US but here in Australia most banks do pre-approvals for home loans. It made the process dead simple for me.

In my case I spent about 45 mins one afternoon in a meeting with mortgage officer. Came out with a document saying I was conditionally approved for a loan of up to $X which was good for six months.

Then I went looking for a place.

There is probably some room for streamlining the process but most people my age that I know tended to go through the same Pre-approval route I did. The bank does all the background checks, diligence and such while you are still looking for a place to purchase which seems sensible to me.
Yes, NULL means the lack of something. Very simple. But not having something when you think you do is by far the most common class of errors. So if you are always clear about the fact you either WILL have something or MAY have something (instead of it being hidden), you can write software that you are more confident in, and (hopefully) crashes with completely opaque errors less frequently. [This is why I happen to completely agree w.r.t. Null objects -- I don't see a point unless it means something extremely specific. Like, File openFile() could return a UnreadableFile null-ish object as an error code, but that seems worse than just having checked exceptions.]
Code for sharing picture on Social Media in iOS
Solar panels would have to be maintained rigorously for any leakages. Some of the chemicals in them are not so good for us.
Your Time Is Your Product – Track and Bill Accordingly
Are you objecting on the grounds that this speech is offensive to non-graduates or that it's generally not the case given the context?

A test statement may be: A certain population is at the top of the IQ bell curve therefore they are smarter.

The IQ bell curve being the context.
If torture makes you willing, doesn't that mean that when the torture starts, you're unwilling?

And are you really arguing that torture doesn't involve the use of force?
Basic Routing in PHP with AltoRouter
Pollution from coal-fired power plants is pretty bad for you, too.
If that's really the API for boost optional then I'm very pleased I never used it. A default constructed optional really needs to be empty rather than contain a default constructed value.
shrug this is kind of in the same category as glowing plant - didn't really expect a usable end product but sounded like a cool longshot. I don't feel bad about my "lost" hundred bucks. It's the projects that fritter away the money that I feel bad about, but as long as a serious shot at it is taken it seems like the platform is working as intended.
If you enjoyed this article, consider supporting the author on Patreon:

https://www.patreon.com/DigitalAntiquarian?ty=h

Jimmy has done a non-trivial amount of work in bringing high-quality articles about past gaming history and shared them for free with everyone.
Of course, there is a shortest equivalent regular expression, but in general it's PSPACE-complete to find it: https://en.wikipedia.org/wiki/PSPACE-complete#Regular_expres...

It remains PSPACE-complete if you're given a corresponding DFA: "Jiang and Ravikumar [7] show moreover that the minimization problem for ... regular
expressions remains PSPACE-complete, even when specifying the regular language by a dfa" from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.60....

In that sense, the grandparent is incorrect. It is unknown, in both practice and theory, how to find the shortest equivalent regex.
I'm pretty sure torture works to some degree, but its unconscionable to legitimize without people taking any liberty to go forward.
My question to anyone who believes this article to be correct is whether they would have found the same sources and type of evidence credible if it had produced the contrary result. If the answer is no, it shows that you should not expect this article to convince any of your intellectual opponents.

For the record, I am not sure whether torture works or is morally justified in the circumstances where it has been applied over the last 20 years, but I find this article entirely unconvincing.
I'm sorry, my wording was confusing and not clear enough.

> And minimum wage here, is really the bottom end of what would be considered middle class.

Should be:

> And minimum wage here, is really the bottom end of what would be considered middle class there.
The minimum DFA does not correspond in any particular sense to a minimal regular expression.
I haven't had any problems with spotlight on Mac, in fact I've come to rely on it at work. For searching PDFs of wiring drawings, I can put in a cable tag and it will come back with the documents it found it in. I open them in preview and the search is already filled in and it takes me right to the specific sheet. I guess your use case is different but I wouldn't trade it for any other searches methods I've tried.

Edit: Sorry meant to reply to root.
About 4 years ago I went to a talk given by the author of the book, the subject was along the same lines as the book: how torture is ineffective because it damages the subject's ability to recall information. Afterwards someone asked a question that a lot of us had been thinking: that in a lot of situations where torture might be used, the information being asked for is very well known to the subject, so unless serious brain damage occurred, the subject wasn't going to forget after torture. Like, "who is your cell leader?" or "where are the guns hidden?". He seemed confused by the question, even after a few other audience members tried to rephrase it. Got the impression he was being intentionally obtuse. I guess it deflated the gist of his work, which more accurately should be something like "torture ineffective when the concealed information is hard to remember".

I haven't read the book, but I hope in the meantime he has worked a little to address this question. Seemed like a well meaning guy though, and maybe my memory of the talk has been eroded by the torturous years of grad school in between
I see that it was confusing.

> And minimum wage here, is really the bottom end of what would be considered middle class.

Should be:

> And minimum wage here, is really the bottom end of what would be considered middle class there.
Personal Bookmarking Tool
SELECT * FROM bar WHERE foo IS NOT NULL AND foo NOT IN (SELECT foo FROM tabl)
One is that it's way too easy to forget to check for NULL.

Null-checks only make sense when you expect a null value. If you don't, and you get one, then either your code should be expecting one and has to do some processing differently, or something else is broken.

If the answer is "no," what happens if you pass NULL anyway? The compiler certainly won't catch it, and who knows what will happen.

In all likelihood, a crash when it tries to do something with whatever the pointer should be pointing at, in which case you should be asking why your code is giving it a null.
The real problem with what's happening to the Yen, is that it hasn't even begun to scratch the surface of alleviating their problem: debt.

It's that debt that leaves their budget a disaster, requiring so much of it just for the interest on the debt. It's that debt that has robbed Japan of growth for so many years.

For preliminary 2015 figures on GDP per capita, they've crashed down to #24 thanks to the erosion of the value of the Yen - to $32,000 or so. That puts them below Israel and New Zealand, countries they towered over for decades on that metric. By comparison South Korea is at $27k and Spain is at $26k; at the present rate of Yen destruction (which is to say if they continue with their failed currency debasement attempt to inflate away their debt) it won't be more than a couple of years before Japan falls below that line. Next up after that is Taiwan at $22,000 per capita - another lost decade filled with debacles like Abenomics will get them down to that level. There's only so much you can erode before it begins to unravel the standard of living Japan has enjoyed for decades.

At one time their economy was a force to be reckoned with. Now it's a mere 22% the size of the US economy and shrinking. They had caught up to the US in GDP per capita in 1987. Soon the US is going to be at double their GDP per capita number. How will Japan be able to afford the care of their elderly, their debt service, the cost of infrastructure, the capital needed to invest into the future (R&D, science, et al.)? At this rate, they won't.
No, not quite. _All_ classification algorithms use "reasoning on the average". (A.k.a. "statistics".)

Naive Bayes is a poor classifier because it ignores conditional dependency: when having feature A raises the odds, having feature also B raises the odds, but having features A and B together lowers the odds.
I totally disagree. I've done a lot of operational and low-level systems work and handling obscure OOM scenarios is /really/, /really/ hard, and not at all worth the engineering effort.

But, even assuming you handle every failed page allocation perfectly and your stack does the right thing, you can still screw yourself /trivially/ by blowing out the network stack, or because the writeback daemon can't keep up with your filesystem writes. So now we're talking about clamping kernel resources with userspace logic that does things like periodic fsyncs and userspace tcp acks before attempting to send more -- good luck.
Lyft realized this and decided to partner with Didi to get market share http://www.wired.com/2015/09/lyft-didi-kuaidi/. It's the old saying that your enemy's enemy is your friend, especially true when you knew you cannot win.
6 grand and they come back up? [1]

[1] - http://arstechnica.com/security/2015/11/crypto-e-mail-servic...
Beyond the raw and heartbreaking nature of the author's loss, I am amazed that this story was published on Medium with the participation of Medium staffers. At a time when there is so much criticism of the state of tech writing, it's incredible to see this pseudo-journalistic platform for techies by techies be the channel for such a damning critique of a major tech darling like Airbnb.
Well, the answer to that is somewhat complicated. In Rust, a raw pointer has the same semantics of a C pointer. Could be null, could point to nowhere, the object pointed to could live temporarily, could live forever etc. However, there aren't any pointers which only weaken some of these conditions.

The function I linked takes a possibly null raw pointer, and vouches that:

1. It points to null or something.
2. The object it points to (if it is not null) will live at least as long as the current scope.
3. The object it points to will not be mutated as long as the current scope is active.

Practically speaking, as long as you don't do anything with the resulting Option<&T> other than check if it is empty, you're safe. In addition, Rust will preserve the internal pointer address, so you could bring it back to the FFI. So you could treat it consistently as such, you'll be fine. I'm not sure if the language spec guarantees that, because that's not how Rust references are designed to be used, but it won't matter in practice.

For what you want, you could just create a generic structure that holds a pointer to the given type, and lets you ask if the contained pointer is null. That way you won't add any false guarantees to the pointer (e.g. immutability, lifetime, etc.).
Torture isn't conducted to improve the ability of the victim to recall information but as a negotiating tactic. I'll give you what you want: to stop being tortured, if you tell me what I want to know.
The equivalent of the $30K analogue watch is the $17K Apple Watch Edition. Most smartwatches come with analogue watchfaces standard, but it's really a new product category, so it'll be interesting how it evolves as a fashion accessory.
2001 is fourteen years ago and Hyundai/Kia have been making dramatic strides in design and quality since then.

Reputations going back 15 - 30 years have little bearing on what's on the lot new today, this is especially true for GM and Hyundai/Kia.
Yeah, this article presents attempts to prevent a philosophical argument for why the MWI is inherently illogical, but fails miserably.

His point about it being an untestable theory, and one which has no particular empirical evidence, is valid, though.
> but in practice it should always be combined with a calibration algorithm (which add a trivial O(n) cost to the process).

Why not just use logistic regression at this point? The only benefit of Naive Bayes over logistic regression is that Naive Bayes is simpler to code.
FDR’s Second “Bill of Rights” Speech That You Were Never Supposed to See
Philosophical whining isn't so bad if the philosophical logic is actually sound. This article is a product of someone who knows little of either philosophy or physics attempting to use the former to refute ideas of the latter.
In my experience its still a requirement. On the opposite side, "Hangouts On Air" requires a YouTube account to be created and associated with your G+ account if you want to broadcast.
Ok, we changed the title to use representative language from the article.

Btw, this article was heavily flagged. It's not really legit to flag a story just because people don't like the title. Plenty of good stories have problematic titles. Depriving others of a chance to read the content, especially when there's a good discussion going on in the thread, is a bad use of flagging power.
From the linked page describing the bug:

> This might be exploitable if the attacker could arrange for UCSWIDE to be in memory somewhere near a sensitive data structure.

Crashes are very frequently capable of being exploited, to the point that every crashing bug should be treated as a security vulnerability. At the very least, it's a DoS.
Clear, simple communication is a skill that takes time and practice to develop! Pointing out that you're not bothered by this strange example will hopefully be a good point for you to reflect on later.
Resources to Learn SEO Online
"They're also the feed that raises all of our meat. In fact, it's not too much of a stretch to suggest that corn and soybeans are the nation's food supply. They are pretty much the only crops we can grow cheaply at massive mega-scale,"

Wheat?
Of course not - my bad!
Funny, I make a "living wage" and receive reasonable benefits and yet I'm not and never have been in union.
BoringSSL (2014)
Deregulated utilities will figure out some new way to screw their customers. Probably "plans", like cellular, where you pay a flat rate plus overage charges plus surge pricing, but have unlimited off-peak kilowatts up to your feeder capacity.
Agreed. I'm currently supporting him on Patreon because I enjoy the articles he writes.

My preference on Patreon is to support people producing valuable articles for free, enriching everybody. Locking them up in Patreon exclusive subscriptions is not my preference.
After many years of using Splunk at my job, switching to ELK for personal project use was quite a disappointment for me. Of course, ELK is free and Splunk is very expensive, but I was still surprised at the gap.

This might be derailing the thread a bit, but is there any log management platform like ELK or Splunk that has an expressive and versatile query language like Splunk's? My biggest issue with ELK is that analytics is mostly expected to be done through Kibana's GUI, while with Splunk you can craft terse queries to do almost any sort of transformation and visualization imaginable. I don't like how ELK is so GUI-oriented.
"People Are willing to forgo money to talk to others about themselves."

A rationale for psychotherapy! (Not that there are no other benefits, of course)
They're easy to handle. For any column with nulls, you just need to deal with them explicitly.
PLEASE+HOLD+Winner+Best+Unpublished+Manuscript+Southern+California+Book+Festival
I wonder how many bits each particle of dust represented?