A mother and son who unraveled a geographic hoax - <AUTHOR> https://www.atlasobscura.com/articles/moose-boulder-debunked <comment><USER2> "Son" here. AMA! Fun to see this on HN.

A few replies to some good questions:

1\. Per @JdeBD, that was the Wikipedia edit that started everything. After 30+ hrs of online research, all roads lead back to this edit. I read 3 books on the island and found no mention of the boulder.

2\. I took a bunch of photos that didn't make the article. Happy to share them offline with interested parties, but given that I could not find MB, they don't prove much.

3\. The article does focus on us getting lost but that happened well after we left Ryan Island. This confused the NPR reporter too. Ryan Island is pretty easy to get to from Malone bay which is just a water taxi away from Rock Harbor. We had a working GPS with us the whole time which made certain legs of the trip a lot easier. How did we get lost with a GPS? The island is a mix of clearly marked dirt trails and large rock fields with no trail markings. You need to have a great sense of direction and some luck to pick up the trail again after traversing each rock field. We got lost after what must have been a quarter-mile rock field at 1am and the GPS didn't have the hiking trail marked in that area.

4\. We made 2 landings at different points on Ryan Island, one southern and the other west / north-western. I did a lot of bushwacking from both points but there was no evidence of any water on the island or even mud where there could have been a "seasonal" pool. I was looking for a clearing or any kind of large flat-ish area but couldn't find anything like that larger than a few feet in diameter. The (small) island is extremely rocky and densely wooded.

5\. Re the route, as many have noted it was very convoluted. We originally planned to go 18 miles in a day - the first half mostly paddles and portages, the second half is an 11-mile coastal trail back to Rock Harbor. The plan was to abandon the canoe at the halfway point and come back and get it via water taxi the next morning. After getting lost we gave up at the halfway point around 4am and camped for the night there.

<comment><USER3> I couldn't help but wonder if Woods Hole Oceanographic Institution (WHOI) was chosen intentionally as a fake source. WHOI can be pronounced "hooey", which is slang for a fake assertion.

<comment><USER4> Sure, and there can be a lot of confusion surrounding the name Woods Hole which makes it easier to hand wave questions away.

Woods Hole Oceanographic Institution is an affiliate of MIT. Woods Hole Marine Biological Laboratory is an affiliate of UChicago.

If someone says "that didn't happen there!" you can always say "oh sorry, I meant the other one"

</comment></comment></comment><comment><USER5> I've been there and have mixed feelings about this.

On the one hand, the boulder has always seemed fishy to me. It's a remote location and I doubt many people would track something that small, or care enough about it to know about the seasonal changes at that boulder. It also doesn't make a lot of sense to me geologically, although it's possible. I also years ago remember people familiar with the site jokingly talking about how " _if_ there were a boulder there..." which lent the whole thing a sense of fiction when I started reading about it. It was easy to see how a humorous fantasy could change into folk legend and then into documentation.

On the other hand, where are the photos? Where's the meticulous documentation? To trek all the way there to address this and then not take copious photos to share with the media?

They also got lost, which adds to my skepticism they even made it there, or were sure they did. Can you get lost there? I suppose -- there are a ton of islands and things there so I can see that -- but the area is blanketed with topo map coverage, and you've got GPS now. If someone were to get lost there, I'd question whether or not they even got to where they wanted to begin with. Siskiwit Lake is a fairly large feature on Isle Royale, and the nesting doll nature of the goal makes your target hard to miss.

In short, I wouldn't be surprised if the boulder isn't there (or isn't surrounded by water). However, I also wouldn't be surprised if this guy and his mother never actually went to where they claimed to go.

<comment><USER6> Agreed on both of your conclusions. Looking at the island's topography [1], I'd be hard-pressed to believe there's a pond anywhere on that island, excepting maybe the northeast corner. But, their story doesn't add up. The timeline of the article states they paddled to Ryan Island and then it immediately jumps to them getting lost on the paddle back to camp. The whole story is about verifying the existence of this "island", so why is this crux of their journey not mentioned?!

I frequently canoe and camp around northern Minnesota and Lake Superior. I do not understand how they could have possibly traveled a total of 18 miles from Malone Bay to Ryan Island, as the article states. At most, it would be a 1 mile portage and a 5 mile paddle. Getting lost and adding 12 miles seems very unlikely, as you mention, due to all the navigable landmarks in Siskiwit Lake. And that's ignoring GPS.

My guess is that they are not strong paddlers and/or navigators, got to the island already tired, saw the amount of bushwacking that would be required to explore the island, and bailed.

For the record, I think this is really cool. Something about the story, as presented, doesn't sit right though.

[1] [https://www.openstreetmap.org/#map=17/48.00956/-88.76993&lay...](https://www.openstreetmap.org/#map=17/48.00956/-88.76993&layers=C)

<comment><USER7> Nothing about this entire paragraph makes sense.

>After canoeing back from Ryan Island, mother and son got well and truly lost. At some point during their 18 miles of hiking, they lost the trail. In their genuine terror—it was, by then, the middle of the night—they realized that their best shot was to find the coastline, since following that was guaranteed, eventually, to get them back to the lodge. Finally, they found the park ranger's house, and had no choice but to knock on his door until he woke up. They didn't know it, but they were still 10 miles from the lodge, and would have missed their flight off of the island had they not been driven back.

It looks like a 1/4 mile portage and maybe 1 1/2 mile paddle to Ryan Island from Malone Bay.

They were taken by a water taxi to Malone Bay. Why would they be walking back to the lodge without their canoe?

Assume that, for some reason, they were walking back and were going to come back for their canoe later. Seems an odd plan but let's go with it. Why would a park ranger have a house somewhere 10 miles away from the lodge (which puts it at pretty much the opposite end of the island).

<comment><USER8> If we work backwards the odd wording here is "driven back". It's possible they mean by boat, and the spot 10 miles from the lodge with a dock is Daisy Farm campsite. There's no ranger station but it is manned in-season, perhaps what they meant there.

But to hike 18 miles to Daisy Farm? Certainly they would have had to drop off the canoe. And "canoeing back from Ryan Island" to me says they did drop off the canoe. My guess is they dropped it off and tried to hike back to the lodge on foot (which would be a long hike) and got turned around.

The problem is the trail from Malone Bay goes the wrong way. It would be more likely for them to portage from Ryan Island to Chippewa Harbor or Lake Richie campground, drop off the canoe at that campground, and then attempt the hike back. The mileage from there is close.

Another reason why I think they ended up at Daisy Farm is that it says "their best shot was to find the coastline since following that was guaranteed". Following the the wild coast of Isle Royale in the dark is a suicide mission. However, the trail from Daisy Farm to Rock Harbor _does_ follow the coast. In fact its one of the only trails on that side of the park that does.

My guess is they didn't get off the trail and into the wilderness at all, they just took a wrong turn onto a different trail and decided to take whatever trail they ended up on to Daisy Farm and then head to the Lodge. At which point they bugged the campsite director.

I also agree it's obvious they did not go onto Ryan Island. They even had GPS coordinates of where to go. No doubt they would have bushwhacked to take a picture if they did go. The fact that they didn't leads me to believe they not only didn't bushwhack then, they also didn't do it on their hike back in the middle of the night. IE, they stayed on marked trials the whole time.

Lots of strange embellishments in this story.

<comment><USER2> We were definitely on Ryan Island :) It's very easy to get to. The trip from Ryan Island back to Rock Harbor is another story... Don't try to do that all in one day and half in the dark.

</comment></comment></comment></comment></comment><comment><USER9> It has crossed my mind that there's an awful lot of information available online and we often, as individuals, can't really know what's true and what's not. So we tend to rely to some degree on "consensus" \-- on the idea that if "a billion people" say it's true, it must be true.

While not a completely useless metric, it's also not a completely reliable metric either.

With having this thought, I have doubled down on trying to stay out of things I'm not personally knowledgeable about. For me, this means trying even harder to stay out of most kinds of political discussions, which frequently boil down to gossip and name calling and deciding which "people" you want to be seen as and who you want to be for and who you want to be against.

Political discussion tends to not be about good policy and what kinds of policies we want to have and why. And I have concluded I honestly don't know enough in most cases to have any idea which candidate I should be talking trash about or whatever. And it all too often ends up a case of me parroting sentiments of acquaintances just to try to connect socially.

I wonder how much that's true for other people/"in general." And I wonder if we need to revisit how politics gets done and revise our de facto use of popularity contests now that you are so unlikely to meet people you are voting for or know someone who actually met them and we are reliant on Facebook and what not, which has proven to be very much game-able.

The degree to which modern politics so often looks to me like the plot from "Wag the dog" is pretty disturbing.

Which isn't actually intended to take this into the direction of politics. It's just to say that rubrics of social proof that were probably more reliable when the world was a smaller place have gone weird places in the internet age and we maybe need to think about that more than we do and try to find solutions.

<comment><USER10> > if "a billion people" say it's true, it must be true.

Religion is a great example of this. I have yet to see proof of a god.

<comment><USER11> Proof of god? We can't even prove gravity, or for that matter anything else in the physical world.

<comment><USER10> Okay. But we can demonstrate the existence of gravity. Let go of an apple and watch it drop.

I have yet to see a demonstration of divine intervention.

<comment><USER12> OK, I'll bite.

Who or what created the universe?

Don't say "big bang" because something needed to create that.

<comment><USER13> Don't say "God" because something needed to create her/him/it.

</comment></comment></comment></comment></comment></comment><comment><USER14> Here's the edit that introduced this to Wikipedia:

* [https://en.wikipedia.org/wiki/Special:Diff/288109348](https://en.wikipedia.org/wiki/Special:Diff/288109348)

You can see how it was falsely sourced by adding it in front of the source that does indeed confirm (it being a re-hash of Shelton's earlier book _The Life of Isle Royale_ , published in 1975) that Siskwit Lake is oligotrophic, but says nothing in support of the added material.

<comment><USER15> I was going to speculate that the wikipedia user was inspired by xkcd's "citogenesis" comic [0] but that was published in 2011 [1] while the edit happened in 2009.

[0] [https://xkcd.com/978/](https://xkcd.com/978/)

[1] [https://xkcd.com/978/info.0.json](https://xkcd.com/978/info.0.json)

<comment><USER16> XKCD did not at all invent the idea of putting false information on Wikipedia.

<comment><USER17> Note that citogenesis is a fair bit more insidious than simple false information.

<comment><USER16> Sure, but there's no particular reason to suspect that here; the original edit seems to have been simple vandalism.

</comment></comment></comment></comment></comment><comment><USER18> Apparently someone says it does exist and is going to prove it when the park opens again in mid-april[0].

> TAUB: Since we have published the story, we've heard from a reader who > claims that Moose Boulder does, in fact, exist and that when the park > reopens this summer, they're going to go out there and take pictures and > send it back to us to prove. And, you know, that would be awesome.

[0]: [https://www.npr.org/2020/03/13/815546895/the-lonely-non- isla...](https://www.npr.org/2020/03/13/815546895/the-lonely-non-island- unfortunately-moose-boulder-doesnt-exist)

</comment><comment><USER19> When I talk with people who are not sure what the purpose of life is, I point to people like this guy as an example of what the purpose can be.

There's really no point in his travels other than personal satisfaction. That people can be motivated by things like this helps me to relax, and I hope more people learn to enjoy these simple things as well.

<comment><USER20> > There's really no point in his travels other than personal satisfaction.

IIUC, you're advocating hedonism as a sufficient purpose for some lives. I think for many people, the possibility of hedonism as the greatest possible good causes them existential dread.

Caveat: I've studied far less philosophy than I should have; I may be talking out my backside.

<comment><USER21> Interestingly, I found hedonism as a SOLUTION for my existential dread. Of course I don't call it hedonism, but here is the path I followed. These are statements of fact to me, but of course they are highly debatable. Fork wherever your own experience does not match.

1) There is no God, as in a conscious being who created the universe for a purpose that is yet to be revealed to us

1B) The universe itself is uncaring, and it's current state is just the resolution of a very complex set of causes and effects. It's on a path, but there is no destination or goal.

2) There is no afterlife. Existence is consciousness, and when consciousness nds, there is nothing else.

3) Consciousness may or may not be special but it is irrelevant because we EXPERIENCE it as special.

4) Experiences and feelings are real, complex, evolving, and almost limitless in the range that you can experience over the course of a finite lifetime

5) Positive/unique experiences are inherently good to have. And good to provide to others.

