When it comes to composition and length, passwords mostly don't matter - deegles
https://techcommunity.microsoft.com/t5/Azure-Active-Directory-Identity/Your-Pa-word-doesn-t-matter/ba-p/731984
======
dillutedfixer
In my opinion, Microsoft's implementation of MFA on Office 365 (at least our
instance) is broken. SMS MFA is inadequate and should not be used, the SS7
network is apparently trivially hackable in some circles and text messages can
be rerouted. So they want us to use MS Authenticator, great. However the 365
login screen always has the "Sign in another way" option in which I can just
bypass the Authenticator app and use an SMS text. I cannot remove my mobile
number from my profile to disable the option to SMS text because they are
worried about me losing access to my app. I don't know if this is a limitation
of Office 365 through our VAR or what, but it just seems pointless to offer an
Authenticator app if there's an easy way to fall back to SMS and no way to
disable SMS. If someone has my password and can reroute my text messages, a
fancy shmancy Authenticator app is pointless. If this is not how it is for
others with 365 I would love to know that, I hope it's not a limitation or
policy put in place by our VAR.

~~~
djakjxnanjak
Does anyone know if there’s a way to prevent your SMS from being rerouted, or
get a special protected number?

The ability to do this would not mitigate Microsoft’s responsibilities here,
but at least it would allow some people to help themselves.

~~~
red_phone
I'm not a subject matter expert, but a Google Voice number can be used to
receive texts and is protected by the relatively robust security of your
Google account.

~~~
kortilla
If the issue is the SS7 network, that won’t help unless the originating text
is also in Google Voice.

~~~
testvox
That seems pretty possible though, if SS7 is the only issue then providers of
2factor SMS auth should just have a number on each network and when a 2factor
request comes in they should determine what network its being sent to and then
actually send the SMS from the number they have on that network.

------
mquander
I think the thesis of this article is rather forced. The actual claim is
something like:

"Passwords don't matter, as long as your password isn't in the top few dozen
common ones, it's not in any credentials breach accessible to attackers, it's
longer than 8 characters or so, and you don't reuse it."

That was a lot of criteria that seemed to matter, if you ask me.

~~~
padobson
And also "Passwords don't matter as long as you aren't important enough or
connected to a person or organization important enough to try more than the
most routine password vulnerabilities"

~~~
mikekchar
That would be a shocking statement to make. However, I don't see anything like
that in the original article. Did I miss it somewhere?

~~~
H8crilA
Yes for example in password spray - attackers often try just < 20 passwords.
If your account is high value they could try a lot more.

~~~
mikekchar
But the original article literally never says that. It doesn't talk about the
"value" of different kinds of accounts at all (and I just reread the "Spray"
section to make sure I didn't miss it).

It would be incredibly naive to think that one account has significantly more
value than another because once you are in the system, your ability to
compromise it skyrockets -- no matter what kind of account you have. Sure,
you're probably trying to work your way up to administrative account level,
but there are _so many more_ local attacks than remote attacks that it isn't
even funny.

I'm not sure there is an accusation that the article is being naive in this
way or not (there seems to be some confusion). It would be really shocking to
see a blog post from Microsoft talking about security that would say something
so naive. But as far as I can tell, they didn't.

------
rkagerer
_If you are using a password manager, use the maximum possible length –
there’s no usability downside if you are already cutting and pasting._

That's fine and dandy until you need to manually type it in somewhere (e.g.
reading it from your phone, typing it in on another device). Has this guy ever
even used a password manager? He understands how they work in theory, but in
practice it's not always quite so clean. Humans will be human.

~~~
sxates
The best is typing that 20 character mixed-case-plus-numbers-and-symbols
password for Netflix into your TV app using an on screen keyboard and
directional arrows...

~~~
function_seven
This is a huge benefit of AppleTV and having an iOS device. When the password
is prompted for on the TV, my phone buzzes and I use the LastPass vault on the
phone to paste the gibberish automatically.

I'm sure there are similar schemes for other devices (Chromecast/FireTV?). But
when the TV itself is "smart", I bet it's infuriating.

~~~
testvox
Chromecast doesn't have its own UI or authentication, it just uses the
authentication of the device the stream was started from (being able to
delegate that is a requirement for chromecast support). So it solves the same
issue but in a very different way. Its a pretty clever solution but requiring
all interaction with your tv to happen through another computing device can
get annoying.

------
Someone1234
The number one reason I don't turn on MFA has nothing to do with the effort in
entering the MFA code/pressing a confirm button. The lifecycle of MFA is the
problem.

The backup/recovery options are just terrible. You either print out a sheet of
"one time codes" (which I need to not lose forever), my phone simply needs to
never break, or I need to configure an insecure recovery account (creating a
whole chicken/egg problem).

This is in no way mitigated by using physical keys either. Which can also be
lost/broken/stolen/etc. You still need recovery/backup.

Plus a ton of vendors allow customer support to trivially turn off MFA via
social-engineering, so what is the point? If people want MFA to be more
common, make the lifecycle better. Right now the backup/recovery situation is
all over the place and frankly bad.

~~~
mquander
I was blown away when I discovered that there was no way for me to export my
Google Authenticator TOTP secrets from my locked Android phone, since
unlocking it wipes the disk. I guess I will not make the mistake of not
immediately unlocking an Android phone again.

~~~
winrid
So what do you do? How did you get your account back?

~~~
paulie_a
I ran into a similar issue. I had 1100 dollars in an account secured by
authenticator and did not save the recovery codes when I set it up. I had to
jump through hoops to get it back, which is good.

But I didnt realize I would have to reset up every single code on
authenticator on the new phone. When you have a lot of accounts it's pretty
obnoxious even with recovery codes. It didnt help that google support directly
told me that they would be automatically be restored on the new phone along
with the rest of the settings.

------
default-kramer
> Your password doesn’t matter, but MFA does! Based on our studies, your
> account is more than 99.9% less likely to be compromised if you use MFA.

I'd be much more interested what that percentage is when you only consider
people who use password managers. (Which is not to imply that MFA isn't good.)

~~~
q_queue
Furthermore many sites make it difficult to use a password manager because
it's hard to block automated password guessers and not interfere with password
managers trying to enter passwords.

~~~
neotek
My old bank used to "encrypt" your password as you typed it into the input
field, on keydown it would take the character you typed and — and I'm not
making this up — _ROT13 it_. This had the effect of making it impossible to
paste anything into the input field since the script would capture your ctrl+v
and replace it with the letter "i".

The icing on the cake is that when I called to complain about it, the support
agent insisted in very sombre tones that it was a measure to stop keyloggers.
I don't use that bank any more.

~~~
gruez
>since the script would capture your ctrl+v and replace it with the letter
"i".

not an issue on firefox because you can toggle the
dom.event.clipboardevents.enabled to false, and sites won't be able to hijack
your pastes.

~~~
neotek
The only problem with that is that the stupid ROT13 step wouldn't be performed
so the site would reject your login attempt anyway. It was one of the dumbest
design decisions I've ever seen, honestly.

~~~
Zancarius
I'm guessing the solution would've then been to 1) disable the update event
and 2) paste the ROT13'd password, either into the browser or into the input
field value via the inspector.

Like you, whenever I run into sites that do weird things like that, I always
find it hard to shake a bit of suspicion about how their backend is
implemented (or not, depending on the case). For instance, when they start
rejecting characters like "%" or "'" which have special meaning in SQL. I
can't help but wonder if they're storing things in plain text.

I've run into at least two vendors I can think off the top of my head that
limit what characters you can use for a password. That always makes me uneasy,
and I don't buy anything from them on principle. Who knows what else they're
doing that's not immediately obvious.

------
danShumway
> Based on our studies, your account is more than 99.9% less likely to be
> compromised if you use MFA.

An important thing to remember here is that MFA works _with a password._
Otherwise, that 99% goes down dramatically because I can just steal your
phone/Yubikey/whatever.

This article isn't suggesting that we get rid of passwords. It's suggesting
that the energy we spend making sure that passwords are _good_ would be better
spent encouraging users to enable MFA.

In other words, having two relatively weak authentication mechanisms that must
be used in tandem is still better than having one strong authentication
mechanism.

~~~
Spivak
> Otherwise, that 99% goes down dramatically because I can just steal your
> phone/Yubikey/whatever.

If this were true your car would probably get stolen a lot more often. You're
less secure from targeted attacks from people who know you IRL but that's a
lot rarer than the attacks you'll actually encounter.

~~~
danShumway
Eh... cars are really big. A better way of phrasing this is, "if this were
true, your wallet/phone would get stolen a lot more often."

But aren't wallet/phone thefts relatively common?

> You're less secure from targeted attacks from people who know you IRL

I'm also not completely certain this is true. If a YubiKey is the only thing
securing most people's accounts, I don't need to target you. I can walk into a
coffee shop, or locker room, or office and steal as many YubiKeys as I can
find.

And then I can check later whether or not any of them are linked to bank
accounts. I don't know the stats; are most petty wallet/phone thefts targeted?

~~~
kortilla
A wallet is useful to a thief, a yubikey is not.

There is little overlap between petty thieves and people trying to get into a
particular target’s account.

~~~
danShumway
> There is little overlap between petty thieves and people trying to get into
> a particular target’s account.

But isn't that the point? There's little overlap because right now we have a
multi-factor system where stealing one part of the authentication mechanism
from a random person in the street isn't enough to get into their account.

If everyone's account is secured with just a YubiKey, then you don't have to
target a specific person. What's to prevent any petty thief from grabbing a
bunch of wallets and/or YubiKeys, walking into a library, and just checking a
few of the most common banks to see if any of them log in?

Maybe I'm missing something? It's not clear to me why an MFA attack would ever
need to be targeted in a world without passwords. I guess maybe you're hoping
that petty thieves can't figure out your username? But that's just treating
your username like a password.

For a lot of bank accounts, your username will be some variant of your first
and last name, which is helpfully printed on the drivers license in the wallet
I just stole. I don't need to know who you are beforehand.

------
methodover
This is a good article. However, in regards to credential stuffing:

