Future Shock Documentary (1972) [video] - <AUTHOR> https://www.youtube.com/watch?v=fkUwXenBokU <comment><USER2> I just read a related book, "The Shockwave Rider" from 1975, which apparently Brennan said was derived from "Future Shock". Despite some big misses in predicting future tech, it was a very interesting exploration of the effects of rapid change on individuals and society, and of course the protagonist smart enough to ride the wave. Looking forward to watching this and reading Future Shock.

Some highlights:

\- Plug in culture for skilled workers, seamlessly moving from city to city and leaving everything behind.

\- A few asteroid mining companies have huge clout with government and dominate the economy. Huge benefits and protections for executives. Higher access to restricted data.

\- Average joes reduced to tribalism and street fighting.

\- Delphi prediction market allowing people to bet on and influence social change.

<comment><USER3> The Shockwave Rider is part of a sort-of-series of near-future novels by John Brunner. The others are Stand on Zanzibar (overpopulation), The Sheep Look Up (ecological catastrophe) and The Jagged Orbit (interracial violence).

<comment><AUTHOR> I've read _The Shockwave Rider_ but not the others... definitely looking forward to digging into the rest of the John Brunner catalog at some point. Thanks for highlighting those!

</comment></comment></comment><comment><USER4> Toffler and other "futurists" have always struck me as complete and utter charlatans. His predictions or whatever you want to call them always seem to fall into one of two categories: Things that are already happening or things that have maybe a 50/50 chance of happening. As Filip Buekens wrote in "The Dark Side of the Loon: Explaining the Temptations of Obscurantism" ([https://core.ac.uk/download/pdf/55704402.pdf](https://core.ac.uk/download/pdf/55704402.pdf)), "[The] promise of a deep insight into intriguing subject matters is often sufficient to lure the audience into a futile quest for understanding."

<comment><USER5> Toffler made predictions about culture and society, not tech. He "predictions" were about about the impact of tech on the systems of society and culture as dictated by the major waves of tech evolution since the dawn of man. The Third Wave outlines the waves of history, Future Shock is about the friction of assimilating to rapidly changing tech and culture, Powershift is about the shift in power from a top down system to a producer-consumer system due to decentralization and Revolutionary Wealth is about the revolution where new business and economic models emerge such as patreon, bitcoin and the Gig economy. I recommend all of these books as they outline a framework for understanding the nature of the technological imperative.

<comment><USER4> Using observational data to make inferences about what might happen in the future is not called "futurism." It's called "intelligence."

<comment><AUTHOR> That doesn't really matter. The point is, Toffler provided a useful framework for thinking about the world and certain changes going on in the world. Whether you call it "futurism", "intelligence", "black magic" or "quxxikigibikig" is irrelevant.

And to your earlier point... no, "futurists" aren't always going to be right about specific details of their predictions. And I doubt many of them would claim that they are, or that that's even the goal. I think the real point of "futurism" is to stimulate thinking about certain plausible events and outcomes, and equip people to gain a small edge in gauging the probability of certain events, or classes of events. In this regard, "futurism" is still valuable, even if the crystal ball is a little fuzzy.

<comment><USER4> A) It's not irrelevant at all. These people call(ed) themselves futurists. You can't hand-wave away its semantic significance and pretend we don't need to talk about how that word is bullshit.

B) I could hardly think of a less compelling defense of futurism than "a fuzzy crystal ball is better than no crystal ball."

</comment></comment></comment></comment></comment><comment><USER6> We live in a post-post-modern world. These days it's more relevant to read Rushkoff and look into his 'present shock' idea: [http://www.rushkoff.com/books/present- shock/](http://www.rushkoff.com/books/present-shock/)

> In his new book, PRESENT SHOCK: When Everything Happens Now (Current; March > 15, 2013), Rushkoff introduces the phenomenon of presentism, or – since most > of us are finding it hard to adapt – present shock. Alvin Toffler's radical > 1970 book, Future Shock, theorized that things were changing so fast we > would soon lose the ability to cope. Rushkoff argues that the future is now > and we're contending with a fundamentally new challenge. Whereas Toffler > said we were disoriented by a future that was careening toward us, Rushkoff > argues that we no longer have a sense of a future, of goals, of direction at > all. We have a completely new relationship to time; we live in an always-on > "now," where the priorities of this moment seem to be everything.

<comment><USER7> This reads as if they didn't read Future Shock. The book outlines Future Shock as experiencing culture shock merely through observing that the future has happened & what you grew up understanding is no longer sufficient to relate to your surroundings

</comment></comment><comment><USER8> Wow, Orson Welles is the host! I was not expecting that. I had no idea a Future Shock documentary existed. Thanks for sharing.

</comment><comment><USER9> For some reason I was expecting Herbie Hancock, even though I knew the album came out later. Tangental, but that album lived up to the name. It was the 1st to feature record scratching, and an early mastery of digital sampling.

This is a classic that I think should be shown in schools. And as much as I abhor remakes, its time may be coming however. I just hope it can capture some of the magic. The Cosmos continuation with Tyson is great, but it just doesnt capture the joyous wonder for me that Sagan's did. I feel this film would lose much of the awesome but sinister undertone without Welles.

<comment><USER10> Hancock was early, but far from first.

</comment></comment><comment><USER11> It seems to still be completely relevant.

I wonder if Ridley Scott was inspired by 34:45 - 35:30

</comment><comment><USER12> This documentary and the book it's based on are hugely relevant to the present. I'd also recommend Herbert Simon's works (referenced in _Future Shock_ ).</comment>


All Europeans are related if you go back just 1,000 years, scientists say - <AUTHOR> http://cosmiclog.nbcnews.com/_news/2013/05/07/18107175-all-europeans-are-related-if-you-go-back-just-1000-years-scientists-say?lite

<comment><USER2> All human beings are related if you go back a sufficient number of years.

<comment><AUTHOR> Yeah but 1000 years is different from 4000 etc, especially since we're talking about national identities.

Many if not most modern Greeks, for example, still feel special and superior because they believe that they're direct ancestors of the ancient Greeks.</comment></comment>


Ask HN: How to contribute to open source projects? - <AUTHOR> I've been writing code for almost a year now. A friend told me once that contributing to open source projects can really improve my coding skills.<p>My question is, how do I actually do that? How do I become a contributor for an open source project? <comment><USER2> Find a project you are passionate about, fix the code, send a patch. Its 'that' easy.

Many mature software projects have some bugs marked as 'Junior Jobs'. They are issues which maintainers felt could be fixed by a newcomer.

OpenHatch[0] is a website which helps you find such projects/issues easily.

[0] <https://openhatch.org/>

<comment><USER3> In between steps 0 and 1, hang out on the mailing lists, IRC channels or wherever the devs talk to each other. You can get a feeling for the culture of the community, who the most active people are, the best people to ask newbie questions without getting flamed, and so on.

<comment><USER4> Yup, freenode is a great place to get on the inside of any project.

