Reasons not to use Firebase - <AUTHOR> https://crisp.im/blog/why-you-should-never-use-firebase-realtime-database/ <comment><USER3> OP's problems seem to largely stem from not understanding how to properly use firebase. Virtually all of the "problems" they ran into are covered in the docs and could've been avoided.

Further, the claim about no user data export isn't true - see this comment for more details: [https://news.ycombinator.com/item?id=12526840](https://news.ycombinator.com/item?id=12526840)

Happy to answer any q's from my experience building apps with firebase

<comment><USER4> While I'm sure that Firebase offers a solution to every problem mentioned. I think the real issue here is that by the time you figure out all the little details of how to customize Firebase to work exactly how you want it, you could just have easily have achieved the same result by just using plain Socket.io or a similar library - And the solution would be simpler, cheaper and more maintainable. I think that's the essence of what the author is saying.

The author did not mention this, but I've also heard a complaint that while Firebase's automatic conflict resolution is good for some use cases, that it's not all cases and that often you need to do the conflict resolution yourself.

Firebase does offer a solution for that, but again, I'm not convinced that this solution simplifies things when you consider the big picture - <USER2> resolution is still going to be difficult regardless of whether you use Firebase or not.

Firebase solves the basic use case very well but then the work of customizing/fine-tuning it to make it behave exactly the way you want is just as hard, if not harder than just doing everything from scratch without Firebase.

I think Firebase is good for MVPs and it's also good for some types of simple apps, but I've seen several large apps using it and they ended up having to manage their own backend on the side anyway.

Firebase did not "free them from having to manage a backend" \- With Firebase, not only do those companies still need to manage their own backends on the side; they also have to manage how Firebase interacts with that backend.

<comment><USER5> Point noted.

<comment><USER6> What is spa hosting?

<comment><USER7> It'd better include complimentary bath salts.

</comment></comment></comment></comment></comment><comment><USER8> Firebase is great for a couple of use cases - not for an entire SaaS app.

Would I use Firebase as a replacement for a relational DB in a traditional SaaS app? No. However, if I had to add real time chat to an app that had no other real time components I'd probably use it.

I agree with many of the author's critiques of the platform in general, hence my suggestion at using it sparingly when you fully understand the cost benefit analysis. If used correctly (real time features that don't involve mission critical data) Firebase is a game changer.

</comment><comment><USER9> This kind of reminds me of those "we used MongoDB to build our social network and it sucks" articles from a couple of years ago.

<comment><USER10> I'm amazed at how many people have that attitude about things they just didn't know how to use

<comment><USER11> That's one of the best reasons not to use people in your next project.

<comment><USER10> Man that sounds perfect :)

</comment></comment></comment></comment><comment><USER12> I was playing around with Firebase a bit during the last few days.

My biggest complaint so far: they haven't made the unminified source for the JS client available! You go on npm and you get the minified source. How is that acceptable? Heck, it's completely pointless too, because if I really wanted to "steal" the source I could prettify it and clean it up. It'd take a bit of effort, but it doesn't protect or hide anything. The _reason_ why I wanted to use firebase was so I could hack up something quick. But as I was wiring stuff up, I got confused with their docs and figured I'd take a look at the source... Only to find a minified mess.

On top of that, they're not developing the project in the open. There's no public repo, so you can't contribute. I tweeted at them earlier today; hopefully it's an oversight and they fix it.

Otherwise, it's unlikely I'll consider ever using firebase for anything, if they continue with these anti-developer practices.

<comment><USER13> [Firebase founder]

We hear you on both counts.

