skysight-inc/HackerNews huggingface dataset:
Fascinating. Luckily butter almost never gets to those temperatures. We're obviously different animals, and it seems that birds can eat butter, so I wonder what it is about oils specifically that kills them. Likely the mechanism will be different from PTFE and PFOA and maybe incompatible with humans who also suffer from large-scale inhalation (see article). We don't know much about long term PTFE/PFOA inhalation in small quantities.

So it seems to be that cast iron itself, heated, doesn't cause the bird to die. Cast iron + butter kills the bird, but so does teflon + butter. So in butter-less dry pan to dry pan scenarios, cast iron is non-toxic yet teflon is toxic.

As you can see here [1] if you leave your pan on the stove heated it can hit these toxic temperatures within minutes. So the exposure to the gas isn't hypothetical. Dry pan toxicity is a real concern which is unique to Teflon.

Then there's digesting it since it will slowly wear off into your food. We don't have science specifically looking at long-term slow exposure to PTFE/PFOA. So you're taking your chances... but we do know that PFOA is much less inert than PFTE when digested.

Non-stick pans won't last as long as cast iron or stainless steel, and cast iron can perform like non-stick while also adding flavor and necessary iron. Oh and cast iron can be often as cheap or cheaper than non-stick (except for the super crazy low end, but talk about most likely to be toxic...), and most certainly is cheaper in the long run (I'll have my great-grandmother's pan for the rest of my life which I do 90% of my cooking in... try that with your teflon).

So if you don't need non-stick pans, so why voluntarily expose yourself to the risk?

[1] http://buffalobirdnerd.com/clients/8963/documents/Teflon.pdf
In the context of where this would be a bad idea (e.g. flight control, rescue rover, etc), you would not use `printf()`, or perhaps any standard output at all. If anything, you will use lower level `write()`, where EFAULT or something would be raised on NULL, and/or static buffers, where NULL is impossible. `printf()` is really only good for developer-friendly programming, where absolute rigor is not the focus.
Wrong how?
IBM finds another Android phone bug
Are led headlights a similar draw?
A Look inside Google’s Data Center Networks
Maybe before down voting you should go look at the data from the dunning-kruger study.
Are you saying Fukushima left more uninhabitable land? I don't think that's right.
JoinJS – An Alternative to Complex ORMs
No need, my query is quiet a ways out of any of those cities (Reno/Tahoe), but thanks anyway. Good to know.
Such a component already exists. Check Amazon.
Obviously the important thing (and the one being ported) is the Kalman filter, which is what we're discussing in this post.