6) Therefore, the only thing we can do is try to maximize the amount of positive feelings/experiences we each have, and maximize the amount we generate in others.

7) The exact balance between focusing on yourself vs generating in others, and the relative worth of being a force multiplier (e.g. sacrificing your own happiness for someone else, or multiple others), is an exercise left to the reader. So long as your actions contribute to a NET good for the world, it's probably okay.

8) What I don't like about the term hedonism is it makes it seem like I want to just sit around eating grapes and having sex. In a more macro sense, technology that helps humanity be more effective and have more leisure, a more egalitarian society, a multi-planetary civilization that is safe from extinction from a wild cosmic event are all things that I believe are of value to contribute to the overall increase of one's happiness/experiences, and to all of civilization. So my philosophy, whatever it is called, is completely compatible with humanity's progress

<comment><USER22> Sensationally on point post thanks. Got through point 8 smoothly without feeling any need to fork. Please feel free to rewrite all the philosophy / theology etc. books in the world with this much shorter and more accurate message.

</comment></comment></comment></comment><comment> mark-r I hiked across Isle Royale back in 1976. I remember getting a kick from looking down at the largest island in the largest lake in the largest island in the largest lake in the world. I had no idea at the time that it actually had a name, it must not have been included in our maps. There was no hint of another pond in the middle of it.

<comment><USER23> Wow! Happy to have shared a similar experience on Isle Royal in the summer of 2010. One of the highlights of the trip for sure!

</comment></comment><comment><USER24> I'm sure it's not the only completely fake thing in Atlas Obscura.

</comment><comment><USER25> Fun fact: The son is Roger Dickey, the creator of Gigster [1].