FWIW the 2.x JS SDK was available unminified (see: [https://cdn.firebase.com/js/client/2.4.2/firebase- debug.js](https://cdn.firebase.com/js/client/2.4.2/firebase-debug.js)). With our expansion launch at Google I/O we had to upgrade our serving infra -- along with virtually everything else -- and haven't added the capability back in to 3.x yet.

The closed source SDKs feedback is something we hear frequently. Unfortunately I can't give you anything better than 'hang tight' at the moment.

Being 'anti-developer' is the antithesis of the Firebase ethos. We strive to be as developer friendly as we can. There are areas where we're not doing a good enough job right now and we're actively working to get better.

I hope that helps add some color

</comment></comment><comment><USER14> I evaluated firebase and it convinced me to use couchdb+pouchdb. The things firebase improved were nice but not worth it and ultimately running our own DBs in European providers without external auth was less stressful for legal and estimating costs, performance, etc.

For the criticisms not related to SaaS, some of them look like familiar debates, and I'd say a drawback of using noSQL is that I have something that looks ready faster but then I need to consciously hold it back from production until I've thought through structural problems which I would have worked out first in SQL.

<comment><USER15> Is there a good example of how to handle auth with a Couch/PouchDB setup? I'm a big fan of PouchDB.

<comment><USER14> I used nolanlawson's pouchdb-authentication which covers instructions and wrappers setup for http/cookie based couchdb auth. For oauth I'm not sure what people use..

</comment></comment></comment><comment><USER16> There's so many red flags in this article I'm not sure what I can really take away from it.

> These things may still be "hacked" using Firebase, but it means that you > will have to add even more code to your web-app, and it could be a nightmare > to maintain if you have a mobile app too.

So don't hack it and don't repeat it. Do it once on your server.

> You may query directly Firebase over the network, right from your backend, > but you should avoid doing this because it is really slow at scale.

So queries from a browser and mobile client are more performant than a server running in Google's own datacenter? I'm guessing they're running queries that don't fit Firebase. It's a key/value store with a single simple query mechanism. The awesome feature is that it will solve the data synchronization problem. On the forums and stackoverflow, the Firebase team is quick to point people to using a server process to keep things simple.

> dealing with relations with Firebase is pain in the ass.

Why are you using a key/value store?

> it's not possible to export your users data

Are the Firebase docs lying to me? [https://firebase.googleblog.com/2015/03/private-backups- for-...](https://firebase.googleblog.com/2015/03/private-backups-for-firebase- data_21.html)

> Complex queries are impossible

It's a key/value store...

> Want to build an API for your product? It's impossible.

WTF?

> old-fashioned SQL Database, which overs 90% of our data storage needs... For > the 10% part, we decided to use MongoDB to store messages and conversations > at scale.

So no ONE datastore that you could find solves your problems well, but Firebase sucks because it didn't?

Sorry, I've been building a prototype with Firebase lately and this article goes beyond unhelpful into the land of complete nonsense. If someone has run into these issues, I'd love to dig into specifics.

<comment><USER17> Have you had to scale anything like they describe? Prototype is one thing. They already said it got them of the ground quickly.

<comment><USER16> Their statements contradict the docs without explanation and are not internally consistent. It sounds more like engineers scapegoating a tool than a well thought out critique.

</comment></comment></comment><comment><USER18> It seems none of the problems raised are actually caused by Firebase, but the design decisions they've made.

<comment><USER17> This seems too broad a statement to be useful. What about the memory leaks, for example? Or the lack of complex querying? Obviously one design decision was to use Firebase at all, instead of the architecture they moved to. Can you be more specific about where you think they went wrong?

</comment></comment><comment><USER19> Is no one else a little alarmed by the language used on their home page? Does anyone know whether or not this is a legal privacy concern?

"Crisp discovers every tiny detail on each visitor you chat with. From geolocation to device information, to full name and social profiles (LinkedIn and more). Crisp also discovers the company of the visitor. Are my visitors aware of this feature? Your visitors cannot see that you know so much about them."

"MagicType lets you view messages as they are typed. ... Visitors are not aware of MagicType, and cannot see what you type in response. Only you can see this."

<comment><USER20> The "MagicType" feature is actually very standard in the online customer service industry. If you've ever talked with Apple customer service, they could see what you were typing as you were typing it.

<comment><USER21> Apple cannot see what you are typing, their autocomplete is entirely on- device. 3rd party keyboards can, if you allow it.

<comment><USER22> I didn't downvote you, but thought it'd be better to make it clear what the person was referring to. The scenario mentioned was chatting with customer service on a website (like chatting with Apple customer care on Apple's website, foe example), where any message you type or edit would be seen by the customer service agent while you type, even if you didn't hit Enter or click on Send. This is not related in any way to the autocomplete feature on Apple's iOS keyboard or about what third party keyboards on iOS can do.

<comment><USER21> Thanks, i realised my mistake when it was too late.

</comment></comment></comment></comment></comment><comment><USER23> This seems like 94% "why not to use nosql as your main data store", 4% "why to be wary of building your product on PaaS/DBaaS/IaaS services without analyzing the costs and limitations, and 2% "make sure to read the docs".

I'm not really seeing anything Firebase specific?

> you can't deal easily with data-migration like you can do with a simple SQL > database [...] Relations are marvelous

Yeah, maybe you should have _used a relational DB as the primary datastore for your relational data?_

</comment><comment><USER24> Reason #1 to use Firebase (or any other reliable BAAS): it is the next logical step of cloud computing.

If you've been around long enough, you probably had to convince the IT manager of one of your corp clients that it was a better idea to host the company's website on a hosting provider's server rather than _in-house_. Didn't you?

The argument of _shouldn 't trust your data to a BAAS provider_ is just silly: where's your data when you rent a VPS and mount your own back-end?

Maybe Firebase was not the right choice for this particular product, but don't trash it for it.

For me, the only missing feature is full-text search, yet the workaround is not as painful.

<comment><USER25> VPSes are a commodity: if your provider turns out to be crap or puts up prices, you can just switch to another provider. Services like Firebase are not; switching requires rewriting your application. This makes them more attractive for the company selling them but a bigger risk for their customers.

<comment><USER26> _In an ideal world_ , VPSes are a commodity. But, as someone who's currently trying to evaluate switching part of our backend from OpenStack and DigitalOcean to AWS, it's not anywhere near as simple as it could be. Everyone is still platform locked to a greater or lesser degree, and those platform- specific tweaks and quirks oftentimes don't come up til you actually start trying to run a transition.

</comment></comment></comment><comment><USER27> All of these sounds like surmountable engineering challenges that one should have weighed when evaluating the data layer.

"You don't own your data" is downright false -- you own it, you just don't host it. But do you ever really host it these days? Unless you're running it on your own hardware in your own facilities, probably not. So what the author should say is "migrating is expensive because we chose to build on top of a SaaS product using a proprietary API and we're surprised by this because we didn't plan any further than a single 3 week sprint".

</comment><comment><USER28> > Server-less doesn't mean pricing-less

Well of course not, although that would be wonderful.

> Your can't perform operations to get active users

Something like this would do it, right:

      var refUserOnline= db.ref('/.info/connected');
      refUserOnline.on('value', function(snapshot) {
                        if (snapshot.val()) {
                            var sessionRef = refUserSessions.push();
                            sessionRef.child('began').set(firebase.database.ServerValue.TIMESTAMP); // set UUID too
                            sessionRef.child('began').onDisconnect().remove();
                        }

});

> Paying 100$ per month for something you can do on a 5$ DigitalOcean server > is something that make you thinking twice about server-less magic-less.

I pay Firebase a handful of dollars every month and they handle user auth, hosting, CDN and data. Three or four overheads I no longer need to worry about. Having used Digitalocean and Stormpath (yikes) in the past, I'm happy to have my eggs in one rather than multiple baskets.

Yeah it cost me a few hours on Stackoverflow after bumping into some of the problems you describe but the path from idea to working app is so short with Firebase - and the cognitive load typically inherent with managing multiple services, so small - that it's worth learning the 'Firebase way' of dealing with data (which is mostly just the NoSQL way).

Crisp is sweet btw, I use it daily. Good job.

<comment><USER29> Not to mention security, backups, upgrading all the software used, supporting new technologies as they're made avail, sdks across many platforms, etc. the $5/mo hides the true costs of development and ops

</comment></comment><comment><USER30> Does anyone have experience with Feathersjs as an alternative? [http://feathersjs.com](http://feathersjs.com)

It looks very similar to Firebase, but free, open source, and one advantage over others is being able to use several databases through various ORM's, so you could mix and match, for example, Postgres and DynamoDB as desired.

Must be using Node.js, though these days I think you might even be able to use Koa or Hapi in addition to default Express.

</comment><comment><USER31> The greatest danger i see with this kind of technology is for beginners, that think nosql means you don't have to be proficient with normalization, transaction, or sql basic language structure, before you decide to go with a nosql db.

</comment><comment><USER32> We're currently building a MVP using [http://horizon.io/](http://horizon.io/), which is a self-hosted Firebase alternative. Reading this makes me a bit worried that we will run in to the same problems as the author. Anyone with experience in production apps built on Horizon who has some knowledge about these concerns?

<comment><USER33> Horizon uses RethinkDB, you can still build around RethinkDB directly.

</comment></comment><comment><USER34> Firebase engineer here. I hope you've been in touch with our support team and I'm sorry to see you've had so much trouble. You point out some genuine limitations with our product. We have some great improvements in the pipeline and I'm sorry that they came too late for you. In case others have had similar experience, it's worth mentioning that some of these seem fixable by structuring your data differently[1].

Specifically, complaints 2-4 sound like they all arose from nesting all of your data in one tree[1] and using a query for all children[2]. This means you'll load too much data in every request, which will slow down your microservices and cause a large bill for unnecessary outbound traffic.

#5 has two possible solutions. Either use the push() message to avoid any conflicts in the data you're writing or the transaction() method to manage the conflicts in an online-only mode. push() requires some work to recompose something from a series of changes, but has the advantage of being offline- compatible.

Regarding #6, I agree we can better support data migrations (we're looking into it). If your problem is as simple as the one listed, I'd really recommend checking out a library like lodash[3]. The ugly if statement could have been

if(_.has(user, 'new_subdocument.new_property')) { /* do stuff */ }

or even:

var thing = _.get(user, 'new_subdocument.new_property', default); // always do something with thing; we just added an in-memory // value that we would have made a data migration for in the // past.

Finally, regarding queues, are you referring to firebase-queue?[4] This is an open-sourced part of our internal infrastructure. There are currently 16 issues open, but they seem to be mostly feature requests. If you've found bugs we'd love some repo steps.

I hope that helps. We're always listening on email@example.com, stackoverflow.com, and our slack channel.

[1]: For a great article, see [https://firebase.googleblog.com/2013/04/denormalizing- your-d...](https://firebase.googleblog.com/2013/04/denormalizing-your-data-is- normal.html) or the general Firebase data layout guide at [https://firebase.google.com/docs/database/web/structure- data](https://firebase.google.com/docs/database/web/structure-data) [2]: Try using order + limitToFirst(N) [https://firebase.google.com/docs/database/web/retrieve- data#...](https://firebase.google.com/docs/database/web/retrieve- data#filtering_data) [3]: [https://lodash.com/](https://lodash.com/) [4]: [https://github.com/firebase/firebase- queue](https://github.com/firebase/firebase-queue)

<comment><USER35> I have been using Firebase for two months now and it is a total nightmare to me. The support is awful.

1) I don't get answers on Stackoverflow.

2) I have stopped using your slack as it's close to impossible to get any answer. It's a complete joke.

3) When I tried to google, I often end up getting the legacy documents which are deprecated

4) There are too many breaking changes between your different versions. This makes it so confusing to use angularfire/firebase and finding deprecated code examples.

5) The youtube videos feels like a huge marketing stunts and you are all busy trying to promote an ever changing/incomplete firebase. 10 month old videos are no longer valid because of breaking changes.

6) The security rules difference between firebase storage & firebase database

7) Querying being such a huge pain. There was an effort made in a 2014 blog post but obviously code is obsolete.

I know in the end. It must be the developer's fault who's not smart enough for firebase maybe.

<comment><USER36> Hello,

Firebase YouTuber, Slacker, AngularFire contributor, and Stackoverflower here. Feel free to ping me personally in the Slack channel (davideast) of via email (firstname.lastname@example.com) to talk more about all of these problems you've hit. We work hard to make sure people get their questions answered so I'd love to have a discussion with you.

<comment><USER37> I think Firebase is a pretty cool guy. Eh helps you develop high-quality apps, grow your user base, earn more money and doesn't afraid of anything.

</comment></comment></comment></comment><comment> nevi-me Interesting read, although other users have pointed out that some of the problems are solvable.

I started using Firebase in May after the integration with Google Play. I run a public transit app/website (movinggauteng.co.za), and I have a few 'real- time' features such as basic chat and public transit updates/delays during peak periods.

After hours on the Firebase docs, I'm still convinced that I'm better off with my own storage and database. I only use Firebase for Auth, Notifications (at times), Device testing, and almost everything else that doesn't require storing data that I don't already store myself.

I've been a fan of MongoDB from the very start of the project, and I'm still going strong with it. It works great for geospatial queries, and tailing the oplog is awesome.

* When transit notifications are created, I tail the oplog to pick them up, and send them to devices/browsers using Cloud Messaging. * Send new chat messages to admins * Sync user information in 'real-time', such as when marking a stop or route as a favourite.

These are things that I could also do with Firebase, but to be honest, I think allowing me to specify security rules in just JSON is a bit too extreme.

Firebase Auth complements my current auth system, because it was better than rolling out my own OAuth impl for Android clients (website is all session- based). Even though I use it, I still store all the user info I need on my side. Firebase Auth is just a 'helper' to authenticate users on mobile.

A lot of people would say "use PostgreSQL and save yourself the hassle". My view is that you should evaluate what your needs are, and use the tools that meet your needs.

I have a project where we're I'm using PostgreSQL and MongoDB together. I'm storing a lot of financial data in PostgreSQL. I use MongoDB to only store metadata about each running task, I create a Mongo document and pass its ID to all the workers. When each worker completes a part of their task, they send acknowledgement to Mongo. I then pick up that acknowledgement through the oplog, and pipe it to the browser through a socket. Works like magic for me. I could probably do all of that in PostgreSQL, but the combination meets my needs well :)

</comment><comment><USER38> "Server-less, doesn't mean code-less! This means that all your server logic is now in your web or mobile client."

Does this mean that the web page you serve up contains all of the code to talk to Firebase? Doesn't this mean that all of your clients have unfettered access to the database? Would all of your credentials (e.g., API keys, etc) be baked right into the pages you're serving up?

If so, that's scary. Really, really scary.

<comment><AUTHOR> We used Firebase ACL to prevent from that.

Our backend were already splited.

<comment><USER38> Ok, so Firebase already has a way to make sure clients can only look at/update data they're authorized to do so?

What about business rules? Is there a way to enforce that, for example, when one product is ordered an additional item is automatically added to a shopping cart (e.g., if I buy a computer, my province requires a recycling fee be paid too)?

Or does this get beyond what Firebase is meant for?

<comment><USER34> The rules for the Firebase Database allow read & write access as well as validation. It may not handle every possible case of business logic, but it's a very powerful tool.

