5D 'Superman memory' crystal could lead to unlimited lifetime data storage - <AUTHOR> http://www.southampton.ac.uk/mediacentre/news/2013/jul/13_131.shtml?1 <comment><USER2> Really intriguing. My father was in the data storage industry (magnetic tape), so I've always watched innovations in this sector with great interest. Nine times out of ten, the storage-density breakthroughs you read about end up being commercially meaningless because they aren't thermally or chemically stable. Doesn't matter how many TB/cm^2 you're writing, if the material degrades after a couple of weeks or months. This announcement is dramatically different, which strikes me as _really_ interesting.

Manufacturability is the other obstacle which data storage inventions traditionally founder upon, on the road to commercialisation. I don't have a sense of whether or not that'll be an issue here. If it isn't a problem... then yes, this could be a genuine game-changer.

</comment><comment><USER3> If commercially viable, this looks _very disruptive_ to me: if everyone can get virtually unlimited, ultra-fast, lasts-a-million-years local storage in all their Internet-connected devices, the planet's online needs would change significantly in unpredictable ways. For example, third-party cloud-storage providers would face intense price pressure as more customers find it cheaper to store data locally and pay for more bandwidth.

\--

PS. Does anyone here have sufficient knowledge of or experience with Photonics and nanostructured glass to comment on the near-term feasibility and commercial viability of this technology? Here's the paper: [http://www.orc.soton.ac.uk/fileadmin/downloads/5D_Data_Stora...](http://www.orc.soton.ac.uk/fileadmin/downloads/5D_Data_Storage_by_Ultrafast_Laser_Nanostructuring_in_Glass.pdf)

<comment><USER4> Keep in mind that a positive research result is not necessarily anywhere close to any of usability, commercial viability, _or even possibility outside the lab_. Nuclear fusion is a prominent example of this, and I'm still waiting for MRAM, which has been "around the corner" for quite some time now. Until memory glass may be available, who knows what else is.

<comment><USER5> TI just released an FRAM memory (instead of FLASH) version of the MSP430.

It has several features which make it better suited to ultra-low power operation.

I know FRAM was popular 10 years or so ago, but never really made it big. I'd always assumed someone had a patent locked up that made other companies avoid it. Maybe that's changed recently?