> Some guidance says to ban all passwords on this list. Try that and see how
> successful your users are at choosing passwords at all.

We're doing that. We don't let you choose any password that's been discovered
in a prior breach.

Did Microsoft implement the same thing and discover a high rate of users
bouncing off the registration page?

~~~
jessriedel
Do you guys specifically alert the user that the password has been exposed
publicly? If I got that sort of message, I would be grateful to the website
rather than annoyed I couldn't use my favorite password.

~~~
zaroth
Not the password _for you_ , just that password, for someone, on some site,
ever.

If that’s happened thousands of times, sure, that’s the sign of a relatively
common/weak password. If it’s happened once? I’d be frustrated if I was trying
to pick something memorable and got stuck because of that.

~~~
jessriedel
Yes, I understand it was whether it's exposed anywhere, not just for this
user. If it was someone else's password, I would still find it super valuable
information to know I'm using something that's common enough to have been used
by a stranger.

------
oceliker
This is somewhat unrelated, but I think the Microsoft 2FA (in Outlook, Skype,
Xbox, etc.) has a lot of unnecessary friction.

After entering my password, the app usually takes me to a second page where I
am required to type out my email address. I'd much rather prefer that I get an
email immediately, because the way things currently are, I won't be notified
of any attempts that breach my password but not my 2FA. It provides no
perceivable security benefit to me (and if someone did hijack my email
account, then they know my address anyway).

If I pick the text message option, then (after confirming my number the same
way as above) I get a 7-digit code. For some odd reason, I find it much more
difficult to remember a 7-digit code than a 6-digit one, which seems to be
standard for most other companies. I don't see any extra security benefit in a
longer 2FA code, but maybe there's a valid reason for this one.

The issues above are mildly annoying on a PC. In an Xbox, however, with the
onscreen keyboard, it honestly makes me want to throw my console out the
window.

~~~
will4274
> It provides no perceivable security benefit to me (and if someone did hijack
> my email account, then they know my address anyway).

I think you're over focused on targeted attacks. Consider: some company gets
hacked. Hackers take the credential list, try all the passwords for @outlook
accounts against Microsoft using cloud VMs to avoid IP blocking. If Microsoft
displayed the full email address without having the user re-type it, the
attacker has now discovered the TFA email address and will try the same hacked
password against that (usually Gmail) account. If Microsoft displays nothing,
users with multiple emails get confused about which inbox to check. Displaying
a starred out email address and asking for a re-type solves both problems. It
also prevents Microsoft from having a huge SMS bill each time a big company
gets hacked and the hackers try all the passwords.

The solution for Xbox is really for Xbox to use a flow designed for low input
devices, like the OAuth device flow which allows you to do all the typing on
your computer of cell phone, not the Xbox controller.

~~~
oceliker
> Displaying a starred out email address and asking for a re-type solves both
> problems.

Sure, but why not simply show the starred out email without asking for the re-
type?

I agree with the Xbox idea, that would perfectly solve the problem.

------
TimTheTinker
Note this is from the perspective of a security decision maker, like an IT
administrator. Policy-wise, users can't be forced or trusted to create
excellent passwords on their own.

But as an individual, your passwords do matter. It makes a world of a
difference to use a password manager and long, completely random passwords -
such passwords are immune to all sorts of cracking attempts, and using them
can often make MFA unnecessary/redundant (though using MFA always reduces your
personal attack surface).

~~~
smacktoward
The point of the article is that many common attacks work just as well against
completely random, unique passwords as they do against weak/reused ones. If
you get phished, it doesn't matter if your password is strong. If your machine
has a keylogger on it, it doesn't matter if your password is strong. Etc.

Lots of attacks boil down to the attacker convincing you to unknowingly
divulge your password, and if that password is the only thing securing your
account, you're boned no matter how strong it is.

~~~
TimTheTinker
> unknowingly divulge your password

What's to keep you from unknowingly divulging your MFA token's current
generated code?

You're right that being phished/keylogged pwns a password-only account no
matter how strong the password, but MFA isn't immune to
phishing/keylogging/clipboard stealing either. Yes, the generated code will
only give them access for 30 seconds (or whatever the algorithm's time
window), but that's more than enough time for an attacker to get substantial
work done.

I maintain that strong passwords in a password manager are probably good
enough for security-conscious/appropriately skeptical people. For folks like
that, MFA likely isn't worth the trouble - at least not quite yet.

~~~
jarfil
My main gripe with MFA, is that once you have 20+ services each one with a
different token, it becomes tedious to sift through them to find the right
one. I'd much rather have some MFA app capable of detecting where you're
logging in, and a "click to authorize" option.

That wouldn't completely stop someone from being able to steal the token, but
it would thwart most simple keyloggers.

~~~
TimTheTinker
1Password has that :-)

So if you auto-fill on a login page, it will place your username, password,
and 2FA codegen into the site's authentication fields. It will _not_ auto-
suggest a login if you're not on the site it originated from - which is often
enough to cause people to take a second look at the URL (which really helps
thwart phishing).

Plus, it sends your authentication info to the browser via a secure connection
to the 1Password browser extension, so (a) your credentials can't be
keylogged, and (b) they never touch the clipboard, so they can't be stolen
from there either.

But all of that is also true of non-MFA logins from 1Password. So again, I
don't see the added benefit of MFA if you're already using 1Password with long
random passwords.

------
mnm1
This kind of shit coming from Microsoft is fucking rich. Then why do I have to
change my password constantly on outlook and get routed to at least two
different types of password change servers, one with rules stupider than
another? Especially when I'm trying to use a password manager with a strong,
long, random password and they are preventing me from doing so with their
shitty UX and their limitation on characters? They should take their own
fucking advice because you know what else reduces security? The stupid
bullshit I described above. Now I just use a base password (that's probably
been compromised) and increase the last digit by one each time. Insecure? You
betcha. But it's for work and it was work's decision to use outlook so not my
problem. Microsoft should either shut the fuck up about this shit or fix their
own fucking systems. Of course it doesn't matter what password you use in such
a shit system (outside of a password manager generated one). And they have
intentionally created a situation that makes the passwords even less secure.

~~~
codeulike
Sounds like the place where you work has assigned some dumb password policies,
and has a clumsy federation setup for password changes.

~~~
mnm1
No, we have nothing custom set up. It's just Outlook 365. They send you to one
password change page sometimes and another at other times. They both have
different password policies. Microsoft is just shit as far as security is
concerned. Or it could be a bug. Either way, it's garbage and it encourages
not using a password manager and not using strong passwords since the length
is limited. I just wish they would shut up with their fucking research into
security if they won't bother to implement it themselves. Do as I say, not as
I do. That's Microsoft and frankly, I'm fucking tired of their stupid
bullshit.

------
DecoPerson
If we start thinking passwords don't matter, we go back to single-factor
authentication.

What makes the "second" factor in 2FA more secure than the first? Is that it's
usually a time-based generated key? Or is it that users usually use a physical
device for this second key, hence removing a lot of internet-only attack
vectors?

~~~
closeparen
TOTP and U2F both perform a single authentication from a captive secret,
rather than revealing a reusable secret.

U2F does even better, and ensures you are authenticating to the right website,
not an intermediary.

If we eliminated passwords in favor of onboard U2F chips, we'd be much better
off than today, though not as amazing as U2F + passwords.

~~~
tialaramex
Arguably what's inside a U2F/ FIDO token isn't a secret but a private value.

The TOTP secret is known to the authenticator, they calculate the same TOTP
value as you to verify that yours is correct.

In U2F / WebAuthn the device just proves it still knows a private asymmetric
key that it can use to sign messages, the authenticator learns the _public_
key, but not the private one, it can authenticate these signatures but not
produce its own.

To deliver pseudonymity the device doesn't use a single public/private pair
for everything but instead generates them randomly from a seed or key it knows
and _this_ private value is what makes your FIDO Security Key different from
my FIDO Security Key so that you can be authenticated, whilst not making it
possible to fingerprint you and see where else you use these credentials.

Single Factor FIDO is a thing, Microsoft offers it. The device takes a PIN
(something you know) and incorporates that into the results, so that anyone
who doesn't know the PIN now can't authenticate even if they've stolen your
Security Key. You need a suitable device, the Yubikey Security Keys with a "2"
emblazened are suitable.

------
Thorrez
The article seems to contradict itself. The table says password strength
doesn't matter for brute force unless you're using an unusable password. But
then in the conclusion it recommends you use a 9+ character password because
that protects you from brute force.

~~~
willvarfar
yeah. What the table needs is a column of how to mitigate each risk. Besides
MFA, there's also all the things that the very first para says aren't
important, e.g. avoiding password reuse (HIBP is now a Microsoft thing)

------
Anonymous4C54D6
This article is slightly inconsistent.

All those arguments for why a password's strength doesn't matter because the
attackers gets the exact one have one important conclusion: Don't reuse your
password.

And then there are a bunch of arguments that the strength mostly doesn't
matter but the password shouldn't be _too_ weak.

So we end up with having to remember lot's of non-trivial passwords and now
the conclusion should be to use a password manager and certainly not that your
password "mostly doesn't matter".

What sadly mostly still doesn't matter is MFA because it is a site-specific
pain to set up and use.

------
kerng
There is some very bad analysis or interpretation done here.

Just with one or two minor tweaks the analysis falls flat.

For instance, they seem to only look at mass scale script kiddie sprays, a
targeted attack will likely not use the mentioned passwords. As one can come
up with much better and more likely to succeed candidates.

It also entirely misses attacks that come from a more privileged position
(like in Windows directly authenticating to the domain controller) where an
adversary can do millions of attempts in short time because of typical
monitoring gaps.

------
pier25
> _500M is ½ a billion, home rigs can run 100B guesses a second – so that
> complete list just takes 5ms to try._

5ms?

It would take more than that to just read the 500M passwords into memory, no?

~~~
floo
Well yeah. But you, presumably, only have to do that once. After that you get
5ms per account, which seems to be the important takeaway.

~~~
pier25
But even then, 5ms seems extraordinarily fast on a home machine.