</comment></comment></comment><comment><USER5> First you have to find a project you would like to work on. After that it usually goes like:

\- Adding New Features

Is it a new feature I want to add to the project? If yes, find out if someone is already doing this feature, and then you have the option to work with them, otherwise, start coding and submit a pull request (or something similar).

\- Fixing Bugs

Is it a bug you found while working with the project? If it is, then this is a good time to go inside the code and fix it and do the same pull request cycle.

\- Performance Fixes

If you're a curious guy like me, you can go ahead and look through the source code and find places where you think performance can be improved, then start refactoring, after you're done, make sure you publish benchmarks in comparison to the old results.

Have fun coding! :-)

<comment><USER6> How do i know if I'm skilled enough ?

<comment><USER7> As other said, just dive in. And if you're lucky to have your patch criticized and ripped to pieces, you'll learn a lot more from that than you would have if you just work alone. And next time, you'll know to think better about how your code interacts with the rest of the project before submitting another patch. This will give you a lot of insight on how to work nicely with others, without stepping on each others' toes.

</comment></comment></comment><comment><USER8> GitHub code search can be handy - search for "TODO". Indexing by time index rather than relevance helps get legit results: [https://github.com/search?q=todo%3A&type=Code&s=inde...](https://github.com/search?q=todo%3A&type=Code&s=indexed)

<comment><USER9> Another useful phrases are "FIXME" and sometimes also "xxx".

</comment></comment><comment><USER10> Find something that you use and improve it: "scratch an itch", so to speak.

Or release some of your own software - something that other people would find useful.

</comment><comment><USER11> I think discovering OSS projects for one's aptitude and interest is a field ripe for disruption. A few sites have been mentioned, but I think even more can be done. At the same time I wish GitHub was more newcomer friendly.

If you have a full-time job and family life, and side-projects of your own that are not OSS, how do you find time for OSS?

You need to find OSS that you're motivated to develop for. You shouldn't pick some random project that you have no interest in for the sake of boosting your GitHub activity. You need to set up your project environment. You need to debug/test your patches. You need to learn and conform to the coding standards of the project you're dealing with. You need to communicate with the project team and be available.

All these things together require a lot of time. Great if you're single and in college or without a job.

OSS projects, and GitHub in particular, have an elitist stigma surrounding them these days. I don't think it was like that ten years ago. All the Silicon Valley hot-shots are contributing to the OSS projects all over the place. One may think reading HN that everyone and their dog contributes to GitHub and is active, but I don't think that's the case (at least outside of Silicon Valley).

</comment><comment><USER12> I'll tell you how I've gotten involved in every project I contribute to.

Step 1: Use the software

Step 2: Swear at the top of your lungs when you encounter a bug

Step 3: Download latest version from source control in hopes that it's fixed

Step 4: Discover it's not fixed, fix it and submit a patch.

<comment><USER13> Step 5: Take a break, maybe look into anger management...

<comment><USER12> I think it's pretty ordinary to be angry when something you use regularly breaks; is there anything particularly unhealthy about expressing your anger by yelling at an inanimate object? If so then I may need to change some habits.

<comment><USER13> I personally get more angry with bad design annoyances that will probably never change. Like the way YouTube videos stall and reload when you click back in the video or not begin able to filter out certain news items on Google News etc.

PS. I was kind of teasing. Don't take me to seriously ;-).

</comment></comment></comment></comment><comment><USER14> I cannot believe that people can have that question. Or, well, I do believe it, but then my second question usually is: did you ever use linux/bsd or any OSS project in the past?

I don't want to be rude at all, but the suggestion of "contributing to an OSS project" makes a lot of sense if you already had to work with/use OSS software. Because, _if_ you had to use one of these projects, you would probably already understand the most important _social_ aspect of it. Coding, IMHO, is just secondary (and is not necessary _at all_ ).

Thus my suggestion would be: if you never dealt with an OSS project before, try to find some OSS software which you genuinely like and try to use it (and well) and follow its development. Once you did, you will _certainly_ know how to contribute. There's nothing more to it.

If you are already familiar with OSS, but so far never found anything "interesting", the best thing to do IMHO would be starting your own. Release something that you did and that you would like others to use.

Most importantly, do all of that for _fun_. Don't do that because you _have_ to and because they said "it would be helpful". Helpful for what? Coding style\quality varies wildly, as is the community around the project itself.

The biggest difference between a "professional" and OSS project is exactly this: people work on OSS project for many reasons, but it's mostly for fun or passion. Some projects strive for quality, some for functionality, and some just solve an "itch" somebody had. Understanding the social aspect, _again_ , is the biggest differentiating factor.

There's no point in contributing to OSS unless:

1) you released something that you like to maintain 2) maintain something somebody _else_ released 3) fix an itch you have 4) having fun coding (or any other activity around said project)

<comment><USER15> I won't address the "I cannot believe" part...

>If you are already familiar with OSS, but so far never found anything "interesting", the best thing to do IMHO would be starting your own

I couldn't disagree more. If you haven't found a project that is "interesting" or simply useful, then you're not really programming (or perhaps aren't looking in the right place?). There are SO many useful projects, or semi- useful projects (and lots of not very useful ones) that there's got to be at least one (if not dozens) that would be interesting.

Regardless, if one couldn't find an interesting one to contribute to (at least a little bit), starting a new one would be a bad idea because, unless it's really unique or compelling, won't get a lot of attention and you won't get any good feedback on what you're doing (which is critical if you want to learn).

I do agree that the _social_ aspects of contributing to and/or running an OSS project is important. So even if you're not contributing code to a project, if you're filing issues or making comments on other issues, that's a great way to learn.