</comment></comment></comment></comment><comment><USER39> Surprised that nobody has mentioned it since we're here, but the Hacker News API is powered by Firebase: [https://github.com/HackerNews/API](https://github.com/HackerNews/API)

</comment><comment><USER40> What u could do is run a simple nodejs server using firebase API and Save data to a db, (rethinkdb) from day one! (Backup)

For Android/ios clients there is data persistence for minimising data usage.

Saving user details as Json will help u export user details too

<comment><USER41> How would you guarantee consistency between firebase and rethinkdb?

<comment><USER40> Because nodejs SDK for firebase is real-time. Additions deletions etc are real-time.

It will work as long as your server is running.

<comment><USER42> No consistency issues "as long as your server is running" is not a good plan for backups. Also "real-time" has many meanings, and the one you mean does not bring consistency guarantees. Actually, (I may be wrong on this) I don't think that any usage of "real-time" has anything to do with consistency.

<comment><USER40> As for actual data backup , firebase offers this in the standard plan. But real-time to consistency is bit of a gray zone.

I was just rehashing something the firebase team built . Streaming data import something .

Firebase team says they have something in the pipeline , I hope they release it soon.

</comment></comment></comment></comment></comment><comment><USER43> Firebase is the only service that provides a nice client-side abstraction for a real-time database. (Fine there's also Meteor and Horizon.io by RethinkDB.)

I highly recommend it for the reading side of things. I agree that writing from the client to Firebase is highly problematic so I use a client -> API server -> other DB -> Firebase architecture.

My architecture also gets around the fact that Firebase is hard to query.

</comment><comment><USER44> It seems like parse server on digital ocean is the way to go for simple self hosted back end as a service these days.

</comment><comment><USER45> I learn swift and ios development for a couple weeks now. I am backend engineer and devops for 5yrs and firebase looks very attractive.

I know how hard and time consuming it is to build backend properly and firebase looks like a big shortcut.

Do you know some applied design patterns in swift for quick firebase replacement?

<comment><USER41> It's less about patterns for swift and more about how you model your data and what your needs are. There is no simple answer.

</comment></comment><comment><USER46> Until earlier this year I used Parse + Firebase, and the combination was absolutely heavenly. Parse for all of the standard stuff and a tight Firebase integration whenever I had a real-time component. Needless to say the FB announcement really upset me a great deal.

<comment><USER34> [Former Parse engineer, current Firebase engineer]. Sorry to hear that. We were all upset by the shutdown announcement. I've been trying to help a few people with migrations. Hopefully github.com/firebase/parse-migration-tools can help if you'd like to migrate any of your Parse data to Firebase.

<comment><USER46> I'm checking it our right now and it does look like it could be really useful! Thank you so much

</comment></comment></comment><comment><USER47> One of the reason I can't use Firebase for a mobile app is its SDK for Android relies on Google Play Services. And that app needs to target China market. And most Android phone in China has no Google Play.

</comment><comment><USER48> And again, premature optimization is the root of all evil. Most of similar stories began with the choice of going fully no-sql and later missing the simplicity of RDBMS in handling complex schemas.

</comment><comment><USER49> > … it's not possible to export your users data. You can't export emails, > password hashes.

Could someone provide details on email/password export from Firebase? This limitation seems very critical.

<comment><USER3> They'll export your user data (including hashed passwords) with a written email request to them. I did this a few years back and it was super simple. It sounds like OP wants a button to click that will immediately throw a CSV at you, which (for obvious security related reasons) is a really poor idea.

In general most of OP's complaints are inaccurate- it sounds like they just didn't fully read the docs before building their app.

<comment><USER50> If your users' data is hosted by some cloud provider, making regular backups (at least nightly, ideally more frequent) independently of that cloud provider is common practice.

Otherwise you can end up like Code Spaces, who lost their users' data and all their backups at the same time.

</comment></comment></comment><comment><USER51> Is it just me, or has Crisp basically just ripped off Intercom?

<comment><USER52> No, they all basically ripped of AOL instant messenger

</comment></comment><comment><USER53> Why would you use Firebase as main database for your data? That decision alone is extremely silly!

<comment><USER54> Its a DaaS. That's literally what it's for. That's like saying, why would you use the cloud? That's silly. Host it in your closet like we all did in the 90's, because that never caused any problems... Or what, use firebase only for chat data? So when you leave the company, some junior has to figure out 10 different places that the data is coming from when his boss starts breathing down his neck? Sounds like a freakin nightmare. There's nothing wrong with trying to keep things simple.

<comment><USER53> That worked really well for them! They obviously stored data in Firebase that did not belong in there. I have nothing against Firebase, but it's not meant to store all your app's data!

</comment></comment></comment><comment><USER55> You guys should try out / check out [http://gun.js.org/](http://gun.js.org/) then, it is a completely free and Open Source alternative that addresses many of the concerns in your post:

3) Pricing. Since it is Open Source you can run it on your own infrastructure, so you can control how much money you spend and you are not vendor locked in to premiums.

4) By default, gun only downloads 1 layer deep for every item you request instead of the entire subtree. This is great because it keeps things snappy fast and bandwidth light but still gives you control of when and how to load it.

5) You might not like us here, because we also support offline-first changes. However everything runs through a conflict resolution algorithm such that data is strongly Eventually Consistent. Check out the 1 minute demo videos in the repo [https://github.com/amark/gun](https://github.com/amark/gun) .

7) Relations are marvelous! Because gun is a graph database, you get relations as well as documents! As well as key/value, table, and other structures.

9) Own your data. Yeah, not a problem here since everything is Open Source. You run gun where you want to, and it simplifies the devops for you. So it is almost like having your own self-hosted DBaaS!

10) Because of the graph structure, you can do any custom query logic through conditional traversals (javascript is the query language). However, we do plan on supporting SQL and MongoDB Query spec coming up in the future - but not yet.

Happy to answer any questions and support you guys. Sorry that Firebase didn't work out for you, and congrats on your growth!

<comment><USER56> I don't know why you're being downvoted, because gun is, in my opinion, the closest alternative to a self-hosted firebase

<comment><USER23> CouchDB might be even closer. (Although it might be more accurate to say that Firebase is a non-self-hosted clone of Couch...)

<comment><USER55> Couch and Pouch really got a lot of things correct back in the day. However, Firebase runs off of MongoDB internally and as a result the realtime sync of Firebase is quite distinct from Couch/Pouch. Firebase is ultimately the centralized authority, while with Couch you can have more of a Master-Master setup (which is a good thing).</comment></comment></comment></comment>


Show HN: Send and Receive SMS from your computer - <AUTHOR> http://raven.enterthemist.com

<comment><AUTHOR> Hi, We've been working on this for far too long without releasing it. It is still a Beta and has a few rough edges, but we would appreciate any and all feedback.

</comment><comment><USER2> You lost me at the crash after login screen.

<comment><AUTHOR> Thank you so much for trying the application! I apologize again, it is in the beta, and it is hard to test for all environments. I would be eternally grateful if you sent me an email at ofer at enterthemist dot com with the operating system and version. Ill try to fix it right away. Also, it may simply load slowly, could you try running it again and see if it works? Thanks!</comment></comment>


Bodies of Swiss couple missing for 75 years found on glacier - <AUTHOR> https://www.theguardian.com/world/2017/jul/18/bodies-of-swiss-couple-missing-for-75-years-found-on-glacier <comment><USER2> Haven't you read the papers during the last month?</comment>


A History of the Sentence "Buffalo buffalo buffalo buffalo buffalo." - <AUTHOR> http://www.cse.buffalo.edu/~rapaport/BuffaloBuffalo/buffalobuffalo.html

<comment><USER2> A while ago I decided to understand this sentence well enough that I could easily re-understand it the next time I encountered it. Once I got there, I could feel how I was doing it: bundling the words into groups and making a tree out of them. But it's indistinct. I just spent a minute trying to draw the tree and couldn't. That in itself is rather interesting, since when you do that kind of thing in, say, programming, it's either fully specified or doesn't exist at all.

Once you grok the 5-buffalo sentence, it's easy to see the trick that gets you to the 8-buffalo. The 5-buffalo plays on "buffalo" being both a noun and a verb. The 8-buffalo just adds a third category, which is the city "Buffalo" used as an adjective the way "California" is used in "California Girls".

It's neat that at the very bottom of that page, after so many years, he finally found a documented usage earlier than his.

By the way, this sentence is fun to bring up with people who haven't heard it before. It seems impossible, then hilarious, and then everyone insists on having the trick explained to them.</comment>


Show HN: Pintask, the hackable task tracker - <AUTHOR> https://pintask.me/

<comment><USER2> It looks interesting, but not enough for me to login, yet.