Not specifically iPython notebook versions of them.
This blog(?) story(?) is awful :(
Can you explain a bit more? I'm intrigued. What does 2d == 1.5d mean? Was that how close you were nailing your estimates? If so, how did you get to that point?
No, I do not work on it, but I've followed it from a distance.
If it's really just a wrapper around the git command, then I suppose I'm not really interested anyway, then, seeing as the existing Git GUIs for Linux provide that rather well. I was assuming it was like the Mac client where it provides Github-specific functionality (adding "Clone in Desktop" buttons to repo pages, managing pull requests, etc.).
The 'AppHub' stack looks good and can solve lots of problems.

However I think advertising it as a mechanism to get around the App Store review process is a quick way to get noticed by Apple, and not in a good way.
What's so complicated with the Netflix UI? I've been using the web for quite a while but I'm hard pressed to find any benefit, as a user, in the new Netflix UI. It's not like the old one rocked. But come on, it's a few cover images and text.
One has to be very careful about conclusions based on the assumption of someone else's ignorance.

There are a lot of people who spend lots of money doing something in a stupid way (look at big software companies), but even they have an underlying reason: it's difficult to pick good programmers and value them accordingly unless all your managers are also programmers (and who picked them?).

When you say, "The normal approach to X is stupid; we're going to do things differently," you have to understand how the normal approach came about so that you can avoid ending up there yourself regardless, and also so that you can avoid whatever problems it adapted to avoid.

There are situations when assuming by default that other people are reasonably intelligent is a bad or dangerous idea--while driving, for instance, or during basically anything involving casinos or Black Friday. But when a market governs a motivation as powerful as money and is sufficiently discerning, you'd better start really questioning whether those people are actually stupid or you just don't understand what they're doing.
To provide perhaps more perspective, here's a paper using 2004 technology: http://www.leonidzhukov.net/papers/ParallelPageRank-2004.pdf

With 70 machines & 140 processors, they did pagerank over 6.6 billion edges in 35 minutes. Using 285% the machines, you'd expect them to be able to do it in 12.25 minutes. Moore's Law should put each machine at 160x more powerful, and with 300x the edges they are finishing in 19 minutes. So we've improved by 2x over an 11 year-old software stack that we've long since abandoned for better approaches, using a hardware stack that is much more optimized for SIMD computations than the 11 year-old hardware.
> It's like how DNS queries to 8.8.8.8 can allow Google to find more of the web to spider.

Any links discussing that?
It should. There is even an install script for it. But I believe the development shifted to Pharo as the primary platform.
They should lift the 140 char limit for conversations (=sequence of alternating tweets that begin with mentions), after the first 2-3 messages. This would allow people to begin engaging intelligent discussions, while leaving the majority of tweets in anyone's timeline small and concise.
At that point I would imagine it's the same concept as net carbs. Obviously not all food/matter is digestible. I do think it's still safe to say calories in/calories out however since most of us aren't entering shredded paper, charcoal and wood into MFP logs.
I guess I should feel lucky. I got zencaster.com for $1100.
I feel the same way about NYC. I can see why early-stage companies want to be in the city, but all these Fortune 500 companies, big law firms, and banks wouldn't even have to move very far. Instead, I'm stuck on the subway every day for over an hour (each way) with a few thousand of my nearest and dearest.
A Barely Adequate Guide to JavaScript Canvas
`printf()` is really only good for developer-friendly programming, where absolute rigor is not the focus.

printf gets used all the time in systems code. I count 1221 occurrences of printf (and friends) in BIND 9 alone.

More to the point, "(null)" was just an example of a debugging-hostile pro-vulnerability attempt to silently "fix" bad data.
Agreed. It reads like they're offering accommodation for drone pilots. Only rooms with a skylight perhaps?
Agreed re: the quality of Frank McSherry's posts - they're all great fun and push the technical envelope!

I'm glad you brought up Hilbert ordering. It's fascinating but I rarely see it. I usually see Z-order curves in their place - simpler and more intuitive but also less effective. Does anyone know of large scale databases with Hilbert ordering out of the box?

For anyone who hasn't seen them before, or why they help in ordering, I highly recommend "Portrait of the Hilbert curve"[1] and "Spatial indexing with Quadtrees and Hilbert Curves"[2]. The tldr is that they enable efficient multi-dimensional indexing. Given a request like "X < 40 and Y > 80", most databases need to run "X < 40" and then filter over the results for "Y > 80" - Hilbert curves allow you to find the query's intersection and only then perform minor filtering.

As far as large scale use of Hilbert ordering, Google use it internally for much of their geographical work. They even open sourced a Java library specialised in multi-dimensional indexing based on Hilbert curves called Uzaygezen[3].

[1]: http://corte.si/%2Fposts/code/hilbert/portrait/index.html

[2]: http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-...

[3]: http://google-opensource.blogspot.com/2008/08/uzaygezen-mult...
Which suburbs? An hour sounds rather optimistic. It's at least an hour to midtown from Westchester, Long Island, and the NJ suburbs that aren't on the PATH.
Imagine being one of the five authors of this paper, browsing this comments section. It's natural to distance yourself from people when you're behind a keyboard, but for fuck's sake — these are your peers. If you're going to be critical, do it with attention and care.
Let’s be clear: You’re telling me that because I don’t simply accept the results of a clearly biased study at face value, I am biased.

You’re right: I already said my default position is suspicion when dealing with companies that have lied profusely in the past.

I’m going to sign off and stop thinking about why you are pushing your point in multiple places in this thread. Maybe I’ll cook some steak in a stainless steel pan. Subversive, I know :-)
I am incredibly happy to see the pride Ballard takes in his work. He has taken a huge lump of fame (finding the Titanic) and found ways to turn it into a massively valuable scientific project. I hope our country continues to fund explorations like his after his retirement. In the meantime, I may have to check out a few live streams from the ocean floor.
So my drone charges in another drone owners living room. Right?
anti-pattern known sometimes as "defensive programming": If something goes wrong, pretend you didn't notice and try to keep going anyway