A couple of years ago I tried to bruteforce my WPA wifi handshakes and also
played a bit with Hydra and I don't think I got even close to such speed.

------
dusted
Which is why we use hardware password managers and randomly generated unique
passwords for every account. _pets finalkey_


Show HN: Hacker News For Money - davidsmith8900
http://www.boredbanker.com/

======
czbond
Absolutely awesome. I see myself spending a lot of time on this.


Smithsonian Releases 2.8M Images into Public Domain - ChrisArchitect
https://www.smithsonianmag.com/smithsonian-institution/smithsonian-releases-28-million-images-public-domain-180974263/
======
blackbrokkoli
Aw, man!

I really don't have anything substantial to say, but this is incredibly
refreshing: No dark patterns, no marketing ploy, no signup, no bullshit. No
licenses, no traps, no business interests!

Javascript not required, but smooth UI & UX! Just pure knowledge. API access;
millions of files! Works right down to Lynx, an has a 3D previewer which is
smooth and gentle to my mid range laptop.

I think this is gonna be my new example if someones says that commerce & ads
are the backbone of the internet. If anyone of the responsible people happens
to read HN, please continue to do good in the world!

~~~
zacharycohn
This is a great example of tax dollars at work. The Smithsonian is part of the
United States government.

~~~
wpasc
It's a 501c3 which is ~half funded by taxpayers and half funded by
philanthropy. Almost like it forces you to recognize the benefits of both
types of funding

~~~
xxpor
I think it's more complicated than a pure 501c3. Their vehicles get US Gov
licence plates from the GSA.

~~~
TkTech
Indeed, the Smithsonian is completely unique under US law[1].