<comment><USER6> Not just in MSP430s, Ramtron (now part of cypress) sells standalone serial and parallel FRAM up to a few megabits: [http://www.mouser.com/ProductDetail/Cypress- Semiconductor/FM...](http://www.mouser.com/ProductDetail/Cypress- Semiconductor/FM25H20-DG/?qs=sGAEpiMZZMtsPi73Z94q0OKOSVYv1Kg2qQzzB6Xnrgk%3d)

</comment></comment></comment></comment><comment><USER7> Finally.

Though I too suspect the NSA must be using some form of dense, long-lifetime data-in-solid storage technology that we haven't been told of. I can believe them storing 'all comms' in real time using hard disks, but I find it hard to believe they'd be anticipating refreshing the entire archive onto new media every 10 years of so. Which they'd have to do with hard disks or DVD equivalents. And I flatly refuse to believe they'd be prepared to just let it go.

There was an announcement back in 1999 from Keele University in UK, of having succeeded with using NMR to store and retrieve data in solids. The lead researcher was Prof. Ted Williams, who led development of the nuclear magnetic resonance scanner.

Then suddenly... nothing more was heard of that.

There's just something about this idea that sounds extremely likely. That not only is the NSA spying on everyone, but also maybe keeping to themselves a revolutionary storage technology that would change everything. So far I haven't heard anything at all about _how_ the NSA is storing all that data, have you?

We should be building eternal, public archives of all the cultural and scientific knowledge of humankind. Instead we're building vast secret archives of everyone's tweets, lunch appointments and credit card transactions.

<comment><USER5> I'm just not buying that.

It's well known that several hundred patents a year get swept up under a "secrecy order" and disappear. But most of these are from a) defense contractors working on military systems and b) nuclear research.

Occasionally (maybe 20 per year), an inventor unaffiliated with the government will attempt to get a patent, and have it get swept up under a secrecy order.

But a new type of data storage? I would surely think the government would let this get developed and refined in the private arena.

Cutting edge development is a sinkhole for massive amounts of money. Just think how many hard drives a billion dollars could buy? I don't think it makes sense economically, when there is a commonly available alternative.

What worries me more is the possibility that the oil industry has spies with control over this "secrecy order". The fabled "200 mile per gallon carburetor" type stuff.

It is quite easy for me to believe that a trillion dollar industry would attempt to protect itself by any means possible.

<comment><USER8> >What worries me more is the possibility that the oil industry has spies with control over this "secrecy order". The fabled "200 mile per gallon carburetor" type stuff.

>It is quite easy for me to believe that a trillion dollar industry would attempt to protect itself by any means possible.

all the engineering calculations for a car you can make yourself starting from the first principles, like

[http://en.wikipedia.org/wiki/Carnot_cycle](http://en.wikipedia.org/wiki/Carnot_cycle) [http://en.wikipedia.org/wiki/Fluid_dynamics](http://en.wikipedia.org/wiki/Fluid_dynamics)

etc...

It would be very interesting if you can come up for 200mpg goal with better shape or lighter design or better in some other way than that

[http://green.autoblog.com/2013/04/01/vw-hints-hyper- efficien...](http://green.autoblog.com/2013/04/01/vw-hints-hyper- efficient-260-mpg-xl1-could-come-to-us/)

</comment></comment></comment><comment><USER9> I initially interpreted "5D" in the title as five spatial dimensions, which would be incredible, but the reality is entirely credible:

> _The information encoding is realised in five dimensions: the size and > orientation in addition to the three dimensional position of these > nanostructures._

<comment><USER4> I wonder how orientation is just a single degree of freedom though; somehow one of the polarization directions of the light must get lost along the way.

<comment><USER10> Perhaps it is because this is a crystal and there is a relationship or redundancy between the different axes of orientation.

EDIT: Actually, this [1] paper says in the abstract that they use wavelength, polarization and the three spatial dimensions. So it is wavelength and not direction!

[1][http://www.nature.com/nature/journal/v459/n7245/full/nature0...](http://www.nature.com/nature/journal/v459/n7245/full/nature08053.html)

</comment></comment></comment><comment><USER11> Unlimited lifetime data storage is how I though of my 1GB HDD in 1996

</comment><comment><USER12> Some other works resulting from their research announced on [http://www.femtoprint.eu/](http://www.femtoprint.eu/) also sound quite interesting, e.g. "a first transparent actuator fabricated using the femtoprint process", sized in millimeters.

</comment><comment><USER13> This stuff is really fascinating to me. Will we ever hit a point in data storage where you can fit all the data about a volume in space, into a smaller volume of data storage? I'm sure the Uncertainty Principle plays into it, but theoretically could it be done--store 1 cubic meter's worth of data into a 1 cubic micrometer of storage?

<comment><USER14> You can't really, by definition. By the same logic you should be able to store 1 cubic meter's worth of data storage cube into a 1 cubic micrometer of data storage cube, which in turn could be stored in a smaller cube ad infinitum.

Going by the same logic you could store all entropy of the universe in an infinitely small cube which is not possible unless the universe had zero entropy.

<comment><USER15> Hmm ... go back 13.5 billion years in time and that is exactly what was the universe back than.

<comment><USER16> Tinsy nitpick. The universe technically didn't exist back then (at least not in the form of spacetime), I believe. Existence itself was confined to a singularity which then expanded with _tar -xzf singularity.tar.gz_

</comment></comment></comment></comment><comment><USER17> This is really exciting. I hope it does come to market. There's a need for stable, huge, slow, storage which isn't really covered by drives at the moment.

A company called InPhase has had various forms of holographic storage "ready any time now!" for years. They eventually released a product. It's specialist, and expensive. That company eventually folded. (I remember when they were using concept art using a credit-card sized thing for media. That was ten years ago, and 1 TB was exciting.)

([http://gizmodo.com/5466793/inphase-closes-holographic- storag...](http://gizmodo.com/5466793/inphase-closes-holographic-storage- wasnt-that-exciting-after-all))

</comment><comment><USER18> This is a fascinating result. The equipment needed to reproduce is a bit extreme (femptosecond multi-watt lasers are not 'garden variety' by any means) and one wonders if the 'read' set-up could be made cost effectively than the 'write' set-up. I would hope that Google would invest in a system to copy all of the books they've scanned into such crystals.

That said, I could imagine offering something like a web 'snapshot' (think Internet Archive meets the DVD-R :-) which one might subscribe to. That would be pretty cool.

</comment><comment><USER19> Funny how they use crystals in many movies for data storage and I always found it a bit stupid... But in reality, it looks like they're the future of storage - I remember they experimented with writing data using lasers to cubes about a decade ago...

<comment><USER20> With a background in chemistry, it seems inevitable, not stupid.

</comment></comment><comment><USER21> They will have to change the name before they market it. I can't imagine many people understanding anything with 5D in the name, regardless of what it means.

<comment><USER22> Since when do people have to understand a name for it to take off? Look at the soup of technologies grouped under the label "4G." All consumers know is that 4G sounds better than 3G.

I'm sure if the technology is commercialized, someone will come up with a cute nonsensical name for it, but I can absolutely see a subhead somewhere saying "Advanced Five-dimensional storage technology!", just because it sounds cool.

</comment></comment><comment><USER22> Excellent! Seeing as how Superman released in 1978, I expect scientists to have figured out the Arc Reactor and Repulsor technology sometime in late 2048.

</comment><comment><USER23> Why does this same magic crystal storage article keep poping up every 5 years? They always claim they could be very close to commercialisation and that it could change the world forever. Yet 25 years later, I fail to see any progress.

EDIT: I don't pretend I can understand the technical details, does anyone know if this is actually anything different from that old holographic stuff?

</comment><comment><USER24> Really, how can they get away with the word "unlimited" in the title there? The limit is mentioned in the first paragraph: 360TB/disc (whatever a disc is... though I assume it is something which does not exist in unlimited quantities).

Still, nice work! Data storage capacity is a great metric of our digital quality of life.

</comment><comment><USER25> "[...]At the moment companies have to back up their archives every five to ten years because hard-drive memory has a relatively short lifespan," says Jingyu.

Since when hard drives die after 5-10 years? Are there some new physics laws that I'm not aware of, or what?

<comment><USER26> It's a bit off but in the ballpark:

      Google's 2007 study found, based on a large field sample
      of drives, that actual annualized failure rates (AFRs) for
      individual drives ranged from 1.7% for first year drives to
      over 8.6% for three-year old drives

[http://en.wikipedia.org/wiki/Hard_disk_drive_failure](http://en.wikipedia.org/wiki/Hard_disk_drive_failure)

Memory, of course, has other problems:

[http://www.ewh.ieee.org/r6/scv/rl/articles/ser-050323-talk-r...](http://www.ewh.ieee.org/r6/scv/rl/articles/ser-050323-talk- ref.pdf)

</comment></comment><comment><USER27> Along a simliar vein I've heard it proposed you could store information in a diamond using different isotopes of carbon as binary 1 and 0's. That would last a tremendously long time and I believe have a huge storage capacity.

<comment><USER28> It's called "memory diamond." I'm aware of it thanks to Charlie Stross[1], who credits the idea to Eric Drexler.

[1] [http://www.antipope.org/charlie/blog- static/2007/05/shaping_...](http://www.antipope.org/charlie/blog- static/2007/05/shaping_the_future.html)

<comment><USER27> Interesting read, thanks. I wonder why he suggests two atoms per bit? Seems wasteful?

</comment></comment></comment><comment><USER29> There seems to be a lot of misunderstanding of the title.

"Unlimited lifetime storage" means storage whose _lifetime_ is unlimited.

As it says in the article, the actual data capacity is "360 TB/disc".

</comment><comment><USER30> I can't quite tell from any of the articles about this if it's write-once- read-many or read-write. Given that it's about "fused quartz" I am suspecting write-once.

</comment><comment><USER31> Nice to see Southampton in the news. This is part of the department I study Computer Science in, and it's this research focus that drew me to Southampton. Awesome place.

<comment><USER32> Glad to see it's still going well - it had a great atmosphere a decade ago when I was there. So much goes on there that isn't widely reported.

</comment></comment><comment><USER33> How awesome would it be if this was then used by NSA to provide agents with backups of all snooped data, available in their pockets, in a piece of glass!

<comment><USER34> Not very awesome because you lose the ability to restrict access.

The internet makes that unnecessary.

</comment></comment><comment><USER35> Data always expands to fit a technology

</comment><comment><USER36> So it really will all be over when the fat lady sings, huh. ;)

</comment><comment><USER37> "Three dimensions should be enough for anybody" :)

</comment><comment><USER38> Amazing. Isolinear Chips from Star Trek!

</comment><comment><USER39> The NSA is probably looking into it right now...

<comment><AUTHOR> For all you know they've built (or something else equally advanced) already. Which would make claims that they're storing _everything_ pretty believable.</comment></comment>


Pittsburgh Hacker News meetup: Church Brew Works, 8PM, Monday 7/18 - <AUTHOR> http://www.yelp.com/biz/church-brew-works-and-restaurant-pittsburgh

<comment><AUTHOR> Previous thread: <http://news.ycombinator.com/item?id=1514430>

</comment><comment><USER2> I think you mean monday 7/19. I'll be there.</comment>


Complaint Department: GPT-3 Based Drill Instructor Chatbot - <AUTHOR> https://complaintdept.co/ <comment><USER2> Setting up a custom AI chatbot is so annoying. There are so many tools out there but they all seem to miss a feature that you REALLY need.

Most times they all force you to pay to have that "Powered by…." imprint removed and AI doesn't work.

How about a done-for-you solution?

These Chatifai guys set up a simple custom chatbot in 72 hours after placing your order!

      https://bit.ly/customchatbot</comment>


Why companies don't do GPL enforcement - <AUTHOR> https://lwn.net/SubscriberLink/716168/2d0eafdc242e44de/ <comment><USER2> There are other reasons not to do GPL enforcement too, which Greg K-H sums up very well: [https://lists.linuxfoundation.org/pipermail/ksummit- discuss/...](https://lists.linuxfoundation.org/pipermail/ksummit- discuss/2016-August/003578.html)

Summary: Open Source lives and dies by community and engagement. Lawsuits make people disengage. Better to spend your resources working with people to get them to come around gently.

<comment><USER3> From a person who makes a living selling software I like GPL v3 where I dislike GPL v2. This mostly resolves around that I can offer a proprietary license to the clients for the software in situations they dis-like GPL v3 but it also keeps everyone source code open for modifications.

<comment><USER4> > I can offer a proprietary license to the clients for the software in > situations they dis-like GPL v3

This is how business works for codes like Qt and Odoo. They didn't choose [AL]GPLv3+ for the software to be free, but (or along with), for the reason that it would benefit them. The same tactic may be used by Canonical (Ubuntu) for their code like Mir, Unity, and other codes with CLA in the near future.

For me, GPLv3 gives the following additional protection:

* Patent protection from the authors (for their own patents that are used in the software)

* More freedom (Eg: A router with GPLv2 Linux + Busybox is simply open source, not free software. That is, you can get the source code of those Linux + Busybox. But the router company may not give you a way to modify the software bundled with the router. GPLv3 protects the users against such locks).

* Easier distribution requirement. If a user asks for source code of some GPLv2 code in a CD or some other offline media, the developer is obliged to (of course the developer can ask for its expenses). for a GPLv3+ code, it is enough to be hosted online/emailed.

<comment><USER3> Agreed your point. That is kind of the reason why I'm reluctant to use the GPLV2. If you distribute my software I want you to also honor the license agreement and release your resulting source code. In other words everyone has a gun pointed at each other head's and it keeps everyone honest.

There are current ongoing issues with GPLV2 with router, ip camera's and some other big named businesses that have bundled open source software but have not honored the license agreement and released or make publicly available those modifications. In doing so they're in breach of the license agreement and considering they're a commercial entity the copyright holders should rightly so be compensated.

You can take the chance and be the `nice` guy and release your source code under a BSD or GPLv2 license though with anything open source don't be surprised if you find your work inside a Toyota with your email address.

</comment></comment></comment></comment><comment><USER5> It's frustrating that in every software licensing thread on HN people utterly miss the point of the GPL. It's not there for developers, or businesses, it's there for users.

 _GPL protects users ' freedoms_. Like the freedom to use it however they like (no 90-page EULA), the freedom to actually know what's running on their computer, freedom to change it and share changes.

But what is most annoying here is TFA doesn't really talk about this either. Protecting users is another factor when weighing up GPL enforcement strategies. If you put GPL code in a pacemaker that millions of people have, there's a very strong argument to ensure users of that can inspect the source.

</comment><comment><USER6> Written by Luis Villa [1] a lawyer with 15+ years of experience working with opens source communities.

[1] [https://mobile.twitter.com/luis_in_140/status/84107363612766...](https://mobile.twitter.com/luis_in_140/status/841073636127662080)

</comment><comment><USER7> As I was reading this, I started thinking those options enable a company to exert influence over others in a way that a BSD or MIT license do not. It almost seemed like an argument to prefer the GPL - at least for major contributors.

</comment><comment><USER8> Everyone wants an easy and stress free life. If you create a reputation for yourself of chasing competitors through the courts then you make yourself into a target. "Do to others as you would have them do to you".</comment>


The FCC.gov Website Lets You Upload Malware Using Its Own Public API Key - <AUTHOR> https://hackernoon.com/the-fcc-gov-website-lets-you-upload-documents-and-host-them-there-bdcd5c1a5b8b <comment><AUTHOR> I seem to be the first writer to break this story anywhere.</comment>


Apple's new Mac ads are embarrassing - <AUTHOR> http://www.theverge.com/2012/7/28/3197951/apple-olympic-ads-genius-bar-embarass

<comment><USER2> Is it just me or is there a lot of Anti-Apple links getting submitted to HN these days?</comment>


Ten Commandments of How to Write an IMAP Client (2006) - <AUTHOR> https://www.washington.edu/imap/documentation/commndmt.txt.html <comment><USER2> IMAP was an okay protocol for its time, but in my experience it's basically mindbogglingly bad by current standards. The root of the reason why is the whole concept of "message sequence numbers", which as far as I know are extremely difficult to implement in a scalable and performant way.

Basically, all messages in a mailbox are numbered from 1 to N, and you can reference a message by number, and when a message is deleted all message numbers above it shift down by one. But since this could confuse clients that are sending inflight requests, you can't start translating from the new shifted-down-by-one numbers until you've told your clients about it, which could take a theoretically unbounded amount of time.

One implementation of this I've seen is to get a list of every UID in a mailbox at time of selection, and then update that as clients are informed of new or deleted mail. Needless to say, that's a bit problematic with short- lived or multiple connections.

So if your mailbox gets too big, too bad. This ends up complicating the client: probably influencing rules 1, 3, part of 5, and 8 listed here. (1) You can't have concurrent mailbox access because it might mess up MSNs reified to disk, (3) you can't have connections live too long because they passively eat up RAM with queued updates and a stored MSN list, (5) there are perfectly good UIDs to reference messages with that you have to learn alongside message sequence numbers, and (8) because opening a new session can be heavy.

<comment><USER3> It was bad even 20 years ago, I remember a discussion when we were trying to implement something coining the phrase "University of Washington brain damage". It seems to have been extremely tightly tied to the UW-IMAP implementations.

The need for a better protocol is why JMAP exists: [https://jmap.io/spec- core.html](https://jmap.io/spec-core.html)

Although I see their point about non-REST, I think there's still a case for having a REST flavour available even if it may not be the most efficient.

I wonder if anyone's tried mail delivery over git repo yet.

<comment><USER4> > _University of Washington brain damage_

This phrase made me laugh, because UW imapd was largely written by Mark Crispin, who invented the IMAP protocol!

It seems that in about 2007, Crispin forked UW IMAP to create his own IMAP server, "Panda IMAP" [1], which at least one website claims to be "fully compliant" with the IMAP RFCs while UW IMAP is not. [2]

[1] [https://github.com/jonabbey/panda- imap](https://github.com/jonabbey/panda-imap)

[2] [https://imapwiki.org/ImapTest/ServerStatus](https://imapwiki.org/ImapTest/ServerStatus)

</comment></comment></comment><comment><USER5> Does #1 mean that there are IMAP servers where my phone and my desktop and my laptop (etc.) can't all read my mail simultaneously?

#7 makes me sad. Evolution supports a 'virtual trash folder' perfectly, but since I also delete mails in other clients, my mailstore is polluted by a malingering selection of folders with names like Trash, Wastebasket, Deleted Items and so on. The same remark applies to a 'virtual junk folder' and malingering Spam, Junk folders.

The 'All About Calendars' file is a wealth of interesting tidbits about time: [https://www.washington.edu/imap/documentation/calendar.txt.h...](https://www.washington.edu/imap/documentation/calendar.txt.html)

<comment><USER6> > Does #1 mean that there are IMAP servers where my phone and my desktop and > my laptop (etc.) can't all read my mail simultaneously?

[edited]

I believe that's the case. The ancient and venerable UW implementation of the ancient, venerable, and awful Unix "mbox" format from the UW server has a lot of these sorts of problems.

The UW server did not have this problem with some of the other formats. It suffered a lot from supporting a lot of different formats in borderline hostile conditions (i.e., users were assumed to have filesystem access to the server so no improvement to locking or caching was practical).

None of the current commercial implementations suffer from this, but I suppose I can say that the lowest common denominator is still pretty low.

I may be overstating this because what I'm describing would also outlaw message delivery, which I don't think is the case. I think one of the formats did have problems with trivial concurrent access but I was never a UW-imapd expert. I am sure that the mbox format has problems with EXPUNGE (removing messages flagged deleted) as well as many other issues.

I guess it's also worth reiterating that STATUSing a SELECTed mailbox (one that's open in another connection) is a pretty big waste of server resources, as someone else noted.

</comment></comment><comment><USER7>
        "Hello IMAP server. I'd like to deal with the message with this UID."
        "The UIDVALIDITY has changed since then."
        "Can you tell me the new UID from my old UID perhaps?"
        "No."

(Okay, I last worked with IMAP back in the 90s. Has modern IMAP since added a persistent ID that will stay with a message?)

<comment><USER8> OBJECTID extension:

* [https://tools.ietf.org/html/rfc8474](https://tools.ietf.org/html/rfc8474)

Though if your mail server loses the UID-to-message mapping index and has to rev the UIDVALIDITY, that's a more a problem with the implementation IMHO.

<comment><USER7> I'm an IMAP client and my user has clicked the delete-message button. Accordingly, I've sent a command to make the change and I'm waiting for the response from the server.

Oh no! Before the response came back, my connection to the server died. I don't know if my request arrived and was accepted.

Time passed and I've just now managed to reconnect. I need to know if the delete happened or not.

<comment><USER8> Check to see if the \Deleted flag was added to the message.

<comment><USER7> Which message? I have a UID that's no longer valid and the message IDs have all moved.

</comment></comment></comment></comment></comment><comment><USER9> What's the current status of the JMAP spec? Are there any available clients or servers?

<comment><USER10> FastMail uses it internally, but I don't know if they've gotten any external adoption yet.

</comment></comment><comment><USER11> I've dealt a lot with email along the way, trying to use it as an async transport layer for higher level messaging etc.

At one point I had wrappers around Python's IMAP/SMTP implementations that I excuted from Go, since at least Python had 20 years to make theirs work properly.

Any other implementation I tried failed somewhere along the way, especially as soon as you start moving messages around in folders or anything else beyond simply fetching messages.

SMTP is simpler from my experience, but then so is the work it performs.

I even played around with the idea of cooking my own to get out of this loop, but reading the specifications soon killed that idea. It would take a life time, probably be deprecated by the time, and still wouldn't work properly.

The new JSON-stuff honestly doesn't look much better from what I've seen. It seems to still be doing IMAP, only using JSON instead, which wasn't the problem. I'm not holding my breath about it becoming standard enough to depend on.

It's a mess, so much that I'm thinking it would probably be better to start over entirely.

<comment><USER12> > The new JSON-stuff honestly doesn't look much better from what I've seen. It > seems to still be doing IMAP, only using JSON instead,

regarding JMAP that should not be the case. From their FAQ the intent is to make it easier to use already common workflows.

<comment><USER11> I do hope you're right, convenient protocol access to email would change the game.

</comment></comment></comment><comment><USER13> This is kind of related...

So I'm working on an app that uses IMAP. I need to know which emails I've already processed. Has anyone ever used the message ID header to identify an email as unique/seen? Or do you hash the email in its entirety? Or is there some other way to do it?

I guess what I'm still confused about is determining how to handle a UID validity change. So I'm afraid to use UIDs.

<comment><USER14> How about adding a flag to the emails that are processed? It's fairly well supported.

I needed this when i was working on my engineering project, and added 'processed' flags for already processed items. This way i could query all unprocessed items with "UNSEEN UNKEYWORD <flag>".

<comment><USER13> Nice! I'll take a look. Thanks for the advice.

<comment><USER6> This is a good plan, probably a notch better than using UIDs. You can use UIDs as a cursor to the server as a hint to speed up the operation if that's what you meant in the other thread, and that's a great thing to do.

</comment></comment></comment></comment><comment><USER15> I don't know how many of these Outlook (any version ever that I've touched) violates, but I do know that it AT LEAST violates #9 by default.

It irks me to no end, and un-checking that accursed options box in the IMAP folders dialog is something no user should ever need to do to find their "hidden folders".

<comment><USER16> Obviously there's some significant benefits to Outlook from an IT administration side (or it turns into a completely different beast when used with Exchange instead of IMAP) because as far as I can tell, it's otherwise awful on any number of axes.

<comment><USER17> Outlook is a good email client only when used against Exchange. It should never be used as a stand alone client because while it CAN work as a POP3 and IMAP client, its terrible at it.

Its not even a good email client when used against Exchange but its 'good enough'

</comment></comment></comment><comment><USER18> That is unreadable.</comment>


Ask HN: Chrome Extension for Website in Picture? - <AUTHOR> There are tons of chrome extensions that allow you to do picture in picture for a video, but I'm looking for one where I can have an Iframe overlayed while I browse other tabs.<p>Anyone see anything like this? <comment><USER2> I am currently making one. Check out this thread: [https://twitter.com/CadenSumner/status/1301254072859684864](https://twitter.com/CadenSumner/status/1301254072859684864)

<comment><AUTHOR> Nice. Eta?</comment></comment>


Asylo: an open-source framework for confidential computing - <AUTHOR> https://cloudplatform.googleblog.com/2018/05/Introducing-Asylo-an-open-source-framework-for-confidential-computing.html <comment><USER2> "Confidential computing" might seem to refer to homomorphic encryption, but has nothing to do with it in its usage here. After searching around a bit, I suspect that Microsoft Azure first used it in 2017 to refer to code running within a trusted enclave.

It looks to me that while Asylo is agnostic about the specific TEE used, it is primarily targeted at Intel SGX [1]. Instead of having to trust Google to run your code correctly and not read your data, you'd have to trust Intel to manufacture a secure enclave and essentially bake in a private key that cannot be read. You could use the public key to encrypt your code and workload, and it would run in a part of the processor that Google presumably cannot access (or measure [2]).

A good further introduction might be this paper [3] (especially the diagram on page 2), or this answer [4].

I'll repeat my main concern with this system: you will reinforce Intel's position as 'feudal lord' in this model [5].

[1] [https://github.com/google/asylo/tree/master/asylo/identity/s...](https://github.com/google/asylo/tree/master/asylo/identity/sgx)

[2] [https://arxiv.org/abs/1702.08719](https://arxiv.org/abs/1702.08719)

[3] [https://eprint.iacr.org/2016/086.pdf](https://eprint.iacr.org/2016/086.pdf)

[4] [https://security.stackexchange.com/questions/175749/what- are...](https://security.stackexchange.com/questions/175749/what-are-the- functional-similarity-and-difference-between-tpm-and-sgx-in-trust-c)

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

<comment><USER3> Within 10 years every mainstream computing hardware environment will have some kind of TEE. They already exist on the iPhone (the SEP), Google's Android phones (the ARM TEE), upcoming high-end ARM processors in general (I think they were calling it "CryptoIsland"?), high-end Intel processors (SGX) and high-end AMD processors (SEV).

The whole point of Asylo is to provide a hardware abstraction layer to make applications portable across different enclaves; it's the opposite of reinforcing Intel's position.

<comment><USER2> > The whole point of Asylo is to provide a hardware abstraction layer to make > applications portable across different enclaves; it's the opposite of > reinforcing Intel's position.

Yes, I shouldn't have conflated Asylo and SGX (or TEEs in general – where SGX is now dominant for the remote attestation model). The concern was with SGX, maybe even specifically to it being used together with other TEEs for ubiquitous DRM on consumer devices. Asylo could indeed drive competition in the case of remote attestation.

<comment><USER4> Would I need a commercial Intel license to use it for Intel SGX? I ask because they don't seem to hand out the licenses to everyone. [https://software.intel.com/en-us/sgx/commercial-use- license-...](https://software.intel.com/en-us/sgx/commercial-use-license- request) [https://software.intel.com/en-us/forums/intel-software- guard...](https://software.intel.com/en-us/forums/intel-software-guard- extensions-intel-sgx/topic/759356)

</comment></comment></comment></comment><comment><USER5> Make no mistake: this is nothing more than the old "treacherous computing" that RMS warned about a long time ago, but coming back in new clothes, and is going to be used the most by DRM and other user-hostile applications. They're just trying to sneak it past everyone under the guise of "security" and other ostensibly-somewhat-friendly uses, but don't be fooled.

[https://www.gnu.org/philosophy/can-you- trust.en.html](https://www.gnu.org/philosophy/can-you-trust.en.html)

[https://en.wikipedia.org/wiki/Next- Generation_Secure_Computi...](https://en.wikipedia.org/wiki/Next- Generation_Secure_Computing_Base)

<comment><USER6> Many of us on the Asylo team share your reservations about DRM. However, the capability to run software in a not-entirely-trustworthy environment leads to many positive possibilities. For instance, you could imagine a world in which customers didn't have to trust their cloud vendor or worry about their data falling into unauthorized hands. Or you could implement chat applications which can prove to you that your communications really are being encrypted end-to-end.

In our view, trusted computing has applications well beyond DRM.

</comment></comment><comment><USER7> The main TEE wikipedia article wasn't very informative for me (about as high level as this blog post). Looking through links off of that brought me to Intel's "Software Guard Extensions" wikipedia[1] article, which actually defines enclaves:

"Intel SGX is a set of central processing unit (CPU) instruction codes from Intel that allows user-level code to allocate private regions of memory, called enclaves, that are protected from processes running at higher privilege levels."

I still don't fully understand the security model of enclaves (for instance, the same wikipedia page also talks about modifying spectre to work against enclaves[2]).

[1][https://en.wikipedia.org/wiki/Software_Guard_Extensions](https://en.wikipedia.org/wiki/Software_Guard_Extensions) [2][https://github.com/lsds/spectre-attack- sgx](https://github.com/lsds/spectre-attack-sgx)

(disclaimer: I work at Google, but obviously not on this)

<comment><USER8> Disclaimer: I am from the Asylo team.

You can find an overview of what enclaves are at [https://asylo.dev/about/overview.html](https://asylo.dev/about/overview.html).

The security model of enclaves is as follows: Enclaves rely on the OS for their resource management/scheduling, however, the OS cannot compromise the enclave.

<comment><USER9> Is it possible to write applications in languages other than C/Cpp ? Even with Cpp, it appears from the examples that this seems more about handling specific secure data and seem to rely on special data structures. How do we convert existing applications to take advantage of Asylo ? Does it involve moving the sensitive parts to a enclave app and communicating with it from normal one ?

<comment><USER10> Disclaimer: I work on the Asylo Team

We started with C/C++ mostly because that's what we need for the bottom layer of a POSIX-like stack. For instance, to use OpenSSL we need to be able to build C and if we wanted to support, for instance, Python we would need to build its C language components. Some of the applications we want to target include Redis and SQLite and, again, there we need C and broad support for POSIX APIs. Ideally, those applications would build for Asylo out of the box, but we have some work to do to get that to work.

Going forward, we are very interested in broader language support. For instance, we are currently working on support for Go. Rust would also be interesting because it (potentially) offers an orthogonal set of security guarantees at compile time.

<comment><USER9> Makes sense. Eagerly waiting for NodeJS and Mono to be recompiled using Asylo. Do you foresee additional complexity in supporting managed languages ? I'm guessing a mono program with base recompiled to Asylo would be more secure than using SecureString in C#.

<comment><USER11> Disclaimer: I am from the Asylo team

The Asylo framework has partial support for POSIX APIs and system calls. Each programming language implementation that implicitly depends on system calls in either its generated code or runtime environment will need to be inspected and tested. Languages that depend on unimplemented system calls or POSIX APIs to provide basic functionality will pose some challenge, depending on just which system it needs. If a runtime forwards calls to non-crucial system calls that Asylo does not currently support, then Asylo would need extending to satisfy the linker with at least a stub implementation that calls abort().

Asylo does provide support for basic I/O, sockets, and threads, so basic language functionality within Asylo should not be a significant challenge. We welcome any pull requests you might have to support your favorite language.

Developers using Asylo still must be concerned about writing buggy code. If you write past the end of a buffer with user data passed into the enclave, that code is still vulnerable. We haven't fixed that part of the software development process.

</comment></comment></comment></comment></comment></comment><comment><USER12> This is really promising. The use of enclave is strongly chained to its Hardware. Having a Framework with a plugin-like architecture definitely helps. I may be wrong, but I have the impression that the development of TEE within Virtual Machines and Containers is still in its early stages. I am looking forward to see how Asylo will help on this.

</comment><comment><USER13> Does this all hinge on EPID? So will cloud workloads have to phone home to Intel for assertions to be satisfied?

My question is built on the presumption that SGX is the only real TEE available right now.

Also, how is Google dealing with PRM/EPC memory limitations of SGX?

<comment><USER6> Asylo is not tied to EPID; the framework aims to abstract away any unique behavior specific to TEE implementations, and provide a common backend interface that developers can code against. The goal is to allow developers to easily migrate their apps between backends with little to no source-code changes.

Specifically for attestation purposes, Asylo defines the EnclaveAssertionGenerator[1] and EnclaveAssertionVerifier[2] interfaces; these will need technology-specific implementations.

In this initial release we only support a simulated backend, for experimental development. We'll continue looking into specific TEE technologies going forward.

[1] [https://github.com/google/asylo/blob/master/asylo/identity/e...](https://github.com/google/asylo/blob/master/asylo/identity/enclave_assertion_generator.h)

[2] [https://github.com/google/asylo/blob/master/asylo/identity/e...](https://github.com/google/asylo/blob/master/asylo/identity/enclave_assertion_verifier.h)

</comment></comment><comment><USER9> This is very exciting. May be this can hold the fort till fully homomorphic computing becomes a reality.

</comment><comment><USER14> I don't get why people trust Secure Enclave it calls home over tls and dns for ra. Certainly tls can be broken by state actors.

</comment><comment><USER15> The name doesn't inspire confidence to me. Too close to Asylum, but I guess they're going for "a silo".

 _It 's just my opinion._ I know the meaning of the word Asylum, but as I explained below...it's the association that I get from it. It's like using the word Niggardly - even though the definition is not related to race, people don't use it because it just sounds wrong.

<comment><USER16> I think asylum is exactly what they mean. Asylo is the dative singular of asȳlum according to Wiktionary:

[https://en.wiktionary.org/wiki/asylo](https://en.wiktionary.org/wiki/asylo)

Asylum simply means a shelter or protection from danger.

<comment><USER17> Most likely they mean άσυλο[1][2] It has many meanings one of them is "safe place" too.

[1] [https://en.wiktionary.org/wiki/άσυλο](https://en.wiktionary.org/wiki/άσυλο) [2] [https://el.wiktionary.org/wiki/άσυλο](https://el.wiktionary.org/wiki/άσυλο) In Greek</comment></comment></comment>


The 500MW molten salt nuclear reactor - <AUTHOR> http://www.extremetech.com/extreme/150551-the-500mw-molten-salt-nuclear-reactor-safe-half-the-price-of-light-water-and-shipped-to-order

<comment><USER2> This article is vague on the specifics, but it looks from their website like they're talking about an MSR using a conventional uranium fuel cycle, rather than going the Thorium route like lots of other MSR enthusiasts seem to want to... I wonder why they went that route? Seems like if you're going to go to the effort of developing a new reactor design from scratch, there's not really any reason to leave half of the potential benefits on the table (proliferation resistance, fuel abundance, etc.).

<comment><USER3> It runs on nuclear waste <http://transatomicpower.com/products.php>

<comment><USER2> Right, I'm aware, but that still requires uranium mining to have fueled the original reactors to make the waste, so it's not a solution to either proliferation or supply, at least long-term.

</comment></comment></comment><comment><USER4> Here is the TEDx talk given by the founders

[https://www.youtube.com/watch?feature=player_detailpage&...](https://www.youtube.com/watch?feature=player_detailpage&v=AAFWeIp8JT0#t=315s)

They talk about minimizing waste and using nuclear waste to power the reactors, but the article doesn't mention it at all.

<http://transatomicpower.com/products.php>

</comment><comment><USER5> From Nassim Taleb[1]

"""

The Japanese Nuclear Commission had the following goals set in 2003: " The mean value of acute fatality risk by radiation exposure resultant from an accident of a nuclear installation to individuals of the public, who live in the vicinity of the site boundary of the nuclear installation, should not exceed the probability of about 1x10^6 per year (that is , at least 1 per million years)".

That policy was designed only 8 years ago. Their one in a million-year accident almost occurred about 8 year later (I am not even sure if it is at best a near miss). We are clearly in the Fourth Quadrant there.

""" \--

Me:

Human beings are not capable of estimating the risks from Nuclear power plant operation. Take from that what you will.

[1]<http://www.fooledbyrandomness.com/notebook.htm>

<comment><USER6> You'd think Taleb would have an immediate intuitive sense of how "once in a million year" accidents fit our narrative biases, but the slow-motion devastation of large areas of the US and the deaths of tens of thousands of people attributable to inhaled fossil fuel pollution don't.

<comment><USER5> I believe that nuclear power is much safer and less destructive to the environment than mining and burning coal(for example).

But when Tokyo Power sought to build the nuclear plant at Ōkuma I guarantee you they didn't tell people, "this will totally kill fewer people than a coal plant would". They promised absolute safety. The Japanese nuclear regulatory agency didn't promise fewer deaths than the equivalent coal plant. They promised 1 death every million years.

Nuclear power makes huge promises and when it fails to live up to them it tries to change the standard by which it's judged.

<comment><USER6> Do you get the sense that Taleb disagrees with that first sentence? I do.

<comment><USER5> I think his point is the continual failure of humans to estimate risks involving complex phenomenon, not specifically about the appropriateness of nuclear power.

Taleb seems to greatly respect empirical evidence as opposed to models and theories. If you presented him with the evidence that fossil fuel power plants kill thousands per year versus the deaths caused by nuclear power, I imagine it would go a long way towards convincing him that nuclear power was better.

</comment></comment></comment></comment></comment><comment><USER7> The article is pretty thin, and starts out by stating that no-one doubts the ability of nuclear power to supply our energy needs more or less indefinitely (I'd copy and paste the exact sentence but I can't — argh). This is a bad start.

MSR does look like a technology worth revisiting, but this article is a puff piece.

<comment><USER8> The article certainly doesn't state anything new. Fail safes such as the "freeze plug" or the ship to order model or the lack of pressurization are not new. On the flip side though, at least we're seeing this resurgence (in public interest) in nuclear technology whether it be MSRs or other Generation IV+ reactors. Maybe having private companies make significant progress on a tight budget is what it takes to drive further funding from large governmental bodies, just as in the Space industry.

</comment></comment><comment><USER9> If they can't raise enough money for a large installation, why can they not build a small one? Is it financially/regulatory prohibitive?

<comment><USER10> Regulatory is a huge problem. IIRC Sorensen was estimating offhand that the first (modern) prototype/unit would take one or two billion.

</comment></comment><comment><USER11> Please stop linking to Extremetech. It forcibly redirects some browsers to a broken mobile site.

</comment><comment><USER12> _MSR reactors replace such delicate systems with rugged ones: gravity, heat, and the most basic chemical properties of their materials._

So they replace the ultimate fail-safe version with a now ultimately ultimate fail-safe version? Not to mention that of course Fukushima was built to withstand these losses. Oops, that didn't work? How come? It was all so fail- safe and rugged.

<comment><USER13> Fukushima wasn't prepared for the tsunami. The Onagawa plant had a seawall more than 9m high. It successfully shut down without incident even though it was closer to the epicenter than Fukushima. In fact, families actually took refuge in the plant during the tsunami. [http://www.guardian.co.uk/world/2011/mar/30/onagawa- tsunami-...](http://www.guardian.co.uk/world/2011/mar/30/onagawa-tsunami- refugees-nuclear-plant)</comment></comment>


Show HN: List of 3k tech conferences, 358 open call for papers, 10k talks - <AUTHOR> https://tulu.la <comment><USER2> Really great site! I found all (except one) conferences I'm interested in, even the small ones.

Where do you get your data? Is it manually curated?

And what's the stack?

One suggestion: let me exclude tags in the filter.

<comment><AUTHOR> Thank you! We aggregate data from different sources and enrich it with information from twitter/website/opengraph. We've tried to automate as much as possible but still some work has been done by people. Stack is go + postgres + elastic on backend and react + graphql + material ui on frontend.

Thank you for the suggestion! We'll add this to our roadmap

</comment></comment><comment><USER3> This is really slick!

<comment><AUTHOR> Thank you!</comment></comment>


An interactive guide to learning Rust - <AUTHOR> https://github.com/toidiu/learn-rust <comment><USER2> A good resource is: Rust by Exmple - [https://doc.rust-lang.org/rust-by- example/](https://doc.rust-lang.org/rust-by-example/)

</comment><comment><USER3> The Go Tour ([https://tour.golang.org](https://tour.golang.org)) is an excellent guide to getting started to Go, and I really wish something like that existed for rust.

I have no excuse for not being the one to make it (outside of not at all knowing Rust well enough) but I selfishly wish someone would.

<comment><USER4> [https://learning-rust.github.io/index.html](https://learning- rust.github.io/index.html)

[https://rustbyexample.com](https://rustbyexample.com)

<comment><USER3> Right now the second link you posted isn't loading, so I'm not sure if that is something that matches the Go Tour interface (maybe it is, and it's not loading because it's failing to init some virtualized environment for test code to run in?).

My problem wasn't that good documentation wasn't available, it certainly is. The first and second editions of the rust book rust book ([https://doc.rust- lang.org/book](https://doc.rust-lang.org/book)) are what I read through and they're great.

What I meant was very literal -- I don't know of a site with Go tour's exact (or close to exact) interface, where you can run through ~30/40 slides (that's how long go tour is AFAIK) and write some code right in the browser to get a feel for the language.

Rust is considerably more complex than Go, so I'm not sure it could be so succint, but I can say that at least for me, going through Go Tour really did make me feel more confident in starting a project with Golang.

<comment><USER5> Not sure why it isn't loading, but to get an idea it's pretty much literally gobyexample.com for Rust.

<comment><USER6> It's not loading because I set up a redirect to its new home, [https://doc.rust-lang.org/rust-by-example/](https://doc.rust-lang.org/rust- by-example/), and it seems to work for some people, but not for others. I'll have it fixed sometime soon.

</comment></comment></comment></comment></comment><comment><USER7> What's the relevance of learning Rust for someone into web development?

<comment><USER8> As a web developer, you can write servers that take orders of magnitude less space, memory, and CPU than a similar JS server, without having to deal with the madness that is first-time C development.

<comment><USER9> Give me something that can run ReactDOM.renderToString() faster, and I'm all ears. Until that day (and I'm kinda hoping it comes) I'm a bit stuck.

<comment><USER10> [https://github.com/DenisKolodin/yew](https://github.com/DenisKolodin/yew)

<comment><USER9> This does look interesting. I don't see a difference between this and any other server-side templating language though. I actually need an isomorphic representation on the client and server. (this is what makes renderToString() valuable) I guess I could be extremely careful in writing the server output, and writing the client output to match, but at that point, I'd be writing it twice... and I could use any language... unfortunately, it'd probably end up being Handlebars.

<comment><USER10> It's for client side, not for server side. It's compiled into Wasm and delivered to client. You can use same code for server-side pre-rendering (for faster loading or for search engine indexing), but it is not main goal of Yew.

</comment></comment></comment></comment></comment></comment><comment><USER11> I know that this is irrelevant, but is it worth the trouble to learn an esoteric language such as Rust? For me it seems a waste of time to learn a language along with its ecosystem where there are few job prospects.

Right now Go seems to be on an upward trajectory, and despite its ugliness and how primitive it is, it is the job which can pays off when hunting for jobs.

<comment><USER3> Rust and Go, while really similar, kind of are different in use -- the key differntiator is memory management, and memory safety. For a _LOT_ of applications, this isn't necessary or a big deal (see: just about every program written in a language that isn't c/c++).

I see Golang replacing Java longterm and Rust replacing C/C++ (yeah, even C) due to the memory safety and preciseness + speed it offers. It may never be truly C speed, but from where I stand the tradeoff is worth it (and when it becomes NOT worth it, rust/c interop is SUPER easy).

While I like Rust a lot, I think it's definitely not the language to learn if you want a job _right now_. If you want a job right now, go learn Java. Unfortunately, depending on the company you go into, you can basically throw away the next X years of your life working with uninsteresting/stagnant codebases, unmotivated peers, and clueless management -- OR you'll find companies that are using Java in a progressive way.

If you want to invest in a language that will likely become a big player in the next 10 years, and is soundly written, maintained and progressed in the open, then commit to rust.

Also a sidenote, most good managers/engineers realize that syntax doesn't actually really matter. Good engineers get up to speed in languages they've never used in days/weeks -- if you know the paradigms, and how to design good programs, it's a matter of just changing what you type.

Knowing X language isn't what makes a good developer, it's knowing some sufficiently multi-paradigm langauge X well enough that you've moved past the basics and started re-discovering paradigms, design patterns, and answers to problems in a few problem domains.

<comment><USER12> > I see [..] Rust replacing C/C++ (yeah, even C)

To me, the possibility of Rust replacing C is the most interesting aspect of the language.

(I'm not sure I see it replacing C++, but maybe competing with it; choose between evolution or revolution!)

The general hype around Rust is fascinating to me though. I assume it's mostly driven by former C/C++ programmers, but the process has been noisy enough to attract attention from the general developer community? If anyone wanted a non-GC language, C++ has been here since forever and is still being worked on. But Rust has somehow made non-GC seem cool?

> It may never be truly C speed, but from where I stand the tradeoff is worth > it

I'm a Rust newbie and haven't benchmarked anything, but the sense I get from the docs is that it theoretically can be as fast depending on how much you limit yourself. Kinda like how C++ can be as fast as C, if written with care.

It would be great to see a write-up comparing Rust and C overhead, e.g. cpu/memory overhead of function calls, slices, etc.

<comment><USER3> I think the hype around rust is actually pretty well warranted though -- people got really excited about Go and Rust because they were new "systems" languages, and the world hasn't really seen one of those in a while. "systems language" is a pretty vague term, but one of the things I think is important is that memory be manually managed -- I think most people would agree with that.

I think Rust is interesting to the people already using non-GC languages is precisely because it offers the speed of C/C++ with LESS of the footgun aspect. Writing C/C++ is accessible and familiar, but it is far from simple, there are tons of pitfalls. Rust has less of those, and takes a modern approach to much of it's toolchain bits and ergonomics.

> I'm a Rust newbie and haven't benchmarked anything, but the sense I get from > the docs is that it theoretically can be as fast depending on how much you > limit yourself. Kinda like how C++ can be as fast as C, if written with > care.

Almost axiomatically, if Rust could be built 100% with ONLY zero cost abstractions, then it could certainly be as fast as C. Concretely, I don't think that's possible, because usually abstractions will cost you _something_ even if it's just a single extra function call redirection. However, you can definitely get to a point where the difference is negligible, and the downsides (maintainability taking a nosedive) make the tradeoff worth it.

I think if you were to compare rust and C overhead in terms of function calls, slices and the like , you'd just be comparing compilers and micro optimizations implemented in both. I think it's kind of hard to test for the things that really make rust shine -- it's all the time you DON'T spend on race condition bugs, and the time you DON'T spend debugging pointer issues.

<comment><USER13> > "systems language" is a pretty vague term, but one of the things I think is > important is that memory be manually managed

Go does not let you manage memory manually.

<comment><USER3> You're absolutely right -- I didn't think I had to re-state that here since it's like the second sentence of the original comment. That's also why I went into qualifying "systems" language, some might consider golang a systems language, even though it very much does not allow manual memory management, which is why it's vague (and I put it in quotes).</comment></comment></comment></comment></comment></comment>


Open source framework for creating, deploying and distributing API services - <AUTHOR> https://github.com/keithwhor/nodal <comment><USER2> Previous: [https://news.ycombinator.com/item?id=10849460](https://news.ycombinator.com/item?id=10849460)</comment>


Cosmic rays discovered 100 years ago - <AUTHOR> http://cerncourier.com/cws/article/cern/50215

<comment><AUTHOR> What a wonderful time that was for particle physicists! You could discover new stuff with two detectors small enough to be charged on a balloon. Today you need enormous machinery and several hundreds of people. When I worked on KLOE (<http://www.lnf.infn.it/kloe>), I was able to see the entire DAFNE accelerator as it was small enough to be contained in a hangar ([http://scienzapertutti.lnf.infn.it/concorso/2005/scuole_ital...](http://scienzapertutti.lnf.infn.it/concorso/2005/scuole_italiane/avvicinarsibigbang_venturelli/images/dafne.jpg)); on the other side, the LHC is so big that you have to climb the Jura mountains in order to be able to see at a glance its entire extension ([http://www.futura- sciences.com/fileadmin/Fichiers/images/Mat...](http://www.futura- sciences.com/fileadmin/Fichiers/images/Matiere/LHC.jpg)).

</comment><comment><USER2> The cosmic ray observatory founded by Victor Franz Hess is still being maintained and operated by the University of Innsbruck:

[http://www.uibk.ac.at/astro/observatory/hafelekar/index.html...](http://www.uibk.ac.at/astro/observatory/hafelekar/index.html.en)

(I had the opportunity to visit it when Innsbruck was hosting the Austrian Physics Olympiad in 2000)</comment>


Ask HN: How to automatically mirror your own sites? - <AUTHOR>

As my business grows, I want to rely less on one hosting service. Ideally I want to set up a failover system for my VPS so that if one host goes down, the other seamlessly gets traffic redirected to it.
I'm not sure this is actually possible--even if I get servers to stay roughly in sync, what happens when the primary server goes down but the DNS servers pointing at it are fine?
The first problem is actually mirroring everything automatically. How can I keep copies of the files and database in sync across disparate hosting services?
The second problem is how I set up the DNS to fail over to the mirror site.
Is this feasible? <comment> rm-rf On Windows & Linux?

Doubletake. (Or an OEM version - HP OpenView Storage Mirroring).

We keep 25 million files in sync between two sites across a WAN.

DNS?

Load balancers do that automatically. They have features like GSLB that test each site and dish out 'A' records for the one that's up.

<comment><USER2> But doesn't the load balancer solution still restrict him to just the same host.

Are there any solutions out there that would allow you to achieve the same effect, but say between two different providers. i.e. Rackspace goes down, all traffic is seamlessly redirected to Slicehost for example.

<comment> rm-rf Yes. Load balancers have 'site level' load balancing, sometimes called 'Global Server Load Balancing' or something similar.

They have the ability to direct users to a new site by changing the DNS 'A' record t IP's at the new site.</comment></comment></comment>


Mega.co Link of Human Civil Rights Complaint in Blockchain - <AUTHOR> http://www.cryptograffiti.info/#4926 <comment><AUTHOR> For reference the actual mega.co link is [https://mega.nz/#F!QnZRXKyS!oluyILlMPpyJjPS57w7axQ](https://mega.nz/#F!QnZRXKyS!oluyILlMPpyJjPS57w7axQ)

</comment><comment><USER2> So, what is cryptograffiti? Is it just decoding all the non-monetary transaction stuff that people are tossing into the blockchain?</comment>


A Group Is Its Own Worst Enemy (2003) [pdf] - <AUTHOR> https://www.gwern.net/docs/technology/2005-shirky-agroupisitsownworstenemy.pdf <comment> awinter-py I think fukuyama's book on high + low trust societies is about these topics

heard someone claim in an interview that low and mixed-trust societies generally turn to surveillance / censorship

'which attributes of a society enable free speech' is a question people we'll ask seriously + continuously about online communities

</comment><comment><USER2> What's the most important insight in this essay that HN does _not_ line up well with? [1] When I look at his key points [2], the ones that HN seems to line up well with are:

 _The place that was founded on open access had too much openness. They had no way of saying, "No, that's not the kind of free speech we meant."_

 _Technical and social issues are deeply intertwined. There's no way to completely separate them. Having good software isn't enough._

 _Constitutions are a necessary component of large, long-lived, heterogeneous groups._

 _There is always an informal piece of the Constitution. The informal part is the sense of "how we do it around here."_

 _Handles the user can invest in. A way for there to be members in good standing, some way in which good works get recognized. The penalty for switching doesn't have to be total, but if I change my handle, I have to lose some kind of reputation or some kind of context._

Here are points we line up with, but not as much. Note how the first one overlaps with the last one above—that's because HN straddles this issue somewhat [3]:

 _I need to associate who's saying something to me now with previous conversations. Weak pseudonymity doesn't work well._

 _You need some barriers to participation, however small. You have to have some cost to either join or participate, if not at the lowest level, then at higher levels. There needs to be some kind of segmentation of capabilities._

I found only one main point where HN differs significantly:

 _You have to find a way to spare the group from scale. The dense, interconnected pattern that drives group conversation and collaboration isn't supportable at any large scale. Less is different—small groups of people can engage in kinds of interaction that large groups can't._

You might think HN fits this description too, because we've never tried to juice it for growth, and it's a medium-sized forum by contemporary standards. However, when Shirky says small he means "larger than a dozen but smaller than a few hundred". He recommends finding ways to factor larger groups into smaller ones so that richer interactions can happen. This is something we explicitly do not do. As HN has millions of readers and tens of thousands of commenters, it's humongous by the standard he was writing about.

This is the non-siloed property of HN [4]. It's probably the single most influential aspects of the site's design, and it has many counterintuitive consequences, which I've been writing about lately [5].

[1] I asked this in 2016: [https://news.ycombinator.com/item?id=12208054](https://news.ycombinator.com/item?id=12208054)

[2] Several of these quotes are spliced from multiple passages.

[3] [https://hn.algolia.com/?sort=byDate&dateRange=all&type=comme...](https://hn.algolia.com/?sort=byDate&dateRange=all&type=comment&storyText=false&prefix&page=0&query=by:dang%20community%20identity)

[4] [https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...](https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=by%3Adang%20silo&sort=byDate&type=comment)

[5] [https://news.ycombinator.com/item?id=23716395](https://news.ycombinator.com/item?id=23716395) and [https://news.ycombinator.com/item?id=23308098](https://news.ycombinator.com/item?id=23308098)

<comment><USER3> I feel that HN somewhat does the 'factoring into smaller groups' by having each topic's conversation be pretty clearly separated from each other one's, and quickly expiring off the frontpage. So the group of people who actually have a conversation in any given comment page is much smaller than tens-of- thousands.

<comment><USER4> During the onset of COVID there were a lot of people jumping to Amazon's defense of their warehouses. With seemingly deep information about changes there.

Could have been just amazon employees, might not have been.

I feel similarly about how the discussion goes when people slam Apple.

Are these infiltrators? Or do we have a lot of Amazon and Apple employees? Do developers usually care that much to protect their company online? (I've never been in that situation so I can't say).

<comment><USER2> These perceptions are extremely easy to imagine based on seeming patterns that usually boil down to nothing when we look at the data. That's why the site guidelines ask people not to post insinuations of infiltration, astroturfing, shillage, etc., at least if there's nothing concrete to go on.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

[https://hn.algolia.com/?sort=byDate&dateRange=all&type=comme...](https://hn.algolia.com/?sort=byDate&dateRange=all&type=comment&storyText=false&prefix=true&page=0&query=by:dang%20astroturf)

It's natural for people to post about what they know about from work, and they're naturally biased in favor of their employer, so that's a thing. Even more of a thing is just that each $bigco has both a fanbase and a foebase, and the two of them go at it in every $bigco-related thread.

</comment></comment></comment></comment><comment><USER2> If curious see also

2017 (1 comment) [https://news.ycombinator.com/item?id=14634437](https://news.ycombinator.com/item?id=14634437)

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

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

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

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

2008 (1 comment) [https://news.ycombinator.com/item?id=122189](https://news.ycombinator.com/item?id=122189)

2007 (1 comment) [https://news.ycombinator.com/item?id=24992](https://news.ycombinator.com/item?id=24992)

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

Also, the LambdaMOO article Shirky goes into was posted here a few months ago: [https://news.ycombinator.com/item?id=22680965](https://news.ycombinator.com/item?id=22680965)

and the "Lessons of Lucasfilm's Habitat" essay was discussed a bit in 2014: [https://news.ycombinator.com/item?id=8255850](https://news.ycombinator.com/item?id=8255850)

</comment><comment><USER5> The value of a group is based on the quality of its individuals.

<comment><USER2> Unfortunately it's not that simple. High-quality individuals frequently get into low-quality interactions, especially online.

<comment><USER6> People with high knowledge about math don't get into low-quality interactions about math, no matter the medium. They'll find a way to make it informative. If an interaction is not informative, it's always because one or both participants don't know their stuff.

Moderation is important, but it solves a different problem: letting people who don't know their stuff also participate and benefit without destroying everything.

<comment><USER7> IANA expert in social interactions but...

To me it seems like people with a high-quality knowledge can definitely still get into low-quality interactions, even when it's about a subject they know inside and out.

Lets say we have two hypothetical mathematicians who both know more math than the average person. They are both _very_ proud about the amount of math they know. They happen to bump into each other in a discussion about $INTERESTING_THEORY (I don't know enough math to know what this would be). They each pick opposing sides in this discussion, and each become more and more nonplussed with the others opinion, eventually derailing the conversation and devolving into a flame war.

Maybe the average person is nicer/more focused on maintaining a useful conversation than I think, but I have observed this pattern to many times to think it doesn't show up. That being said, I haven't seen it very often on HN, so there's evidence for your point still.</comment></comment></comment></comment>


Install Win32 OpenSSH test release - <AUTHOR> https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH <comment><USER3> This project is _not_ about bringing UNIX to Windows. It is about bringing the open ssh protocol to Windows. As a daily UNIX and Windows user in an enterprise environment, I can say that a fully integrated sshd is a welcomed addition. I have written and maintained many WinRM interop ruby gems and cannot wait until we can deprecate them in favor of a better and sane remote she'll implementation. This is a real milestone, keep up the great work.

As for Cygwin sshd, it does work if posix is the order of the day but if you need a reliable terminal (for things like powershell) that scales to hundreds of servers and many admins Cygwin simply fails the test. Clunky domain authentication, private key auth is a joke, powershell only works sometimes (thanks PTY), network tokens are non-existent, etc. the list goes on and on.

</comment><comment><AUTHOR> See also [https://github.com/PowerShell/Win32-OpenSSH/wiki/ssh.exe- exa...](https://github.com/PowerShell/Win32-OpenSSH/wiki/ssh.exe-examples) once you've got it running. To work around a bug, you'll currently need to run `powershell -File -`

It's still way too early to us as a daily driver - lots of small bugs - <USER2> nevertheless interesting.

</comment><comment><USER4> So once you've done this and you SSH in to the Windows box, I assume you just end up, basically, in a command window?

For example:

      $ ssh firstname.lastname@example.com

      ...

      C:\>

Is that right?

<comment><AUTHOR> Yes. From my Mac:

        $ ssh firstname.lastname@example.com
        email@example.com's password:
        Microsoft Windows [Version 10.0.10586]
        (c) 2015 Microsoft Corporation. All rights reserved.

        C:\Users\Mike>powershell -File -

        PS C:\Users\Mike>

</comment></comment><comment><USER5> Backspace doesn't work from a Linux box SSHing into Windows (strange world we live in), but otherwise it's great.

<comment><AUTHOR> See [https://github.com/PowerShell/Win32-OpenSSH/issues/57](https://github.com/PowerShell/Win32-OpenSSH/issues/57).

For some reason putty works but iTerm has the backspace issue. Putty user: what's your $TERM?

Ctrl H works as a workaround BTW.

<comment><USER5> $TERM from PuTTY - xterm $TERM from Terminal.app - xterm-256color

</comment></comment></comment><comment><USER6> Interesting that the build instructions refer to Cygwin. It's a bit surprising, I'd have expected something more native. What does this bring to the table that regular Cygwin OpenSSHd couldn't do 10 years ago?

<comment><USER7> Powershell integration. Cygwin SSH drops you into a bash prompt running on the Windows box. Powershell is much more deeply integrated with Windows, and is more useful for actual system administration (e.g. configuring IIS, SQL Server, etc) than Cygwin's bash.

<comment><USER8> What "integration" are you seeing? It looks to me like they're just dumping you out to a CMD.EXE instance and leaving it up to you if you want to run Powershell. It's nice to see MSFT embracing SSH and all, but this is nothing that we haven't already been able to do for going on 10 years (likely longer) w/ OpenSSH on Win32.

<comment><USER9> This is just a very early step one in their roadmap [1]. The deeper integration is in the next few steps in their development plan.

[1] [http://blogs.msdn.com/b/powershell/archive/2015/10/19/openss...](http://blogs.msdn.com/b/powershell/archive/2015/10/19/openssh- for-windows-update.aspx)

</comment></comment></comment></comment><comment><USER10> Feature request: Domain group policy setting for authorized keys. Make some ssh key(s) authorized to logon as some domain user(s) for every machine in the domain.

<comment><USER8> You could do this right now w/ w/ a "Startup Script" or using Group Policy Preferences. The authorization to logon is, presumably, tied to the "User Right" to logon interactively and shouldn't have anything to do w/ the SSH server (since it's just userland).

<comment><USER10> Authorized keys in the context of ssh means the ability to logon without password using public key authentication.

Now that I'm thinking about this, anybody know how they're doing public key authentication for domain accounts at all? If you don't use a password to logon, how are you supposed to get a Kerberos ticket to use domain network resources?

<comment><USER8> Yeah-- that was a pretty braindead response. I was thinking "authorized hosts". Now I feel silly.

re: the public key authentication for domain accounts - They're calling the undocumented NtCreateToken() API in "win32auth.c". They don't need a password to create a token going that route. They've also got an LSA Security Package to do the key validation inside LSA. I'm looking at this very quickly, but I'm not seeing that they extended the AD schema to store the public key in the user's AD account. That would be the best way to handle it, ultimately-- just have the DCs use that SSH-LSA Security Package to authenticate the users against the public key stored in their AD account.

</comment></comment></comment></comment><comment><USER11> You can already install OpenSSH for Windows without bothering with PowerShell. See [http://linuxbsdos.com/2015/07/30/how-to-install-openssh- on-w...](http://linuxbsdos.com/2015/07/30/how-to-install-openssh-on- windows-10/)

<comment><USER12> Can you run PowerShell through this?

Also, you probably _want_ PowerShell if you manage a windows system remotely. (Ok, _you_ specifically maybe not, but many users do)

</comment></comment><comment><USER13> Microsoft is going about the whole SSH thing in a very backwards way.

If all they did was make or back an official POSIX environment, all of this comes for free.

Insisting that PowerShell be the focal point for all these changes is just bizarre.

Just install msys2.

<comment><AUTHOR> A half-bad Unix on top of Windows, with its own duplicate way of handling services, storage, users, permissions and everything else, is a pretty poor setup. Powershell (particularly the way it separates data from presentation) is one of the best shells on any OS. Being able to access it from Linux is a good thing.

<comment><USER13> This "separate data from presentation" sounds like TCO-speak. Way too frequently referenced to be a genuine inspiration.

It's only "half bad" (if that even) because while the whole world moved on from Windows to Unix (OSX, Linux), Microsoft dug their heels in. Think of it as paying down long overdue technical debt.

<comment><AUTHOR> > This "separate data from presentation" sounds like TCO-speak. Way too > frequently referenced to be a genuine inspiration.

Huh? It's a very specific thing. When you run stuff on Powershell, you pipe it to 'select' or 'where' and pick fields, rather than running grep / sed / awk and inventing regexs to scrape stuff.

        ps | where {$_.StartTime -ge $1HourAgo}

Before accusing me of 'TCO speak' and being 'ungenuine' \- for mentioning something that's a well known engineering concept, particularly in the Unix world (ever used TeX?), you could have done <1 minute of research.

</comment></comment></comment></comment><comment><USER14> This is great news. @ Userify[1], we're looking forward to porting our shim to PowerShell asap.

1\. [https://userify.com](https://userify.com)</comment>


Skype's Niklas Zennström Backs London Fintech Startup Cleo - <AUTHOR> https://techcrunch.com/2017/01/25/cleo/ <comment><AUTHOR> Hi, I'm one of the engineers at Cleo, happy to answer any questions people have.</comment>