[1]: [https://gigster.com/](https://gigster.com/)

<comment><USER26> This somehow makes me more suspicious about this story.

</comment></comment><comment><USER27> _The identity of that first Wikipedia user to write about it—with those completely unrelated sources—remains a mystery, but all available evidence suggests that it was a person having a laugh, nothing more._

Wonder how many other Wikipedia entries have a similar provenance?

<comment><USER28> The question nobody wants to ask is, how many books are the same?

We know that maps deliberately contain copyright traps. Is this done with other reference material? How would we know?

</comment></comment><comment><USER29> How does Lake Superior qualify for the title _largest lake_? Is it because it has the largest surface area of freshwater lakes? The Caspian Sea is technically a lake but is greater than 4.5x the surface area. Lake Baikal is the largest lake by volume, and is fresh water, having nearly double the water compared to Lake Superior.

* [https://en.wikipedia.org/wiki/List_of_lakes_by_area](https://en.wikipedia.org/wiki/List_of_lakes_by_area)

* [https://en.wikipedia.org/wiki/List_of_lakes_by_volume](https://en.wikipedia.org/wiki/List_of_lakes_by_volume)

<comment><USER7> >Is it because it has the largest surface area of freshwater lakes?

Yes. Per Wikipedia "The Caspian Sea is the world's largest inland body of water, variously classed as the world's largest lake or a full-fledged sea."

<comment><USER30> More relevant from the wikipedia link: "Despite its name, it is often regarded as the world's largest lake, though it contains an oceanic basin (contiguous with the world ocean until 11 million years ago) rather than being entirely over continental crust."

Regardless, whether it's the largest or not isn't really the point, it's just that it sounds interesting. I believe Manitoulin island (which is a bigger island in a smaller lake) has a similar island-lake recursion pattern. If you start looking at islands (not necessarily the largest ones), there are also several lake-island recursions (Lake Taal on Luzon island being one). And then one could rank the size of the recursive islands (or lakes) at the various levels. It's a lot like trainspotting in the end.

</comment></comment></comment><comment><USER31> If the island has been mapped with lidar, it would be possible to find it in such way. Lidar can penetrate the trees and give you a surface model of what underneath.

<comment><USER32> You should be careful with the "can penetrate the trees" statement for people who don't understand the technology. But you are correct. Like light, some of the lidar can make it to the ground and give us a partial map of the floor.

I'm sure more passes from different angles would get a better picture as well.

</comment></comment><comment><USER33> The article quotes him as saying "I did Google reverse image search for their profile photos". I am in Europe and Google reverse image search for faces of people certainly does not work. Is that a recent change? Is that local to Europe?

<comment><USER12> I've been doing that for years.

What do you mean "doesn't work"?

Example of how it works for me: [https://share.getcloudapp.com/qGuob6D0](https://share.getcloudapp.com/qGuob6D0)

I picked a photo of a journalist at random. It identified her.

</comment></comment><comment><USER34> Citogenesis in action!

</comment><comment><USER35> The article says the Island is barely a mile long but a quick measure on goggle maps at the coordinates give puts it at 720m long

<comment><USER36> The article talks about a seasonal lake. Perhaps the size changes depending on time of year?

<comment> mark-r The seasonal lake is the one on Ryan island. Siskiwit Lake is quite large and I'm sure it's not seasonal.

</comment></comment></comment><comment><USER37> It seems like it wouldn't be terribly hard to check the existence of Moose Flats pond by pulling up the Google maps satellite view and then scrolling backward on the timeline. Even if it's a periodic feature it should show up in some of the pictures taken over time.

It's also a bit strange how they lost track of where they were in relation to the lodge. They didn't have phones with them? Even if you were foolish enough to go hiking without an offline mapping app you can still get from point A to point B.

<comment><USER38> "They didn't have phones with them?"

I've had to give people paper copies of maps more than once when hiking because their batteries were flat on their phones.

NB I take a phone, an external battery pack and _two_ copies of paper maps.

Edit: As an aside, I'm trying to reduce my reliance on digital maps and go back to using paper maps and compass more as I'm sure it reduces awareness of where you are (I've actually made more navigational mistakes using digital maps than when I mostly used paper maps).

<comment><USER39> A couple of other important advantages to paper maps: you can get a much better "big picture" view, as printed maps have a much higher resolution and can be printed as large as necessary. Zooming out on a digital map comes at the price of reduced detail. Also, if you drop a paper map onto a hard surface, it doesn't break - and even if damaged, a paper map can still be useful.

<comment><USER38> Having lost a paper map to high winds before I'd add that a waterproof map case with a lanyard to go over your neck can be a good idea!</comment></comment></comment></comment>


Java libraries you can't miss in 2017 - <AUTHOR> http://blog.jevsejev.io/2017/02/19/java-libraries-you-cannot-miss-in-2017/?utm_source=ycombinator <comment><USER2> The slides which inspired this listing include Guava -- omitted from this list -- an invaluable utility toolbelt that I think is a spiritual re-imagining of Apache Commons (... don't read too much into my phrasing, a lot of Apache Commons also quite good, even if API tastes have changed since then).

I'll also note that Dropwizard, the framework, came about as an quickstart around an opinionated bundling of quality libraries. Dropwizard's appearance has resulted [1] in the development of Spring Boot, which lowered the barrier to generating Spring applications, arguably finally delivering on the 'convention over configuration' promise that Spring has long suggested it could do, but never quite found the sweet spot.

[1] [https://news.ycombinator.com/item?id=12283230#12286948](https://news.ycombinator.com/item?id=12283230#12286948)

<comment><USER3> Guava is a notable absence to me. We use it all day every day at work.

Speaking of frameworks that Google uses, I'd have to recommend Dagger over Guice: [https://google.github.io/dagger/](https://google.github.io/dagger/) People tend to like it more, and it's gaining traction for the kinds of things that people used to default to Guice for.

Oh, and the JODA DateTime/Money libraries.

<comment><USER4> There's no need for Joda for datetime with Java 8 as it has sane (immutable!) classes inspired by Joda.

And as all prior versions of Java are EOL there's no reason not to be using Java 8.

<comment><USER3> Java 8 isn't supported quite yet on App Engine :-( Support is in beta, and should hopefully be available "for real" within months, but until it is, we're stuck with the old stuff.

I also wonder what kind of data migration we'll be facing, since all of our persisted data is from Joda DateTimes, not Java 8 ones. Hopefully none.

<comment><USER2> If your datetime is persisted ISO 8601 form, RFC 3339 form, some other unambiguously parseable string form, in epoch form, or as some database-native reliable datetime type, you'll be fine. But if by any chance it's Java- serialized Joda-Time objects, you're going to want to get them out of that form, as the Java-serialized forms are not compatible.

<comment><USER4> If you're data is persisted in Java-serialized form you should be fired.

That's not just for just dates or timestamps either. That's for data period.

<comment><USER5> I've horrible memories of WordPress and their obsession with storing PHP serialised objects in the database.

It makes a whole lot of things that ought to be simple a lot harder.

<comment><USER6> It was saving different blog data on different tables prefixed by index numbers. It's a mess.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Its so incredibly refreshing when technologies are positioned by saying what they __don 't __do.

When we describe our cool stuff to the world, its natural to go on and on about all the cool stuff it can do. But I'm more inclined to trust technologies that state clearly what they can't or don't do, or are not intended for.

I don't know if there is a name for this effect, but having only nodded at SL4J from a distance, I feel much happier about using it (or choosing not to) after reading this:

> In short, libraries and other embedded components should consider SLF4J for > their logging needs because libraries cannot afford to impose their choice > of logging framework on the end-user. On the other hand, it does not > necessarily make sense for stand-alone applications to use SLF4J. Stand- > alone applications can invoke the logging framework of their choice > directly.

<comment><USER2> SLF4J is quality software, but it's quite ironic that it needs to exist at all, considering how much of both the Java mentality and the commercially significant Java EE platform is about coding against a well-defined interface that defines basic contract and semantics and allows the developer/customer/etc to supply their favorite and most-appropriate implementation of choice.

In the case of SLF4J, it was the community (or rather, Ceki Gülcü, the author of now-several logging frameworks, in response to his dissatisfaction with the community-led Apache Commons Logging) who stepped in to provide the 'generic' API, while Sun went and developed an actual 'hardcoded' implementation deliberately different from the popular third-party logging frameworks of the time instead and shipped it with Java 1.4.

</comment></comment><comment><USER8> As someone who has to use Guice at work, and not by choice, the following critique best sums up my thoughts on Guice.

[http://omaritech.blogspot.com/2014/03/why-google-guice-is- ev...](http://omaritech.blogspot.com/2014/03/why-google-guice-is-evil.html)

Am I in the minority here? Do most people really think that the Guice framework approach is a good idea?

<comment><USER2> The linked post is framed as a criticism of Guice but it's actually a criticism of Dependency Injection.

DI is one of those architectural tradeoffs that makes one thing easier (swapping out an alternate implementation) while making another thing harder (following execution paths), and trades imperative, prescriptive, top-down style with declarative, "loosely coupled", componentized, bottom-up style made possible by an overarching helper and externalized decision points that kinda- sorta act like configuration.

<comment><USER9> In my experience "swapping out an alternate implementation" happens so rarely that it isn't really worth the additional architectural complexity and making debugging harder.

Seems to me like DI (at least the heavy-handed Spring XML style of it) is a solution looking for a problem, but I've only worked at one company that used it heavily so I'd be happy for people to try to change my view.

<comment><USER2> "Swapping out an alternate implementation" sometimes means you shipped a bunch of components and the customer (who is not you, and doesn't necessarily have a direct line to you) can configure their software to enable or disable features.

By having externalized some of the tight coupling into some config file (like Spring's XMLs), they can go in and say that the AuthorizationFilter is OAuth20Filter instead of OAuth10Filter, or maybe their CookieParser is StrictRFCCompiantCookieParser instead of the WhateverGoesCookieParser.

The same would be doable if you compiled all this into code and only exposed some different config parameter that says "enforceRFC6265Cookies=true/false", but then the customer couldn't use some consultant company's SuperSpecialCustomCookieParser class in its stead, whereas with Spring they can.

But say none of this applies; DI is often used in testing. You can inject a mock class with next-to-no effort without having to figure out what to do about all of those StorageManagers whose hardcoded dependency is your ActuallyRealDatabaseStorageManagerImpl.

</comment></comment></comment></comment><comment><USER10> Worth checking out are Java libraries made by Real Logic guys:

[https://github.com/real-logic](https://github.com/real-logic)

Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport

Simple Binary Encoding (SBE) - High Performance Message Codec

Agrona - High Performance data structures and utility methods for Java

<comment><USER11> We use all 3 for network communications.

Here is an aeron microbenchmark: [https://github.com/benalexau/rpc- bench](https://github.com/benalexau/rpc-bench)

Of note is akka uses it for its internal remoting: [http://blog.akka.io/artery/2016/12/05/aeron-in- artery](http://blog.akka.io/artery/2016/12/05/aeron-in-artery)

We will be using it for RPC and distributed deep learning: [http://engineering.skymind.io/interview-with-adam-gibson- cre...](http://engineering.skymind.io/interview-with-adam-gibson-creator-of- dl4j-why-aeron-matters)

</comment></comment><comment><USER12> JDeferred, a promises library, is what CompletableFuture does, a recent addition to Java's standard library in Java 8.

CompletableFuture is becoming supported in a bunch of other libraries: [https://github.com/AsyncHttpClient/async-http- client/](https://github.com/AsyncHttpClient/async-http-client/), [https://github.com/ben-manes/caffeine](https://github.com/ben-manes/caffeine) , [https://github.com/mp911de/lettuce](https://github.com/mp911de/lettuce) .

</comment><comment><USER13> To me Guava is still the most essential, general purpose Java library. Not just for its collection package but because of the caching stuff, graph API, and well written general purpose utilities.

But I would also mention Spring 5 which I assume will be released soon, even though many people probably consider it too heavy or opaque at this point. But their major adoption and push towards reactive programming is interesting. And it will be interesting to see if java programmers embrace it. I'm a little skeptical that it provides enough tangible value to justify a more complex mental model, but maybe I'm wrong.

<comment><USER3> I just recently had to use a bloom filter to speed up a caching issue. It was so easy to do with Guava that it took all the fun out of it.

</comment></comment><comment><USER14> Jooq is a really good type-safe library to talk to databases. I personally prefer jooq over hibernate.

<comment><USER15> The Jooq blog is pretty great as well. [https://blog.jooq.org/](https://blog.jooq.org/)

</comment></comment><comment><USER16> Not trying to be an asshole here, but can a Java evangelist try to convince me to use it over C++ on linux - without invoking the garbage collector. (I've +17 years experience in C++ & Python on Linux & Windows + 18 years C# experience on Windows). In my experience, Java has made a number of poor decisions in the language (i.e. requiring exception specifications, disallowing value types, and the generics implementation is shit). Why use it other than "cross platform?" Build times are crap, almost (but not quite) as bad as C++. Why use it? I'll admit I've zero experience using other JVM hosted languages, so part of why I differentiate the JVM versus Java, the language.

<comment><USER17> Java is very good for enterprise development where the code has to be maintained. It's easier to read and contains less gotchas than C++. It is especially good when the team consists of people of varying coding competencies. Also nobody ever gets fired for choosing to develop using Java.

<comment><USER16> > Java is very good for enterprise development where the code has to be > maintained. I often hear this, but I've yet to see an example of "good" > enterprise java. Instead, I oft see a pile of shit built on top of some java > framework, claiming to be maintainable. C++ may not be the best choice for > web development (probably wouldn't be my first choice), but Java hasn't > proven great, either.

<comment><USER18> > C++ may not be the best choice for web development (probably wouldn't be my > first choice), but Java hasn't proven great, either.

Really? I feel like Java and the JVM are great for developing web apps with complex requirements, especially if they need to scale. Very few decent web development choices perform as well as the JVM does.

I mean, part of the reason that "enterprises" have "shitty enterprise Java" is because "enterprises" will create "shitty enterprise anything," and the Java implementation often performs better than the alternatives.

</comment></comment></comment></comment><comment><USER19> If possible, write tests in Groovy and use Spock Framework.

My production code is a mix of Java and Scala, and I found Groovy to hit sweet spot for testing.

<comment><USER20> Using the collections syntax and closures from Apache Groovy makes glue code, testing, and build scripts for the JVM easy to write, but the more recent features like those used in Spock are confusing. The Spock example in the post has the | operator overloaded so a function is called, a function name made up of 6 words separated by spaces (rather than using camelCase), and the label syntax triggering AST transformations to provide a new semantic context...

      class HelloSpockSpec extends spock.lang.Specification {
        def "length of Spock's and his friends' names"() {
          expect:
          name.size() == length

          where:
          name     | length
          "Spock"  | 5
          "Kirk"   | 4
          "Scotty" | 6
        }
      }

Wouldn't this be more straightforward and readable, without needing to rely on any of the confusing post-Strachan features added to Apache Groovy?...

      def HelloSpockSpec () { //length of Spock's and his friends' names
        def f = {name, length -> name.size() == length}
        assert f("Spock",  5)
        assert f("Kirk",   4)
        assert f("Scotty", 6)
      }

</comment></comment><comment><USER21> Should analytics tagging really be used when submitting urls to hn?

?utm_source=ycombinator

<comment><USER2> I have no problem with this. At least this style of analytics makes it clear to both the reader of the URL and a casual observer that their visit is going to be catalogued as such, and for a careful clicker, easy to bypass.

I find this much more palatable than, say, Medium's pseudorandom tracking hash fragments that are spawned on each link share (harder to grok and recognize, but easy to bypass), or indecipherable URLs where it's impossible to tell where the substantive, deterministic portion ends and the tracking garbage begins.

</comment></comment><comment><USER22> I have been using Google's AutoValue [1] instead of Project Lombok. It does not have as many features, but it makes creating model classes much easier.

[1] [https://github.com/google/auto/tree/master/value](https://github.com/google/auto/tree/master/value)

</comment><comment><USER23> Have you considered Vert.x?

[http://vertx.io/](http://vertx.io/)

Vert.x lets you do most of those stuff such as HTTP, futures, P2P, pub-sub and more. It's event-driven and made for concurrency but you can easily run blocking code in it if you want to. I think you can integrate it with existing projects to get those capabilities. It also has tools for testing. It's well documented and with great examples ([https://github.com/vert-x3/vertx- examples](https://github.com/vert-x3/vertx-examples)) so it's easy to learn based on my experience.

Anyone here who also experienced using Vert.x?

<comment><USER2> In casual parlance of terminology, Vert.x isn't really a library in the sense a dependency you pull in because it implements some specific functionality with a handful of method calls.

Vert.x "feels" more like a framework in the sense of giving your thought process and your application an architectural template and invites you to code in a style that it supports; but I also don't think 'framework' is a bad word. Realistically, Vert.x blurs the lines between a runtime, an event bus, a library, a framework, and a platform -- it's quite enjoyable to use, but despite their insistence to the contrary I don't think it's something that one should grab off the shelf and sprinkle into a larger product.

<comment><USER23> That's a better explanation clarifying its distinction between being a framework and library. Yeah, substantial amount of consideration should be taken before including it in a project. It's good though to have an option when you need it.

</comment></comment></comment><comment><USER24> Spark framework is pretty awesome, in a "all I know is Java but want to write a web application simply anyway" kind of way.

[http://sparkjava.com](http://sparkjava.com)

<comment><USER25> I've recently had to reacquaint with Java after 15 years, and Spark was a godsend. It's basically Flask for Java.

From an ease-of-use perspective, the closest I've found for the Java7 hell I currently inhabit is Ninja ([http://www.ninjaframework.org](http://www.ninjaframework.org)), but it packs a lot of stuff that I don't necessarily need - it's more of a Django, let's say.

</comment></comment><comment><USER26> Lombok is something I've been working with for a long time and I can say it's the only library I enjoy pulling in because of just how much it has to offer. Everything and two kitchen sinks.

</comment><comment><USER27> Don't forget Deeplearning4j! [https://deeplearning4j.org/](https://deeplearning4j.org/)

<comment><USER28> I've been doing a lot of stuff with DL4J lately and I have to say, I'm pretty impressed. The API seems very sane, it's very flexible, but yet it's easy to get a basic network up and running. The documentation is pretty good and there are a lot of videos from Adam up on Youtube showing off aspects of it. And it has native support for running on Spark with iterative parameter averaging, etc.

I honestly wonder why DL4J doesn't get more love... I'm guessing it's just the halo effect of being associated with "Java" which is no longer cool with the hipster crowd.

<comment><USER27> Thanks for the kind words. Please let us know if there's anything we can improve. The community's active here:

[https://gitter.im/deeplearning4j/deeplearning4j](https://gitter.im/deeplearning4j/deeplearning4j)

Why doesn't DL4J get more love? It's partially a Java/Python thing. A lot of research, maybe most, is being done in Python, even if that isn't ideal when you scale on a cluster. So we built a couple ways to smooth the workflow between Python and the JVM:

Model Import from Keras (and TensorFlow and Theano) [https://deeplearning4j.org/model-import- keras](https://deeplearning4j.org/model-import-keras)

Keras API for Deeplearning4j (WIP) [https://github.com/crockpotveggies/dl4j-examples/tree/keras-...](https://github.com/crockpotveggies/dl4j-examples/tree/keras- examples/dl4j-keras-examples)

DL4J is the only DL library built by a startup without the backing of a major tech company or university. Google's pouring many millions of dollars into TensorFlow marketing, Udacity, etc. Microsoft and Amazon are backing CNTK and MxNet respectively. All those libs are loss leaders to get companies onto a vendor's public cloud, where they'll charge for the DL workloads.

</comment></comment></comment><comment><USER29> if you need to do high performance networking, netty is a must have.

[http://netty.io/](http://netty.io/)

</comment><comment><USER30> Guava's `ListenableFuture` can be used as an alternative to `JDeferred`. See [1].

[1] [https://github.com/google/guava/wiki/ListenableFutureExplain...](https://github.com/google/guava/wiki/ListenableFutureExplained)

</comment><comment><USER31> AssertJ ([http://joel-costigliola.github.io/assertj/](http://joel- costigliola.github.io/assertj/)) deserves a mention. Great support for collections, guava, jodatime and IDE autocomplete friendly to boot

</comment><comment><USER30> Guava's `EventBus` can be used as an alternative to `MBassador`. See [1].

[1] [https://github.com/google/guava/wiki/EventBusExplained](https://github.com/google/guava/wiki/EventBusExplained)

</comment><comment><USER32> does anybody know some http client libraries that have scalable, performant asynchronous support (including transparent handling of various issues, like too many requests pending etc.). A big plus would be if it would implement the CompletableFuture-interface (idk what it was called). Ideally with an easy, fluent api. I started with using unirest ([http://unirest.io/java.html](http://unirest.io/java.html)), but it behaved poorly under load (also no CompletableFuture-interface implementation).

<comment><USER33> What's the interest in CompleteableFuture? It's probably my least favorite JDK addition...

<comment><USER32> yeah, i feel like they messed up the api.

easy integration into ratpack[1] non-blocking system. Propagation of the async-functionality through various classes without hardcoding an custom library-solution.

[1] [https://ratpack.io](https://ratpack.io) Also clumsy api, but performant for the required workloads.

<comment><USER33> My biggest gripe isn't the massive API, it's the existence of the obtrude* methods - allowing a Future to change its completion result after it completes undermines the whole thing.

</comment></comment></comment></comment><comment><USER34> Or just use Scala. Scala is like Java 13 in a consistent / elegant manner with functionality / features of half of the libraries listened.

</comment><comment><USER35> Nice list. It would be super cool and useful to see less trivial examples of each library. Or at least links to examples in GitHub.

</comment><comment><USER36> Great list, but I am surprised that guice is a recommendation for DI in 2017.

<comment><USER37> The only really comparable replacement is Dagger, which does not provide AOP or any kind of web integration.

Dagger is cool, but Guice is still a better choice for most server-side apps. Maybe that will change in the future? They're pretty similar, so if Dagger "catches up" it won't be too hard to switch.

</comment></comment><comment><USER38> I only need Java 9

</comment><comment><USER39> are you kidding me? this is worst java library list for 2017

<comment><USER40> Can you defend that, or are you trolling?</comment></comment>


Redesigning The World Cup 2014 Brazil - <AUTHOR> https://medium.com/@GuusterBeek/redesigning-the-world-cup-2014-brazil-5f3471869815/

<comment><USER2> I'm used to the visual design of ARD/ZDF in Germany. Thoughts:

* One team is "above" the other. This implies ranking between the teams. Who decides who's on top of the other? Imho a bad idea.

* The clock is unnecessarily bloated. I find the added visual markers distracting. The stoppage time is misleading, because additional play time is not a stopwatch or a _timer_. It is merely a suggestion and while most judges adhere to it, there are some games where additional play time is exceeded. It's not strict as a stopwatch implies.

* Ball possession: While being an interesting statistics, they are usually shown only once during an entire game. This kind of stuff is now easily retrievable during the game on a tablet or smartphone ("second screen"). Some people find the statistics completely unnecessary, because the only relevant statistic is goals, which is always shown anyways. I also don't see how extensive animation in the interface is not distracting.

* Formation screen: Just a different flavor. Nothing worse or better than the current one.

To summarize: Well, it's a suggestion, but I can't see that this is BETTER than the current layout, which the final paragraph implies about this design.

<comment><USER3> In American sports, the home team is always on the bottom. "New York playing at Dallas."

If what @surreal says in a sister comment is true, then they could do the same thing for FIFA.

<comment><USER4> Why would they adopt a US-centric practice?

In all likelihood it would be more suitable for the USA to adopt FIFA conventions. FIFA tournaments are astronomically more popular worldwide than any US sports. Even the USA-Portugal game had higher viewing figures in the USA than the World Series _and_ the NBA finals.

Skipping the World Cup for a second...in 2011 the Premier League was broadcast in 212 territories around the world, working with 80 different broadcasters. The TV audience for Premier League games is 4.7 BILLION , and the number of homes reached last season increased 11 per cent to 643m.

It's a bit arrogant to assume some of the best UX designers in the world have not been hired to design and test the experience for a global audience. TV has forgotten more than the Web knows about user experience.

</comment></comment></comment><comment><USER5> I don't particularly understand the point of this. There's absolutely nothing hard to distinguish about a score on the television, especially when soccer is a low-scoring game which isn't all that hard to keep track of if you're remotely paying any attention, and channels like Univision have incredibly minimalistic, easy to distinguish graphics. I don't know what Sky is doing, but ESPN and Univision are pretty straightforward.

All I get out of this is some people trying to Web 3.0-ify something that doesn't need to be. The clock looks absolutely dreadful and sticking minutes on top of seconds is an unnatural approach to displaying time in the context of a sport.

<comment><USER6> This is just a designer jerk-off to get attention. Just like someone porting 2048 to whatever hot new language is out this week. :)

<comment><USER7> I agree. I bet the OP wasn't expecting comments like yours, just praise, but he/she is wrong. This is totally unnecessary, and is an elegant solution to an nonexistent problem.

<comment><USER8> I think both this, the parent comment, and a fair amount of other comments on this post are unnecessarily harsh towards the designers. Pointing out design issues is always helpful for improvement and reiteration, but attacking their motivations just makes everyone hostile and gets nothing accomplished.

<comment><USER4> It appears that the hostility stems from a deep misunderstanding of football, the current UX and why it evolved the way it has.

You can hardly blame the community for reacting harshly when presented with a product they never asked for claiming that their current experience is somehow _broken_ when it is not.

The worst part is the new UX is sub-standard.

<comment><USER9> I think you are correct

It's expected from a design work a much deeper understanding of the issue at hand (and current practices and conventions)

This design work is not aware of a lot of things in soccer AND TV production.

"Let's make something flat" what does this has to do with soccer: nothing.

</comment></comment></comment></comment></comment></comment><comment><USER10> The clock is actually harder to read this way. I want to glance and know what time we're on. By presenting the time in an unconventional way, you're making it difficult for me to do that. It also doesn't offer a way to distinguish between extra time and stoppage time.

When a player is booked, injured, substituted, etc I prefer to see what's, you know, _happening_. If you want to help me do that, you shouldn't obstruct my view with a giant bezel containing an icon and some text. I will go further and say that the icons are rather vague, especially in the example given. A football (I mistook it for a wheel at first) and a name? Thanks television, that cleared things up!

A yellow card icon should simply be yellow. Two cards as an analogy to a red card isn't a good one, as red cards can be given without a yellow one being given prior. I'm assuming the sniper's visor is meant to indicate penalties, it's a little disturbing to be honest.

These and other mistakes, mentioned in other comments, could've been easily avoided with a little domain knowledge. Once again, it's form over function.

<comment><USER11> The ball and the cards were the only icons I understood at first glance. It's common to use a ball icon to mean "goal", the single card is probably yellow, and the double one red.

I still don't see any problem with using colors. If the goal is being clear at a distance (a good goal, that they failed to achieve), colors are way better than an extra line. I also don't like how they put everything inside a rectangle, soccer does not have rich backgrounds that you can't design around - it's mostly green.

That said, it's a nice idea to pop important information on a big font size on the middle of the screen, currently if gores mostly to the bottom and audio. It may also be interesting to write the numbers of the players above them, because at some distance it's quite hard to recognize them. And yes, the clock needs a serious redesign - not this one, but it does need some work.

Anyway, before touching any of that, FIFA should take a hard look at the refree procedures.

<comment><USER10> I didn't make the connection between the ball icon and a goal until I read your comment. I think this just goes to show that icons as a primary indicator of something are just very hard to get right. Having said that, tho, I would make the connection if I were watching an actual match, but that's precisely when I don't want to see that icon in the middle of the screen. A small icon, the name of the player and the minute the goal was scored at, readable in a place where it doesn't block the view, is actually useful.

</comment></comment></comment><comment> k-mcgrady I notice there are no screenshots of these terrible UI's the author mentions. Probably because they are not terrible. They show a clock | team name | score | score | team name. It couldn't get much simpler to understand.

<comment><USER12> Here's the BBC one for instance: [http://www.aotplaza.com/Files/Sport/Football/Euro%202012%20-...](http://www.aotplaza.com/Files/Sport/Football/Euro%202012%20-%20BBC%20Score%20Graphics.png)

If there's one part of this you might want to "solve", it's the possible ambiguity with using three letter abbreviations for team names, which is the one thing the redesign doesn't attempt to change.

<comment><USER13> I like the abbreviated names, as they leave more room for actually looking at the game (an important aspect, often overlooked by makers of info graphics)

Also note how the BBC display places the score a long way from the left border to accommodate for viewers who still have 4:3 screens and upscale the display in various ways.

The proposed design looks better, but the score will be cut of for some viewers.

</comment></comment></comment><comment><USER9> One important aspect: this is going to be unreadable on CRT TVs

Yes, there's still a lot of them out there. Yes, it must be catered for them still.

Some TV stations still make sure their image looks good on B&W TVs. Really

You can't forget the fact someone is watching it on a 14' CRT, and it's not a small amount of people.

</comment><comment><USER14> Some thoughts:

* Showing colors of jerseys is not necessarily new, ARD and ZDF in Germany are doing this for a long time now.

* I like the round clock BUT! Why are the seconds below minutes? It's confusing. Why does the red bar representing stoppage time grow while the stoppage time itself shrinks (it's a countdown)? Does not work well together imo. What do you display when the game lasts longer than stoppage time? -00:56? And why take the screen estate of seconds for stoppage time? They aren't gone or anything. And I get the intention of "cutting" the clock in half for representing half times, but since the shape is primarily a clock I was wondering why the 30 minute mark is important. I'd cut the clock in quarters and use three of them to display the game's progress (45 min - one half).

* How does this work on low-res TVs? They are still out there and need to be considered.

* Did they explain their icons? What's e.g. the soccer field icon supposed to tell me?

As a whole it doesn't seem to be thought through, sadly.

</comment><comment><USER15> "We love a clear time indication, and Helvetica seemed to be the clearest typeface for our display."

No, I highly doubt you did any research. Helvetica numerals don't work well here, especially with sloppy kerning.

"We thought it could be interesting to add some useful informations without distracting you from watching your game."

Like the glitchy animation for showing/hiding scores?

"It's not just a trend: infographics, pie charts and diagrams participate in your daily inspiration."

"participate in your daily inspiration" sounds terribly awkward.

Very hard to take this serious.

<comment><USER16> Your alternative for numerals? FF DIN/FF DIN Round maybe?

</comment></comment><comment><USER17> What a misleading headline. Redesigning the infographics is not redesigning the World Cup.

<comment><USER18> I thought they were going to redesign the FIFA qualifying system so it was easier to understand!

</comment></comment><comment><USER16> Let me start by saying that I really like the clean look. I'm a fan of flat design. From a design point of view (visually encoding information that is) the layout doesn't make a lot of sense though. Putting one team above the other (as ntaso pointed out) isn't a good idea. Not only does it imply ranking, it also takes away the opportunity to show which team plays on which side and can't handle double-digit scores all that well. "FRA 7 : 11 BRA" works a lot better. I can see why they did it though. If the teams weren't stacked there wouldn't have been any room for the pretty clock (which I like a lot). But that's not how design is supposed to work. The indicators next to the team's names are completely unnecessary. Which score belongs to which team seems fairly obvious.

The info graphics part seems a bit over the top as well. A (animated?) clock icon, the time itself and the subtitle "Local Time" seems a bit redundant. Surely the unit explains what the information is supposed to be. "96,000 people" doesn't need "Attendance" added to it. Let alone the huge icon. The local temperature doesn't have a subtitle and I figured out what it is anyway. And again, the indicators ...

The "POSSESSION" (not sure why this one is all caps) graphic I like. Kind of. Three indicators - really?. The one in the middle makes perfect sense but the other two? The shirts are unnecessary as well. You already have the colours inside the graphic, put the names of the teams in there. The rounded corners don't fit the visual language either; make them square like all the others.

The "Formation screen" is okay I guess.

<comment><USER10> The teams switch side at the beginning of the second half. The team mentioned first is the "host", the team mentioned last the "guest". Who is host and who is guest is decided by a draw in tournaments.

<comment><USER16> Did not know that. :/ The double-digit score and ranking problems remain though.

<comment><USER19> Handling double digit scores is something that you don't need to worry about in football. Not unless it was Brazil versus a local pub team.

LTR implies ranking also, but anyone who has watched a few games of football (other than in the world cup) knows that it actually signifies which teams are home and away.

<comment><USER16> LTR doesn't imply ranking because we read from left to right (IMHO). Google for ranking and try to find an example that doesn't use top down (Google itself is a good example). FYI, the highest score in a football match is 149:0 (happened in 2002: [https://en.wikipedia.org/wiki/AS_Adema_%E2%80%93_SO_l%27Emyr...](https://en.wikipedia.org/wiki/AS_Adema_%E2%80%93_SO_l%27Emyrne_149:0))

And even during a world cup double-digits can be reached quite easily when the game is decided by penalty shootout.

The whole point of a layout is to be flexible.

<comment><USER19> > LTR doesn't imply ranking because we read from left to right (IMHO).

When we name our company you won't mind if we put my name first then.

> FYI, the highest score in a football match is 149:0

I don't think non-televised protest matches matter. The EPL (probably the most watched league in the world) has literally never produced a double digit scoring match (that's approx. 7980 matches).

> And even during a world cup double-digits can be reached quite easily when > the game is decided by penalty shootout.

You're not arguing from knowledge at all, you're just googling shit to be contrary. You don't add the goals from the penalty shootout to the total, they are a separate scoreline.

<comment><USER16> > When we name our company you won't mind if we put my name first then.

That's an old problem really. Somebody has to go first. Home team over away team, alphabetical order, etc. I think we've solved that problem.

Of course 149:0 isn't representative. Just because it hasn't happened doesn't mean it won't though. The point is you do have to worry about edge cases. Take the ball possession graphic for example: Picture what that might look like for a color blind person. Not all that helpful.

I know they currently keep two different score boards but I'm not sure that has to be that way (could be though - I don't know). The site I use to check the scores merges them after the game but the FIFA website doesn't.

I'm not trying to be contrary btw, and I'm not sure why you're offended. I said I really like the design, but I do think they removed a lot of flexibility and clarity for no reason by changing most of the layout without putting all that much thought into why things look the way the currently look.

I may not know a lot about football but I do know a lot about design. I didn't even talk about the clock which looks gorgeous but (as others already pointed out) doesn't work that well.

<comment><USER19> You don't have to design around the 0% case, so long as you functionally handle it as this design does.

Incidentally, I'm pretty sure I've seen one of the Spanish stations use the vertical score format, a quick search turns up this (Barcelona vs Real Madrid) [1].

> I know they currently keep two different score boards but I'm not sure that > has to be that way

It does have to be, because goals are infrequent it's unfair to add 3 or more goals to a teams tally, the goals can be used to differentiate between teams with the same points in league systems. There's also essentially no limit to the number of penalties that can be taken.

I'm not arguing for this design (though I do like some aspects of it), I'm just defending it against what I see as illegitimate criticism.

[1] [http://a3.mzstatic.com/us/r1000/120/Purple/da/d0/4c/mzl.wlqf...](http://a3.mzstatic.com/us/r1000/120/Purple/da/d0/4c/mzl.wlqfacth.320x480-75.jpg)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> The stoppage time counting down loses information. Seeing 2min/5min is better than seeing "3 min left"

</comment><comment><USER21> Wait, what is the "21" supposed to represent? Seconds?

<comment><USER22> yes.

<comment><USER21> well I'm with orteipid, minutes on top of seconds is very unnatural

<comment><USER23> You'd figure it out within a minute of watching

<comment><USER24> I see what you did there.

</comment></comment></comment></comment></comment><comment><USER25> Why put the scores on top of each other? The team on the left should be on the left, and the team on the right on the right. Many channels use this left- right layout, but they fail to swap it around at half-time, when the teams change sides!

<comment><USER26> They're not supposed to change sides though, it's the standard home/away concept.

</comment></comment><comment><USER27> Another one of those classic HN threads whereby tech geeks attempt to "improve" something you clearly understand very little about and end up being schooled by those with experience.

1\. As has been covered; the team names on screen represent home and away not the side of the pitch. This format has been in use for decades and cannot be improved. Every football fan in the world understands it. You are 0/1.

2\. Thanks for the blinding suggestion of putting the team formation on the screen before the game begins. If only every football game had such a thing already. Oh wait, it does and has done since the 1970s. You are 0/2

3\. The clock design is unintelligible. The idea of the clock onscreen is purely to give you information when you glance at it, not to detract from the action on screen with measurement bars and large typefaces. 0/3

4\. You completely misunderstood about red and yellow cards. Straight reds can be given, they are not always 2 yellow cards. 0/4

5\. Football does not need space for double digit scores. 0/5

6\. Who cares about possession mid-game? You fail to grasp that half time is for analysis. 0/6

7\. Stoppage time is not fixed. It is the referees perception and is affected by events _during_ stoppage time itself. The countdown bar is useless. 0/7

8\. the beauty of football, most fans would agree, is the lack of stats and quantative analysis. Midfielders are not ranked according to passes attempted/completed or defenders by tackles successful. Football is subjective and heuristic and the fans and the sport itself is happy to embrace that. Infographics only ever get trotted out when a manager needs fired. 0/8

9\. Football is the most popular sport in the world (by a massive margin) with the worlds biggest network television providers optimising every single aspect of the on and off-screen experience. Children in african villages, Brazilian favelas and Norwegian forests understand it intuitively. Any design change you could make would be minutely incremental and certainly not grounded in Web 2.0 or 3.0 type principles. You can see this attitude displayed in the hostility of football fans to american-style video refereeing. It would destroy the pace of the game. Football is subjective, anecdotal, memory based and contentious. It's why we love it. If you attempt to data-fy it the consensus will find another channel (IMO).

I have not even touched on television types, sponsorship and branding, the _terrible_ choice of icons you chose (why is there a basketball in your icon set??) and other things.

I love design attempts but don't redesign a sport you clearly don't understand. Customer Development comes before User Development. Understand my sport before you attempt to understand my UX needs.

<comment><USER4> A bit abrasive; I do agree though.

</comment></comment><comment><USER28> This is a fun concept. We're used to top/bottom alignment of teams here in the US, with the home team on the bottom. That trend was started by baseball.

BTW, you have to leave room for network branding. For example, where does ESPN put their logo?

</comment><comment><USER29> I clearly agree that the current graphics sucks, however I feel you are missing one major point in this discussion: Where's the sponsor's promotion? That said, if I had to guess why we ended up with this abominable graphics, I believe that 30% of it is pure corruption, 40% is tasteless "let's make it look like a yunday" and the remaining is actually the desired "favela style".

</comment><comment> li-ch If instead this design is currently being used by any channels, I think switching back would be an improvement.

</comment><comment><USER30> Where are you supposed to put the ads?

</comment><comment><USER31> Nicely done, ignore the haters.

<comment><USER32> Yep, a designer that ignores criticism of his work is indeed destined to reach far. /s

<comment><USER31> Valuable criticism and the bile I read here are two very different things.

</comment></comment></comment><comment><USER33> Stop with that flat design everywhere.

<comment><USER34> Don't worry it will be out of fashion by next World Cup

</comment></comment><comment><USER35> This was a reach at best and IMO not a very good article at all.

</comment><comment><USER36> They left out the sponsors and the FIFA logo, which makes it a non-starter.

Anybody following the EPL would know that they have their on-screen graphics done very well, especially starting last season.

Minimalist but informative (and with sponsors!):

[http://images.mukki.org/11-08/21/tv_shows/EPL.2011.08.20.Eve...](http://images.mukki.org/11-08/21/tv_shows/EPL.2011.08.20.Everton.Vs.Queen.Park.Rangers.720p.HDTV.x264-FAIRPLAY/EPL.2011.08.20.Everton.Vs.Queen.Park.Rangers.720p.HDTV.x264-FAIRPLAY_screenshot_3.jpg)

But what football really needs is a way to scratch below the surface and expose casual fans to the tactics and little bits of skill involved. The television camera really doesn't do games justice compared to what you see/hear watching in real life.

Sky started doing this with computer analysis this year, watch this if you want your eyes opened a little in terms of what goes into breaking down modern football:

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

This is done post match, but they are beginning to highlite player movement, formations and heatmaps with technology much in the same way the NFL got their yellow line for television.

<comment><USER33> why clicking on image endup in some casino site with many redirects?</comment></comment>


Riak MapReduce: A Story In Three Acts - <AUTHOR> http://www.slideshare.net/hemulen/riak-mapred-preso# <comment><USER2> Very nice to see this. Basho is well aware of the shortcomings in Riak's m/r implementation and are working to fix that. Looks like the key feature coming to an install near you real soon is the ability to filter keys right out of your m/r without fetching their values from disk. This works best when you have meaningful key names.</comment>


EverQuest and Pantheon Developer Brad McQuaid Has Died - <AUTHOR> https://www.pcgamer.com/everquest-and-pantheon-developer-brad-mcquaid-has-died/ <comment><USER2> EverQuest had some issues, but it was a pioneer in many ways (especially failure in crafting, and experimentation in crafting). I thoroughly enjoyed my time in EQ and EQ II, though I eventually left because I wasn't willing to spend RL money on items.</comment>


Client-Side Encryption: The Right Security Model for the Cloud - <AUTHOR> https://blog.balboa.io/yet-another.html <comment><AUTHOR> I thought this article was interesting because the author talked about how encryption can be used to "delete" data from distributed systems instantly, by just removing the key.

Not really a new idea, I don't think, but not one that gets surfaced much when people talk about client-side crypto.

<comment><USER2> Mobile operating systems often use that as a quick and solid-state-storage friendly way to clear devices.

<comment><USER3> And also for "deleting" an entire class of data from all of your backup media.

</comment></comment></comment><comment><USER4> Two projects for client-side encrypted cloud data:

[https://css.csail.mit.edu/mylar/](https://css.csail.mit.edu/mylar/)

[https://css.csail.mit.edu/cryptdb/](https://css.csail.mit.edu/cryptdb/)

Microsoft also released a homomorphic encryption project for bioinformatics last week:

[http://research.microsoft.com/apps/pubs/default.aspx?id=2584...](http://research.microsoft.com/apps/pubs/default.aspx?id=258435)

<comment><USER5> Microsoft's Azure SQL Database also recently released a client-side encryption feature, called Always Encrypted:

[https://msdn.microsoft.com/en- us/library/mt163865.aspx](https://msdn.microsoft.com/en- us/library/mt163865.aspx)

</comment></comment><comment><USER6> Client side encryption is definitely the way to go, soon enough computation will become possible on the encrypted data. Maybe there will be homomorphically encrypted virtual machines/ containers.

<comment><USER7> In my opinion, homomorphic encryption is the new quantum computing. Remember all the hype there was 15 years ago, around the time the first quantum computers were being demonstrated? I think homomorphic encryption will be the same: it's an interesting concept, and it has some specific use cases where it excels at, but I think we'll see that it doesn't really beat traditional encryption for most realistic needs.

</comment></comment><comment><USER8> I wrote a client-side encryption library for the communication part of the equation:

[http://stringphone.readthedocs.org/](http://stringphone.readthedocs.org/)

<comment><USER9> I like that you're using NaCl. I'm earmarking this for review later. :D

<comment><USER10> It's quite a coincidence that you posted this while I was writing up my own post evangelizing the virtues of NaCl :)

<comment><USER11> Different NaCl. Yes, the naming collision is unfortunate.

([https://developer.chrome.com/native- client](https://developer.chrome.com/native-client) vs. [http://nacl.cr.yp.to](http://nacl.cr.yp.to))

<comment><USER9> I want to use NaCl with NaCl to connect to GCM using AES-GCM.

</comment></comment></comment></comment></comment><comment><USER12> I keep wondering: Browsers have been dealing with some of these issues for quite some time now, both for SSL purposes and password storage. They should agree on common interfaces to expose safe crypto functions to client code, so that users could be relatively sure that servers will never get, say, a plaintext password. Is it terribly hard?

It would likely be safer than hamfisted attempts at JS cryptography which can be compromised down the wire.

<comment><USER13> What you describe already exists. It's called client certificates.

<comment><USER12> 1\. client certificates only replace passwords, not arbitrary encrypted data.

2\. client certificate distribution is still a mess. At a minimum, there should be a standard way for servers to generate certificates and install them in the browser (with user visibility but without requiring user interaction).

<comment><USER14> 1) The problem with that is trusting the code you download to actually encrypt the data. If it could be linked with the file upload button or some such functionality solely reliant on the browser to get right, it could work.

2) You mean something like keygen[1]? (yes, I know it was removed from the standard.)

[https://developer.mozilla.org/en- US/docs/Web/HTML/Element/ke...](https://developer.mozilla.org/en- US/docs/Web/HTML/Element/keygen) (

<comment><USER12> 1) Exactly. Also, the more crypto you move into the browser, the easier it becomes to inspect downloaded code and isolate misbehaving developers.

2) Exactly. I don't follow the standard process these days, but it's sad that we're not really making any progress in such a critical area. We now have pretty progress bars, but we're still as vulnerable as 20 years ago.

</comment></comment></comment></comment></comment><comment><USER10> I don't worry so much about encryption, since I am really not into keeping secrets, but I agree about the client-side part.

...and now a brief word from our corporate sponsors...

Haha, not really :) I'm just trying to get the thing that I've been working on "out there". It's an operating system that runs in a web browser. How's that for client-side awesomeness? The current project I'm hawking is called "The Native Client Proving Ground", in order to get people to see the inherent awesomeness of running arbitrary computational logic on the client. So yeah, encryption is definitely do-able, though not extremely interesting IMO.

I posted this here a couple days ago, and actually got it onto the front page for a brief minute. So fire up your Chrome browsers and check out the infinite potential that exists on the client-side: [https://nacl- pg.appspot.com/desk?intro=the-shaker](https://nacl- pg.appspot.com/desk?intro=the-shaker)

If you didn't know, Native Client (NaCl) is the plugin architecture for Chrome so you can run arbitrary C/C++ code inside of a sandboxed runtime.

Join the revolution!

<comment><USER15> I'd love to chat with you about this, but your profile doesn't have an email address in it. Could you send me an email?

And for that matter, will you be at Chrome Dev Summit tomorrow?

</comment></comment><comment><USER16> Writing Go code, I've always been frustrated at how writing code to encrypt/decrypt data always felt like brain surgery using the standard libraries. I wrote a simple library around NaCL's secretbox that has a very simple user-friendly interface, while (hopefully) also being secure.

[https://github.com/ereyes01/cryptohelper](https://github.com/ereyes01/cryptohelper)

As far as the secure part, I'd appreciate eyes on the code (which there isn't a whole lot of) to verify this works well. This library could also possibly be enhanced to support other encryption methods, such as AES. An easy interface with sensible defaults to Go's AES interfaces would be nice.

</comment><comment><USER17> It's interesting that the very security minded disable javascript in their browser for security reasons, which makes most client-side crypto not possible.

<comment><USER18> The people disabling javascript are also probably aware that javascript crypto is utterly pointless with the current browser security model. Javascript crypto aims to protect you from the server, but you must rely on the server sending javascript that actually does the encryption. When it can't protect you against the adversary it's design to protect you against then what is the point?

Imagine a client-side-encrypted version of google docs that always encrypts your document before sending it back to the google servers. Any time you visit the site google could send you a modified version of the site javascript (possibly at the request of security services) that just uploads the document without encrypting it first. Browsers currently have no way to prevent that or even notifying you that it's happening.

If you want to do client side crypto you need to do it in native apps. The web is just too technically limited to support building platforms on top of it that have different trust models.

<comment><USER19> > Imagine a client-side-encrypted version of.......

The project I am working on aims to facilitate these kinds of apps. It is a native app which have both a CLI interface and (used to before I broke it) an HTTP interface. The idea is that websites gets proxied through the app. All data gets stripped out and encrypted before being sent anywhere.

Websites must be aware that this is going to happen for them to work. Unaware sites won't work. All or nothing.

The project site is [https://www.selectiveshare.com](https://www.selectiveshare.com). I am currently working on a second project which uses the CLI interface. The HTTP interface will remain broken for some time.</comment></comment></comment>


WardsWiki - <AUTHOR> http://c2.com/cgi/wiki

<comment><USER2> Does anyone in the industry not already know about the very first wiki?</comment>


Ask HN: How did you get your first paying customer? - <AUTHOR> We are building a web application targeted towards educational institutions. We have recently started the sales process and have begun with making cold calls/visits to potential customers. Will appreciate it if you can share your experience and learnings as you went out to get the first paying customer <comment><USER2> I think you're doing the right thing by speaking with potential customers IRL. I ran some campaigns for ForeverList.com on Facebook and Adwords without much luck, though I'm admittedly not a pro at online marketing. My target market is people with high ticket items that typically take a long time to sell like classic cars, boats, real estate, etc... I happened to hear about a local boat show and I scrambled to put together a booth in one night, signed up the next morning and was working the show the next day.

The experience was awesome. Selling to people face to face is was so rewarding, I can hardly describe it. It made me despise adwords and the like. I know I still need to embrace online marketing, especially since my business is entirely dependent upon traffic, but right now I'm pretending like online ad networks don't exist.

I only picked up 3 customers from the boat show, but last weekend I went to an auto swap meet 3 hours away that had hundreds of cars for sale and picked up another 62 customers. We had a much better booth this time around with custom T-shirts and excellent fliers etc... I hit the ground running and was selling HARD all day. It was so awesome. There were people who would have spit in my face if no one was around and other people who were falling over themselves to buy a listing. I had one guy chasing me down because he lost my card and wanted another one so he could send me a check.

My advice is sell in the real world if you can, don't let the haters bother you (because you WILL have haters) and go far beyond your customers expectations.

<comment><AUTHOR> Thanks for your advice. We are trying to figure out what kind of conference/places our target customers get together.

</comment></comment><comment><USER3> I own an outsourcing company with a team of 10 in the Philippines. I started in August 2008 out of necessity when the company I was working for needed more work done than we could handle with the few employees we had. Since the company was based in Malibu, CA, it was difficult to find qualified employees who were either nearby or willing to commute for the salary they were offering.

I had been working with a web designer/developer in Cebu for over a year at that point, so I mentioned that to my boss. After a few small paid projects, they were impressed enough to sign a contract for ongoing projects. I asked my guy in Cebu if he knew any more developers, and he found 3 more. I formed an LLC and with one customer, we were in business.

2 months later, I got an email from a former classmate of my boss who heard about our service, and he needed a website updated, and the original web design company was too busy to get it done right away. In the course of doing that project, we had to contact them to get the server login info, and when we told them what our company did, they hired us to do web design for them.

It's been like that for the last few years, just getting more clients through word of mouth. We now have 8 clients, mostly web design companies who outsource projects to us, or clients they refer to us for content creation, data mining, etc. The team is up to 10 now. We still have that first client, though.

EDIT: Forgot to mention that in all this time, we never got around to building our own website or placing ads. We really don't need to since we get as much work as we can handle through word-of-mouth, and it will be difficult to scale while maintaining high quality.

<comment><USER4> Hello, I am looking for the same thing in Phillipines, could you give me some advice as to where to find good programmers? We are not in web, but in mobile rather.

<comment><USER3> I posted an ad on www.philweavers.net

</comment></comment></comment><comment><USER5> We're going through this right now, too, and we've finally found our first paying* customer.

What I found helpful was introductions, and in this case, even introductions made through a cold call.

I'd been pounding away for weeks, signing up free accounts and begging people to actually use the service, or tell us why they weren't when they said it was something they'd like. I was also sending a lot of e-mails and making a lot of calls to hand-researched groups I thought would make good customers (like your product, it's fairly niche).

I'd get blown off, blown off again, and then when I finally made the call, they though the idea was dumb and we were doomed to failure (gulp). But they'd make an introduction to somebody who was on our side of the country, and with their name, good will and bad predictions, we ventured forward. That introduction has proved invaluable, as that connection, which itself took 3 calls, 4 e-mails and showing up at their office, has been a relentless cheerleader for us, going so far as to give us a shout out at an upcoming panel they're moderating in front of our target customers.

So, personal introductions ... by any means necessary. Hope that's helpful.

* _We are, indeed, getting paid, but there's an asterisk for another day_

</comment><comment><USER6> With educational institutions, you might want to consider giving away your application for free to a few clients first. These sales cycle can be so bureaucratic it is often of more (unrealized) value to be able to say "we have 5 other very similar clients using this already" than trying to charge right off the bat. Taking the factor of "I don't want to be first" out of the equation could be a viable way to ultimately find paying customers.

Although, if you are solving a true, acknowledged pain point they will likely offer to pay right then and there (these situations are very difficult to come by!) so be mindful if / when you make an offer to let them use it gratis.

<comment><USER7> If you aren't solving a true, acknowledged pain then you probably won't even get people to use it for free. They may sign up - but they probably won't use it.

<comment><USER6> Yeah - my point with that was that sometimes your solution can be to a problem they do not realize they have or do not understand the value of what you are providing, so adding additional barriers to adoption in the form of payments should be avoided early on. If you think they need to get behind the wheel to take it for a test drive in order to realize what you are selling, make it easy for them to do just that.

At CollegeJobConnect, we help companies connect with undergraduates for internships / full time jobs. When speaking with some HR departments that "just didn't get it", we'd say: "ok, but why don't you try it for free for the time being then" - after they jumped on and saw how they could tap into job- seeking undegrads, it clicked.

</comment></comment></comment><comment><USER8> I wrote this page <http://www.bingocardcreator.com/dolch-sight-words- bingo.htm> and Google started sending me people looking for [dolch sight words bingo]. It was, at the time, the most obvious hole in the Internet which my product filled, and was my single best source of sales for probably a year or so.

I eventually got savvier about the strategy than "target one SERP at a time using pages handwritten in notepad."

<comment><USER9> I notice that that page has a lot of text on it. Did you start it out this way, or did you start with minimal text and A/B it up to this?

Naively, I'd have thought that more text = less conversions.

Or is the text there to make it more SEOed?

<comment><USER8> _Naively, I'd have thought that more text = less conversions._

You are correct. If you ever get time travel, please tell 2006 me the news!

<comment><USER10> i have a startup that can send emails back in time to any year of your choice (well, SMTP/POP has to exist in that particular era, but otherwise...)

patrick, check your inbox back in 2006, you have a message waiting

</comment></comment></comment></comment><comment><USER11> If you're doing something enterprise-y (which it sounds like you are) then you should take a look at the article, "Sean Murphy on the first dozen enterprise customers" that was recently posted to HN here: <http://news.ycombinator.com/item?id=1671852>

It goes through the process of getting your first customers in detail. It jives with my personnel experience and some others I see on this thread.

Key point: Go through your network and find a way to get introductions to folks in your target market. Be creative on this. Once you've got an introduction leverage it to get more e.g. "Do know other folks that you think would be interested in a solution like this? Could you provide their contact info?" etc. Repeat.

</comment><comment><USER12> Unless this is a $20 a month cheapie app, the Customer acquisition process should begin before you've even started building. Otherwise, how do you know if anyone even wants your product? By now you should've already talked to potential clients about what it actually is that your product hopes to achieve, and already have their indication that they'd be interested in buying it.

How can you be building to a target that you haven't spoken to yet?

Cold calling is going to be a hit and miss affair at the best of times, it's even harder when you're trying to pitch a product that no one's ever heard of.

The best thing I think you can do is pound the pavement. There'd be dozens of schools in your immediate area; organise a meeting and see them personally for a demo. It'll be time consuming, but at least you will have their undivided attention.

</comment><comment><USER13> Cold calling. Lots of cold calling business. That and personalized emails. And trade shows and conventions.

That first real customer, that first real transaction, was a beautiful thing.

</comment><comment><USER14> We got our first paying customer by giving a presentation (using mockups) of the product and how it would fit their needs, and why it was better than the solution they were planning on implementing. We convinced them to try our product by offering a discounted rate, compared to what we planned on charging companies later. This first sale basically funded development and we used them as a 'beta' client. Now they are our biggest cheerleader!

</comment><comment><USER15> We used barter to get our first clients last year, which worked pretty well:

[http://ai.redsymbol.net/2010/09/boostrapping-your- business-w...](http://ai.redsymbol.net/2010/09/boostrapping-your-business- with-barter.html)

This may or may not be a great fit for you, but it's worth checking out.

</comment><comment><USER16> Our first sell was a giveaway, but we absolutely made sure we could use their name as a credential in exchange for it being free. They agreed and all we talked about for 2 months was the fact we were working with these guys. Every email, every call, we mentioned their name.

It lent us some credibility and gave us something to talk about. It always makes businesses/institutions feel much better if they know someone else has already taken the risk.

Our first PAYING client came a few weeks later. During the process, we were pretty open about being early stage and surely got paid less than what we probably should have, but the openness plus the credential made them comfortable enough to pay a two person bootstrapped company and we were off and running.

</comment><comment><USER17> How did I get my first paying customer?

One of many stories...

I had an application I had written for my own personal use. I was talking to a guy who asked how I did something. I told him I had written this program. He said "I'll pay you $200 for a copy of that." So I took a weekend to add copy protection, and accepted his check. Pleased that I actually had a commercial product, I then spent the next couple weeks putting together a web site advertising it as a product and things went from there.

</comment><comment><USER18> We setup a presentation that included 8 different individual businesses (total headcount in the meeting/presentation was about 20); My business partner knew some of these folks and invited them to hear our offer. The others, we emailed - not framed as a sale but to check out our technology and provide feedback.

After the presentation, we had 2 businesses ready to cut us a check and 3 that later signed and the others provided us valuable feedback and references.

</comment><comment><USER19> A web application targeted toward educational institutions is not enough information. Potential customers for one service or products are completely different for another product. Think about books and sports. If you really want some good advice then provide more information about your application. That is a weak input is not a fountain for a great output.</comment>


Fish Oil may prevent severe mental illness - <AUTHOR> http://online.wsj.com/article/SB10001424052748704107204575039590838522222.html

<comment><USER2> "according to a _preliminary_ study of 81 patients in Austria."

Keep in mind that it is not rare that findings made at the preliminary stage don't hold up when more rigorous studies are undertaken.

There was a total of 81 patients in this trial. What is the statistical significance of the finding?

<comment><USER3> If you have a statistics background, it's pretty easy to tell that it's significant given the numbers (2 of 41 in the fish oil group and 11 of 40 in the placebo).

The exact p-value is in the paper (0.007), or very significant. It's often difficult to get those kind of p-values in real world settings:

[http://archpsyc.ama- assn.org/cgi/content/abstract/67/2/146?l...](http://archpsyc.ama- assn.org/cgi/content/abstract/67/2/146?lookupType=volpage&vol=67&fp=146&view=short)

<comment><USER2> Thank you for that. I don't have a statistics background, so I was a bit unsure of how seriously I should take the findings given that it was described as "preliminary."

</comment></comment></comment><comment><USER4> This is completely subjective from my own experience, but it seems whenever I've tried taking fish oil supplements before, on more than one occasion I've felt kind of depressed and lethargic after a few days of taking them so I stop, then everything's back to normal. It's happened enough to suspect a pattern.

I'll stick with natural sources for these oils. Eggs, walnuts, etc. no problem, I eat lots of foods with omega-3s. Maybe there is something unnatural about swallowing a big concentrated dose of the stuff?

I don't really care to repeat the experiment to find out...

</comment><comment><USER5> <http://www.nytimes.com/2009/12/16/opinion/16greenberg.html>

tl;dr: menhaden is an awesome fish the ecosystem depends on and it's about to go extinct because of stupid studies about fish oil.

<comment><USER6> Flaxseed oil is not necessarily an alternative.

Fish oil contains EPA and DHA type omega-3 acids and flaxseed (and walnuts and hemp seed) contain ALA, which the body converts to EPA and DHA, but inefficiently.

Source: [http://www.supplementquality.com/efficacy/fishoil_flaxoil.ht...](http://www.supplementquality.com/efficacy/fishoil_flaxoil.html)

<comment><USER5> What the hell. Even if there isn't a viable alternative you shouldn't support fish oil if it's at the cost of the environment.

<comment><USER6> Everything humans do will somehow take a toll on the environment. So unless we all go kill ourselves, we're going to affect our environment one way or another. We can instead be _responsible_ and make sure we don't strain a specific resource, and be educated consumers (it might just happen). So a solution would be to find alternative fishes and balance it out, cut out other fish oil uses.

That being said the article stated that fish oil is only one of the many things contributing to this. I think we could cut out lipstick before we cut out treating mental illnesses.

</comment></comment></comment></comment><comment><USER6> Fish oil is also recommended for ADHD, though I can't get myself to take them regularly yet so I can't testify to its effectiveness.

<comment><USER7> I heard this too and I've seen it 'working' in a few children before. However, I know of those children, getting them to take a pill daily and following a routine without outside intervention from a parent was 90% of the battle anyway. So from observation, I can't really say what worked more, the pill or getting the child to take it.

</comment></comment><comment><USER8> ... as long as you're not taking the kind that has mercury in it.

<comment><USER3> Almost all of the fish oil you can buy actually comes from 1 company and have been tested for mercury (by ConsumerLab.com and Consumer Reports):

[http://www.usatoday.com/news/health/2004-12-15-fish-oil- usat...](http://www.usatoday.com/news/health/2004-12-15-fish-oil-usat_x.htm)

None of the major brands had significant amounts of mercury.

I'd just get the cheapest kind, given that it's likely from the same company.

<comment><USER9> FYI: For a very expensive, but pristine fish oil (actually from green lipped mussels in New Zealand): <http://moxxor.com/>

(I'm an investor)

<comment><USER10> I know the Moxxor guys - Noel Turner is an incredible entrepreneur story - recently started taking the product how have you found it vs. fish oil?

<comment><USER9> Indeed. I didn't notice much change myself, but I already get a healthful portion of omega3s and antioxidants from my food. My parents had reduced joint pain/inflammation.</comment></comment></comment></comment></comment>


Cognitive Clouds  - <AUTHOR> http://www.cognitiveclouds.com/

<comment><USER2> Probably a bunch of a lot smarter folk than me but that website sucks</comment>