[https://www.si.edu/ogc/legalhistory](https://www.si.edu/ogc/legalhistory)

------
carapace
[https://www.si.edu/openaccess](https://www.si.edu/openaccess) The actual
thing.

> Welcome to Smithsonian Open Access, where you can download, share, and reuse
> millions of the Smithsonian’s images—right now, without asking. With new
> platforms and tools, you have easier access to nearly 3 million 2D and 3D
> digital items from our collections—with many more to come. This includes
> images and data from across the Smithsonian’s 19 museums, nine research
> centers, libraries, archives, and the National Zoo.

------
nessunodoro
If you're into natural history, search the 3D models. The in-browser viewer
works great.

[https://www.si.edu/object/3d/490b6301-3869-455a-ba71-a89f5b6...](https://www.si.edu/object/3d/490b6301-3869-455a-ba71-a89f5b6c482c)

~~~
dTal
Holy crap. "Works great" doesn't do it justice. I'm on mobile and I was not
expecting a buttery-smooth, photorealistic, flawlessly erogonomic multitouch
experience with an abundance of advanced powertools like section analysis.
That thing would be one of the most impressive _apps_ I've ever seen, never
mind Web Apps!

I want this as a Jupyter plugin, very badly.

(where do I find more examples? The viewer is a work of art but did I miss the
hyperlink to "more cool stuff"?)

(edit: [https://3d.si.edu/](https://3d.si.edu/) )

~~~
yorwba
Looking at the source, it seems like their viewer is based on OpenSeadragon:
[https://openseadragon.github.io/](https://openseadragon.github.io/)

~~~
framefactory
Voyager, the 3D viewer uses Three.js for WebGL rendering and a custom
entity/component architecture for both the scene tree and the general
architecture of the application. The UI is built using custom Web Components
with the help of LitElement and LitHtml. The viewer itself is a web component
and super easy to embed.

The tool suite also provides an authoring environment for annotating and
editing scenes. Documentation: [https://smithsonian.github.io/dpo-
voyager](https://smithsonian.github.io/dpo-voyager). Contributions are very
welcome!

Full disclosure: I'm the developer of the Voyager 3D suite.

------
tzfld
How much time until getty start sending copyright notices on these?

~~~
raister
What if someone created a service like "do I need a license for using this
image?" \- the system search by image somewhere and return its availability in
the public domain (perhaps someone already thought of this though, it's too
obvious...

~~~
ShorsHammer
Not universal, but here they seem to be using iiif, you can simply add
info.json after the identifier path and get the licensing info.

------
wst_
This reminds me of Polish National Library web site. They did the same thing
some years ago. They went into great effort to scan and publish digitally huge
amount of books, publications, postcards, images, etc. Some books are
centuries old. A lot of Polish content but not only. Have to admit, looking at
old prints is a magical experience to me.

[https://polona.pl/](https://polona.pl/) (change language on the bottom)

Edit: I can see now, both, Smithsonian and National Library of Poland are part
of the IIIF Consortium.

------
anigbrowl
Getty's litigation department is gonna be so busy

~~~
kkotak
This.

------
lootsauce
Is there a comprehensive list of all such large collections that have been
made available. I recall the Metropolitan Museum of Art released hundreds of
thousands of images a while back.

~~~
lootsauce
Ah here is prior discussion on the Met release
[https://news.ycombinator.com/item?id=7781846](https://news.ycombinator.com/item?id=7781846)

------
simonsarris
This is great.

I keep a list of 'High Quality Collections of Digitized Art and Archival
Finds' and will add this one.

[https://simonsarris.com/art-collections](https://simonsarris.com/art-
collections)

~~~
lootsauce
Here is a great collection of maps you might want to add.

[https://www.davidrumsey.com/](https://www.davidrumsey.com/)

License there is CC BY-NC-SA 3.0

~~~
simonsarris
Thanks, this very cool.

------
acd10j
How can we prevent sites like Getty images to claim copyright on these images
and suing users who use these images ?

------
gowld
"Releasing to the public domain" isn't something that can affirmatively be
done. The best you can do, which Smithsonian did, is CCO

[https://creativecommons.org/publicdomain/zero/1.0/](https://creativecommons.org/publicdomain/zero/1.0/)

Thanks to Creative Commons team for teaching the government how to do its job
.

~~~
chipsa
Unless you're the US government, in which case everything is public domain. A
copyright cannot be claimed on USG work product.

~~~
zozbot234
Assuming that you _actually_ control the copyright, of course. This used to be
(and may still be) a significant issue wrt. the Smithsonian itself; they host
all sorts of content on their websites for which the actual copyright-
ownership situation was apparently entirely unknown (to the Smithsonian
themselves and anyone else).

------
billfruit
Looks like you one needs to use a search box to view images. Though it is
being provided free of cost, and one shouldn't count the teeth of a gift
horse, it would have been better if there was some type of catalogue to see
what exactly is in the dataset.

------
stfwn
This is awesome!

I typed in 'jazz' and got a page on Charlie Parker's saxophone, a King Super
20. It has 8 very high quality and nicely composed photos that you can
download in TIFF format, some up to ~300MB in size. Each photo has a detailed
description in text, as well as the dimensions of what's seen in the shot,
info on when/where it was made and by whom and lots more! What a great
project.

[https://www.si.edu/object/nmaahc_2019.10.1a-g](https://www.si.edu/object/nmaahc_2019.10.1a-g)

E: One of the images has already been added to the Wikipedia entry for Charlie
Parker a couple of hours ago. How cool is this data set.

------
nomercy400
..and Getty gains 2.8M images they can use to send copyright infringement
letters...

------
reaperducer
"CC0 only applies to copyright so you may still need someone else’s permission
to use a CC0-designated digital asset."

So, not actually "public domain," but about as close as we get in 2020.

~~~
colonwqbang
No that's not how I read it at all. A museum doesn't originate anything, they
get donations. "You may need someone else's permission" because the
Smithsonian doesn't guarantee that noone else in the world has a (good or bad)
IP claim to one of the donations.

That's the kind of guarantee that you will never get unless you pay for it.

~~~
nl
_You may need someone else 's permission" because the Smithsonian doesn't
guarantee that noone else in the world has a (good or bad) IP claim to one of
the donations._

That's not the intention of CC0:

 _In contrast to CC’s licenses that allow copyright holders to choose from a
range of permissions while retaining their copyright, CC0 empowers yet another
choice altogether – the choice to opt out of copyright and database
protection, and the exclusive rights automatically granted to creators – the
“no rights reserved” alternative to our licenses._ ... _Dedicating works to
the public domain is difficult if not impossible for those wanting to
contribute their works for public use before applicable copyright or database
protection terms expire_ ... _CC0 helps solve this problem by giving creators
a way to waive all their copyright and related rights in their works to the
fullest extent allowed by law._

In this case Smithsonian seems to have done the work to make sure they are out
of copyright, and now they don't reserve any rights to the work.

[https://creativecommons.org/share-your-work/public-
domain/cc...](https://creativecommons.org/share-your-work/public-domain/cc0/)

------
riazrizvi
Tax dollars, invested into an institution that creates a public good, that is
then made available to the public, where any entrepreneur can recycle it for
profit and create more tax revenue. Beautiful fair capitalism at its finest!

~~~
oblio
What's "fair capitalism"?

~~~
riazrizvi
Systems that encourage money to move into the hands of people that earn it, as
opposed to lucky people who were born into it. Key examples of fair capitalism
boosters (all be them for limited groups of people): 1217 England (Magna Carta
for English lords), 1618 North America (when the Virginia Company introduced
profit sharing for white settlers in the failing Jamestown), 1688 England (the
Glorious Revolution for property owners), 1776 North America (where the new
USA codified equitable rules for European men).

In all these cases Royal monopoly power was curtailed, allowing more people
the opportunity to profit from their efforts. And there were relative economic
booms as a result. But we strangle growth when we reinforce monopoly power, or
when we reinforce laws that keep money in the hands of people that didn’t earn
it (and also strengthen the political power that money alone has).

When monopoly power is a temporary reward for innovators, it works. Anyone
that seeks to extend the time limits of monopoly powers beyond the sweet spot
is trying to restore one of those unfair capital systems that kill economic
development. They generally don’t care because for them, it is about enriching
themselves whatever the cost to society.

------
bluedino
Torrent?

~~~
toomuchtodo
I asked for a data dump via email, waiting to hear back. Ripping it all out is
going to cost someone a pretty penny since it's hosted in AWS, better to ask
someone to fill and ship some SATA drives. Then off to the Internet Archive!

~~~
zorm
I saw a companion AWS blog on this:
[https://aws.amazon.com/blogs/publicsector/smithsonian-3-mill...](https://aws.amazon.com/blogs/publicsector/smithsonian-3-million-
images-smithsonian-open-access-initiative/)

Looks like its part of the public dataset program so you can probably just ask
for the bucket name and get full free access to everything.

~~~
peatmoss
I can confirm that this dataset is indeed part of the AWS Public Dataset
Program. We were finalizing some details, but this dataset is now listed in
the Registry of Open Data:

[https://registry.opendata.aws/smithsonian-open-
access/](https://registry.opendata.aws/smithsonian-open-access/)

Enjoy! I’m personally very excited about this dataset, and couldn’t be more
impressed with the people, mission, and, well, everything at the Smithsonian.

Source: I work on the AWS Open Data team / had a small role in this (normal
lawyerspeak caveats apply that my views and opinions are my own)

~~~
toomuchtodo
Thank you!!

------
projproj
Oh, cool. They have a search API. I'll plan to add this as a source to
canweimage.com.

~~~
nessunodoro
OT- Neat, have you considered incorporating non-Wikimedia Commons images in
your public domain-only search? Flickr in particular has a surprising amount
of quality highres images that the authors have released into the PD.

~~~
zozbot234
> Flickr in particular has a surprising amount of quality highres images that
> the authors have released into the PD.

Arguably, such images should be mirrored onto Commons ASAP (if they plausibly
have educational value and are PD in most of the world). It is unwise to rely
on a single profit-oriented company like Flickr to keep hosting this sort of
stuff for the foreseeable future, whereas Commons is independently supported
and specifically intended as a host for permissively-licensed media content.

~~~
carlinmack
there are bots that patrol Twitter, upload permissive content with the correct
attribution and link back to the source. See more here:
[https://commons.wikimedia.org/wiki/Commons:Flickr2Commons](https://commons.wikimedia.org/wiki/Commons:Flickr2Commons)

------
cenkozan
While there, think of subscribing to their mail list as well! Unbelievably
good!

~~~
gxnxcxcx
The si.edu list or the smithsonianmag.com one? Maybe I'll try both just to be
sure. :)

------
ilamont
Using these images may not be so easy on established media platforms. Amazon,
for instance, screens ebooks for PD content.

------
peter303
How many 'Library of Congress' datasets is that?

1 LOC = 15 TB according to google

------
russfink
Inverted Jenny ... flex much? (J/K - awesome gallery!)

------
markdown
The search feature seems to be getting a hug of death.

~~~
lerie1982
API is handling well, give it a go.

------
ryan_lane
CC0 license on assets, which is pretty great.

------
lerie1982
The API is great.

~~~
danem
Link to the API docs? I can't find them.

~~~
adventured
[https://edan.si.edu/openaccess/apidocs/](https://edan.si.edu/openaccess/apidocs/)

------
alexcnwy
Very cool

------
botwriter
Until Getty starts suing people for using them!

------
Koshkin
> _for patrons_

~~~
gjm11
I don't think that means anything like "for people who have physically visited
the Smithsonian" or "for people who pay us some sort of subscription"; if you
use their website then you're a patron in the relevant sense.

Their webpage says "Welcome to Smithsonian Open Access, where you can
download, share, and reuse millions of the Smithsonian’s images—right now,
without asking." And everything's CC0-licensed.

------
WalterBright
> and forbidding commercialization

It's nice to see the Smithsonian get over their distaste of the market economy
in the US.

~~~
thaumasiotes
Well, not quite.

> the Smithsonian is featuring less than 2 percent of its total collections in
> this initial launch. Much of the rest may someday be headed for a similar
> fate. But Kapsalis stresses the existence of an important subset that won’t
> be candidates for the public domain in the foreseeable future, including
> location information on endangered species, exploitative images and
> artifacts from marginalized communities.

> “The way people have captured some cultures in the past has not always been
> respectful,” Kapsalis says. “We don’t feel we could ethically share [these
> items] as open access.”

If they don't trust you to think the right things about their artifacts,
they're not letting you use those artifacts.

~~~
zozbot234
> If they don't trust you to think the right things about their artifacts

It's not about you or us, it's about anyone who might complain that the
Smithsonian Institution is (as they see it) "endorsing" unethical practices by
releasing that particular content (a minor part of what they currently hold,
since "much" is in fact up for release) out in the open. Whether people "think
the right things" about the Smithsonian's actions can have real consequences,
so it makes sense for them to care quite a bit about that.


At the World's First Cybathlon, Proud Cyborg Athletes Raced for the Gold - timgluz
http://spectrum.ieee.org/the-human-os/biomedical/bionics/at-the-worlds-first-cyborg-olympics-manmachine-hybrids-raced-for-the-gold
======
pilom
Video highlights from the event and from the pre-trials:
[http://www.cybathlon.ethz.ch/en/for-the-media/video-
gallery....](http://www.cybathlon.ethz.ch/en/for-the-media/video-gallery.html)

------
kensai
I was there! :) They have many photos on their Facebook pages, go check them
out.

------
ourmandave
You can't spell Cybathlon without Cylon!

#SoSpellWeAll


How I made six figures coding the year I dropped out of school - sunjieming
https://lambdaschool.com/how-i-made-six-figures-coding-the-year-i-dropped-out-of-college
======
austenallred
I think if I left my pregnant wife for three months she'd kill me

~~~
sunjieming
Yeah, it was really hard on our relationship. I work from home now though so
that has helped heal any damage that was done.

~~~
ryanallr
What if you left your fiance to sleep in a car for 3 months?


Boeing's 737 NG was manufactured using unsafe structural components (2010) - the_fonz
https://www.flyertalk.com/forum/practical-travel-safety-security-issues/1201276-aljazeera-claims-737ng-structurally-unsafe.html
======
mjevans
I think there are two things that would actually satisfy me at this point.

Audited by an independent (E.G. EU's) agency, with open records...

EITHER: A review of the actual paper trails and sources of the news story and
build logs.

OR: A randomized sample of like 5-10% of the planes from the suspect time
range looking at the suspect parts in question.

~~~
spectramax
Are you suggesting that you’d rather trust EU agency than FAA?

I think FAA had a fantastic record until this whole MAX PR nightmare - they’ve
certainly damaged their reputation. But I feel like domain experts at Boeing
or Airbus definitely are going to have an edge vs a lowly paid government
auditor. EU’s agency or whatever are still going to have to rely on Boeing
engineers input.

Having worked in the aviation industry (I was designing C-130 fuselage
section) as a Mechanical Engineer, I can tell you that the whole enterprise
sometimes feels like it’s supported on stilts, it’s a house of cards.

~~~
mjevans
I'm saying that, BECAUSE of the loss of trust, yes. I currently would prefer
the EU to review US made air-frames, and the US to review EU made air-frames,
with the results open and reviewed by the other global agencies.

~~~
fmajid
As do the Ethiopians. They sent the black boxes to the French NTSB, clearly
they don’t trust US investigators not to be leaned on by Boeing.

In any case the root cause of the problem is Boeing cheaper out on the Angle
of Attack detector, by default only one is installed, a second one as an
added-cost option. To be fault-tolerant, you need a quorum and thus a minimum
of 3, as Airbus does. I would also add the 3 need to be made by different
manufacturers to avoid systemic issues, if disk array manufacturers can do it,
so can Boeing for safety-critical equipment.

~~~
salawat
>Boeing cheaper out on the Angle of Attack detector, by default only one is
installed, a second one as an added-cost option.

This is incorrect.

The 737 MAX 8 comes with two AoA vanes.

The paid upgrade package is to wire them both into the flight computer, and to
add an AoA disagree notification light.

>To be fault-tolerant, you need a quorum and thus a minimum of 3, as Airbus
does. I would also add the 3 need to be made by different manufacturers to
avoid systemic issues, if disk array manufacturers can do it, so can Boeing
for safety-critical equipment.

This is correct, but not infallible. It's really complicated as the last
batches of discussion here have gone into great length on.

Boeing fubar'd by not accurately categorizing MCAS as a safety-critical
system, as their original classification was "Hazardous" instead of
"Catastrophic".

The original implementation had only +/\- .6 degrees authority. After the
paperwork was filed, they upped the gain to 2.5 degrees up to maximum trim
down over time, without reclassifying the subsystem as safety critical.
Therefore no-one ever made sure that subsystem chain was bulletproof.

------
rurban
Reiteration of the whistle blowers lawsuit from 2005.
[https://www.pprune.org/archive/index.php/t-195565.html](https://www.pprune.org/archive/index.php/t-195565.html)


Ask HN: Test coverage in side projects - Jackypot
Have you guys noticed a difference in the number of tests you are inclined to write for your side project stuff as opposed to at work?<p>I have noticed that I write significantly fewer for my side projects. Is this normal or am I being lazy/reckless?
======
pizza
It's probably worth it if you work on the side project regularly enough for it
to occasionally regress in known faulty ways. Otherwise I wouldn't worry about
a more low-maintenance approach.

------
pmontra
Don't feel alone. I usually have much less time to work on my side projects
than on customers projects so I tend to bang things together quickly. And so I
write much less tests.


Tell HN: Cricket Application for iPhone - Champions Cricket FREE - obaid
http://www.championsapp.com

======
obaid
Looking for reviews on the application. Thanks


CountUp.js - electic
http://inorganik.github.io/countUp.js/

======
zackbloom
You might also want to look at Odometer:
[http://github.hubspot.com/odometer/docs/welcome/](http://github.hubspot.com/odometer/docs/welcome/)

~~~
ianstormtaylor
Wow, really nicely done on that landing page. Curious, why'd you make the API
depend on a class name instead of assuming something more common like:

      odometer(el, 42);

~~~
zackbloom
We've been having fun building things lately with transparent APIs. e.g. You
drop Pace[1] in a page, and it figures out how to create a progress bar from
it.

Odometer is nifty in this way because you can still just set the value with
innerHTML or .html, and it will animate it, so the overhead of adding it
becomes just adding the class to whatever elements you'd like.

You can actually also manually instantiate one pretty much exactly as you
described:

        new Odometer({el: el, value: 42});

[1] -
[http://github.hubspot.com/pace/docs/welcome/](http://github.hubspot.com/pace/docs/welcome/)

~~~
ianstormtaylor
Wow, Pace just blew my mind. You guys are releasing some really awesome stuff
:) random other thing is would be sweet if these were component[1] friendly.
(Dunno if you've already checked out component, but it is insanely good for
front-end work.)

One pattern I picked up from reading TJ's code is the transparent
constructor...

      odometer(el).value(42);

...which I like using to make things that share a bit of state, but are still
one-offs, a bit terser. (Coupled with avoiding options objects in general.)
Achieved with the following:

      function Odometer (el) {
        if (!(this instanceof Odometer)) return new Odometer(el);
        ...
      }

[1]
[https://github.com/component/component](https://github.com/component/component)

~~~
zackbloom
We try to include component.json files, but we don't use component, so it's
usually left to a benevolent pull-requester. We've been using bower more and
more, and liking that a lot, but it's essentially arbitrary. It's a bit
annoying that npm, bower and component all require their own files to say
essentially the same thing.

I agree with wrapping the constructor function. Requiring the consumer to
remember new adds one more tripping point for users. In this case, I suppose
my thought was that the manual-creation path was such a small percentage of
users that it wasn't a huge deal.

------
niceguyneil
Suggestion: allow passing in target as a DOMElement, rather than by id. That
makes this more useful when template rendering in done off-DOM, or when IDs
aren't used.

~~~
zackbloom
If it's an object treat it as a dom node, if it's a string, run it through
document.querySelector.

------
inorganik
Thanks to the open-source community, a bunch of improvements and fixes have
been made on this:

\- merged @lifthrasiir's PR. \- counts in both directions \- easing optional
\- supports IE8 \- optional callback on animation complete \- coffeescript and
minified versions available

------
agildehaus
If I have it count up to 1 in 20 seconds, it only takes 10 seconds?

It also doesn't seem to be linear, which is fine, but there should be some way
to make it linear

And why just up? It'd be great if it could also count down.

------
Gigablah
Looks like the behaviour is limited to the first 2 decimals.

You can see this if you put 6 random decimal numbers and set the duration to
20.

I tried putting 10 decimals and it just shows a string of 0s after the 2nd
decimal.

~~~
lifthrasiir
Indeed. It should use the scaling factor of 10^6 (instead of 60). I have
submitted a pull req:
[https://github.com/inorganik/countUp.js/pull/2](https://github.com/inorganik/countUp.js/pull/2)

------
CatsoCatsoCatso
It makes the figure comma formatted, most excellent.

I've now implemented this in my ridiculous stock-market simulator game. Looks
fantastic. Many thanks OP.

------
kevinastone
Why would you set `user-scalable=no` but not re-flow for tablets? I really
wish Safari would provide an override for these incorrect viewport
declarations.

------
ricardobeat
Nothing happens on mobile safari, looks like the button is not clickable?

------
skrebbel
doesn't work at all on browsers without requestAnimationFrame support (e.g.
Opera 12). I guess that that's fine, but then better display the final number
instead of 0.

------
asqwe
so easing... really does this need to be library

------
the1
that easing


Intel Disables TSX Instructions - wglb
http://www.anandtech.com/show/8376/intel-disables-tsx-instructions-erratum-found-in-haswell-haswelleep-broadwelly

======
comex
Incidentally, it's obnoxious that the enthusiast K series CPUs always had them
disabled, as well as VT-d (IOMMU) and vPro. While the current implementation
of TSX may be immature, and mainly useful 'just' for hardware lock elision,
i.e. some percentage boost (although isn't maximizing performance the whole
point of K series?)... in principle it could eventually allow new models of
programming to be practical, without the huge overhead of STM, so it should be
as widely available as possible. And VT-d, while useful for server-level
virtualization (as the name suggests), is also required for security against
DMA attacks.

~~~
cclements
I agree, that's really annoying. Thankfully it looks like they may be slowly
introducing some of these features to the K line. The 4790k for example is the
first k chip that advertises support for VT-d. Still no vPro though.

[http://ark.intel.com/compare/80806,80807](http://ark.intel.com/compare/80806,80807)

------
JoshTriplett
Everybody still seems to be referencing the original news story, which in turn
referenced a tweet. Nobody seems to have a clue what the actual errata is;
looking forward to seeing the explanation of the bug and the conditions under
which it can occur.

------
kazinator
Much discussion under this four-day-old submission:

[https://news.ycombinator.com/item?id=8168569](https://news.ycombinator.com/item?id=8168569)

~~~
acqq
My favorite comment there:

[https://news.ycombinator.com/item?id=8169697](https://news.ycombinator.com/item?id=8169697)


US Supreme Court rules DACA rescission was unlawful [pdf] - andrewla
https://www.supremecourt.gov/opinions/19pdf/18-587_5ifl.pdf
======
rrss
Setting aside for a moment whether DACA is 'good' or not, this seems like a
bit of a strange decision to me. If rescinding DACA via memorandum was
unlawful as a violation of the APA, why was implementing it by memorandum
lawful?

I haven't yet read the entire majority opinion, and maybe it will change my
mind, but right now I tend to agree with Thomas:

> Perhaps even more unfortunately, the majority’s holding creates perverse
> incentives, particularly for outgoing administrations. Under the auspices of
> today’s decision, administrations can bind their successors by unlawfully
> adopting significant legal changes through Executive Branch agency
> memoranda. Even if the agency lacked authority to effectuate the changes,
> the changes cannot be undone by the same agency in a successor
> administration unless the successor provides sufficient policy
> justifications to the satisfaction of this Court. In other words, the
> majority erroneously holds that the agency is not only permitted, but
> required, to continue administering unlawful programs that it inherited from
> a previous administration. I respect-fully dissent in part.

~~~
ceejayoz
> why was implementing it by memorandum lawful?

Because both implementing it and rescinding it are potentially lawful. SCOTUS
hasn't ruled on that.

The Court simply says rescinding it _in a particular manner that violates the
Administrative Procedures Act_ is not lawful. It's a technicality; "go back
and try again". The administration didn't dot their Is and cross their Ts, so
they got a smack on the wrist for it.

~~~
rrss
but what's weird is that the Obama administration didn't 'dot their Is and
cross their Ts' either. The rescission of DACA has been held to this
"arbitrary and capricious" standard, but the implementation never was.

The Supreme Court declined to review the lawsuit that challenged DACA as a
violation of the APA (probably because the plaintiff didn't have standing). It
seems like the States that challenged DAPA will now challenge DACA on the same
grounds, so this decision is just the Supreme Court intentionally stalling -
the majority opinion is that the rescission is not sufficiently justified, and
it seems like whether the implementation was unlawful is pretty important to
decide whether the justification was sufficient.

~~~
ceejayoz
> what's weird is that the Obama administration didn't 'dot their Is and cross
> their Ts' either

This decision explicitly says otherwise; that they created a specific program
with specific requirements that follow the APA's rules.

> Based on this directive, USCIS solicited applications from eligible aliens,
> instituted a standardized review process,and sent formal notices indicating
> whether the alien would receive the two-year forbearance. These proceedings
> are effectively “adjudicat[ions].”

> In short, the DACA Memorandum does not announce a passive non-enforcement
> policy; it created a program for conferring affirmative immigration
> relief.The creation of that program—and its rescission—is an “action [that]
> provides a focus for judicial review.” Id., at 832. The benefits attendant
> to deferred action provide further confirmation that DACA is more than
> simply a non-enforcement policy. As described above, by virtue of receiving
> deferred action, the 700,000 DACA recipients may request work authorization
> and are eligible for Social Secu-rity and Medicare. See supra, at 3. Unlike
> an agency’s refusal to take requested enforcement action, access to these
> types of benefits is an interest “courts often are called upon to protect.”
> Chaney, 470 U. S., at 832. See also Barnhart v. Thomas, 540 U. S. 20 (2003)
> (reviewing eligibility determination for Social Security benefits).

~~~
enraged_camel
Yeah, that's one thing most people don't understand about Obama: he may have
issued a lot of executive orders, but his administration spent a considerable
amount of time on making sure the provisions and programs created by those
orders were extensive and thorough.

SCOTUS is basically saying, "nope, you can't just declare your predecessor's
work illegal and null and void and call it a day, you need to actually provide
good reasons for why each part is illegal and should be undone."

~~~
masonic
The Obama had the worst record of any administration at having actions
overturned by the Supreme Court... and having the most overturned
_unanimously_.

[https://freebeacon.com/politics/study-obama-worst-record-
sup...](https://freebeacon.com/politics/study-obama-worst-record-supreme-
court-modern-history/)

------
est31
A bit unrelated but as it's hn, I wonder about which tools they used to write
these documents. The metadata says they used Acrobat Distiller, but that only
converts .ps files into .pdf. What creates the ps files?

~~~
rayiner
It’s word documents that get converted to PDF via the Adobe PDF printer
driver.

~~~
est31
Thanks! Amazing that you can get documents look so nice by using Word only. It
looks almost as good as if they used TeX.

~~~
supernova87a
Well, they have had hundreds of years to get the format right... lol.

Btw, since you bring up this topic, I'll say that one thing that courts,
legislatures simply cannot seem to get right is the use of graphics, charts,
and important data figures when they would do wonders to clarify about some
issue. The most a SCOTUS opinion ever has is a map. See also the Federal
Register. It's like the typewriter still rules our discourse for these things.

But for many more modern issues, where graphics and explanatory visual data
would clarify things immensely, our legal/legislative system only seems to be
able to handle 12-point double spaced words.

This is sometimes a big hindrance to understanding.

------
anilshanbhag
It increasingly seems like the Supreme Court of the US is becoming a political
theatre because Congress can't get its act together. Supreme Court shouldn't
legislate but it is forced to as lawmakers in Congress can't do their job.

~~~
ceejayoz
What was legislated here?

They ruled that the White House didn't _follow_ the _existing legislation_.

~~~
kyrra
My understanding is that DACA originally was entirely created out of an
executive order, ie: there is no legislation backing it. The main argument
I've seen is that it was created out of the executive, so any future executive
should be able to come forward and revoke it, assuming they follow the proper
comment process and notices.

~~~
lisper
The legislation requires the administration to justify its actions. The
creation of DACA provided such a justification, the repeal didn't. So stopping
the repeal is just temporary. The Trump administration will try again, just
like they did with the Muslim ban, and eventually they will succeed unless the
clock runs out first.

~~~
zaroth
> The creation of DACA provided such a justification, the repeal didn't.

I quoted this below from Justice Clarence Thomas, but it also directly
responds to your point;

> _DHS created DACA during the Obama administration without any statutory
> authorization and without going through the requisite rulemaking process. As
> a result, the program was unlawful from its inception._

That’s from the dissent. The majority ignored this like it doesn’t matter.
Rules for thee but not for me.

~~~
lisper
You should consider the possibility that the majority ignored it because it
isn't true. DACA started in 2012 so the Republicans had four years to mount a
legal challenge on those grounds. The fact that they didn't is evidence that
Thomas is simply wrong.

~~~
zaroth
The judicial history is complex. Expanded DACA from 2014 actually was
challenged under APA grounds, the 5th circuit upheld the stay, it went to the
Supreme Court, which ruled 4-4 on it meaning the 5th court ruling stood which
held that it violated APA;

> _On November 9, 2015, a divided panel of the Fifth Circuit Court of Appeals
> upheld the district court’s order granting the preliminary injunction. The
> majority accepted the lower court’s findings that Texas has standing to
> bring this lawsuit based on the additional costs it would incur to issue
> driver’s licenses to beneficiaries of expanded DACA and DAPA. The court
> acknowledged that judicial review is unavailable under the APA where a
> matter is committed to agency discretion and that the government’s
> immigration enforcement priorities fall squarely within this category;
> nonetheless, the majority also found that the plaintiff states were likely
> to prevail on their claim that the federal government should have pursued
> notice-and-comment rulemaking because DAPA and expanded DACA determinations
> are non-discretionary. In addition, the majority held that the new deferred
> action initiatives are arbitrary and capricious because the federal
> government did not have authority to promulgate them under the Immigration
> and Nationality Act._

[1] - [https://www.americanimmigrationcouncil.org/research/legal-
ch...](https://www.americanimmigrationcouncil.org/research/legal-challenges-
executive-action-on-immigration)

------
andrewla
Not a slam dunk as the court has ruled that it is within the executive
branch's power to rescind DACA. They ruled that the government's justification
at the time of the rescission did not meet the standards of the Administrative
Procedure Act.

~~~
addicted
True but doesn’t this dismiss the argument that DACA itself is unlawful?

~~~
zaroth
In Clarence Thomas’s dissent;

> _Today the majority makes the mystifying determination that this rescission
> of DACA was unlawful. In reaching that conclusion, the majority acts as
> though it is engaging in the routine application of standard principles of
> administrative law. On the contrary, this is anything but a standard
> administrative law case._

> _DHS created DACA during the Obama administration without any statutory
> authorization and without going through the requisite rulemaking process. As
> a result, the program was unlawful from its inception. The majority does not
> even attempt to explain why a court has the authority to scrutinize an
> agency’s policy reasons for rescinding an unlawful program under the
> arbitrary and capricious microscope. The decision to countermand an unlawful
> agency action is clearly reasonable. So long as the agency’s determination
> of illegality is sound, our review should be at an end._

~~~
dariusj18
Man, that opinion is a bunch of bull. If one President does something and
another wants to undo it, they can't just leave everyone effected by it in a
lurch, even if DACA was brought to the courts and ruled unconstitutional, it
would still be the responsibility of the executive to deal with the people
affected by it.

~~~
diebeforei485
"Deal with" people affected by it - for how long?

If they gave everyone say an extra year to get one more renewal in, and
allowed even more time for specific cases (people serving a tour of duty in
the military, or people who are in college, or people going through medical
treatment), would that be sufficient?

The majority opinion suggests it would be sufficient (pages numbered 25-26).
After all, a program created by the administrative branch can be ended by the
administrative branch.

~~~
dariusj18
The main difference between Thomas's opinion and the majority's seem to be
that Thomas thinks the Obama administration didn't have authority to implement
DACA, whereas the majority doesn't seem to want to rule on that, but doesn't
believe that the government can just pull the rug out from underneath someone
either way.

Additionally I'm not sure if "DHS can terminate or renew deferred action at
any time at the agency’s discretion" is as open ended as all Thomas seems to
imply. Certainly that discretion itself has to be legal. ex. They couldn't
just decide to deport people who don't donate to a political candidate. It has
to follow some legal process.

IMO it is a failure of the Legislative branch to deal with this.

------
whoisvibe
As a software engineer under the DACA program, who just sent his renewal
yesterday, and should arrive at the USCIS lockbox by noon today. This is a
relief.

~~~
scarface74
This is what I find so amazing on the face of Trump trying to get rid of DACA.

Trump said he wanted “the good immigrants” (yes this in an of itself is
cringeworthy) that added value to America. DACA does exactly that. The
administration is just pandering to the worse part of his constituency.

------
tmaly
This type of ruling may have some unintended consequences. If the court gives
the green thumb to this type of executive order abuse, who is to say that the
current president won't use this same tactic to tie the hands of the next
president?

~~~
ceejayoz
It _should_ be somewhat difficult to end a program affecting 700k people,
especially when that has enormous impact on those people.

~~~
tmaly
I don't think the number of people affected was at issue in the ruling. It was
more about some administrative law. Am I understanding this correctly?

------
nindalf
“We do not decide whether DACA or its rescission are sound policies. We
address only whether the agency complied with the procedural requirement that
it provide a reasoned explanation for its action.” - Chief Justice Roberts

Trump's justification was "creating or maintaining the program was beyond the
legal power of any president."

The SC wants a better justification.

~~~
epistasis
This sort of rank incompetence about executive power and legal justifications
has been a persistent trend with the Trump administration. I've been following
energy policy closely for a while, and despite appointing a head to the
Department of Energy who said in his presidential campaign that he wanted to
abolish the DoE, there has been almost no significant change in policy. There
hasn't even been any policy on coal that could stand up to the least bit of
scrutiny as being legal and authorized.

If there was even a basic level of competence from Trump and appointees, we
would be living in a far different nation by now.

~~~
ceejayoz
Just a note: Coal's largely within the purview of the Department of the
Interior. DOE is confusingly named.

~~~
epistasis
The DOE sets policies for the grid, however, and the only way coal could have
survived is massive amounts of subsidies for burning coal, since it is no
longer an economical way to generate electricity.

Rick Perry met with coal execs, and ended up proposing extremely bone-headed
rules for require long certain amounts of stored fuel (or something)which he
thought would benefit coal. However the whole ordeal was too poorly defined to
go forward. Fortunately, as it would have raised electricity prices for the
benefit of more COPD deaths in the US.

------
Digory
Roberts is trying to run out the clock on Trump. This decision comes out
differently with another President.

~~~
scarface74
Roberts did the Republicans a favor. The Democrats would have trotted out
people who have benefitted from DACA and were deported and rightfully used it
to beat up all Republican politicians.

------
isabelc
Maybe just me, but I think Trump had no intention of actually rescinding DACA.
This was a show for his voters to make it look like he tried. It was a
purposely weak try that he knew would not hold up.


Compiling an application for use in highly radio-active environments - ingve
http://stackoverflow.com/q/36827659/563941
======
tgamblin
Another place this use case comes up is supercomputing. Not because of the
unusual levels of radioactivity, but because of unusual numbers of processors.
When you have more components, a single bit flip somewhere is increasingly
likely. Resilience has been a research area in HPC for a while now, and people
have looked at fault tolerant algorithms, redundancy schemes, faster
checkpointing, and other ways to make sure your HPC application running on a
million cores won't die because one core gets a bit flip.

So far this has luckily remained a research area in practice, because the
vendors tend to do a good job of hardening their machines against errors as
they get larger (most of the gloom and doom predictions take the error rates
of current hardware and extrapolate). It will be interesting to see if it
remains that way.

Relevant article:
[http://superfri.org/superfri/article/view/14](http://superfri.org/superfri/article/view/14)

~~~
ams6110
Same reason RAID-5 doesn't work on for large disks. If you have a dozen 3TB
drives in an array and one dies, the probability that you'll get a read error
on another drive during the rebuild is quite high.

Given enough bits, random errors that individually are almost impossible
become almost a certainty.

~~~
brokenmachine
What level of RAID would you use for an array involving a dozen 3Tb drives?

If the drives can't be trusted, then you'd need some kind of error correction
in software, I'd presume. I thought the drives should auto-correct any read
errors.

I'm not talking about in a radioactive environment, just normal usage.

------
exabrial
I remember learning in my embedded programming class about state machines and
how certain states cannot be reached.

In the lab, I accounted for every possible valid state with a transition out
to another state.

I left my microcontroller running when I went to get lunch, came back and it
was frozen. I did a dump, and discovered it was idling in a state that has no
entry into it, and because I had no exit, it would just sit there.

I 'fixed' the problem by adding a transition to reset the controller from
every state that shouldn't be reached.

~~~
peterwwillis
This is considered a minor security feature. When a program unexpectedly finds
itself in a routine, or a routine ends abruptly, it's possible it was a code
jump, or the after-effects of a payload... Neither of which are good things.

~~~
TazeTSchnitzel
If you use a switch(), have a default:, even if it's seemingly impossible.

~~~
jakub_g
and print "call Brian" in it (anecdote from a HN thread a month ago):
[https://news.ycombinator.com/item?id=11397251](https://news.ycombinator.com/item?id=11397251)

------
Normal_gaussian
So the use case here is particularly interesting.

Most of the answers are talking about spaceflight, because it is one of the
only radioactive environments that has a particle distribution that can be
effectively fought.

Most earthbound environments have particle distributions that are practically
unsolvable in software, and should instead be solved by using mechanical and
noise tolerant analogue methods of sensing and manipulating and then massively
shielding your computation (normally by controlling from a different
building).

*Note. By particle distribution I am refferring to both rate and charge

~~~
phkahler
>> Most of the answers are talking about spaceflight...

Another place to look is in safety critical systems. IEC 61508 in general and
the automotive variant xxx26262. There are several dual core processors
available now that run two copies of the code and check for any errors. That
doesn't tell you which one failed, but it does catch the error. There are
methods defined for creating fault tolerant systems too.

We've been doing this shit for years - your electric steering system, brakes,
even throttle control (with certain exceptions of course ;-)

The funny thing in cars is that most of those systems have mechanical backups
or consider "shut down" an undesirable but reasonable failure (vs steering
left or dumping brake fluid). Your car can coast to the side of the road under
driver control without any power. All this self driving stuff will require
fully redundant components for some of these systems (including LIDAR or
cameras) to really be safe.

~~~
explanibrag
I once read that NASA control engineers have three independent teams code up
three versions of their guidance systems. If the systems disagree, they go
with the majority vote.

~~~
brandmeyer
The jargon for this practice is multiversion programming. Its based on the
idea that different people will make different errors when implementing a
design. However, in practice we find that errors are actually moderately or
even strongly correlated between different programmers. So this practice is
rather uncommon.

~~~
nickpsecurity
It's one of techniques I used to recommend although for anti-subversion
instead of safety. I was worried whst you said might turn out true. My
solution and hypothesis is that using three, very-different languages should
counter that effect. Hard to imagine the same error happening in PreScheme,
SPARK, and C.

------
dkopi
These type of posts are what bring me to hacker-news.

------
iliis
Another interesting case apart from spaceflight where radiation hardness is
important: Particle accelerators.

CERN for example has a lot of material, a quick search leads to e.g.
[https://lhcb-elec.web.cern.ch/lhcb-
elec/html/rad_hard_links....](https://lhcb-elec.web.cern.ch/lhcb-
elec/html/rad_hard_links.html) or the Radiation to Electronics workgroup
[https://r2e.web.cern.ch/R2E/](https://r2e.web.cern.ch/R2E/)

------
derekp7
I'm reminded of an old game called Core War, where the object is to write code
that corrupts your opponent's code while simultaneously protecting your own
code. I wonder if people who are good at that game would be the best
candidates for this type of fault tolerant programming?

~~~
dkopi
Israel has had its own version called "codeguru extreme" that's been going on
for the last 11 years. The rules are significantly different, but the idea and
inspiration is from core wars. (Sorry, hebrew only:
[http://www.codeguru.co.il/xtreme/about.htm](http://www.codeguru.co.il/xtreme/about.htm))

It's sponsored by IBM, A large Israeli college, A technological high school
chain - And Several Israeli Technological Military Units (Air force,
Communications, Cyber). So yeah, that's probably a really good indicator you
might be on to something.

~~~
unexistance
a few more resources

[https://github.com/codeguru-
il/corewars8086-survivors/tree/m...](https://github.com/codeguru-
il/corewars8086-survivors/tree/master/cgx2005)

[http://cyber.org.il/assembly/codeguru-
guide.pdf](http://cyber.org.il/assembly/codeguru-guide.pdf)

------
jacobsladder
Doing any modification to the source code to prevent this is not a good
design. C/C++ is not designed for this use case, so it's going to create a
mess if one will try to work around this. This might lead to similar problems
that premature optimization does to the code. Instead the solution should be
on hardware level, like in airplanes. Put three computers in radiation
environment. Then put a forth computer that'd analyze the computing results
from the three computers and do action only when there 3 out of 3 or 2 out of
3 computers agree on the result. Or average / median can be applied, depending
on the task. Ideally the fourth computer needs to be put in non-radioactive
environment. If not possible, that still simplifies the problem somewhat.
Because only the final forth computer who collects the data and selects the
trustworthiness can contain bugs, not the rest of the code.

~~~
jacobsladder
To clarify, each piece of the puzzle must do what it is expected to do,
otherwise it will be hacky. It's not expected for C++ program to detect its
underlying hardware problems, there are no tools, nothing for that. So any
solution would then look like and feel like a hack, temporary workaround. It's
however expected for the computer as a whole to produce buggy results, it's
normal and there are many existing design solutions that can take that into
account and work around that. So that's why you take three computers and judge
their output. Then each piece of the puzzle does it what it is intended to do,
it does what it is expected to do and it doesn't do stuff outside of its
responsibility.

~~~
jacobsladder
Sorry it looks like a flooding, but to add to that, having program self-check
itself is also unnecessarily ties the program to its usecase in the radiation
environment, it creates unnecessary strong dependency to its execution
environment, and that just goes against all the good principles of design.
It's like having a software for clock in the microwave machine be aware that
it is placed in the microwave machine.

~~~
nitrogen
Good principles of software design are simply different in different
environments.

The microwave clock knows it's a microwave because it controls the microwave.
It would be wasteful to put extra layers of abstraction in such a small
system.

Likewise, a system designed for radiation tolerance will expect a close
coupling between software and hardware; the whole point of the software in
that case _is_ the hardware.

------
beagle3
As far as I can see, no one mentioned fluidic[0] computation so far. I am not
aware of a fluidic processor that can run C++ compiled code, but .. if you
want hardware that can withstand 1000 degree celsius, there's pretty much no
alternative that I'm aware of.

[0]
[https://en.wikipedia.org/wiki/Fluidics](https://en.wikipedia.org/wiki/Fluidics)

------
Unklejoe
I write code that is executed in rad environments.

The fist thing I learned is that any plan that I come up with to help mitigate
risks always ends up being proven less effective than I initially thought. The
idea that the hardware can flip bits or latch up behind your back is rarely a
consideration for most software design work, so it really requires an entire
new way of thinking. In the end, it's all about reducing probabilities, but
sometimes your mitigation techniques can be borderline useless. This could be
because of my relative lack of experience though. I'm sure there are people
who have been doing this a while and have converged on a design process that
works well.

Couple this with the fact that code in the failure path very rarely gets
actually tested with _real_ failures during design, and you end up with
situations where your entire test/precaution/recovery technique is rendered
useless by a single oversight.

It kind of reminds me of how some bootloaders perform a DRAM test during power
up. The only problem is that these tests are usually executing after the
bootloader is already running from RAM itself. Sure, it's better than nothing
and may help to find some obscure errors like a bad address line pin or
something, but the issue here should be obvious - if there was a real problem
with the DRAM, it's likely you wouldn't even get to that test, so now what?

Another example: suppose you have a PI bus connecting to an FPGA, and you are
relying on the PI_done line to pace transfers. Now, a common test to verify
the bus is working would be to read some magic word from the FPGA or maybe use
an XOR test register, but what happens when there's an actual failure like a
bad connection to the bus or bad power to the FPGA? Well, the CPU throws an
exception and resets because the timeout for the PI_done expires. This all
happens before your test has a change to even print anything to the console.

I run into these kinds of issues all the time when designing software routines
to self-test the hardware on our devices.

Everything is all good when the hardware works, but as soon as hardware starts
actually failing, all of those diagnostic tests are suddenly useless.

I've gotten kind of off topic here, but the thought process is what I'm
getting at.

It usually goes a little something like this:

Possible solution: Always have a backup OS image. Caveat: There's only one
copy of the bootloader, so if that area of the flash gets screwed, we're done.

Possible solution: Scrub the contents of RAM to check for errors. Caveat: The
scrub routine is running from RAM.

Possible solution: Use a watchdog timer to force a reset if the CPU runs away.
Caveat: What if the watchdog timer latches up and the CPU hard locks?
(Unlikely, I know).

In the end, you can do a lot in SW to make a system more rubust, but the
ultimate solution is probably on the mechanical side. You're better off
spending your efforts modifying the enclosure and submerging the thing under
water than you are spending hours designing in software techniques to try to
recover from HW errors.

TLDR: Most people agree that software techniques for mitigating risks in a rad
environment are all about reducing probabilities, but I feel that such
techniques have a good chance of being less effective in practice than people
may think. I don't know what the point of this comment really was though,
other than being negative. :)

~~~
cm2187
Stupid question. For any other use than a satellite where weight is critical,
isn't it easier to protect the computer with a heavy enough layer of metal and
not worry about radiations, or are we talking about radiations that are so
high that it wouldn't help?

~~~
Unklejoe
Good question. I'm not sure about the specifics of the stackoverflow poster's
application, but for my case, they're used in space.

It's my understanding that you would need a very thick layer of metal to
actually protect a device. Generally, lead works, but the thickness required
would mean that your device would be extremely heavy. However, like you said,
this isn't a problem for ground applications.

Also, apparently water works well too.

This is all honestly beyond my knowledge though. Our customers do their own
qualification since these are COTS devices, so any failures may be handled on
their end by making separate enclosures or using another vendor's system as a
backup. They haven't actually asked us to implement any software based risk
mitigation, but I investigated it on my own.

~~~
0xFFC
Another stupid question, can you suggest a reading about reliable software
development ? (I prefer book)

BTW thank you for excellent information in your comment.

~~~
Unklejoe
Sadly, I don't know of any good resources. It's kind of a specific topic, and
it wasn't really part of my task to consider these issues, so I only spent a
small amount of time researching it myself.

I believe most of the studies were conducted by NASA, so incorporating that
into a search should help.

------
dkopi
Interestingly - A lot of the advice here (such as having an "Active" module
and a "Standby" module with a heartbeat between them, Watchdogs, reducing
single points of failure, error detection codes) is applicable to a lot of
other High Availability scenarios. Think load balancers, databases, routers
and high scalability networking devices for example.

------
technion
I appreciate it may not be the right tool in an extremely resource constrained
embedded environment, but the "my hardware can't be relied on" on problem is
almost exactly what's described several Erlang guides.

[http://learnyousomeerlang.com/the-hitchhikers-guide-to-
concu...](http://learnyousomeerlang.com/the-hitchhikers-guide-to-concurrency)

------
SapphireSun
I wonder if there's a specialized debugger that injects random faults into
your code while its running (e.g. flipping booleans or IO to peripherals). Not
just fuzzing the inputs to the program, but fuzzing the contents of memory and
registers as routines run. You could set the fuzz rate at different levels to
detect different kinds of errors (e.g. maybe one error happens frequently but
another requires a timer to tick up to a certain level before errors can
affect it).

EDIT: Thinking about this a bit more, for messing with registers, you probably
need specialized hardware or you need to intercept the data on the way to the
register.

~~~
bjackman
You could do this with an emulator I'm sure. At my company we have fairly
high-fidelity models of the hardware we use/develop which could probably
include on-chip peripherals in the things fuzzed. Also I guess in irradiated
environments you use very simple hardware (no caches, MMUs, complex memory
bus/controller) so that would make it more feasible. Would probably be really
fun to develop!

Edit: if you had the resources maybe you could even fuzz simulations of the
RTL. Our systems take about a week to boot Linux on simulations but I guess
that would drop dramatically for simpler MCU systems.

~~~
SapphireSun
That does sound like an incredible start. I fear that for the kinds of
applications we're talking about speed could be an issue. For instance, if the
system has to respond to events it can't control, queues of events can build
up or things that are likely to be synchronized might not be etc. I feel like
in many situations, you'd want to run at full speed for official tests though
early testing could use an emulator. Of course, if you're emulating a much
slower hardware as you mentioned, the test is more realistic. ;)

~~~
bjackman
Ah the timing thing is not actually an issue because you simulate or emulate
the entire system, including timers and even the PLLs that drive them. There's
a globally consistent timeline. Of course this places constraints on the
things you can simulate (e.g. networking is out the window).

------
ash
There was an interesting 2012 interview with John Muratore (SpaceX director of
vehicle certification) about radiation tolerant design on SpaceX Dragon:
[http://aviationweek.com/blog/dragons-radiation-tolerant-
desi...](http://aviationweek.com/blog/dragons-radiation-tolerant-design)

------
scribu
On a more trivial note, this reminds me of the radiation-hardened quine:
[https://github.com/mame/radiation-hardened-
quine](https://github.com/mame/radiation-hardened-quine)

Would be amazing if the method used for implementing it could be generalised
somehow.

------
swayvil
Off the top of my naive head.

Have 3 or 5 or a dozen copies of the thing running in parallel. As many as it
takes.

Every action calls for a vote among the copies. Majority rules.

Periodically validate the data. Again, majority determines what's valid.

~~~
outworlder
Make sure that the code that does the "ballot" is not a single point of
failure itself.

~~~
swayvil
oh good point. That makes it more interesting.

------
dheera
For ground-based applications, why can't this be solved by building a lead-
shieled chassis? Like everything else in the software engineering world,
abstract out the radioactivity problem and solve it separately. The other
functional units shouldn't have to know or care about whether they are running
in a radiactive or non-radioactive environment.

~~~
jotux
There are actually processors designed specifically to prevent issues like
this [1]. They use ECC flash, ECC RAM, and dual CPUs that run in lock-step.

1\. [http://www.ti.com/product/rm48l550](http://www.ti.com/product/rm48l550)

------
kylehotchkiss
Coolest SO question I've seen in a while.

------
i336_
While not about radiation hardening or redundant hardware, this article shows
how StarCraft's developers discovered and handled random hardware failure:
[http://www.codeofhonor.com/blog/whose-bug-is-this-
anyway](http://www.codeofhonor.com/blog/whose-bug-is-this-anyway)

The bug webpage mentioned in the article is dead, and clicking the link subtly
redirects you. Here's the archived version:
[http://web.archive.org/web/20140824005145/http://www.guildwa...](http://web.archive.org/web/20140824005145/http://www.guildwars.com/support/en-
hardwarefailure.php)

------
sickbeard
isn't this like trying to do numerical analysis while having alzheimer's? if
the hardware is bad, your software will be bad.

~~~
baq
you're pessimistic. the optimist would say 'how much numerical analysis can i
do at varying levels of alzheimer?' and responses to the question are very
well worth reading.

~~~
sickbeard
All good, except most of your mitigating code/tricks cannot be tested reliable
to know they actually work.

~~~
VLM
Liberal arts types say engineers are not creative, but they're wrong. Find
some creative engineers, it won't be much of a challenge.

Write 5 lines of perl that run logical AND and logical OR on a randomly
generated bitmap emulating flash memory error rates at 1e-3, 1e-5, 1e-7, then
run a billion emulation cycles (depending on code complexity this might take a
long time, or maybe not).

If you're doing it right, you have the code for the emulator, never use closed
source for this kind of work unless you trust it with your life (LOL) so
implement statistical error injection in your emulator. Guess what, your CPU
adder now has a 1e-5 bit error rate.

This is before the dreaded "programmer with a soldering iron" is unleashed. A
white noise source is attached to pin D0 of the CPU and levels are increased
while behavior of the system is analyzed in the test jig.

Simplistically, radiation is linear, so running at 100x intensity for a month
is the same as running at design intensity for 100 months. Talk to your local
nuclear physicist or radiologist. Especially about neutron activated decay
products, LOL. In more detail, if it takes xenon 12 hours to build up to a
problem level, you can't just test at 100x intensity for an hour and call it
good because 11 hours after the test ends you'll finally have 100x the xenon
decay product as a contaminant, but that's a weird situation.

~~~
mturmon
One implementation of a single-event-upset testbed that I worked with used the
valgrind infrastructure to inject faults in running code, purely in software.
(Example: [http://www.sts.tu-
harburg.de/research/fitin.html](http://www.sts.tu-
harburg.de/research/fitin.html), earlier work:
[http://dus.jpl.nasa.gov/projects/solar/Papers/granat-abft-
sv...](http://dus.jpl.nasa.gov/projects/solar/Papers/granat-abft-svm-09.pdf))

Your larger point is right: some commenters are giving up on problem analysis
or solutions "because the problem is hardware". That implication does not
follow. Perhaps people are too used to highly abstracted software systems?

~~~
sickbeard
I think you guys just misunderstand. The question you should be asking should
be "is this this right solution", rather than "can this be done?".

If you want to build robust systems, picking the right solution is paramount.
In this case the consensus seems to be to fix it in hardware rather than
messing out with software (it takes longer to implement a verifiable solution,
harder to test, etc).

~~~
mturmon
I wrote to push back against some sweeping claims that are made nearby, such
as "if the hardware is bad, your software will be bad." This is simply not
true for many values of "bad". Another comment nearby regarding testing also
surrendered prematurely.

I worked and published in the area for a few years, so I have a definite POV.
I find it appealing that software can, in some cases, make up for the failings
of hardware.

The topic area is fascinating. It has some of the intellectual aspects of
security research: you can get somewhere by breaking through abstraction
barriers in surprising ways.

------
brillenfux
Is it concerning, that I see a question like that on Stack Overflow or am I
too pessimistic?

~~~
danesparza
I'd personally rather it get asked in a transparent way (like this) vs some
programmer making some stupid assumptions in some cube somewhere.

~~~
MichaelGG
I think the implication was "why is it possible for a programmer to make a
stupid assumption". In such a critical environment, one would hope there's
oversight and understanding of all of this, eliminating the need to ask on SO.

------
kisna72
I goota say, this is the most fascinating thing I have seen all week.

------
awinter-py
genetic code has a lot of the same protective mechanisms (multiple copies of
genes, for example), and is highly focused on radiation protection.

------
boomlinde
An entirely different approach could be to make it more likely to crash to
minimize the harmful effects of executing corrupt code.

I don't know how these corruptions manifest themselves, but if for example a
single bit gets flipped every now and then somewhere (probably a naive
assumption), a CPU that had a 0b11111111 nop instruction and 8 reset
instructions at 0b01111111, 0b10111111, 0b11011111 etc., you could interleave
your code with tons of nop instructions to minimize the possibility of
executing corrupted code. You'd then be more likely to reset than to execute
something that will lead to further corruption.

As for data, I like the idea of storing/reading it redundantly in 3 or 5
places and assume that the majority of a read to all of them (bit by bit) is
correct and rewrite the supposedly corrupt data. Again, not sure how well a
solution like this actually applies to radiation corruption. You can of course
use any existing techniques for data error correction, like Hamming coding
(used in for example teletext to correct errors).

~~~
PhasmaFelis
> _I don 't know how these corruptions manifest themselves, but if for example
> a single bit gets flipped every now and then somewhere (probably a naive
> assumption), a CPU that had a 0b11111111 nop instruction and 8 reset
> instructions at 0b01111111, 0b10111111, 0b11011111 etc., you could
> interleave your code with tons of nop instructions to minimize the
> possibility of executing corrupted code. You'd then be more likely to reset
> than to execute something that will lead to further corruption._

I like this. It's functional, yet wildly impractical.


This Is Your Brain on Gluten - jalter789
http://www.theatlantic.com/health/archive/2013/12/this-is-your-brain-on-gluten/282550/

======
un_publishable
Dr. David Perlmutter should be ashamed for contributing to the trend of
lumping ADHD in with huge lists of symptoms such as (quote): "dementia,
decreased libido, depression, chronic headaches, anxiety, epilepsy, and ADHD"

ADD and ADHD may not be as crippling as some mental conditions, but there is
real peer-reviewed medical research out there concerning diagnosis and
treatment. Hint: counseling and doctor-prescribed medication is more effective
than homeopathy and trivial diet changes. People just want an easy solution
and someone to blame.

------
joeblau
What is the TLDR please?

~~~
anigbrowl
Carbs rot your brain, so you should avoid grains and eat like a caveman. Or
maybe not? One thing is for sure, people like reading about diets more than
they like sticking to them. Meantime, you can subscribe for only $$ a year.

------
joeclark77
Where would you find a control group for this kind of study? People who never
tasted anything made from wheat?

~~~
anigbrowl
Small indigenous groups like the Inuit maybe? but then you've got a bunch of
other factors to screen out. I presume Perlmutter's hostility to grains
includes rice and other high-carb grains, which rules out Japan and other
Asian countries where wheat is less popular.