You need to add a few screen shots, demos, etc., to show me why I should consider this instead of Huboard or Trello (you don't need to compare yourself to these, just have some simple workflows with the free tool to make it clear why pintask is better).

Also, while it is "free for life" you should "respect" current conventions for sites like this: You need a pricing link, a page on which you reinforce that basic functionality is free, and that extensions are what people buy. People are used to those conventions, it makes it easier for them to absorb your message without forcing them to think too much, without violating their expectations in a current website.

Speaking of this, I should be able to browse the extension store without logging in. Also, pricing needs to tell me if the extension price is per user per month, per project per month, per enterprise per month, etc. If those prices are per enterprise, they seem like good deals, but if they are per user, they start adding up so fast that free seems more like a playground gateway drug than anything else.

Finally, enterprise customers WANT to pay for your basic service: They want to give you their money to guarantee uptime, have a number to call, etc.

(Personal irritant: You may require cookies to get something done, but not to browse - the page loads blank when cookies are disabled (I used a cookie manager; I'm in the minority there, but I'm the kind of user you want early on :->). Require cookies only when they are actually required - and be sure to indicate that your site uses them, so that you remain on the good side of the law in various jurisdictions).

tl;dr: Looks good, too little there to incite me to actually take the action. Don't go overboard, though, you're almost there.

<comment><AUTHOR> Actually, there are demo videos, just scroll down the page.

Thanks for the tip, I'll make a separate page for pricing.

As for browsing extensions store: I've already made landing pages for the best extensions, yet they don't comprise a full store-like experience. I guess you're right, there should be a full storefront for those who want to check it out without logging in.

<comment><USER3> I had no idea those were videos, b/c they don't have affordances that tell me they are videos until I hover over them (which I did not).

<comment><AUTHOR> Of course! You're right, I'll add the "play" buttons for better visibility.

</comment></comment></comment></comment><comment><USER4> Interesting price hack: $1/mo (1 left), $3/mo (5 left). Are these escalating, à la Pinboard? Useful for price discovery, though up-from-the-bottom nudges artificial asymptotes (see pricing discontinuities).

<comment><AUTHOR> Yes, they escalate up to a predefined list price (also shown on extension card). I just wanted to thank early adopters by giving them a discount. Do you think it's OK or not?

<comment><USER4> I think it's great. As I say, I'd use the opportunity to learn about uptake and natural price boundaries, while awarding early customers.

</comment></comment></comment><comment><USER5> The mode could be a bit more obvious, ie whether you're using the Move or Embed tools is signified only by a subtle border line, so it took me a while to figure out how to embed cards and I can't really tell what mode I'm n from a casual glance. This will become more important as more tools are added, I'd imagine.

Color coding seems pretty arbitrary as the labels aren't descriptive, and there's no filtering. But I guess these can be hacked into being :)

Code editor look spretty bare, although I appreciate the Wiki link and again it's early days. Maybe have a little 'Hello World' code by default, or even a few lines of advice as a comment so the window doesn't look so empty? Casual hackers such as myself have a phobia of blank pages because it's not obvious where to begin.

One small annoyance: Initials. I have a double-barreled name (Firstname Surname-Surname) but it rendered my initials as FS, which was quite confusing because I'm not used to seeing that letter combination at all, and it wasn't until I added an avatar that I realized it was my initials.

That little nitpick aside, I like it a lot!

<comment><AUTHOR> Thanks for thorough feedback! We'll surely work out these details. And yes, it's possible to hack label names :)

By the way, how should we render initials like yours?

<comment><USER5> I'd do it as FSS, ie filtering on capital letters rather than the first letter in a string. But I'm sure someone else would want it as FS-S or something.

<comment><AUTHOR> That was my first thought, but there's a catch: user avatars or initials should be same width. Is there a way to both fit your and designer requirements?

<comment><USER5> My answer to such questions is always 'fire the designer,' but I suspect that is not helpful to you :)

TBH I could live without the initials altogether and just have a blank avatar - not least because your upload process is already super-transparent, I appreciated being able to connect with so many services 'right out of the box'.

</comment></comment></comment></comment></comment><comment><USER6> Is there any way to share a board via URL, without requiring users to sign in? I don't want to make it public or have it show up in search results, I just want to be able to share it with people who just need to view it but wont want to mess with creating an account.

If that's available (and I just can't find it), then this would be a great solution for me!

<comment><AUTHOR> Thanks for the idea! It's not available right now (you can either invite or make it public), but seems to be a good addition, so it's possible to see that in future.

</comment></comment><comment><USER7> Looks interesting, but many Trello users have tons of loyalty to Trello. Getting them to switch is going to be difficult. There are plenty of Trello clones, and you don't offer any screenshots or examples.

<comment><AUTHOR> Thanks for advice! I'll surely add more videos to main page, some featuring the product itself, some featuring extensions.

</comment></comment><comment><USER8> How is this different than Trello? It looks almost identical at first glance.

<comment><AUTHOR> 1\. You can write your own extensions using JS + Meteor API. MongoDB access in browser included.

2\. Mirroring extension solves the hottest issues on Trello dev board. Here's how you use it: [http://joxi.ru/lFFNUxjKTJCFQk- Gd9Q](http://joxi.ru/lFFNUxjKTJCFQk-Gd9Q)

<comment><USER9> How are the extensions secured? Are they sandboxed in the live environment, or is there an auditing process to get into your store?

(Cool project Den - best of luck!)

<comment><AUTHOR> Right now extensions are just loaded as external JS files. In near future, they will be loaded inside iframes with "sandbox" attribute + specific APIs injected into iframes.

There will also be an auditing process if you want your extension to be featured in the store. But you'll always be able to just add an extension and send a link to friend.

(Thanks for kind words!)

</comment></comment></comment></comment><comment><USER10> Great interface, and I can definitely see the advantage of being able to add extensions so that it is customized to the specific workflow I am looking for without the junk I don't want.

I think this is one of the first commercial quality meteor applications I have seen, which says a lot of the dev team but also shows meteor is a platform capable of at least getting the job done if not doing it well.

Question: Do you anticipate allowing people to write their own extensions / having some sort of API?

<comment><AUTHOR> Thanks! Meteor really proved itself as a capable platform. We hit a few issues, but those were resolved rather quickly.

Yes, we already allow people to write their own extensions. For quick stuff, there's a built-in code editor: [http://joxi.ru/SFJNUxjKTJBvQrogwYE](http://joxi.ru/SFJNUxjKTJBvQrogwYE). And for large extensions, there's an "Add your extension" button in the Extensions store.

In fact, we'll allow people to monetize their extensions, in a micro-App-store fashion.

<comment><USER10> Ok, that's fricken cool.