<comment><USER14> If you are not familiar with Linux (for example, you're working on Windows or mostly doing web-development), it could _entirely_ be. Mac OS is more friendly, but I certainly saw many developers that didn't scratch the surface and directly went with XCode/ObjC/iOS. In that sense, you can build a career without ever considering OSS development/usage.

What's best for somebody that, as of now, is questioning _which_ project should be looking at? If you don't know what you're looking for, any advice is just as good as a google or github search (ie: useless).

If you start by having fun, even by publishing your random projects, you will be dragged in by dependencies (that's ironic). I would rather recommend choosing something fun to work _with_ than a random project to look _at_.

</comment></comment></comment><comment><USER16> I created a Github account and found a really interesting project (Adobe Brackets). At that time I was looking for an open source project and found brackets, I enjoyed using it and when I realised I could contribute I started building whats missing. I've contributed to Arabic Translation, Text Highlighting and Code Recognition. So my advice to find something you like and contribuite to that :)

</comment><comment><USER17> A lot of the advice on here is fantastic, but mostly relies on "being passionate about a project", or "pick a project you use". To me, the hardest part is actually finding the project you want to contribute to. I heard in school that I should contribute to open source, but at the time, all the programming I did was for class projects. When I heard the term "contribute to open source", my head heard something along the lines of "patch the linux kernel". I never really used all the cool libraries that exist for web or mobile development, so I had no idea what I would contribute to if I were to contribute to open source.

I'd say first pick a project by going and building something that relies on some cool Github library. I don't think anyone but me clicks on the "Explore" tab on Github, but check it out, find a repository that you think is awesome, try using it in your own small project. Then I'd say go ahead and look at the issues that the library is having, and start tackling them one by one.

</comment><comment><USER18> You have different options - here are some reflections of mine when I became V. P. Logging:

[http://www.grobmeier.de/hey-i-became-a-vice- president-070720...](http://www.grobmeier.de/hey-i-became-a-vice- president-07072012.html)

Here is another link, which helps you to understand how Apache works: <http://www.apache.org/foundation/how-it-works.html>

Of course, you don't need to go to the ASF when doing Open Source. I found it great because its all around community there and there are many nice people.

You could also simply start with getting the sources of the tools/lib/framework you use every day, be it on ASF or not. For example, I got the source code of Angular.js because I use it daily. Now when I need to implement something which makes me confused, I am looking into the Angular.js code to understand why it does confuse me. In many cases it's not easy and I leave it up for "later" (aka never), because of the time. But if I am REALLY interested I simply ask on the mailing list how things work. When you have got that knowledge, you can investigate if there is a better way and propose a patch/pull request.

Also simply looking at the issue tracker and finding issue which are matching your skill level are a good start. You could also try to understand issues which are above your skill level, just to understand better how things work.

After all, becoming a contributor is easy: asking and answering questions on mailing lists IS already a contribution to the open source project. Finding out on background, sending patches for typos in the docs, improving unit tests or implementing new features is of course a bigger contribution.

If you are serious about getting into open source, then my advise is to flesh out an hour a day and walk intensive through code you find interesting. If it bores you, take something else. If not, understand things and simply get in touch with the dev, hopefully with some great patches.

</comment><comment><USER19> You can subscribe for projects that interest you on <http://www.codetriage.com/>

You will receive each day a PR or an issue of each project. Then you can see if you can resolve the bug and propose your solution.

</comment><comment><USER20> Late to the party but I wrote a website to help you do exactly that <http://www.codetriage.com>. Find a GitHub repo you like, then subscribe to receive one issue in your inbox each day.

</comment><comment><USER21> Jos Poortvliet wrote about this just the other day [http://blog.jospoortvliet.com/2013/05/getting-involved-in- fr...](http://blog.jospoortvliet.com/2013/05/getting-involved-in-free- software.html)

</comment><comment><USER22> Most projects have a special page with instructions for beginners. Generally, all instructions are similar and contain several steps:

\- subscribe to the mailing list for developers;

\- preview of the coding standart;

\- familiar with the procedure for sending patches to review;

\- contribute :) ;

In my opinion the best way to contribute is to add that functionality, which does not get to you personally. As an example, you can see the page of GNOME for beginners <https://live.gnome.org/GnomeLove> .

</comment><comment><USER9> If you don't want to start with big projects, and you're fine with JavaScript:

1\. Go on to <http://userscripts.org/> and find some non-trivial script

2\. Does it work with Firefox, Chrome, Opera? Sometimes a little fix can make it more portable.

3\. Do you think it lacks any features, configuration options etc.? Go on and implement it.

Most of the US are opensource-licensed and small enough to get started quickly.

</comment><comment><USER23> I would pick a project you use, a framework/library/whatever and look through the bug list.. then fix the bug!

Most projects will want to know you before accepting anything major, as they are on the hook for maintenance once you disappear!

<comment><USER24> Even more simple. When you find a bug tell the dev(s).

It's sometimes frustrating to find out a bug that has been around for ever and drove users crazy but no one ever signaled it.

Edit: The first project I ever contributed was phpBB. It was years ago. I never coded before, so I was moderating the community and then I learned how to code. Sometimes, It's not all about coding.

<comment><USER25> I can second this.

I was involved in a relatively large server mod community, primarily as a dev, but as time went on more and more time was spent moderating the community and managing incoming work.

By getting involved, even without coding anything, you will learn a lot about how the 'core' team operates and communicates. If you are able to support by testing or triaging that can help even more. Once you get an idea of how things work you will probably also find something that you can fix.

By all means, jump into the code as soon as possible, but don't discount the other parts of an open source project.

p.s. Documentation is an area that _always_ benefits the entire project, without requiring much more than a comprehension of the code.

</comment></comment></comment><comment><USER26> The Python project has a special "mentorship program" designed to increase the amount of core contributors to Python. See - <http://pythonmentors.com/>

</comment><comment><USER27> have a look at codemontage.com or openhatch.org.</comment>


Verizon Ends Smartphone Subsidies - <AUTHOR> http://www.verizonwireless.com/news/article/2015/08/simplified-data-choices-match-customer-lifestyles.html?null

<comment><USER2> Hmmm it seems better than T-mobile's $30/month "unlimited" data(LTE for first 5gig and super slow after that), unlimited texts, and 100 mins of talk, yay competition!</comment>


Thrive in Tough Times - <AUTHOR> http://webworkerdaily.com/2009/02/13/thrive-in-tough-times/ <comment><USER2> A coupon site? That's one of their recomendations? Maybe they should also offer a time machine to go back to 1998. Ok, maybe a bit smarmy, but that is one busy space with a handful of very heavy jitters and no good domains left. Just a bad idea in 2009.</comment>


XSS (Cross Site Scripting) Prevention Cheat Sheet - OWASP - <AUTHOR> http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet <comment><USER2> I try to use all these tactics on websites I'm assigned to "bring up to date." However, the PHB usually refuses to allow time to do so - trusting more in "security by obscurity" than trusting in security.

<comment><AUTHOR> one day it will bite. Then he'll turn around and ask you why you didn't build it properly...</comment></comment>


Show HN: SiteCondor - on-page SEO and website QA tool - <AUTHOR> https://www.sitecondor.com/

<comment><USER2> Used it out a few weeks ago on our beta landing page, very cool. It was fast and easy to use. I will be using this on our website updates going forward!</comment>


'Phantom call' theory dismissed by experts - <AUTHOR> http://edition.cnn.com/2014/03/12/world/asia/mh370-phone-theory-debunked/

<comment><USER2> We needed experts to tell us this?

I guess it's a good example of how folk knowledge about technology is often wrong, and how UI transplanted from an old system to a new system can lead users to make invalid assumptions.

</comment><comment><USER3> Maybe its time to upgrade the ringing sound. There could be a different sound for each stage of getting the call thru. Until traditional ringing when the phone is actually ringing.

</comment><comment><USER4> As a counterpoint, when I call a US phone that is shut off, the call seems to go straight to voicemail.

<comment><USER5> Yeah, why is that? I guess when you shut the phone off the right way, it signs off the network or something?

But what if you just pop the battery out with no warning?

<comment><USER6> The call will go straight to voicemail if the last registered network was your home network. It doesn't go straight to voicemail if the last registered network is an international roaming partner.

Source: I'm a huge telco nerd working at 2600hz.com.

</comment></comment></comment><comment><USER7> This whole cell phone discussion is by far the most idiotic thing I've seen relating to MH370. I can't believe I've seen so many articles attempting to present "both sides" of it.

Newsflash: if you dial a cell phone number, the network has to search for the phone. If that phone is, say, at the bottom of the ocean, the network can spend a while searching before it gives up. In that time, the caller will often still hear a "ringing" tone.

I can understand why people might not know this and think that it somehow means something. I cannot understand why any so-called "journalist" or "news organization" would ever take the idea seriously for even a minute, let alone run a story about it.

<comment><USER8> _In that time, the caller will often still hear a "ringing" tone._

actually this was surprising (and news) to me: I'm in Belgium, and I don't think this ever occurred to me. If the phone is not found (as in, truned off), you don't get any ringing. Just some silence followed by either voicemail or some message saying the correspondent is unreachable and then voicemail.

<comment><USER6> This is true for calls inside your home network. When you place a call to an on-net device, the network knows almost instantaneously if you're available or not.

Let's say you're roaming: how does your home network know how to reach you? Without going into a lot of detail, that information has to be relayed from your roaming carrier to your core carrier.

Most likely, the ringing you hear is the border of the home network waiting for a response from the last registered roaming partner network. As in all cases, every tone you hear on the network these days is just an arbitrary audio file and has nothing to do with network operation today. Phones ringing, busy tones, etc. are all relics held over from the old days to make people feel better and more comfortable.</comment></comment></comment>


We're not No. 1 We're not No. 1 - <AUTHOR> http://www.nytimes.com/2014/04/03/opinion/were-not-no-1-were-not-no-1.htmle

<comment><USER2> 404 for me. looks like there's an extraneous e appended to the url for whatever reason

working link:

[http://www.nytimes.com/2014/04/03/opinion/were-not- no-1-were...](http://www.nytimes.com/2014/04/03/opinion/were-not-no-1-were- not-no-1.html)

One thing that needs to be pointed out regarding these types of posts is that the top rated nations all have essentially homogenous populations. This means that there aren't as many touchy issues such as race, culture, religion, etc. As such, the legislature of these countries are theoretically more free to put in place changes that are beneficial to the country.

<comment><USER3> "This Social Progress Index ranks New Zealand No. 1, followed by Switzerland, Iceland and the Netherlands."

I can only speak for the Netherlands but our population is anything but homogenous. Our politics and societal issues are in fact _dominated_ by racial, cultural and religious differences. It's almost all we talk about.

</comment></comment><comment><USER4> How did this get 4 points and make it to the front page when the link is broken? Is somebody gaming the system?

<comment><USER5> About 20 days ago the same thing happened, and I posted a nearly identical comment. Then, it was a link that was to localhost. Some folks definitely seem to be gaming the system. Only the bad links have allowed their detection.

<comment><USER6> Something like that happened to me, and I was very confused when I ended up at a website I had built a while ago - it was still running on that machine on localhost...I was scared that the website had made it to the frontpage, and sad when I realized it actually hadn't...

</comment></comment></comment><comment><AUTHOR> Sorry I posted from phone. Hopefully a mod can fix the typo.

</comment><comment><USER7> Very good point! how did it make the front page?</comment>


PeerTweet – Decentralized feeds using BitTorrent's DHT network - <AUTHOR> https://github.com/lmatteis/peer-tweet <comment><USER2> I think it's clear that, in light of what's been going on, we need a more diverse ecosystem of P2P networks in order to protect the integrity of our private communications. So I support any effort to experiment in this area

<comment><USER3> Is there any library/framework that helps build p2p things? That could help the ecosystem the same way web frameworks have helped build websites faster and more secure than ever.

<comment><USER4> I'm not aware of any batteries-included _frameworks_ , but here are some of the p2p-ish libraries that I've either worked with personally, or looked into and found promising, along with some commentary:

Telehash: [http://telehash.org/](http://telehash.org/)

Provides a p2p-capable messaging stack. I've worked with an earlier version (v2) for Toc Messenger [1]. V2 included an integrated DHT for public peer discovery along with the p2p messaging stack. Was actually surprisingly robust and reliable considering how young the project was at the time.

V3 seems to have pivoted towards the private mesh networking side, and spun out the DHT into a separate project, but V3 itself doesn't seem to have a clear story for integrating with an external, public DHT the last time I checked, so the intended use cases aren't quite the same as V2.

[1] [http://toc.im/](http://toc.im/)

Matrix: [http://matrix.org/](http://matrix.org/)

Doesn't allow for fully peer-to-peer messaging, but is decentralized and federated like XMPP. Probably the closest thing on this list to a framework (handles both messaging and storage).

Last time I looked at it, my main concern was how much implicit trust users needed to place in homeserver providers (messages and user profiles are stored in plaintext). Unless this has changed, I don't find it viable for any app that values user privacy. Even federated networks eventually gravitate towards a large degree of centralization once the tech becomes mainstream (see email). If any servers are used at all in a privacy-minded app, they need to be zero- knowledge as far as I'm concerned, for actual user data at the very least, if not metadata as well (I realize the latter is an unsolved problem).

RemoteStorage: [https://remotestorage.io/](https://remotestorage.io/)

A decentralized, federated protocol and library for data & file storage. Also used this for Toc. Worked as advertised but I'm looking to explore fully p2p alternatives for my next project.

The main problems I ran into (asides from the non-fully-p2p architecture) was the rather clunky API (for instance, it requires developers to provide a schema to fully specify objects they want to store, but doesn't provide a versioning and migration mechanism to take advantage of the schema specs, although it is planned), and the fact that encryption for data at rest wasn't implemented (until I finished working on a custom encryption layer for Toc built on top of the library).

Kinto: [http://kinto.readthedocs.org/en/latest/](http://kinto.readthedocs.org/en/latest/)

Similar to RemoteStorage, but decentralized discovery is planned and not implemented yet. It's built by Mozilla and apparently used in Firefox and Firefox OS (I'd assume for Firefox Sync?).

They also have a comparison table with RemoteStorage as a part of their docs if you're interested in a more detailed (but possibly impartial) comparison [2].

[2] [http://kinto.readthedocs.org/en/latest/overview.html#compari...](http://kinto.readthedocs.org/en/latest/overview.html#comparison- with-other-solutions)

Swarm: [https://github.com/gritzko/swarm](https://github.com/gritzko/swarm)

A decentralized data replication library that's built on ops-based CRDTs [3]. Some very impressive work here. Although I recently found out that V1 of the library no longer supports fully p2p replication due to architectural changes, which made it a lot less interesting for my use cases.

[3] [https://en.wikipedia.org/wiki/Conflict- free_replicated_data_...](https://en.wikipedia.org/wiki/Conflict- free_replicated_data_type#Operation-based_CRDTs)

Replikativ: [https://github.com/replikativ/replikativ](https://github.com/replikativ/replikativ)

The one I'm most excited about personally. Similar to Swarm, a CRDT-based data replication library, but even more ambitious (they envision an open data exchange whereby users fully control their own data, and can specify any number of applications to have access to that data, instead of the status quo where user data is kept in closed, per-application silos). There's a comparison with other alternatives, including Swarm, in their README [4].

They also plan to have pure browser-based p2p replication through WebRTC, which is exactly what I'm looking for.

It's built in and for Clojure and ClojureScript, but JavaScript support is in the works. As if I needed any more incentive to get started on my first ClojureScript app. =)

[4] [https://github.com/replikativ/replikativ#alternatives](https://github.com/replikativ/replikativ#alternatives)

GunJS: [http://gun.js.org/#step1](http://gun.js.org/#step1)

A decentralized, replicated graph database. The pitch is very impressive sounding, but I'm hesitant to actually use this because they promise _a lot_ of replication magic, but the replication is built on a home-grown algorithm rather than something rigorously peer-reviewed and implemented industry-wide like CRDTs.

I'd love to hear from anyone who has actual working experience with it though.

IPFS: [https://ipfs.io/](https://ipfs.io/)

IPFS and its suite of associated libraries has already been mentioned elsewhere in this thread, so I won't elaborate on it.

<comment><USER5> Author of gun.js here, great comments/concerns.

First, Aphyr (Kyle Kingsbury of Call Me Maybe fame, Jepsen database testing suite) did some tweets about GUN ( [https://twitter.com/aphyr/status/646302398575587332?ref_src=...](https://twitter.com/aphyr/status/646302398575587332?ref_src=twsrc%5Etfw) ), and I met with him at a conference in Berlin where we both were talking. He had some concerns (wanted the conflict resolution to be able to be plug-in- play with your-own-CRDT, and if journaling is disabled then some stale/old updates would be dropped), but overall seemed positive about GUN (check his own tweets). I hope to have him do a more serious review at some point, but I also hope that his initial thoughts provides some initial industry peer review.

Tailing the first point, part of the reason why we didn't receive a more critical response from him is because we make NO claims of serializability or linearizability, which is what most academic research focuses on. In fact, GUN takes a somewhat controversial view with regards to classical things like Strong Consistency. For more information on how GUN's algorithm works, check out this recent podcast we did with the LondonJS community - [https://youtu.be/qJNDplwJ8aQ?t=32m45s](https://youtu.be/qJNDplwJ8aQ?t=32m45s) .

Second, GUN does use CRDTs. All CRDT means is "Convergent Replicated Data Type", which is a fancy way of saying that you'll get the same end result regardless of the ordering of the operations involved. Because GUN is offline- first it is incredibly important that it can retry an update multiple times to handle network partitions - this fundamentally results in operations not having a consistent ordering, especially when dealing with multiple peers updating (offline) simultaneously. If you watch the "Holy Grail Demo" (1min long, [https://youtu.be/-i-11T5ZI9o](https://youtu.be/-i-11T5ZI9o) ) you see that this does not wind up being a problem.

Third, there are other CRDTs that can be implemented on top of GUN's core. A specific instance of where GUN's default will fail you is in commutative operations (something Kyle was also concerned about), by default you cannot do increment (adding numbers) operations with GUN - partly because GUN treats a single value as being atomic. If you have a HN upvote count and you naively were to use GUN's out of the box CRDT, and two people locally added 1 to their local value at the same time... they would both converge to the same end result (5 + 1 = 6) but the intended result is 7. This intention-preserving CRDT is called a Commutative Replicated Data Type, which a specific variant on the general category. However, this does not mean that it is impossible to do this with GUN - you can, because GUN's underlying CRDT is designed to be emergent, allowing for other CRDTs to be built on top. At some point we'll (or somebody in the community) will provide these as plug-in-play module/extensions to GUN, so that way you won't have to build them yourself.

Fourth, "home-grown" is somewhat true, but I think that is giving me too much credit. GUN's underlying conflict resolution algorithm is based on a hybrid lexical, vector, and timestamp clock - hardly magic at all, in fact they are somewhat naive intentionally. The nice thing is that they "just work" for the majority of web based apps right out of the box, which is probably why it seems magical. However, they won't work (alone) for more complicated business logic, and that is why we encourage the UNIX/NodeJS philosophy of adding those algorithms on top. It is important that your bread-and-butter machine is not based on a monolithic black box (like a lot of databases are), instead you should understand the base of the system and then plug your business-specific needs on top.

Fifth, we're looking for more academic and peer review! I've already had numerous discussions with a Distributed Systems PhD at Carnegie Mellon that got poached by Uber's self driving car division, he's trying to help me find some people to put together a paper. That said, if you know anybody or could help connect me into that world it would be greatly appreciated.

Thanks so much for including us in the list, please shout if you have any more questions! :)

<comment><USER4> Thanks Mark, that definitely cleared up a lot of my concerns on Gun. To be honest, I only had a cursory glance at it when I first heard about it, but reading your comment definitely sparked enough interest for me to take a deeper look.

One question still on my mind after quickly skimming your docs: Can Gun sync directly between browsers (using something like WebRTC) without involving any servers? If so, could you point me to where it might be documented? If not, please consider this a feature request. =)

<comment><USER5> The answer is "Yes, it is in development" by one of our contributors: [https://github.com/PsychoLlama/gun-rtc](https://github.com/PsychoLlama/gun- rtc) . But you'll realistically have to wait (or help) with it, before it is usable.

As you know though, WebRTC unfortunately requires some initial servers (STUN/ICE, or a signaling server, etc.) so it is not fool-proof P2P sadly.

</comment></comment></comment></comment></comment></comment><comment><USER6> [http://twister.net.co/](http://twister.net.co/)

A more mature similar open source implementation of the same idea.

<comment><AUTHOR> Totally appreciate Miguel's work and I've been following them for a long time. I think what they're doing is awesome and people should definitely check Twister out. I should probably have a related work section on the README. Anyway the approaches differ in some areas even though they seem to have the same goal in mind.

First off Twister is its own network. They use libtorrent and therefore most of BitTorrent's tech (with some alterations). PeerTweet on the other hand actually uses BitTorrent's mainline DHT network. Then they also include ability to assign names to your feeds based on blockchain mining - again this is their own blockchain. PeerTweet doesn't do that and instead perhaps relies on others to build that functionality on top of it (hint namecoin).

I'm not saying that having your own network for everything is bad, I'm just stating the differences :)

Also I think we need different tools that try to do the same thing (ex. Twitter) using different methods.

<comment><USER7> From what I've seen, some of the Namecoin devs have distanced themselves from the project because they want to introduce some sort of zero knowledge authentication such as Zerocash to improve anonymity, but because it may be incompatible with the current network they want to focus on either making a parallel or competing solution.

</comment></comment></comment><comment><USER8> DHT - Distributed Hash Table [https://en.wikipedia.org/wiki/Distributed_hash_table](https://en.wikipedia.org/wiki/Distributed_hash_table)

</comment><comment><USER9> > "d": <unsigned int of minutes passed from epoch until when item was > created>,

I know it's a simple /60, but why change from the more-or-less standard seconds from epoch? To try to squeeze more time out of a 32bit unsigned integer? Since there is no discussion of what size this integer is, I'm expecting you're just defaulting to the json standard, which would support a 53-bit signed integer, iirc.

<comment><AUTHOR> Yeah it's just a matter of saving space. Here's the actual code: [https://github.com/lmatteis/peer- tweet/blob/master/app/compo...](https://github.com/lmatteis/peer- tweet/blob/master/app/components/Tweet.js#L77)

I'm really bad at binary arithmetic so I might have done something wrong, but essentially I calculate how many bytes I need to use for the integer, and I store it in a buffer.

I might change this if the space required is the same for seconds. I just figured I'd save some space, and I only need minute precision really.

<comment><USER10> My personal intuition is that the tiny space savings isn't worth the creation of a new timestamp format that will undoubtedly cause frustration down the line, if this catches on.

</comment></comment></comment><comment><USER11> > PeerTweet

Since it's not actually using Twitter and you're not turning into a little bird to share a song can we call writing short messages something other than "tweets"? You might also run into trademark issues with Twitter, but that doesn't bother me as much as grown adults referring to general status updates and conversating as "tweeting", especially when Twitter isn't even involved. We just like need to draw a line in the sand somewhere.

<comment><USER12> Do we? Is it really that big of a problem?

If someone says they read a "Tweet", I instantly know that it was a very short message most likely made with very little thought or planning behind it.

It's a word, just like any other. This whole idea that we should stick to more vague words because they are "more adult" is silly to me.

</comment></comment><comment><USER13> One of the top feature of twitter is search, trending topics, easy discoverability etc. In other words, all the goodness brought by centralization (which also comes with all the bad which is censorship, no open/free data etc). The first one to crack this thing (offer both great search and discoverability) and decentralization will win the internet. But it just seems super hard, people tend to concentrate and group no matter how decentralize they start, same thing is happening with bitcoin right now. Not saying it is impossible, but not coming in the near future I think. I sure hope I could be proven wrong though.

<comment><USER14> I think a twitter-decentralized-blockchain could solve this?

<comment><USER15> Check out twister, it's exactly that: a blockchain-backed twitter, where direct messages are handled through DHT. It is very promising, although it had its birth pains: decentraluzation inevitably brings spammers and squatters...

</comment></comment></comment><comment><USER16> what's really holding back the explosion of trustless, decentralized, secure, p2p applications is the very people using the internet. Most people don't give a rats ass or even have the capacity to appreciate something like this and what's going on in the background and _why_ it matters.

All it takes is some teeny boppers like a snapchat demographic to adopt new technology. Facebook, twitter, all worked because we were all young once and so was everyone around us.

Some applications by nature will not be possible such as Google but one can dream right? A decentralized, distributed Google that's as good as the real thing but without any of the inherent creepiness? Duckduckgo is a real market reaction to the ongoing battle between politics and technology, but it just isn't good enough as the real thing.

I think that all in all, decentralizing applications mean a completely new paradigm change in how we value the end user. No longer is a browser fingerprint of some schmuck an exploitable piece of data by advertisers, government bodies.

I believe decentralization movement is happening now things are moving far far faster than what I had expected, really underestimated how quickly adoption is measured on the internet...in months if not a year, people's habit drastically change, suddenly a new monster appears and everyone loses it.

<comment><USER17> Every event like the lavabit shutdown, the sybil attack on Tor and even the current Apple issue will add further push to the decentralization movement. Hopefully in the next year or two we will see many completely surveillance proof systems come up.

</comment></comment><comment><USER18> What's the threat model here? Is the potential adversary able to do MITM?

\- The DHT does not anonymize the poster ipaddr, the post contents, posting time and other metadata

\- same for the reader ipaddr, what was reading, and when

<comment><USER19> Based on the timing, I would imagine the threat model is ad purveyors taking over a previously relatively open application provider and engaging in soft- to-hard censorship of controversial topics until the only acceptable content is tweeting about how happy you are about #brands and #socialjustice.

<comment><USER20> That isn't a threat model for this but speculation that this is a mitigation of a threat in twitter's threat model.

It isn't clear what threats the design of this system guards against or that much thought was given to the types of attacks so much as to create something shiny and decentralized.

</comment></comment></comment><comment><USER21> Very Cool! I've been thinking a lot about decentralized social networks and the value that they could bring. With companies I love like Soundcloud so far in the red, it is only time until they go under or change fundamentally. I think this idea of decentralized feeds fits very well with the current state of music, many different artists, collectives, and labels that basically only exist on the internet. If anyone wants to explore the idea with me I am very open to it!

</comment><comment><USER22> > "a": <utf8 http url of an image to render as your avatar>,

HTTP, again ? Ah, if only there was a decentralized way to exchange content without the need for any central authority, all while being sure of the authenticity.

<comment><AUTHOR> HTTP is easy and well supported. Why not mix centralized solutions with decentralized ones? The important part is that you can edit your tweet with different URLs if they go down.

<comment><USER23> Plus, you could always host your own image. No one is forcing you to use a centralized image-hosting service.

<comment><USER24> You still end up relying on things like BGP, the centralization goes a long way down.

</comment></comment></comment></comment><comment><USER25> I did a decentralized Twitter in 2010 with a very similar design: [https://github.com/imdario/qantiqa](https://github.com/imdario/qantiqa)

</comment><comment><USER26> Reminds me of [https://github.com/TrsstProject/trsst](https://github.com/TrsstProject/trsst) and others like it before, like App.net.

This isn't a new idea and I'm 100% behind a more decentralized and free interwebs. The question is what will it take to gain traction. Ease of use is helpful, but there must be something compelling for people to adopt it.

</comment><comment><USER27> Does this create a new DHT entry per tweet or per user ?

I think the DHT itself can quickly become overloaded/slow - DHT does impose some b/w overhead for each node

<comment><AUTHOR> One DHT entry per tweet. I do agree that it does create overload on the DHT. Initially in fact I was looking at implementing it as such: [https://github.com/bittorrent/bittorrent.org/issues/19#issue...](https://github.com/bittorrent/bittorrent.org/issues/19#issue-110508430)

Problem is that you don't get the "hosting" effect that you get with the DHT so you always need a peer seeding your feed or else it won't be reachable.

Anyway, I hope others take on the challenge of implementing alternatives looking at different methods.

<comment><USER27> Actually - i have been playing around with building a feed on top of a single torrent - so it would be one torrent per user - and subscribers to the torrent would (hopefully ;)) get a feed of updates

Could this interest u ?

<comment><USER28> you have some example about this?

<comment><USER27> yep.. seems to work in alpha..

No changes required to other DHT node. Which is cool. And i was specifically aiming for a low/scalable bandwidth overhead

Each new "announce" propagation is kinda slow.. 1-10min to spread through the DHT..

</comment></comment></comment></comment></comment><comment><USER29> Call me cynical but a decentralized alternative to Twitter (or the domain name system for that matter) won't work unless:

a) there's a mechanism for brands to get their associated nickname, and

b) spammers can't create millions of accounts, or doing so is worthless.

Even BitTorrent only really works because central authorities (torrent sites) confer some level of authority on the contents of particular torrents.

<comment><AUTHOR> BitTorrent's DHT is constantly being spammed and has been so since its inception several years ago.

The whole point of DHT feeds is to actually filter out spam by only trusting specific feeds. Torrent site owners can publish their torrents on PeerTweet and avoid having to change their DNS every week or so (therefore having to rebuild their reputation).

</comment></comment><comment><USER30> Do browsers prompt like for mic and camera before opening p2p connections? Nobody wants a letter from the MPAA because a random website's javascript starts downloading/seeding stuff in the background without the user's knowledge.

<comment><USER31> P2P isn't always mic and camera.

Here's an example: (WARNING: Don't open this link if you're on mobile, or on a capped data connection)

[https://webtorrent.io/](https://webtorrent.io/)

<comment><USER30> That's what I'm saying. It should also prompt for permission if there's no audio/video involved. Visiting a random site can make you upload and download illegally at the same time. Therefore there's no justification for it to be enabled by default if just JS is allowed.

</comment></comment></comment><comment><USER32> For security: this should be combined with something like CertCoin. HTTPS is Evil™ 8)

</comment><comment><USER33> Very interesting, wanted to install and try until I read npm.

I do not feel very dumb, but dealing with node takes more energy than I think I have right now.

So summarized: still very interested but won't try unless someone explain how to like node.js.

<comment><USER34> I see you've been down voted, however I felt the same way, I loved the idea - then saw that it was in nodejs and while I don't discount it's merits I can't bring myself to try it out if it requires nodejs & friends.

<comment><USER33> Thanks, I have no reason to hate Javascript, it's just that I find the Node JS hard and I fail to see the reason for using it for a lot of things. (Then again I found Java hard before I started and someone showed me the basics of eclipse so this is possibly more a cry for help : )

</comment></comment></comment><comment><USER35> Super cool idea - I'll try this out today.</comment>


WikiLeaks 'insurance' file has not been decrypted - <AUTHOR> https://twitter.com/#!/wikileaks/status/108251897961517056 <comment><AUTHOR> There is definitely something going on but what is anybody's guess, more interesting stuff here: <https://twitter.com/#!/wikileaks>

Edit: If wikileaks thinks that the file not being decrypted matters if the plaintext is available they are totally out to lunch, of course they will be held responsible.

You are either in control or you're not in control, whether or not the 'insurance' file was the source will matter very little once the plaintext is out there.</comment>


Ask HN: Are the new Dell XPS worth it? (thinking about buying the 15") - <AUTHOR> <comment><USER2> I don't think so. I got an inspiron touch 4k and a SSD. I never booted Windows, just swapped the drive and installed Ubuntu. It is probably $500 cheaper than a comparable XPS. I decided I didn't care if the lid more was flexible and it didn't have carbon fiber. 4k is also not worth it for laptops. You can't read text at 4k resolution and everything has to be scaled up 2x or 3x to be usable.

</comment><comment><USER3> I have a 2013 13" XPS, and it's the best laptop that I have in terms of reliability (owned a bunch of IBMs/lenovos/Sony Vaios in the past)

</comment><comment><USER4> What features make the XPS attractive versus say a comparable Precision?</comment>


Cinematography in User Experience Design - <AUTHOR> https://kanze.co/blog/cinematography-in-user-experience-design <comment><USER2> Oh god, no. Netflix has started doing this with their AppleTV app. I scroll to a show and am about to read the text about it and suddenly it starts playing video next to it. I now have to scroll fast enough that the previews don't start, and when I need to stop on something, I have to click on it to go into the show, then quickly click on "episodes" so it takes me to the static list of episodes that don't auto-play. I basically avoid using the app unless I know exactly what I'm looking for already. It's useless for browsing now.

<comment><AUTHOR> I agree that the Netflix experience can be a little annoying - but that's because we keep coming back to that show and navigation over and over.

The way these have been implemented for blog posts is more of a single use situation. That is, you are likely only going to hit this article once and never again.

The small moment you create at the top of your content - whether it be a banner image, video or animation - is pretty non intrusive to the experience imo.

</comment></comment><comment><USER3> As a user / consumer, I definitely very much do not want any of this.

<comment><USER4> As a developer I definitely don't either.

<comment><USER3> I used to be a web developer (still am, sort of) and, while I thought it was stupid and did it grudgingly, I have to admit that this sort of thing beguiled a lot of clients, generated a lot of work and paid a lot of bills.

<comment><USER5> >this sort of thing beguiled a lot of clients

Yes, exactly. This explains the state of the modern web.

</comment></comment></comment></comment><comment><USER6> Whenever you think you might be getting too carried away with your UX design, it's best to assume users are arriving to your website or application _pissed off_ with no patience for bullshit, and nothing will calm them until they do exactly what they wanted to do and leave, and the more movies and fancy animations and loading you throw in between them and their goal the more pissed off you're going to make them. Is that the UX you're going for?

</comment><comment><AUTHOR> I think a lot of folks here are suffering from flash PTSD from the early 2000's. I remember those days. I remember when a flash intro was blocking and cumbersome and slow. But I don't feel these animations are giving off the same vibe because:

1\. They are non-blocking of both the loading phase and the content area. You can scroll right past them if you don't want to look because they are inline content elements. They are essentially "animated heros".

2\. They load fast, actually less then the total size of some full screen hero images because it's a WebGL scene.

3\. They are short and quaint - you might spend the same amount of time observing some small details in a hero image or banner.

4\. They downscale to mobile without a quality loss.

I think like any other element in design, it's how it's executed... If back in the early 2000's flash was integrated in a less obtrusive way it might have been a better experience.

<comment><USER7> I appreciate that it's better than flash. I still don't think it is good UX.

Good UX is doing things the user expects when the user wants, and not presuming it is okay to take their attention when you see fit (ahem, popups).

It's almost always a compromise to a websites usability to include autoplaying video (or video alikes). It may even improve conversions, but it's definitely a UX compromise, not an improvement.

No one scrolls through a website and thinks "I sure hope I get interuppted on my way to the action I am trying to complete" even when that action is content discovery.

I did like some of the articles ideas though. I think the role of cinematography is overplayed a little bit, some of the suggestions are just good UX decisions.

<comment><AUTHOR> I agree mixing any type of animation in a content area is jarring. But what I'm doing here is using the same sort of pattern people are comfortable with on the internet already.

I think every user expects some sort of introductory section at the top of a content area, whether it's just a title and preface or a banner/hero image to set the mood or peak interest.

Also let's not lose sight of the true purpose of the article - it's about a variety of techniques that may have nothing to do with animations and more about storytelling and scene composition of information to lead users into call to actions :)

</comment></comment></comment><comment><USER8> All of these seem like the exact ideas every executive thinks sound great then get shut down by literally everyone else... would higher user engagement even increase conversion rates? Probably the opposite. Mobile support? Nope, just alienating mobile users with a worse experience.

</comment><comment><USER9> Reminds me of the horrors of ridiculous DVD intros you had to suffer before getting to the actual movie, then you had to watch trailers.

<comment><USER10> As a kid, DVDs and players that would deny the owner the ability to skip or fastforward though trailers/intros/transitions were my first memorable experience with deliberately user-hostile hardware and software design.

It had a profound effect on me, and I still despise that ethos every time I see it.

</comment></comment><comment><USER11> There are a lot of very specific examples of filmmaking techniques for increasing clarity in movies. One that comes to mind is how George Miller uses center-framing to make it easier for audiences to follow the action in Mad Max Fury Road:

[https://www.youtube.com/watch?v=CR7ejkmf8Y4](https://www.youtube.com/watch?v=CR7ejkmf8Y4)

The unique feature of cinema is the cut. While the web has "page transitions", they're used a lot less frequently, if at all. But maybe someone works on a project that involves a lot of page transitions and can steal something from George Miller.

</comment><comment><USER12> > _give them a taste of the park before throwing prices and dates at them._

That's a gamble. The user might be there for dates and times, not "thrill- seeker cinematography".

The problem with trying to "help the user fall in love with the phone through playful interaction" is that such playful interaction on a website is never good as the "opening shot" or landing page.

Advanced interactive components should be items to _invite_ users to, or left for users to discover. Optional elements of the site, not forced on every person who visits.

The benefit in allowing users to discover the playful interactive element, is exactly that... they discovered it. They weren't tied to a chair, their glazzies clamped open and forced to view your presentation.

Edit - and just a quick suggestion to the designer of this page: [https://kanze.co/projects/earn](https://kanze.co/projects/earn)

While there's some nice visuals on the site, you're breaking typography 101 on this page. A line of text should never extend from one side of a wide screen monitor to the other. Most desktop monitors are wide, and reading a sentence that wide is uncomfortable.

This is one of the many reasons I hate the "mobile first" ideology. No device should be "first", if anything, if you need such a catch phrase to bind your designers together in principle, then it should be "accessibility first" or "readability first" and go from there.

</comment><comment><USER13> Why is BB-8 on every blog post? Seems to me that Lucasfilm would have a problem with this (apparently unattributed) use of their IP.

<comment><AUTHOR> These animations fall under a non commercial transformative use context so I really doubt LucasFilm would have any issue. I like BB-8 and wanted to give this experimental design a go so animating him in different ways was exciting to me. Maybe the next few articles I'll use Porgs!

<comment><USER14> Have you talked to your lawyer about that? Fair use is a lot more limited than many people believe, and marketing for a design agency certainly strikes me as commercial use.

<comment><AUTHOR> To be safe I'll take the animations down for now and reach out to Disney directly - I'm not using the characters to promote my services but to decorate the content area. They are really just a small part of the idea I'm trying to convey in the article.

</comment></comment></comment></comment><comment><USER15> busted w/o js

<comment><USER3> Also something's stealing focus so that keyboard navigation doesn't work. We are probably not the target market though.</comment></comment>


This Stunning, 3-D Model of Space Could Fit a Tiny JPEG - <AUTHOR> https://www.fastcodesign.com/3058505/this-stunning-3-d-model-of-space-could-fit-inside-a-tiny-jpeg <comment><USER2> The article showcases an space themed 64k demo.</comment>


Trust-coin – Cryptocurrency without a ledger - <AUTHOR> https://github.com/derekmc/trust-coin

<comment><USER2> Am I missing something? A quick read through seems to tell me that this attempts to solve the double-spending problem by... ignoring it?

I see some hand waving about a 24 hour waiting period and some verbiage about how different sub-currencies would handle it, but no actual solution.

Solving that problem is what the block chain _is for_ , so the "without a ledger" bit seems to be missing the point.

Or maybe I didn't skim this carefully enough.

</comment><comment><USER3> And how does this exactly prevent double spends?

</comment><comment><USER4> I guess the emphasis is on _trust_ and not so much on _coin_. Double-spends and coin creation are handled by trust. Everyone's sort of their own central bank. I guess that could be acceptable but it's concerning that anyone who's previously exchanged the coin you currently hold also needs to be trusted (since they can double spend and ruin the trustworthiness of your coin).

It might be a good communication protocol generally but a lot of the details aren't really addressed (and there's no code). I'd be interested to see this explained as a spec and with less focus on currency.</comment>


iPad battery bulging after using it as an external display - <AUTHOR> https://twitter.com/heavyinfo/status/1302310594423345152 <comment><USER2> Don't use or charge the device any more. [https://www.reddit.com/r/spicypillows/](https://www.reddit.com/r/spicypillows/) collects photos of those.

<comment><AUTHOR> I don't intend to, infact I'm not going to use anything with battery as external display while charging anymore (I had couple of other phones).

I'll post to the spicy pillows once I take the battery out of this one.</comment></comment>


Leaked Google employee's email reveals effort to boost Latino vote - <AUTHOR> http://www.foxnews.com/tech/2018/09/11/leaked-google-employees-emails-reveal-effort-to-boost-latino-vote-surprise-that-some-voted-for-trump.html <comment><USER2> I'm interested in what is meant by "We pushed to get out the Latino vote with our features, our partners, and our voices." I noticed a lot of Google products telling to register and vote, and I am a young person living in a liberal area (and not to mention, Hispanic). Were these election notifications nation-wide or targeted? I think it would be sketchy - though not quite scandalous - if they targeted certain demographics.

</comment><comment><USER3> This doesn't seem like a serious story. Google helped some campaigns that non- partisanly ask people to participate in elections? So what?

<comment><USER4> It looks like Google had rules to officially be non-partisan, but many employees were making race-based assumptions in an attempt to be partisan while appearing to follow the rules. (they would assume Hispanic==Democrat, then promote accordingly) Afterward, race-based assumptions are made about the feelings of other Google employees.

So we have partisan behavior using the might of Google, race-based assumptions about voters, and race-based assumptions about coworkers.

</comment></comment><comment><USER5> That's horrible! Can you imagine what type of an impact a major international conglomeration with clear political biases could have on the outcome of an election?

Thank god Fox News is making us aware of these types of shenanigans!

<comment><USER6> Fox News is pretty obvious about their biases, despite their calling their viewpoint, "fair and balanced." People might disagree with the interpretation, but they're not engaging in any kind of stealthy manipulation. As advertised from their origins, however, Google is supposed to be a series of impartial tools for organizing the world's information.

<comment><USER3> To you and me it might "pretty obvious". It's viewers are a different case. They really think there was a liberal conspiracy at Google to vote Hillary.

</comment></comment></comment><comment><USER7> The leaked email claims that 29% of Latino voters supported Trump. That's the highest figure I've seen quoted for that demographic. (Until now, I'd seen estimates only go as high as 27%).

I have no idea how accurate that is.</comment>