No. Defensive programming means, be predictable even in the face of nonsense. Return an error code instead of segfaulting, define reasonable non-error behavior for thing that don't have to be errors, etc. Sweeping things under the rug just means they'll come back to bite you later, which isn't defensive at all.

and when faced by a choice between making the presence of a bug immediately obvious or trying to hide the bug and potentially exposing serious security vulnerabilities... well, I know which I would prefer

This over a feature that makes "printf debugging" more usable? Is he smoking something?

If the security of your code relies on a parameter not being null, you'd be a fucking idiot to let "printf() should segfault" be the way you catch that. Check it explicitly; not only is it safer but it makes broken callers easier to debug.
A New JRuby Launcher
Sell them on the Unity Asset Store, TurboSquid, UE4 Marketplace, etc.
So is "is a bad idea" replacing "considered harmful"?
This has more to do with licensing restrictions than with technology.
You're more than welcome, I was astounded by your great work when I saw it on the HN frontpage a week or two ago.

Since then, I have packaged heavything's whole showcase for Arch[1] (mainly because I'm quite interested in using rwasa for my own website but also so that other Archers may reap the benefits as well).

Keep up the awesome work!

[1] https://aur.archlinux.org/pkgbase/heavything
I'm reading that one, thanks.

I really dont know the PageRank algorithm, but I was really impressed by their results, a trillion of "something" in 3 minutes. I thought that just reading things should take you a lot more than that but apparently not.

Really nice stuff.
I often use printf for debugging. An unexpectedly NULL string is exactly the sort of thing I want it to help me debug!
Not really. If the action drags forever, they remain just dreams (like some great unfinished novel a guy writes for 50 years and gets to 60.000 pages).
Yes, where that configuration involves:

- Not running as root.

- Enabling the no_new_privs prctl to prevent attacks on buggy setuid binaries.

- Using an aggressive seccomp-bpf filter.

- Hiding /proc, /sys, most of /dev, etc.

- Other things I'm forgetting at the moment. :)
Sweeping things under the rug just means they'll come back to bite you later, which isn't defensive at all.

I did say "known sometimes as". And I've seen a lot of "check for NULL and silently replace it by something reasonable so that bugs don't make us crash" code justified as being "defensive".

If the security of your code relies on a parameter not being null

That's not what I said. Exploit paths may however result in pointers being NULL which are normally non-NULL, and so replacing NULL by "(null)" may turn a denial of service into something worse.

Check it explicitly

I absolutely agree, developers should use more assertions.
> I feel marginalized and hence a little insulted, when discovering I can't.

I feel you; I used to be a Linux desktop user and an advocate thereof. But that's the price that you pay for using the distant, distant third most-used OS for a company trying to drive user engagement with their product. You (the collective you) have to be an attractive market if you want commercial entities to consider you worth marketing to, y'know?
Huh. Somehow the words "considered harmful" never even occurred to me while I was writing that.
Crashing works just as well as printing "(null)" for that purpose. Possibly even better, since you'll have a core dump. ;-)
Seems like either a direct copy of or bizarrely coincidental convention with the Mac/iPhone Soulver
The behavior is bad because thats not what I expected it to do, so it must be bad.

kind of an unreasonable on the authors part
Auckland, New Zealand.
Thanks for the info.

My take is that a large proportion of game developers are actually game addicts or view it as their artistic calling.