</comment></comment></comment><comment><USER11> Seems I am wrong somewhere. Reached this discussion as part of google search and found accidently I have used the same name and similar concept :(. Anyway this is just my hobby program and no plans to commercialize it. Let me check the name if I start getting users - [http://www.secfor.net/](http://www.secfor.net/)

Again, it is also may be hackable as I was not so serious about coding and was concentrating just about making it a reality.

</comment><comment><USER12> Out of curiosity, why do you have this as one of the first things people read on your site:

"Pintask promise: we will always keep the service running. And if anybody tries to shut it down, we will open-source it."

<comment><AUTHOR> We're small guys, so we wanted to assure people it's OK to put data into Pintask: it will always be supported.

<comment><USER13> What's stopping you from open sourcing it now?

</comment></comment></comment><comment><USER14> wow the ui is really nice - i built my own tool exactly like this but the ui didnt end up as beautiful. i know other tools have some accessibility problems and built my ui similar to yours to solve them. this looks really cool.

i couldnt figure out how to monetize my app - i have to say the plugin store is a good idea. gj!

<comment><AUTHOR> Glad you like it! I'm sure you had some ideas for your own app — would you like to wrap them as a plugin?

</comment></comment><comment><USER15> How exactly is this hackable? Where do I find the documentation to look into whether I can do interesting stuff with it?

<comment><AUTHOR> There is built-in code editor: [http://joxi.ru/v3lNUxjKTJA4Eous4Gs](http://joxi.ru/v3lNUxjKTJA4Eous4Gs) Right now, it lags sometimes, but we'll migrate to Meteor 0.8 and this issue will be resolved. Also, at the bottom of editor, there is a link to [http://wiki.pintask.me/wiki/How_to_write_an_extension](http://wiki.pintask.me/wiki/How_to_write_an_extension) with some info to get started. If you have specific questions, please reach me: Denis.D.Gorbachev at gmail

</comment></comment><comment><USER16> I'd say extendable not hackable.

<comment><USER16> Hackable would be if it was OS IMO like the other Trello clones which are completely OS like tyto being able to host your own and tweak everything to your needs.

</comment></comment><comment><USER16> I instantly got a headache, viewing this on a mobile device

<comment><AUTHOR> Sorry for that! We'll make separate apps for mobile devices.

</comment></comment><comment><USER17> great example of a production meteor app!! Beautiful work!</comment>


Cherry MX History - <AUTHOR> https://tedium.co/2018/07/19/cherry-mx-keyboard-history/ <comment><USER2> In 2004 it was trivial to get a New In Box IBM Model M keyboards in the US from online shops. It's fascinating to me how designer keyboards became a niche hobby of its own, despite having little-to-no empirical testing on comfort or speed, in ~10 years. Back then my Model M was a weird curiosity, now it's a prize.

<comment><USER3> Honestly Model M's are little more than historical curiosities at this point. The state of the art has moved on. Once you get used a to a good modern keyboard - I'm partial to Topre switches, myself) - the actuation force of the Model M is just really excessive, nearly double.

PS: If you really want them, you can get Unicomp boards built on the original IBM tooling for about $80.

[1] Yes, I have a couple Model M's around, including a 1991 'vintage' IBM with a PS/2 connector that doesn't play nice with modern motherboards - they don't generally supply enough milliamps).

[2] I don't much care for Cherry switches either.

<comment><USER4> Another 1987 model-M (compact mini to be precise) user here. I have never once even thought about how 'hard' it is to push down a key, hope you haven't just jinxed me! Yes, occasionally needing to unplug and replug the USB -> PS/2 interface when the keyboard is non-responsive is a pain, but I love it. It's a pleasant monthly ritual to remove the keys and clean them. In a time where everything is fast moving and development tools / environments / libraries seem to get old quickly, my keyboard is a timeless anchor that grounds my development work, and will also prove to be a handy melee weapon come zombie- apocalypse time...

<comment><USER5> I felt the same thing until after some years I started getting terrible pain in my wrists. It was the IBM keyboard I prized so much and held on to. Then I found some cherry keyboards in the trash in a pile of Point of Sale discards. Now for ten years, "garbage" as been the most prominent and stable feature of my workspace.

<comment><USER6> I don't want to sound like Apple but you are probably using it wrong. I've seen people get used to typing on flat chicklet laptop keyboards and then taking those habits over to the proper old style keyboard.

An IBM keyboard is not meant for a typist that keeps their palms resting on desk while slumping in their chair. It's meant for you to sit up straight and _hover_ your palms over the keyboard.

If you type like that then it seems effortless and the keys feel light and you'll never have any wrist issues. Reaching the numpad area is also easy because your hand is already in the air. A proper typing technique is like jiu jitsu—it leverages the weight of your entire hand and arm to assist with the key presses. Your hand is loose and mobile, so nerve compression is less likely. On a chicklet keyboard your fingers are mobile but the palms are "glued" in place. This encourages lots of "flexing" the fingers to reach farther placed keys, instead of just moving your entire hand in the "hover" typist approach. My guess is this creates ideal conditions for nerve compression.

The pain is _good thing_ because it lets you know you're doing something _wrong._ Using keyboard with low actuation force is just masking the problem. If you do something wrong with less force you will not feel any pain immediately. Same thing as people using shitload of fluffy pillows instead of fixing their sleeping posture. If you sleep on floor it might be uncomfortable at first but it also forces you into better posture, instead of making it bearable to hold a wrong one.

<comment><USER7> You do sound a bit like Apple in the sense that you posit that your way is the right way but you don't really justify it with solid scientific arguments. My technique is actually pretty close to the one you describe (my hands hover on top of the keyboard, although my elbows rest on the table) but some of your arguments sound off to me, in particular:

>A proper typing technique is like jiu jitsu—it leverages the weight of your entire hand and arm to assist with the key presses.

Given the relatively high typing frequency a decent typist reaches and the fact that you generally start typing the next key before you're done with the current one I can't really see how that would work. My palms are mostly static while I type, just hovering gently above the keyboard. They do translate a bit on the horizontal plane but I definitely don't really lower them to drive the key down. Maybe I'm doing it wrong but if you reach a somewhat decent typing speed of a few hundred keys per seconds that makes for a pretty spastic vibration with your whole hand.

Also I think it's a bit condescending to assume that every people who ends up with RSI or similar problems were "doing something wrong".

<comment><USER6> If you have elbows on desk you are probably not sitting up straight. Anyway you are wrong, when the elbow is free you can put your weight into typing. Just try it. It's a bit of a flick of the wrist for weak fingers and slight up and down movement with your bicep, it's not a lot but it translates to a lot of force. It's the same principle as using your hips to put a punch in boxing or martial arts.

When your palms or elbows are resting all those movements are limited and your hands quickly tense up.

Here's an explanation of the RSI issue and flat palms: [https://www.youtube.com/watch?v=4pryYfH9j5o](https://www.youtube.com/watch?v=4pryYfH9j5o) however their fix is not great and it's not a sustainable position

EDIT: Here's a quick sketch: [http://svgur.com/s/7e6](http://svgur.com/s/7e6) The fingers are below the palms not at the same level, but this is only natural if your back is straight. Arm should bend at close to 90°

EDIT2: Or look at this piano posture video: [https://www.youtube.com/watch?v=InqmH-o1cX0](https://www.youtube.com/watch?v=InqmH-o1cX0) especially at 6:06 mark.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> In case anyone's curious, the animated GIF in the header is showing a WASD 6-Key Cherry MX Switch Tester. I've found it useful in trying out the "feel" of different Cherry MX models. It's helped to translate the "key travel vs. force" graphs into the real-world.

It's available at [http://www.wasdkeyboards.com/index.php/products/sampler- kit/...](http://www.wasdkeyboards.com/index.php/products/sampler- kit/wasd-6-key-cherry-mx-switch-tester.html)

[I'm not affiliated with WASD, and I'm not getting paid for this, although a discount code would be awesome! 8-)]

<comment><USER9> I have another generic one, but it's trivial to 3D print your own. However, I found that it didn't actually inform how I would like the key when used in anger. Only actually using it in a keyboard would do that.

So far I'm using three different (non-Cherry) MX keys: lightest and linear for the weakest fingers which are typically modifiers, heaviest for the center row strong fingers.

<comment><USER10> That's a neat idea.

</comment></comment></comment><comment><USER11> Tool fetishes... Sadly, thought I have about 100 keyboards, of every shape, size, switch, My record typing speed is on a 15 dollar logitech k120. It's pretty much for the sound and the art of it, more than the utility. Wish I knew that when I started. And lost a couple WPM over kinesys advantage and ergodox learning...

<comment><AUTHOR> Keyboards, I believe, are a personal thing. Some people can live with any kind of keyboard. Others may need to feel the 'click' and feedback from the pressed keys.

I personally can live with some keyboards but not others. I'm currently typing on a USB based Thinkpad keyboard and like it. On the other hand, a Dell keyboard that came with my office system had a 'mushy' feel like I was typing on a dead fish that completely turned me off using that keyboard. :-)

<comment><USER12> I think that it is mostly familiarity, and once you start thinking about it you quickly begin to think to much and get lost in bad rationalizations, eventually bordering on the religious. When you believe that you can't overcome lack of familiarity you will never adopt, self-fulfilling prophecy.

My personal familiarity idol happens to be the Cherry rubber sheet series, kind of ironic among all the MX hype.

</comment></comment></comment><comment><USER13> Are there any proper mechanical keyboards for Mac? I've looked around and haven't found anything that fits what I'm looking for.

I know Das makes a Mac keyboard, but the command key is too far to the left. When you look at an Apple keyboard, the command key aligns to be directly below 'x', making it easy to reach with your thumb. I think the lower height on Apple keyboards helps as well.

The closest thing I've found are a couple keyboards on Massdrop that do have the Alt/Command key further to the right but they are sold out by the time I find them.

<comment><USER14> What exactly is a "Mac" keyboard? I'm looking at a macbook keyboard and a Dell laptop keyboard. The only difference I can see are the Control, Fn, Super, and Alt keys are rearranged. There is an extra right super on the macbook, but no right control key.

<comment><USER15> The spacing on Mac and Windows keyboards definitely feel different, and are rather disorienting if you are used to Windows style keyboards. There is no del on Mac either.

</comment></comment></comment><comment><USER9> NB: at least in Denmark, micro-switches were not known as "Cherry switches". American bias much? (Similarly for "Kleenex", "Q-tip", "Xerox", all of which are known by they generic names in Denmark and, AFAIK, the rest of Europe).

<comment><USER16> Does _anyone_ use "Cherry switches" as a generic term?

<comment><USER17> They use "Cherry steam" as a way to describe the stem, but only really generic, $20 amazon keyboards ever use the word Cherry unless they actually have Cherry switches. A lot of newer, more boutique boards don't use Cherry, there are a lot of new and interesting Cherry stem switches not made by them.

<comment><USER18> Pretty much no way a $20 keyboard _can_ have Cherry switches. Even the highest volume (MX Black) are ~30 cents at quantity, so a full set of keys for a keyboard already comes in at ~30 EUR.

</comment></comment></comment></comment><comment><USER9> The greatest attraction of MX is that the selection of keycaps (pimpmykeyboard PBT keys are awesome) and compatible clones. The biggest drawback is that it's a pretty big and tall key. I hope ML becomes more popular as an alternative.

<comment><USER19> Haven't you heard about the new low-profile cherry MX switches? Also Kailh choc switches are much better than Cherry ML.

<comment><USER9> I appreciate the pointer(s), but lack of good keycaps is a major demotivator for me; I find the key cap almost as important as the switch (SA "Ice Cap" in PBT is therapy for my fingers). EDIT: wording

<comment><USER19> I have Ice Caps - they sure are warped. Personally I'm looking forward to KAT profile, as well as MDA (with readable the legends) and MT3.

I would expect you to be interested in DSS and the new SA-P from SP.

</comment></comment></comment></comment><comment><USER20> Interesting. The company also owned a semiconductor division which it sold in 2000. Peter Cherry used the proceeds to take the company private and refocus on the switch division. I did not realize that the company was subsequently resold.

<comment><USER21> Cherry was a primary supplier of plasma dot-matrix displays for the amusement and industrial sectors as well.

[https://www.worthpoint.com/worthopedia/dmd-plasma-dot- matrix...](https://www.worthpoint.com/worthopedia/dmd-plasma-dot-matrix- display-pinball-506322312)

[https://www.worthpoint.com/worthopedia/cherry-brand-large- do...](https://www.worthpoint.com/worthopedia/cherry-brand-large-dot-matrix- display-518316642)

</comment></comment><comment><USER22> Typing this on a FILCO Majestouch Convertible2 FKBC91MRL/JB2 with Cherry Red switches. I have the same keyboard at home and work. Proper keyboards make so much difference in speed and accuracy of typing for me.

<comment><USER8> Not just that, I think that having vastly-different keyboards at home vs. at work increases keyboarding errors in at least one of those locations. I have a Model M at home, but an Apple keyboard (I think a model A1243) at work. I'm working on ordering a WASD keyboard with Cherry MX Clear switches, in an attempt to get things more similar (the office environment I'm in doesn't work with the noisy Model M).

<comment><USER23> Eh, you get used to it. I swap between a Kinesis Advantage, a compact with Reds, and a laptop keyboard, which are all about as different as possible and my typing speed and accuracy is about the same on all three. I actually score slightly higher for typing speed on the crappy laptop keyboard from doing speed tests.

Comfort is a completely different story though and I vastly prefer typing on the Kinesis. Being the most comfortable for the task is important when it comes to avoiding RSI.

<comment><USER24> I used to be pretty hardcore about having the right mechanical keyboard everywhere. But now I work a lot of the time on a variety of laptop keyboards as well as the mechanical keyboard on my iMac and I pretty much make do. like my mechanical keyboard but even when I'm working from home (i.e. much of the time), I end up working on my laptop in a variety of locations around the house.

</comment></comment></comment></comment><comment><USER25> This guy does the most hilarious keyboard reviews:

[https://www.youtube.com/channel/UCD0y51PJfvkZNe3y3FR5riw](https://www.youtube.com/channel/UCD0y51PJfvkZNe3y3FR5riw)

(actually it's just a channel dedicated to keyboards)

</comment><comment><USER26> I tried various mech keyboards, and in the long run, I don't think they're any better than say Logitech k120 or Apple Wired keyboard. Actually, I love the Apple Wired keyboard, I wish there was a variant with non-Mac layout, or perhaps in dark color.

The biggest issue I have with mech keyboards is how tall they are. It instantly makes my wrists hurt because I haven't used such tall keyboards since the 90's. I prefer to lay my hands almost flat on the keyboard. Although I've been using a keyboard with low-profile Kailh switches lately and it's pretty nice to type on.

<comment><USER27> Laying your hands flat is just asking for making your wrists hurt in the long term, no matter what board you do it on.

</comment></comment><comment><USER28> I think it would be amazing to see a single keyboard built that had all the keys atop a random switch platform. :-)

Just to see people type on it.

<comment><USER29> FYI there's a couple mech keyboards with swappable switches (without soldering).

IIRC they have the ugly "gamer" font that every Chinese keyboard has now.</comment></comment>


AI based autocomplete for Python coding - <AUTHOR> https://kite.com/ <comment><AUTHOR> "I really love the line-of-code completions in the new kite.com." Guido van Rossum - Python's creator.

</comment><comment><AUTHOR> tried it out myself, seems much more useful than other options.

[https://help.kite.com/article/73-using-the-vim- plugin](https://help.kite.com/article/73-using-the-vim-plugin)</comment>


A distributed supercomputer using Parallella boards - <AUTHOR> http://supercomputer.io/ <comment><USER2> I've enjoyed reading on Adapteva's work not only for their processor specs but the sheer impressiveness of them iterating so many designs with so little money vs most ASIC vendors. This is definitely _not_ a supercomputer (buzzword alert!) but is a good distributed computing idea. I could see their stuff getting crammed into compute nodes in clusters, too.

Basically, a narrow set of applications that leverage these sorts of chips best and are easily distributed can benefit from this setup. It will probably have more raw performance per watt than most @home setups. Yet, I'd _guess_ lower potential in number of nodes given fewer Parallella users on the market. I hope they benchmark it with many, _realistic_ software that can be compared to other parallel computing methods. This would give us useful information on whether to use something similar for a local site or another @home, non-profit effort.

<comment><USER3> Thanks!

Clearly we don't have the volume to make this as big as @home, but let's not forget how expensive it is to run a big computer. The folding@home project claims 36,000 TFLOPS of performance. If we generously estimate 1 GFLOPS/W for most home computers, then we are talking about a cost of ~$36M/year for the people donating cycles. This would be a smaller system, and if we get all 10,000 Parallella boards in the field hooked up, the electrical cost would only be ~$50K/year.

I am not going to get into the whole "what is a supercomputer thing":-) I am never going to beat Nvidia at that game. [http://nvidianews.nvidia.com/news/nvidia-launches- tegra-x1-m...](http://nvidianews.nvidia.com/news/nvidia-launches- tegra-x1-mobile-super-chip) What I do know is that 180,000 CPU cores working on one problem is one insane distributed computer.

<comment><USER2> The electrical cost savings is a sound argument. On the side, that might also be a good reason for your marketing team to target customers in areas with high energy prices. Just a thought.

I'm still waiting for Adapteva to combine their work with SGI- or NUMAscale- style tech to have a UV-style system full of CPU's, your accelerators for general use, and optionally FPGA's for special purpose stuff. The CC memory + bandwith + ton of Adapteva IC's per node would = incredible performance per dollar and watt. Maybe. ;) Any plans for integrating with ccNUMA architectures?

</comment></comment></comment><comment><USER4> I was pretty enthusiastic about Adapteva's kickstarter for their Parallella board, even though I felt like some of the wording they had was a bit deceptive. I began to sign on for the 64 core version but I backed out because I got burned by another Kickstarter project around the same time it began to become clear they weren't really going to make it to the funding level they needed for the 64 core version.

I forget how long that's been but I have to admit to be being really disappointed that there hasn't been much demonstrable progress. There's still no 64-core version of the Parallella board. There was some talk about an update to 16-core Parallella board but I don't think it's shipped. As far as I know there's still no way to connect multiple Parallella boards using their "e-Link" ports. And lastly no way to assemble a small Adapteva cluster with a more favorable ratio between the Adapteva and Zynq (as far as power, heat and money go) than a stack of the 16-core Parallella boards.

Obviously I expected too much and I guess I'm being a tad unfair. That I've seen the dev team have always been decent, reasonable, and polite; so I really hate to write anything negative at all. I just thought they'd be much further along by now and that I might have a mini many-core cluster.

<comment><USER5> At some stage Kickstarter was more about suggesting dreams rather than contracts.

<comment><USER4> Yeah, that's probably true but I really got the feeling that when they first published that they sort of masked the fact that your average Raspberry Pi enthusiast wasn't going to be able to buy the board and run existing application code on the 16-core epiphany chip. They did eventually edit the page a bit to clarify this a bit.

As it turned out there were a few folks that appeared on the forums who had these kinds of misconceptions. After all this time there weren't that many; so I probably overestimated the number of people who signed on based on those misunderstandings.

Having said all that, I guess I should point out that while I do have a very skeptical view of kickstarter as a whole, I don't view Adapteva's kickstarter as being very unethical or as complete failure. They eventually were able to deliver on what I see a bare minimum of what they said they were going to do. Though I do feel we have to be honest and acknowledge that they weren't able to fully live up to all the claims and promises that were made... like you said "more about suggesting dreams than making contracts".

<comment><USER3> Have you used the Parallella?

[https://www.kickstarter.com/projects/adapteva/parallella- a-s...](https://www.kickstarter.com/projects/adapteva/parallella-a- supercomputer-for-everyone/description)

Kickstarter goal (first sentence from day 1): Making parallel computing easy to use has been described as "a problem as hard as any that computer science has faced". With such a big challenge ahead, we need to make sure that every programmer has access to cheap and open parallel hardware and development tools. Inspired by great hardware communities like Raspberry Pi and Arduino, we see a critical need for a truly open, high-performance computing platform that will close the knowledge gap in parallel programing. The goal of the Parallella project is to democratize access to parallel computing. If we can pull this off, who knows what kind of breakthrough applications could arise?"

Curious, besides being woefully late, what major promises did the Parallella campaign NOT live up to?

<comment> semi-extrinsic Since you're counting a streaming coprocessor as multicore, how is your offering "democratizing access to parallel computing" when the cheapest OpenCL capable GPU is half the price, and the programmer likely already owns one?

<comment><USER3> Part of democratizing is access to information, access to different choices, access to drivers.

Can GPUs do this. In my view, not a bad result considering 2014 general availability? How long (and how many $billions did it take for CUDA to catch on...)

[https://www.parallella.org/2015/05/25/how-the-do-i- program-t...](https://www.parallella.org/2015/05/25/how-the-do-i-program-the- parallella/)

In terms of cost, not really sure what you are referring to... supercomputer.io is free to researchers, which last time I checked is less than not zero.

</comment></comment></comment></comment></comment></comment><comment><USER6> There was a guy at the Makerfaire who had a Parallela based super computer and a Jetson [1] based one. He felt that by the time the Parallela stuff was running he had already surpassed it with the nVidia offering, faster and less money per Teraflop. It is an interesting space to be sure.

But how does trying to send fragments over the internet really work?

[1] [http://www.nvidia.com/object/jetson-tk1-embedded-dev- kit.htm...](http://www.nvidia.com/object/jetson-tk1-embedded-dev-kit.html)

<comment><USER3> Yes, I know Brian's work well. His computers are awesome! Counting TFLOPS is important for some, but for others it's the number of CPU cores that count. Better to compare real workloads. In the case of supercomputer.io the key will be software packages for machine learning and smartly distributing data across the network. There is a long history for this kind of work with folding@home and BOINC.

</comment></comment><comment><USER7> This is the same problem as with other systems: You NEED to have an embarrassingly parallel problem to solve.

Sequential part and Amdahl's law will catch you quickly.

<comment> white-flame From my reading of the architecture, it's not just parallelism, but _streaming_ parallelism. The individual cores really don't have memory or cache to do "real work" on their own. In many cases, they're all competing for memory bandwidth.

The target usage model seems to be where the actual algorithm employed can be pipelined, streaming in-flight results from one core to another. That has even more limited applicability than embarrassingly parallel architectures, and is incredibly difficult to map general problems to keeping the cores busy.

</comment></comment><comment><USER8> Signed up and donated my unused Parallella kickstarter board. Cool project!

</comment><comment><USER9> Looks like the image download is hosted on S3, is it possible to get a direct S3 link to it? Then one could use the "?torrent" query string trick[1] to get a bittorrent download, I'd be happy to seed it for a while.

[1]: [http://docs.aws.amazon.com/AmazonS3/latest/dev/S3TorrentRetr...](http://docs.aws.amazon.com/AmazonS3/latest/dev/S3TorrentRetrieve.html)

<comment><USER10> Hey there, resin.io founder here (we're working on this with adapteva) this should be possible, let me ask around internally and get back with more details

<comment><USER9> Oh, cool, just checking your site as well, it's a very real issue you solve, have some spare Raspberry Pi to try it out.

It feels like a big change in dev thinking that I cannot ssh into the board anymore, but also very interesting.

By the way, I see that you'll be supporting the SabreLite soon. Would it mean to be able to support other i.MX6-based boards like the VIA VAB-820 [1] or the UDOO?

[1]: [http://www.viaembedded.com/en/boards/pico- itx/vab-820/](http://www.viaembedded.com/en/boards/pico-itx/vab-820/)

<comment><USER10> the idea is to make deployments repeatable, so while we may allow sshing in the future, it will be for diagnostic/experimentation reasons, not for altering the device state, so I think you understand the problem we're solving pretty well.

We keep adding devices and will soon release a guide on how users can add their own devices to the mix. That said, the primary determinant on whether we can support a device is whether a yocto/openembedded BSP exists and is relatively modern (uses a kernel above 3.8). If that exists, it's almost certain that resin support will be relatively easy. Happy to chat more, email in profile.

<comment><USER9> Yeah, i wasn't really missing SSH, as "I never thought to take away SSH" and actually it makes sense to have a different deployment and management mode. :)

And yeah, as a lucky chance, VAB-820 just had a yocto layer released with 3.10.17 [1]. Looking forward to see where this is headed!

[1]: [https://github.com/viaembedded/meta-via- vab820-bsp](https://github.com/viaembedded/meta-via-vab820-bsp)

</comment></comment></comment></comment></comment><comment><USER3> Any questions/comments? (AMA)

<comment><USER11> When will we get a demonstration with a real interconnect? If the FLOPS/Watt is as good as claimed, why is nobody packaging this as an actual supercomputer?

<comment><USER12> because small, slow computers are easy to make power-efficient. the truth is that the processor isn't that interesting, if you're taking a lots-of-wimpy- nodes approach (like BGQ).

<comment><USER3> Do you have some ideas/opinions who the industry will contain power consumption with big cores? Current super computers running big brawny cores and GPU accelerators are running at 5 GFLOPS/W at best. (consensus that we need to get to 50 GFLOPS/W).

</comment></comment></comment></comment><comment><USER13> Why this over say spinning up a cluster on AWS? You're paying for HW and watts either way, and AWS already has the hardware sharing built in. For just $10, you can get ~100 GPU spot instances for an hour, which is a ridiculous number of cores/flops.

<comment><USER3> Not familiar with the price point, reference? Pricing at AWS seems to be more like $0.65/hour for one GPU?[http://aws.amazon.com/ec2/pricing/](http://aws.amazon.com/ec2/pricing/)

Either way, the point of supercomputer.io is that it would be free.(thanks to the contribution of everyone donating cycles). Think BOINC, not AWS. This is not for commercial use.

<comment><USER14> Spot pricing is more like $0.065/hr:

[https://aws.amazon.com/ec2/purchasing-options/spot- instances...](https://aws.amazon.com/ec2/purchasing-options/spot-instances/)

<comment><USER3> Mind boggling pricing for sure, but $0.065/hr is still greater than $0/hour:-)

</comment></comment></comment></comment><comment><USER15> I'm impressed with how efficient the CPUs are. The 64-core Epiphany-IV is 50 GFLOPs/watt (single precision). That beats pretty much every GPU, as far as I know.

</comment><comment><USER16> This site is useless if you don't have Javascript enabled.

Next!

<comment><USER3> Direct links if you still want to participate. Just dd card, powerup, and forget.

[http://parallellocalypse.s3-website-us- east-1.amazonaws.com/...](http://parallellocalypse.s3-website-us- east-1.amazonaws.com/os/resin-supercomputer-0.1.0-0.0.14-Z7010-16.img)

[http://parallellocalypse.s3-website-us- east-1.amazonaws.com/...](http://parallellocalypse.s3-website-us- east-1.amazonaws.com/os/resin-supercomputer-0.1.0-0.0.14-Z7020-16.img)</comment></comment>


Yo hack - <AUTHOR> http://yo-hack.appspot.com/?username=ELONMUSK

<comment><USER2> Why are they even storing phone numbers in plain text. According to their Privacy Policy, the numbers are only used for finding friends; i.e. they look up your contacts from their database.

In which case, to do that they do not need the plain phone number, but only a hash derived from it. This is like storing passwords in plain-text.

</comment><comment><USER3> I think ELONMUSK caught on... [https://www.secret.ly/p/wsoncaocnwzvmgninwovxjxhbr](https://www.secret.ly/p/wsoncaocnwzvmgninwovxjxhbr)

</comment><comment><USER4> This is insane.

</comment><comment><USER5> Just says "Yo. Please take security seriously.". Was this something else earlier?

</comment><comment><USER6> Leak has been closed. (Now returns an "Internal Error")

</comment><comment><USER7> I thought Apple was rejecting apps that made use of the UDID.

<comment><USER8> Mostly apps that take advantage of tracking users via UDID / IDFA and not showing ads. At some level, developers still need a UDID for things like APN.

</comment></comment><comment><USER9> yo! how do I delete my account?</comment>


Ask HN: What side projects are you working on? (up to date thread) - <AUTHOR> There are many similar threads with the same idea, but unfortunately most of them are over 2 years old. I'm opening a up to date thread, so you can share your newest side projects. <comment><USER3> I'm working on a few things:

1.) Converting [http://www.csvformatting.com](http://www.csvformatting.com) from a front end Elm application to a full phoenix/elixir application and adding functionality

2.) Plm ([https://github.com/jhartwell/Plsm](https://github.com/jhartwell/Plsm)) - <USER2> small mix task that generates Ecto models from pre-existing database schemas

3.) Data Mining Coursera classes

4.) Writing a book on Windows 10 C# Development

</comment><comment><USER4> Launched [https://www.formbackend.com](https://www.formbackend.com) as a way to put a contact/whatever form on your static website about a month ago. I know this idea isn't unique by any means, but wanted to build something simple using Elixir. Now I'm just working on better guides/documentation/use-cases and growing the user base. Already have around 20 ppl using it, which is very satisfying :) Listening to their input/advice and building it as we go!

<comment><USER3> Nice work. What host are you using? I'm re-writing [http://www.csvformatting.com](http://www.csvformatting.com) from Elm front- end only to a Phoenix app and wasn't sure where to host (probably will do something like Digital Ocean)</comment></comment>


Can Japan reboot its startup culture? - <AUTHOR> http://www.bbc.com/future/story/20130820-plugging-japans-start-up-gap <comment><USER2> In Japan, established companies are king. Nintendo claims to be 100 years old. My buddy's company sells semiconductors, and they also claim to be 100 years old. Of course these companies aren't truly 100 years old, but it means a lot to work an older company. There's a lot of pride in it. Not to mention, banks want to deal with older companies and so do landlords (the article says some are looking for 2 years of profit).

I've certainly dealt with the pushback that comes with suggesting new ideas in Japan. I've heard "efficiency" derided as a foreigner idea, specifically "you Americans always want to change things to make them more efficient" in regards to no longer grading 1000s of multiple choice entrance exams by hand.

And I don't want to get political, but while I can understand how Abe's economic policies might help pump life into the startup scene, I don't see how the hyper conservative social atmosphere he has charged since taking office will help. I don't mean to be too cynical, but when I read that Abe wants to encourage Japanese startups, I read that he wants to encourage startups of Japanese people not startups in Japan (evidenced perhaps by all of the articles on this subject that mention Masayoshi Son go out of their way to tell you that he is Zainichi Korean, even though he's a Japanese citizen and his family has been in Japan for generations).

<comment><USER3> I always thought Nintendo's corporate history was pretty legit? Start with cards, move to games/entertainment, move to video games. [http://en.wikipedia.org/wiki/Nintendo](http://en.wikipedia.org/wiki/Nintendo)

<comment><USER4> The history of these old companies is usually legit - see Wikipedia's List of oldest companies: [https://en.wikipedia.org/wiki/List_of_oldest_companies](https://en.wikipedia.org/wiki/List_of_oldest_companies)

Sadly Kongo Gumi, the Nr. 1, was swallowed by another company.

<comment><USER5> Wow, I just read the Wikipedia history of Kongo Gumi. I find it amazing that it was also started by a Korean.

</comment></comment></comment></comment><comment><USER6> Fascinating article. My only quibble is when it mentioned "tiny South Korea". That population is 50 million, while Japan's is 127 million. So, yes, Korea is smaller, but hardly "tiny" in comparison.

And "tiny" probably doesn't refer to land area either. Much of Japan is rural or uninhabitable. In both countries the amount of habitable non-farmland is relatively "tiny". Quite unlike the USA.

<comment><USER7> Thanks for for pointing that out. I had fallen for the smaller land mass = much smaller population fallacy.

</comment></comment><comment><USER8> Japan is in dire conditions. Society has, just as it did in Europe, corrupted the way of living of people into a "comfortable" reality. Except Japanese are way better at it than Europeans. So they "trapped" themselves in this comfy reality, which really is a slow-mo zone. Because the population is declining and the new generation is struggling to grasp the situation (and what must be done) they are in for a world of pain. They will be a weak nation very soon, and I bet a certain old friend in the east will consider "helping" them...

</comment><comment><USER9> I've been in love with Japan since I was a anime-obsessed kid, and visiting Tokyo in high school was the best travel experience I've ever had.

Yet at the same time, I've heard it said that the software landscape in Japan is pretty rough -- bureaucratic, aged, and inefficient. I've found that really upsetting, because Japan has, of course, a reputation for being a technological wonderland.

People living in Japan -- natives or otherwise -- is this true? I've had a dream of living in Tokyo as a web developer since the day I came back from Tokyo, and it seems like the only way to make this happen as a non-Japanese speaking (though very interested), non-CS major American is to come already successful, or not come at all.

<comment><USER10> Your best bet would be getting hired by a foreign firm and then laterally transferred to their Tokyo office. Neither not speaking Japanese nor failing to possess a CS degree will make it impossible for you to do IT work at e.g. the Tokyo branches of large foreign investment banks.

If one goes strictly by the published requirements, it would not be straightforward to get you an engineering status of residence (so that you could be hired as an engineer by a Japanese company, as opposed to being transferred in from a foreign company), but there are ways around that. (For example, documenting that you have 10 years of paid experience in development would satisfy the degree requirement... that documentation will be expected with to-the-month resolution.) Candidly, if you do not speak Japanese, getting a professional job with a Japanese megacorp is likely to be quite difficult. (There are a very few prominent exceptions, such as Rakuten.)

There are some Japanese startups which hire foreigners who do not speak Japanese. Your best bet for getting hired at one is to know the decisionmakers personally (true of getting hired at any company anywhere, but of particular interest to you). One potential avenue for finessing this is to come to Tokyo on a visa-waiver for a few weeks of sightseeing, meet people like it is your job, and then get the ball rolling on employment. Fair warning: many startups are, like the US, not exactly organizationally optimized to support your visa/status of residence paperwork.

<comment><USER11> Just to pile on: It's hard to overstate how large the language barrier is in Japan. For all intents and purposes, nobody speaks English and therefore you cannot speak, listen, write, or read anything during your interactions with the people around you.

I don't want to scare kmf off from coming here; you should, it's a wonderful country. Just need to manage your expectations...

<comment><USER12> Eh? I found the language barrier to be about as low as can be expected for a place where English is not the mother tongue.

You should certainly learn Japanese if you want to live there, but you'd still be way better off than rural Russia.

<comment><USER13> Well if you want to compare _rural Japan_ to rural Russia...

I see hudibras is getting downvoted but it probably is fair to say that to native English speakers new to the country, people may expect more than they get from ESLs in Japan. I have some pet theories as to why but I don't think it would contribute all that much to the discussion. Unless you're coming to Japan to be a corporate translator (may all the gods have mercy on your soul) it really shouldn't be an issue as long as you're willing to learn a little Japanese along the way.

</comment></comment></comment></comment></comment><comment><USER14> Until their culture changes drastically I'm going to say No, for the following reasons:

\- It is too risk averse. Making big mistakes, especially with your career, is looked down upon and it makes you a social pariah.

\- Japan is too brand name obsessed and it's not limited to products either. It extends to your career, as to what company you work for and what schools you graduated from. i.e. You need to work for already successful companies. It also doesn't look too kindly on drop outs or anyone different either, who are probably the very people building successful start ups.

\- While the younger generation is better, Japan still has a xenophobic society. Most foreigners unless they are of Japanese descent still can't get citizenship. Foreigners bring a lot of innovation and different ideas to the start up sector that Japan misses out on it. The US isn't perfect on this matter either, but compared to Japan it's way better.

In Japan's defense, most of the EU suffer similar problems.

</comment><comment><USER15> There might not be as many startups in Japan, but I can attest there are 100% Japanese startups that hustle hard as anyone in the valley, aren't afraid to fail in front of friends/family/cofounders and are generally all-'round badasses. They are there.

[http://whill.jp/](http://whill.jp/) <\-- awesome

</comment><comment><USER16> As a founder of a Japan based startup catering to businesses in Japan (MakeLeaps) and also as a co-organiser of the Hacker News Tokyo Meetups with my co-founder Paul, I found this article to be full of defeatism, inaccurate and generally disappointing.

A few points:

"this is accompanied by a very envious, critical and vocal audience. They underline every possible reason that the product will fail and keep doing so indefatigably. They attack the innovator on Twitter, Facebook, blogs, etc; and they keep doing so until the innovator raises a white flag."

What.

There's always haters and detractors. That's part of doing anything in life, and start-ups are no exception.

Once, a Japanese guy spent 10 minutes trying to explain that our startup's failure was guaranteed because Japanese people would never upload their company stamp (a necessary function of official Japanese business documents) to a web service. Even after I told him we already have a bunch of users who are doing this, he was steadfast, so I simply crossed him off the list of people to spend time on. Problem solved.

One of the very first things we learned when selling to businesses in Japan is that social proof is a critical factor. So our focus changed to getting even a single business using our software, and then trying to feature them and promote them as much as we could.

It's pretty damn hard for people to say your product is failing when you can show you have a lot of people using it.

The more we did this, the more businesses we could get, and we continued to repeat this process until last month when we finally crossed 10,000 signed up companies in Japan.

Getting to here took years of work. This is part of a startup. Understanding your problem space and challenges, and then adapting your product and marketing message accordingly.

"Japanese businessmen tend not to trust the younger generation."

Oh yeah? Try doing a startup and being in the younger generation, AND being foreigners.

You have to build and earn trust over time. You're not handed a trust card as soon as you open a new business.

"If you look at successful Japanese start-ups, they are mostly run by CEOs who have applied the 'foreign connection' in some way"

This is frustratingly inaccurate, and belies a total lack of exposure and understanding of the Japanese startup scene. There are plenty of very successful startups that are based in Japan, and focused on Japan, that have zero foreign elements.

"In some cases, like Mr Son, he has managed to combine all five factors."

Commentating on the Japanese startup scene using the CEO of Softbank as an example, Softbank being a company founded in 1981 with a market cap of 43 billion dollars, makes no sense at all.

"There's lots of venture capitalists here but they are only interested in games and new media"

Wrong. We get weekly un-solicited contacts from Japanese VCs asking for meetings with us.

This is a result of us hustling very hard over a long period of time, and working very hard to establish our credibility and stability.

The Japanese startup scene definitely has areas where it can improve, but they're at best papered over in this article.

<comment><USER17> Kudos guys. I have been following MakeLeaps for the past year and half and it's impressive to see how fast and wisely you have been building up the product. What I really like is that you understand the business needs very well, which is not such a common trait here were too many are trying to "disrupt" industries they barely know or understand.

I always wanted to ask: are you guys looking at expanding in other areas? Like out of Japan and/or offering invoices entry services?

<comment><USER18> Thanks! Its always great to hear that kind of thing. :-)

I think I can speak for Jason when I say that we're always looking to expand our offering but we want to do it smartly and in a customer-driven way. You can certainly use our service to make english-language documents but for us a big part of 'localization' is really sweating the details and understanding customer needs. So far, that has meant a focused product for Japanese businesses. The Japanese business consumer is somewhat conservative in adopting new process and has high expectations for services so it's important for us to do things right.

But yeah, like most startups we're always working on new things... :-)

</comment></comment></comment><comment><USER19> One thing the article doesn't really talk about is that Japanese companies are very active in investing in (or sometimes outright buying) foreign startups (for example, Recruit buying Indeed).

I think this shows that some Japanese businesses are at least conscious of the problems depicted in the article, and are trying to learn from Silicon Valley.

</comment><comment><USER20> Excel actually isn't that bad for managing projects. Does saying that make me old, or a skeptic?

Digging deeper into this... I would like to see some data on where grads go. Having spent time in Japan, my intuition was a disproportionate amount of top grads from top schools want to work at old (40+ years) large companies, relative to a similar number in the US. The ones who do go elsewhere wind up at small family businesses. I would like to see data on this.

The larger issue is there isn't as developed a concept of "VC and Angels toss a bunch of small piles of money at juniors and hope one or two grow into a big pile." I suspect the data behind this is much easier to find.

Perhaps much of the push can come from outsiders? Foreigners well versed in the local customer, with foreign money? The large companies tend to be more reluctant to hire international workers anyway.

It's not easy, but Japan is a glorious country with a fascinating culture. It's worth the effort.

</comment><comment><USER21> Samurai Incubate is like Y Combinator of Japan. Today Samurai Incubate manages ¥543 million (about $5.7 million) of investment capital spread across four funds. Sixty start-ups have received funding to date, each typically in the range of ¥4 million – ¥5 million (roughly $40k – $50k). -[http://beaconreports.net/entrepreneurship-in-the-samurai- tra...](http://beaconreports.net/entrepreneurship-in-the-samurai-tradition/)

</comment><comment><USER22> Related, although not adding too much new: "Wake up Japan!" says Dave McClure [https://news.ycombinator.com/item?id=5274049](https://news.ycombinator.com/item?id=5274049) [http://fumijp.blogspot.jp/2013/02/wake-up-japan-says-dave- mc...](http://fumijp.blogspot.jp/2013/02/wake-up-japan-says-dave-mclure.html)

</comment><comment><USER23> For the benefit of UK license payers(!) can someone copy that article so we can see it?

</comment><comment><USER24> Replace Japan with Europe, same shit.</comment>