So reason doesn't really enter into the make game / don't make game and scope-creep decisions.
It can be difficult to let go of printf(3) debugging, but using a debugger instead can seriously improve your development workflow.
It wasn't my claim that home-schooled students have difficulty acquiring social skills in general, it was that they miss out on a specific set of social skills, namely dealing with people who are different from them, whom they do not like, who have different opinions, etc... while maintaining productivity. Basically: learning to work together with a diverse set of peers and maybe to empathize with people who see the world differently, or to at least gain experience in coping with differences.

The study/quote supports this by giving a rough indication of how most public schools are diverse places. Obviously, this doesn't "prove" the entirety of my statements, it just offers a small amount of support in the area of public schools being either segregated or diverse.
not what I expected it to do, so it must be bad.

Not at all what I said. What I was saying was "actively prevents bugs from being found and fixed, so it must be bad".
I found the American university and its distribution requirements for engineering majors to be a nice counterbalance to my A Levels.

My A Levels were in Maths, Physics, Chemistry and Biology. Studied biomedical engineering at Johns Hopkins, and because of my A Levels received credit for Calc 101/102, Bio 101/102, Phys 101/102, Chem 101/102.

This left me with 32 credits of electives on top of my biomedical engineering distribution requirements. I used them to classes on art curation with the Walters museum in Baltimore, to explore concepts in philosophy and singularity in a writing class and examine the bioethics of genetic engineering.
> But throw in a dependency on Redis and Postgres, and you get into territory where traditional tools fall over pretty quickly, especially if different branches of your codebase depend upon different versions of Redis.

Surely you would just depend on the driver, which is most likely going to be written in your high-level language.

A better point may be languages which rely a lot on C libraries (think Ruby and Python), and where having something like pip won't magically install the ImageMagick dependency your software needs.
Sleeping on your side may help to remove waste products in the brain
This is nonsense. There is no reason why printf has to be the sacrificial function that blows up on null. Those same "misguided" operating systems run on hardware that traps null dereferences via an unmapped page. A predictable, tidy crash is just around the corner if that same is used in the program. On the other hand, if that printf is the only place the pointer is used, then there is no security hole. It's just undefined behavior on ISO paper, and you don't agree with how it is locally defined by the implementation.

How do we know it's a security hole? Maybe some structure has a "char * " name field, and null indicates "anonymous/has no name". It's an ISO C conformance bug to try to print that with %s, but that's a portability issue. If that's the only problem in the program (everywhere else it checks for null), there is no real issue.

POSIX and C libraries are not entirely about allowing null pointers or not. For instance gettimeofday lets you pass a null pointer for the "struct timezone * " second argument, which indicates that you aren't interested in specifying or retrieving it. On the other hand, a null argument is undefined behavior in getgroups, even if the array size is specified as zero (meaning, return me the size of the array actually needed and I will call you again soon with such an array)! A non-null pointer must be passed as a POSIX-conforming eggcorn. According to the logic of this article, if I pass null I'm committing a security hole, and an OS which allows getgroups(0, NULL) is misguidedly sweeping it under the rug.

Null pointers are not some "bogey man". I built a Lisp dialect in whose implementation a C null pointer represents the nil symbol (empty list, false, ...). It prints as "nil", satsifies the symbolp function and so fort. Lexical variables are initialized to nil if not given an initial expression. Some C library printing a null pointer as (null) seems like nothing by comparison.

Be that all as it may, you cannot actually fix this perceived issue by changing from (null) to crash, cold turkey. Unknown numbers of nonportable programs out there (otherwise well-tested programs) which rely on this will just crash.

I just did a "grep -r -F '(null)' /var/log" on a system here and found a few hits. Most of those are probably via the %s conversion, and all that code would have to be fixed if printf were to assert this. And that's just instances confined to logging, not all output everywhere.
I would like a book or tutorial showing how to build a full app with React. It would need to cover:
- React (although this is done well by existing docs)
- JS bundling
- Creating a back-end (e.g. Django REST Framework, or Flask, or Sails)
- Authentication

If you could help the reader build a 'to do' list app in React, which included some things most web apps need (back-end persistence, OAuth, multiple users, and deployment) then they'd know enough to start almost any app/project.

It's easy to find example code to show React consuming an unauthenticated, read-only API. For someone coming from Angular or similar, that's probably enough. If you're targeting people who are used to writing everything server side (e.g. traditional Django development) then there are still gaps.
I make a typical tech worker salary between day job and a small amount of consulting I enjoy. My wife and I lead a very modest life. I work remotely. We save ~70% of our after tax income (and we fully fund tax advantages retirement accounts yearly). My mortgage took about 4 years to pay off. I'm 32. I will retire in 4-6 years (ie work on projects I want to full time, for no income if I prefer).
BIND 9 doesn't have the same requirements as flight control software. Nobody will die if BIND segfaults, at least I hope not.

The software running in your car, plane, spacecraft and the likes have very strict regulations and you will find it radically different from systems code found in a linux distribution, even if written in the same language!

See http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf for more details. I wouldn't want to write code like this as it sounds very unproductive, but their reliability and astronomically small number of bugs speaks for itself.
FlashGraph performance
NYC Mesh is trying to get around the big ISPs one node at a time
YouTube Video Downloader Pro Crack for All Versions
L’École des loisirs fête ses 50 ans et invite les enfants à une exposition
Step 3. Live in a country with a proper healthcare system (not the U.S.).
That's not what I said. Exploit paths may however result in pointers being NULL which are normally non-NULL, and so replacing NULL by "(null)" may turn a denial of service into something worse.

Exploit paths will likely cause variables to have values outside their expected range.

Therefore library functions should be defined as narrowly as possible, in order to convert as many as possible of these cases into crashes.

Never mind that this makes the library functions less useful.

Never mind that this will push complexity into the caller (or just flat-out add complexity in some cases). Complexity which will necessarily add more opportunities for bugs.
Venerable Unix utilities are generally not paragons of good modern systems programming practice.
Maybe we're just disagreeing about the scope of "developer-friendly programming".
Indian immigrants are tech's new titans
'To keep that at 30% of gross income (which is still pretty bad)'

I don't see why the percentage is what matters. I'd rather pay 50% of $140 than 10% of $70. Of course, taxes change the numbers, but that still doesn't make "percentage of income" be what matters...
Exactly. Source code would help a lot. It's an education site that's extremely amateur in nature. It belongs as open source.
Quantum computing advance locates neutral atoms
BIND is important internet infrastructure. We'd all be better off if it did follow the JPL standard.
BIND 9 is not "venerable". You're thinking of BIND 4 and BIND 8.
Typical senior sysadmin/Linux admin pay is $100k-$130k in major metros.

Disclaimer: I'm a sysadmin/devops/infrastructure guy.
I believe that LinkedIn charges you a "conversation token" to send an email, but you get it back if the recipient replies. If we extend that mental model a little, a more conversational Twitter might make it so one could receive 2x the last character limit for every reply for that specific conversation.

I'm certain someone will illustrate with game theory how that system would do weird things in the context of a multi-person interaction.
I had the exact same experience. I got my first name, a common name, spelled the usual way, and I made my email "firstname@firstname.to" (that's Tonga). I used this for non-critical mail, like when a business (face to face) asks for an email.

I gave up. Nobody understood it. They would try to add .com at the end. Every time.
I was talking in the scope of the grand-parent, which mentioned flight control and rescue rover software. These environments don't care much for developer-friendly programming the way linux system utilities do.
It could also be referring to more of the partnerships they've had in the past, such as the company branded game items (AXA, MUFG, Softbank).
Mine does. They called it "Intro to Computers" but it was really just a giant ad for MS Office. The only part of it that most people wouldn't already know was the Access databases... which they had in the curriculum for some reason. I don't know of anyone who actually uses it at work.

At least they let you test out. The only reason I know Access is in the curriculum is that I BSed my way through that part of the test. Probably the reason it was there was so more people would have to spend money on taking the class.
Eye movements 'change scenes' during dreams
Sometimes it does, but often it does not:

printf("name: %s %s", first, last);

If it crashes, there's no easy way to know which one was NULL!