CNN lost "almost half" of their viewers in the last year - <AUTHOR> http://www.washingtonexaminer.com/opinion/blogs/beltway-confidential/cnn-lost-almost-half-of-their-viewers-in-the-last-year-89533942.html

<comment><USER3> My problem with CNN is that it provides nothing of substance. I don't need the off-the-cuff opinions of their "journalists" during news events. That's armchair stuff.

As a consumer of news, I want/need someone to break a story that took days, weeks, or months to construct. I can voice my own post-debate opinions - <USER2> don't need theirs. I can find feel-good/feel-bad stories in my own neighborhood - I don't need theirs. I don't need Anderson Cooper to give lip service to "keeping them honest." I need journalism from which I learn something.

<comment><USER4> And its fair to speculate that this lack of substance is contributing to the ratings decline by making places like CNN boring or immediately interchangeable with the web. Why spend your time watching what feels like "easily" produced news that often consists of summaries of YouTube/Twitter or a split screen featuring spin from either party made of pure opinion and devoid of critical analysis?

There is no production value in either of those categories that would build brand identity or loyalty from its consumers. Without actual journalism a news source is just a broadcast medium for press releases and there is nothing stopping consumers from tuning out or finding an interchangeable service.

There probably isn't a big enough market of people that care to sustain it, but it would be wonderful if a rainbow pot of gold could fund a 24/7 channel consisting of Frontline and This American Life caliber journalism.

</comment></comment><comment><USER5> If you watch "The Daily Show" it gives you all the reason in the world to not watch CNN. There is pretty much stupidity on there at all hours. We turned on something on CNN this morning and my wife groaned at some stupid pun and my two year old daughter walked up to her and tried to comfort saying "OK? OK?"

It was one for a minute accidentally and we encountered serious stupidity. That's somewhat impressive.

<comment><USER6> CNN is incredibly afraid to call politicos out on their sheer stupidity, group-think and hypocrisy.

</comment></comment><comment><USER7> BBC, al-Jazeera, and the Economist, for my institutional news. Democracy Now for my outsider news. The rest are just fluff that I come across but never seek out intentionally (NYT, Harper's,New Yorker, etc.)

CJR for the meta stuff.

CNN, Time, NewsWeek, etc. are just crap.

NPR is excellent infotainment, but not news.

</comment><comment><USER8> It's amazing how much CNN is obsessed with Twitter!

<comment><USER9> Most of CNN's programming caters to a certain age group that probably does not, by and large, know how to use a computer. You just have to watch the ads to get a feel for their target audience. Fox and MSNBC have much more diverse programming. It's been a long time since I saw anything of interest on CNN.

</comment></comment><comment><USER10> Unfortunately I have to think that this will only make CNN think that they lost viewers because they were covering too much 'news' and not enough commentary, opinion and soft stories. What it should be of course is a wakeup call to them to because a decent news network again.

The lack of content of the news when I look at CNN vs BBC/PBS/NYT/WSJ/NPR is appalling. They have simply forgotten how to offer a decent view of things that actually matter in the world.

</comment><comment><USER11> Article Summary:

MSNBC and CNN are both lagging behind Fox News in the ratings. Fox is the second highest ranks cable network in prime time, while CNN ranks 21st and MSNBC is 25th. CNN began it's sharp decline in ratings during the first quarter of 2010 with the main hosts loosing half their viewers in a year. This is despite recent newsworthy evens such as the earthquake in Haiti and health care reform.

[http://hnsummary.com/2010/03/30/cnn-lost-almost-half-of- thei...](http://hnsummary.com/2010/03/30/cnn-lost-almost-half-of-their- viewers-in-the-last-year/)

</comment><comment><USER12> Something tells me the end of the recession had an effect on this ratings decline.

<comment><USER13> the end?

<comment><USER12> Yes, technically it has been over for quite some time:

[http://www.marketwatch.com/story/bernanke-declares-the- reces...](http://www.marketwatch.com/story/bernanke-declares-the-recession- over-2009-09-15)

<comment><USER5> I guess if you cook the books you can make them say anything. It's hard to take anything Bernanke says seriously. He didn't see this crisis coming and he was never right about anything before. Why would we think he's suddenly right about something?

<comment><USER14> Recession has a definition, and it ends with GDP growth above 0.000001%, not employment or consumer confidence or anything else.

<comment><USER5> Who defines GDP and how are they doing it? That's what actually matters. You can define your way out of any situation-it doesn't mean it actually changed for the better.

<comment><USER12> Please read this too: <http://useconomy.about.com/od/grossdomesticproduct/p/GDP.htm>

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> At the risk of generalizing I think the type of people who watch cable news tend to want something to get upset about. They want drama, fear, shouting, and big loud opinions all presented to them in a way where they can feel smarter without actually understanding much of anything. Pretty much the same reason conservative talk radio is so popular. I suspect most normal middle America sort of people are happy getting their news from morning shows or the network news. Liberals tend to read either online or paper.

<comment><USER16> So based on that, was CNN twice as full of "drama, fear, shouting" last year?

</comment></comment><comment><USER17> It's amazing how I can watch CNN for 4-5 hours and get almost no information at all from the broadcast.

At least with Fox, I can see how somebody who's into that kind of thing can feel like they are getting information (even if it's usually wrong or overblown).

</comment><comment><USER18> Their CNN Live (online) was halfway decent until they suddenly fired all the hosts last year just after their big website revamp.

It was a really strange move to make all that investment to be the online leader and then threw it away.

</comment><comment><USER19> Nobody likes watching stuff in the mushy middle. Rightwing wants Fox news, Leftwing wants MSNBC. Always better to specialize.

<comment><USER20> _"Leftwing wants MSNBC"_

Are you kidding? MSNBC is even more right wing than CNN. PBS is about it, as far as mainstream TV news goes. And even they are pretty much in the center, rather than on the left.

For some good left-wing media try Democracy Now!, Free Speech Radio News, and FAIR's Counterspin. Some college radio stations, WBAI in NYC, and Pacifica Radio afilliates are also good.

My problem with CNN and MSNBC is that both of them tried to follow Fox to the right once Fox became popular. A losing strategy if they were after Fox's right-wing audience, since they were clearly not as committed as Fox was to being further to the right than any other station on TV. They should have moved left instead, and provided a real alternative.

<comment><USER21> Yeah Keith Olbermann and Rachel Maddow are right wing. O_o

<comment><USER14> Two commentators do not weigh the same as an entire multi-thousand employee network.

<comment><USER21> It's two hours of liberal opinion news during primetime. They are the flagship opinion shows on msnbc. But yea, they are just two people out of thousands that work at msnbc.

<comment><USER14> 2 hours during primetime is still less than 24 hours, all the time. Hell, Fox News employs a convicted traitor (Ollie North) just becasue liberals don't like him.</comment></comment></comment></comment></comment></comment>


BetterSlack will be shutting down - thanks legal team! - <AUTHOR> https://twitter.com/g3rv4/status/1034543123190476801 <comment><USER2> Too bad they didn't take it the way GitHub did! [https://github.com/sindresorhus/refined- github/issues/1469](https://github.com/sindresorhus/refined- github/issues/1469)

BetterSlack was an attempt to fix around papercuts which the team should have noticed.

<comment><AUTHOR> yeah, I'll keep on using it myself (and I would have built it just for that).

It's a shame they won't let me share it / take ideas / implement a way for US to control our experience.</comment></comment>


Ask YC: Finding advisers - <AUTHOR>

Hi everyone,
We're bootstrapping two startups and we've met the tipping point when we very depend on the Advisers Board.  We haven't incorporated, yet, so we can't propose anything in cash or on paper.  We're about to look for seed and angel money.  However, I'd be happy to start looking for investment having a good advisers on board.  I see two key persons on the board - the marketing (product placement) guy and investors-linked one.
I'd be glad if you'll share your thoughts with me. 1. Whom do you think a young startup company should have as advisers? 2. Where can a young startup company find them? 3. How motivated should advisers be to help the company?  Cash?  Stock?  Anything else?  What if the company isn't incorporated, yet?
Thanks! <comment><USER2> Most of your questions are answered here: <http://news.ycombinator.com/item?id=105144>

PG has a response to advisory boards. Don't give them any compensation unless you're setting up a formal board of directors. If you're doing that, Guy Kawasaki in his book describes a board as having these types of people:

1) Customer- someone who understands your target market 2) Geek- Reality check guy for dev, and the tech expert 3) Dad- calming influence on the board, experience and maturity 4) Tight-Ass= The person who pushes for totally legal and ethical practices. 5) Jerry Maguire- Mr. Connections who can help you with whatever problem you have.

As always, as long as your products are taking off, everything else will fall into place.

</comment><comment><USER3> Having a good lawyer or law firm that you _trust_ is fairly essential. They will be able to prepare your essential documents and steer you clear of landmines (especially the ones you know nothing about). If you are truly a cash strapped startup then a quick way to do this is to find the nearest law school (state or private), head to the library, and ask about the relevant area (IP, incorporation, etc.) and find the professor who teaches the subject.

This same principal applies for your financial adviser. Its better to head to your local MBA school and drop in to a professor who can guide you then try to fumble around yourself.

In sum, two essentials: lawyer + CFO

p.s. what is it that you are building?</comment>


Siri bought by Apple - <AUTHOR> http://scobleizer.com/2010/04/28/breaking-news-siri-bought-by-apple/

<comment><USER2> I deleted Siri off my phone a couple of days ago (had it since launch). I used it a few times with fairly poor results and ended up finding Google a whole lot more useful. Maybe I was using it wrong or had unrealistic expectations.

</comment><comment><USER3> i hadn't heard of the app until this post, so i looked it up. the demo video is impressive and (the ending) is pretty funny.

<http://www.youtube.com/watch?v=MpjpVAB06O4>

</comment><comment><USER4> So is "the API web" that Robert is referring to the new, more practical take on "the semantic web?" The hazy parts of the semantic web being replaced with programmers writing apps to piece together information from APIs, of course.

<comment><USER5> This was my first thought when I realized Siri is like an agent in semweb- speak.

Does anyone know of any Google acquisitions in this space? Aardvark comes to mind, but it wasn't an autonomous system... perhaps their NLP work was state of the art?

Any other startups working on this kind of stuff?

<comment><USER6> Back in October, SIRI's execs admitted that they had problems handling access to more than 6 APIs at one time due to "cross talk" problems with the NLP. So, they face what we all do with NLP when an "agent" has to handle too much.

The value here is in applying SIRI to very small one-off Apps to make them more intelligent.

Yes, other startups are definitely working in this space -- and, it's important to note that SIRI is only a licensed technology, not a proprietary technology, whereas other companies have wholly owned IP. If you search for AI and AI, mobile, Interactive Conversation, Mobile and Retail to mobile, you'll probably find the Others working in this area.

</comment></comment></comment><comment><USER7> Apple is probably wanting the semantic analysis technology behind Siri, which is supposedly pretty amazing. The natural language processing is probably something they're interested in too. They will probably integrate Siri's functions into the iPhone to expand into a personal assistant-like function. For example, they can add a "speak" button to the search page of the iPhone, and have users search through their phone (contacts, etc) or ask the iPhone a question, "What movies are playing around me?" They need this functionality to compete with Android, especially with the new Android versions having voice search and integrated turn-by-turn. I can see Apple developing their own voice recognition technology and not using Nuance. I think Apple can do a better job than them. And it makes sense for Apple to integrate turn-by-turn directions somehow, just to compete with Android. They could allow Google to provide turn-by-turn on the iPhone, but I don't think they want iPhone users that dependent on Google. So many iPhone users are already using Google for mail, calendar, contacts, RSS reader, etc. Apple needs to find a way to pull people away from reliance on Google and be more connected with their services.

</comment><comment><USER8> I'm a bit confused about why they purchased Siri.

I don't see anything truly groundbreaking about the app(I'm not saying its a bad app (I have never used it)). Nothing that apple would see worth buying at least.

As noted by paulgb siri uses Nuance ([http://www.nuance.com/naturallyspeaking/products/editions/pr...](http://www.nuance.com/naturallyspeaking/products/editions/preferred.asp)) for speech recognition so they must not be buying it for better speech recognition. (assuming this statement is correct)

Siri does not seem to have anything that Apple could not have just reproduced. Apple could have paid a fraction (assuming the $200mil this author estimates) to write the app and then just banned siri from the app store as reproducing existing features..

<comment><USER9> Siri is based on natural language processing technology developed by the DARPA CALO AI Project [http://www.readwriteweb.com/archives/semantic_stealth_startu...](http://www.readwriteweb.com/archives/semantic_stealth_startup_siric.php), <http://caloproject.sri.com/about/>. There is more to it than speech recognition. I have used it and it has acceptable performance in recognizing simple tasks verbally.

</comment></comment><comment><AUTHOR> Looks like Apple wants to improve voice control on the iPhone!

<comment><USER10> Siri seems to be using Nuance (<http://www.nuance.com/>) for speech recognition, so Apple doesn't seem to have bought any of the actual speech recognition technology.

<comment><USER11> Siri uses Nuance, but loads it with it's own vocabulary. But you are correct, Apple would not acquire Siri for this reason.

I think the real reason is the ip in this area and the natural language processing built into the server.

</comment></comment></comment><comment><AUTHOR> Is this the first app-related acquisition by Apple?

<comment><USER12> It will be interesting to see whether this is about the app (i.e. implementing similar functionality somewhere in the iPhone OS or even offering it as a extra download) or about the technology (i.e. improving voice control). I bet it's rather more the last thing.

<comment><AUTHOR> It's definitely one of the following three and/or all of them:

1\. The app itself 2\. Technology 3\. Talent

<comment><USER13> Astute! :)

</comment></comment></comment></comment><comment><USER14> This plus the leaked facebook integration makes me think Apple's going to try to branch out from its walled-garden semantic database (mobileme, mail.app, etc integration) and into a more open integration of popular services (facebook, yelp, gmail, opentable, etc).

</comment><comment><USER15> That's a really great app. Congrats to the team.

</comment><comment><USER13> I wonder if this means the end to Siri apps on Android?

<comment><USER16> I don't see Apple allowing an Android release of such an innovative product.

</comment></comment><comment><USER17> I looked on Google finance and there is no news about this:

<http://www.google.com/finance?q=siri>

<comment><AUTHOR> Techcrunch just posted about it as well: [http://techcrunch.com/2010/04/28/apple-buys-virtual- personal...](http://techcrunch.com/2010/04/28/apple-buys-virtual-personal- assistant-startup-siri/)

<comment><USER17> oh I see....this is Siri...not Sirius Radio...my bad

<comment><USER18> LOL... Apple buy Sirius Radio.. now that would be hilarious...</comment></comment></comment></comment>


Offshore developers: how do you break into U.S. market? - <AUTHOR>

The question is in the headline. When you are offshore, you are tied to job sites like www.odesk.com where you have to compete with people from low cost countries like India, which drives rates down, forming a low-cost market of its own (and with these providers frequently scamming their clients, these low costs seem to be justified due to increased risks customers have to carry). Essentially there are no jobs at over $35 an hour or so.<p>Everyone knows that these are below bottom rate on U.S. market, and for someone knowing his job, there must be a way to break in there - i mean both individuals and companies. Who tried? Can you share some of your experience? <comment><USER2> Freelancer/seeking freelancer thread here. I've posted once, and already talked to someone.

Something that has really worked for me is create a wrapper over a popular JS component, and sell it(flexigrid-asp.net). It had brought be a couple of really good clients over time + some extra income.

</comment><comment><USER3> I answered a few of posts the in "Who's hiring?" thread, and found a startup that's been employing me since. It helped that I had a specific niche experience they we're interested in though.</comment>


Ask HN: Makefile for Command Runner? - <AUTHOR> It's a pretty common practice to use Makefiles as command runners instead of just being used to build/install software. What are the pros/cons of using Makefiles over other tools (shell scripts, dedicated command runner tools)? <comment><USER2> If I need any make like tasks get run I am quite happy with [https://github.com/melezhik/Tomtit](https://github.com/melezhik/Tomtit)

It's written on Raku and could be extendable by a lot of plugins - [http://repo.westus.cloudapp.azure.com/hub/](http://repo.westus.cloudapp.azure.com/hub/)

</comment><comment><USER3> Not really the tool for the job, for anything non-trivial (multiline) you end up with \'s (there are some hacks around that), and shell variables need doubling, so

        run:
             for name in a b c ; do \
                some-command $$name \
             done

better off writing that in a proper shell script and then

        run:
            sh path/to/script.sh $(SOME) $(ARGS)

IMHO

<comment><USER4> I wouldn't soon pick _make_ for such a job, but I think idiomatic (¿GNU?) make would be

      abc = a b c

      .PHONY: run $(abc)

      run : $(abc)

      $(abc) :
              some-command $@

This allows running the three commands in parallel, too:

      make -j run

</comment></comment><comment><USER5> Isn't the advantage of Make that it does dependency resolution: so you can tell it to "make a" and then it will run "b" and "c" because "a" depends on those?

</comment><comment><USER6> make is for expressing a directed acyclic graph of transformations that produce output files from input files. this is a good fit for compiling libraries & applications and also other things like data processing pipelines where you need to define some repeatable process to transform and combine input data files to eventually produce some output, provided you encode a makefile that tells make about the dependency structure.

there is little point in using make if you're not taking advantage of its ability to understand dependencies of file driven workflows

an even more extreme build tool in the spirit of make is tup: [http://gittup.org/tup/](http://gittup.org/tup/)

tup instruments filesystem access to monitor what your build rules do while tup is executing a build. this means that tup can detect if a build rule reads from or writes to a file that isn't captured as a dependency in the tupfile (makefile equivalent). tup regards this as an error-- you're meant to update the tupfile to capture all the file dependencies so that tup-driven builds can be even faster and even more accurate.

I once spent too much time thinking about build systems, and tried to express the computation of executing an automated test suite for a monorepo python codebase with tup. The goal was incremental test: so that if you updated file a the build system would detect that libraries b, c and e had transitive dependencies on a and would run the corresponding subset of tests for a, b, c, e instead of running the full set of tests. If you rig a test runner to produce a test report file, you can regard testing as a function that maps an input test program to an output test report file, which can be modelled by make and tup. So far so good. Things start to get complicated as the behaviour of running a python script depends on all the other python files and libraries it dynamically imports at runtime, so for accurate incremental test you would need to map out all those runtime dependencies on other files and tell them to the build tool. It also got a bit more perverse with tup as by default the python interpreter generates pyc bytecode files and craps them all over the filesystem when executing scripts, and tup's reaction to that is "you promised me in your tupfile that running this build rule would only output a test report, but look, it also produced a pyc file! You liar! Build error." \- so then it turns into an exercise in how to configure python and wrap various python tools so they fit more into the regime of deterministic functions that consume files and write files.</comment>


Erlang's parallelism is not parallelism - <AUTHOR> http://jlouisramblings.blogspot.com/2011/07/erlangs-parallelism-is-not-parallelism.html

<comment><USER2> He references the post "Parallelism /= Concurrency," which we previously discussed here: <http://news.ycombinator.com/item?id=2457307>

That was largely a semantic issue, which I responded with:

Parallelism: simultaneous calculations executing in the service of a single problem, usually with the goal of improved performance.

Concurrency: executions in the same time granularity, but not necessarily simultaneous. Also not necessarily in the service of the same problem, but some form of synchronization is required.

What I will add this time is that there are different kinds of parallelism, and I think he's considering "data parallelism" the _real_ parallelism. I think this is a false distinction. What he calls "concurrency," I and others call either task parallelism (for distinct tasks that don't need to communicate much) or pipeline parallelism (for tasks that work on data in stages).

<comment><USER3> Parallelism is an algorithms problem: given n processors, design an algorithm that runs faster as n increases.

Concurrency is a systems problem: design a system that safely runs n separate but interacting contexts of execution. Erlang's solution to concurrency--no communication between processes other than asymmetric message passing, no shared state other than the process registry--is a great solution to concurrency in terms of safety and distributon across multiple hosts, but it provides limited help to parallelism.

Erlang's reputation as a great language for concurrent programming on multicore processors is largely by accident--it has a great concurrency model for networks of distributed machines, and almost any concurrency model is better than mutexes and threads, but on multicore machines, Erlang wins only by default.

<comment><USER2> _no communication between processes other than asymmetric message passing, no shared state other than the process registry--is a great solution to concurrency in terms of safety and distributon across multiple hosts, but it provides limited help to parallelism._

That's the same model of executions that MPI supports, and the most high- performance, parallel programs ever written have been written with MPI - scaling to thousands of processors across hundreds of nodes.

I feel that the people who are trying to define "parallelism" and "concurrency" are clashing with existing definitions from the already established high-performance computing community.

</comment></comment></comment><comment><USER4> I'm dubious that Haskell is better for writing distributed concurrent systems, but I don't know much about haskell.

Rather than bashing erlang like this, I'd have gotten a lot more out of an article that described how Haskell approached the problem, possibly with contrasts to erlang.

But when you start off with at best nonsense "erlang's parallelism is not parallelism" you're going to lose people who do know something about erlang.

Here's the deal with erlang: The syntax throws some people off. If you will spend a couple hours learning the language (maybe a couple days) you'll start to appreciate the syntax and it will no longer be a problem.

Erlang is not as fast as bare metal languages like, say, C, but Erlang is fantastic for making programs in parallel and executing them on multiple cores or nodes or clusters of nodes with multiple cores.

I guess I should take the occurrence of these kinds of articles as a sign that Erlang is getting wider acceptance. That's great!

But please, cheer your language, don't bash the competition.

<comment><USER5> I think you got this article entirely wrong.

Jlouis (the author) is an advanced Erlang user who does know the language very well. He wrote etorrent, an Erlang bitorrent client in Erlang (which was also compared with combinatorrent, his Haskell version).

The article isn't about bashing Erlang, but changing the perspective under which it is observed. Namely, the language isn't about parallelism, but parallelism is a nice-to-have feature made possible by the concurrency constructs of the language, which themselves come from a need for fault- tolerance. I would certainly say he is right and I support this way of explaining things.

I'm a somewhat advanced Erlang user, and I enjoyed the article.

I am not sure where you got that competition with Haskell aspect, but I don't think it was ever the point.

</comment></comment><comment><USER6> I've read several authoritative books on Erlang and all of them used the term "concurrency" not "parallelism." I'm not sure who's running around saying Erlang provides parallelism.

<comment><USER7> "I'm not sure who's running around saying Erlang provides parallelism."

I'll say it does. beam.smp spins up multiple threads and I see them using more than one core regularly on my machines.

</comment></comment><comment><USER8> Concurrency - property of systems in which several computational processes are executing at the same time, and potentially interacting with each other.

Parallelism - computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel").

Go to slide #13 in my presentation:

<http://www.slideshare.net/nivertech/migrationtomulticore>

Before introduction of SMP VM - Erlang was strictly concurrent, with only ability to write parallelism via distribution (i.e. multi-node systems). With SMP VM you can write single-node parallel code too. Not, that it's the best language for HPC, but you can always call C/C++, Fortran, CUDA/OpenCL from it using NIFs.

</comment><comment><USER9> tl;dr! A skimming seems to say, "Erlang isn't parallel, but it's parallel! Erlang isn't concurrent, but it's concurrent!"

<comment><USER5> A thorough read would mention the semantic difference between them, the granularity of parallelism, some of the intent behind the concurrency/parallelism constructs, implications of performance when trying to do parallelism in Erlang, general parallel execution theory and strategies related to it.

</comment></comment><comment><USER10> Is there any truly parallel language (that is not simply "multiple sequential threads")?</comment>


See Your Folks - <AUTHOR> http://seeyourfolks.com/ <comment><USER2> This erroneously uses the life expectancy at birth rather than the life expectancy at <current age> \- a common mistake.

If my parents are 80, I don't expect them to die in 1 year just because life expectancy at birth is 81. I expect them to live about another 8 years.

Use a table like [http://www.ssa.gov/oact/STATS/table4c6.html](http://www.ssa.gov/oact/STATS/table4c6.html)

<comment><USER3> Yeah, if you put in an age older than 81, it just says how much over that limit they are living. It would be more impactful to see a tiny number of visits remaining.

</comment></comment><comment><USER4> Effective site, but I hope the people who found it depressing reconsider their response.

The site didn't tell you anything you didn't already know, it only clarified it.

Instead of denying information to keep yourself happy, why not use the information? My 69-year-old mother remarked earlier this year that if she didn't get around to some of her life goals soon she wouldn't be able to.

Did she say that out of depression? No, _to live the life she wanted even more._ She celebrated her 70th birthday bicycle-touring a wine region in France with my step-father, riding something like one hundred kilometers a day.

We can all do the same in our ways. In my opinion, awareness trumps denial.

<comment><USER5> I don't want to nitpick but 100 kilometers a day for a 70 year old, sounds pretty impossible...thats about 7 hours of non stop riding every day at a modest speed, even a fit college student won't be able to bike for 7 hours straight.

Edit: I do agree that a fit student can do a 7 hour bike tour, but i still staand by my opinion that for 70 year old it seems to be impossible.

<comment><USER6> Get involved in cycling communities and you realise that this, while not particularly easy, is not particularly hard either. Especially for spryer- than-average 70-year-old.

An average unfit person of almost any age, can, within a couple of weeks of regular riding, achieve 100 km in a day.

<comment><USER7> Woooh. An unfit 55 - 70 year old isn't going to do 100km's after a couple of weeks. They'll blister and cramp out at a minimum even if it's really flat terrain. However, they could get there in a couple of _months_ with the right training/dedication.

<comment><USER8> Disagree, hell an unfit person can normally walk 30-40k+ a day and biking is much easier and faster. Perhaps you're confusing km with miles?

</comment></comment></comment></comment></comment><comment><USER9> Damn, my dad had a stroke on Saturday night. Thankfully he got very prompt and first class medical treatment (Thanks NHS. Socialised medicine FTW) so the damage is fortunately very limited. I'm actually on my way to the hospital to see him now.

This is a great reminder to pick up the phone and tell your folks or anyone that matters to you that you love them. Everyone reading this should do that now if they can. You never know when it will be too late and you don't want those regrets.

<comment><USER10> So true. My wife's dad passed away when she was in college. No one knows how long their parents will be around.

I'm very lucky, my dad is 83 years old and doing great. The past few times I've gone to visit my parents, I've made a conscious effort to ask them a lot of questions about their life, and it's been incredibly rewarding.

One thing led to another and now helping people record their family stories is what I do for a living ([http://www.storyworth.com](http://www.storyworth.com) if you want to check it out).

[edited to linkify]

</comment></comment><comment><USER11> Please understand I don't mean to discredit your site in any way and what I'm about to say below is no reflection in your commitment.

But this is a good opportunity for me to make an important point regards a discussion that took place here a few days ago.

You see - This website serves no purpose in the East or Eastern ethnic minorities.

It's not part of our culture to lose contact with our parents. I saw my parents on the weekend, my wife saw hers and we both spoke to our parents today on the phone. We live 3hrs away.

I'm 33 yrs old. I've never not spoken to my parents for more than 14 days ever in my life.

Why am I telling you this?

Because in the last discussion that took place - the rant about culture in India, many commented that people need to get more mature but what they dont realise that its culture holding them back

Your website proves my point.

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

<comment><USER12> Many South American / Mediterranean / Latin cultures also value family a lot (the U.S. has the stereotype of Italians: people of Spanish and Greek descent too).

I visit my family every single weekend. No exception. And that includes my uncles, cousins and grandparents when they were alive.

I guess that for our cultures, family is a very important part of our lives, a safety net, etc... The average American is very individualistic in comparison (it's not meant to be negative - the very same traits mean Americans are more self-reliant and adventurous)

<comment><USER13> Family is important to me, even extended family (cousins, uncles, aunts) but I don't have the luxury of being able to visit nearly as much as I would like. I live too far away from the lot of them and some more are spaced out all over the country anyways. Factors out of my control prevent me from living anywhere else in the world.

</comment></comment></comment><comment><USER14> If you are 25 this is how many weeks you have left to live:

[http://i.imgur.com/MA3YeuX.jpg](http://i.imgur.com/MA3YeuX.jpg)

<comment><USER15> If you like that you may find this interesting:

[https://dl.dropboxusercontent.com/u/3568125/clock.html](https://dl.dropboxusercontent.com/u/3568125/clock.html)

<comment><USER16> Arf! That can't handle people older than the Unix epoch. Unsure whether to consider this a bug in the code or in me.

Never mind, I'll just head for the Carrousel.

<comment><USER15> Good find, in what browser?

</comment></comment></comment></comment><comment><USER17> It made me sad because it makes me realize I have no control over the fact that they are growing old.

Instead, what would be nice is if provided information such as: ask your father to go for a prostrate exam, ask your mother to run these other tests, and so on - based on the country, age and perhaps race data (which is not collected right now).

The website is nice and intuitive.

<comment><USER18> Makes me sad because I don't have much control over living in the same city as them.

I have a theory that much of the high rates of depression and unhappiness in the US can be attributed to the large size of the country combined with our mobility within it. Childhood friends always move far away, families separate, your schoolmates drift away. You need 2-5 hour flights to see anyone. Take for example a Brit or a German. The people you grow up with and your families might move to another city, but they are always just a reasonable train ride or drive away. It's quite isolating when you realize everyone you're close with is spread across a continent.

<comment><USER19> _" Take for example a Brit or a German. The people you grow up with and your families might move to another city, but they are always just a reasonable train ride or drive away."_

Not that reasonable.

I'm a Brit, living in Scotland. Many, many of my friends live either 5-and-a- bit hours' train ride away (London) or 7-8 hours by train or car away (Bristol).

<comment><USER20> Contrast that with the distance between Southern California and Maine... a day-trip by land for you would be a multi-day monstrosity for an American. :(

<comment><USER19> I was contrasting with the parent comment, which was lamenting 2-5 hour flights - almost exactly the same travel time that I'll need to see my more distant friends.

I do agree that I wouldn't want to do a US-style road trip to visit people!

</comment></comment></comment></comment></comment><comment><USER21> I'm going to Japan in 2 months, for 2 weeks, to see my wife's parents in Japan. (I live in Los Angeles.) They are getting up in years and their health is declining so this will probably be the last time we see her dad, and maybe her mom too. The trip will cost $6,000 minimum for the 3 of us to go. My father lives in Texas, and we went this spring. That cost $2,000. Next summer, we may go to France for a couple of weeks to see my mom and a bunch of other relatives. That will cost another $6,000, at least. So, at a minimum, we'll spend at least $14,000 in the space of 15 months to see relatives. Can't do that every year, or even every other year and hope to fund our retirement and my son's college fund.

<comment><USER22> Wow, did not know that domestic US flights cost that much. I hope you earn well above 100k!

<comment><USER21> I do, and domestic flights for 3 people cost that much, and that includes the car rental, gas, parking, baggage fees. Luckily I did not have to pay for a motel, and dining out three times a day or the trip to Texas would have cost more than $3K.

</comment></comment></comment><comment><USER23> Talking to dad [http://www.fumboo.com/dadcomic700.jpg](http://www.fumboo.com/dadcomic700.jpg)

<comment><USER24> That was really something. Thank you for that.

</comment></comment><comment><USER25> Why is it that when it comes to this issue people feel completely comfortable with telling other people how to live their lives?

Wanting to spend more time with your parent's isn't a moral absolute. It's a social pressure that has proved hardier than going to church or getting married while you are still fertile.

<comment><USER26> It's not really telling you what to do, per se.

The point isn't that you must spend time with them, it's that if you want to you should know how much time you have (or don't).

<comment><USER25> Yes, but there is a certain implication (e.g. the name of the website)

</comment></comment></comment><comment><USER27> "They didn't understand me", "I wish I had done this in the past", "I wish I had someone to guide me towards my interest", "I hope I become successful in the future", "I hope become a millionaire"

Our ambition, our regrets have made us distant from the now and the present. We are not satisfied with it, how can we? We have our own expectations and dreams to achieve in life. So we run from the present, we live like we have a millennia more. We believe that our parents will always be there when we have time. So we don't go meet them on holidays, we rarely talk to them over the phone. When we meet them we are obsessed with our future, never paying attention to their stories. Never really looking into their eyes. After all, Facebook and Twitter is way more interesting then old people's talk.

And one day you will catch the train (success, fame, money or whatever it is) but you realise that there is no one on the other side, that you are all alone. It feels empty, it feels incomplete. That you have an entire life to go through now.

Don't let that happen, go to their place. Talk to them over the phone (at least once a week). When you meet them, turn off your smartphone. Look at them in the eye and listen to their stories. You will find out that they need you as much as you needed them in the past.

Life is not all about fame and achievements, it's about the people (Family, friends, etc). And whatever insignificant time we have on this planet, it's better spent together in the present.

<comment><USER28> Thank you for verbalizing this. It is exactly how I feel right now.

</comment></comment><comment><USER29> This is a cool little website. Both my parents are dead, but I appreciate the thought behind it.

It's interesting that it sticks to a mother and father. A number of families are moving into more complex arrangements - 2 fathers, or 2 mothers, or step parents, or single parents, or etc etc. (I'm not complaining, just commenting.) I guess it shows that people know who they consider to be parents.

</comment><comment><USER30> It's really weird reading the comments here. I guess I'm jealous of people who have parents worth seeing.

I haven't seen my mother in well over half a decade, and am much healthier for it.

</comment><comment><USER31> Is this open source? Maybe someone should fork and change to something with a different thematic:

"Where do your in-laws live?"

"On average how many times do you see your in-laws a year?"

/jk

</comment><comment><USER32> This is terrible... it makes it horrible for people in difficult situations.

<comment><USER33> Change your situation. We luckily live in an age of jet planes and video phones. It has never been easier to stay connected to people.

<comment><USER34> We also live in an age of visas, rogue governments holding your (expir{ing|ed}) passport for ransom for stupid things like compulsory military service. Not everybody can change that part of the situation.

</comment></comment></comment><comment><USER35> What is "(Holland, Europe)" doing behind "Netherlands"? Which, by the way, is The Netherlands. Why are we the only one with an _incorrect_ postfix? Holland are two provinces where the government reside; it's like putting "Île-de- France" behind "France". Like all Frenchmen outside of that region, I don't identify as a citizen of Holland at all.

</comment><comment><USER36> This is a great example of how even the simplest programming projects can inspire people by tapping into emotion and being aware of their audience.

<comment><USER37> The MVP targeted orphans.

<comment><USER38> Oh, man. Oh man.

I'm sorry that this comment doesn't add much to the discussion, HN.

But I laughed very, very hard at that.

</comment></comment></comment><comment><USER39> My parents are divorced. I cannot fill this form properly.

<comment><USER40> My father is deceased. I also cannot fill in this form properly.

<comment><USER41> You can leave one blank. It worked for me.

</comment></comment></comment><comment><USER42> I'm depressed I have to see them that many more times....

<comment><USER43> I'm glad there's at least one person who doesn't immediately get all profound over the oft-trotted theme of 'spend time with the loved ones'. I'm also glad it isn't _everyone_ ; but I am glad there is one.

The rest of you: yes, it's also very nice that you're all nice, soft humans with good families.

</comment></comment><comment><USER44> This is great, regardless of whether the math is correct. I don't share much on Facebook, but this, this I shared. It may seem sappy to some, but I find it to be a community service.

My situation: I'm 33 years old and I live in the same city as my parents do. My mom is 65 years old, my dad is 69 years old. I visit my parents about once a week.

According to this test, I can expect to see my parents another 700 times before they pass. That may look like a large number, for me it is sobering. My dad has heart problems (he had an angioplasty and a stent placed last year, some incidents after, and he had a pace maker installed this year). I'm not sure whether I get to see him another 700 times at the rate that I visit him now. I will certainly increase the rate of my visits.

<comment><USER45> I'm 32 and live in a different province from my family and I only see them for a week or so a year (this past year I got to see them three times :). Seeing 28.5 show up on there was painful.

I hope we both get to surpass these numbers :)

<comment><USER10> I'm in the same situation, I live in San Francisco and my parents are in France. I see my parents a couple of times a year.

You might be interested in trying my service [http://www.StoryWorth.com](http://www.StoryWorth.com). It helps people record their family stories, and we often end up talking about my parents' stories during our weekly phone calls.

[edited to linkify]

</comment></comment></comment><comment><USER46> I wouldn't share this with anyone. Ugh. Now I need to move back across the country...

<comment><USER47> I did not expect to have my spirit crushed on HN this morning. Need to call my parents.

</comment></comment><comment><USER48> Great hackathon project :) This is the kind of thing tech can easily do that is much better than social mobile video for dogs.

</comment><comment><USER49> This assumes number_of_parents = 2. This also assumes class.parents() = {female_mother, male_father}. Maybe that's just a little too much heteronormativity for the year 2013?

A more generalized version that produces See Your Folks calculations for people by gender, age, and frequency of visit would be appreciated by folks like me that have complicated family dynamics. Hell, maybe I don't want to see my folks, maybe I just know how often I should see my friend that moved to the EU!

Relevant reading:

Gay marriage: the database engineering perspective -- [http://qntm.org/gay](http://qntm.org/gay)

</comment><comment><USER50> Similar. Live your dreams [http://liveconsciously.me/](http://liveconsciously.me/)

</comment><comment><USER51> It would be nice if you could incorporate expectation of years of life left at given age instead of defaulting to state the years lived past their expected life. Does the WHO data have this? For example, see rightmost column here [http://www.cdc.gov/nchs/data/dvs/Revised_Tables_2008.pdf](http://www.cdc.gov/nchs/data/dvs/Revised_Tables_2008.pdf) .

</comment><comment><USER52> Rather pointless in my opinion.

First they make the wrong assumption that the most we see our parents the happier we are.

In any case, I don't think it makes a big difference for people to see their parents 500 or 700 times before they die. Especially if they don't get along with them, they should see each other as little as possible.

My parents died a while ago and while I miss them, I don't regret that i didn't see them enough.

</comment><comment><USER53> Small bit of feedback, in case the devs are reading.

The site is needlessly vague about what it's going to show me. What are "my results", and will they be compelling enough for me to send personal information to somebody I don't know?

Coming to this site cold, with no expectations, I had no desire to enter my parents' ages, to tell you where they live, or to tell you how often I see them.

</comment><comment><USER54> I am not sure I appreciate this kind of thing but it is interesting nevertheless. My folks have lived 4.5 years beyond the expected life expectancy for my country! By the way, the app needs to handle this case gracefully: I am a foreigner in the US so I see my folks less than once a year. I tried putting in 1/3 but looks like the lowest number it can handle is 1.

<comment><USER55> > I tried putting in 1/3 but looks like the lowest number it can handle is 1.

It also fails to handle the case where your parents don't live together and therefore you see them at different intervals, or are already dead. But obviously this is a throwaway thing and doesn't really merit overthinking.

</comment></comment><comment><USER56> One thing this does not take into account -- seeing your parents in person is not the only interaction that is meaningful. Yes, I agree that seeing them in person is a good thing to do, but for some people that is difficult to do, and very often it is not because of a lack of dilligence on the child's part.

So send your folks a long letter or email. Call them on the phone. There is no need to feel guilty because you can only see them X times a year -- for some that is just a fact of life. Phone calls, emails, letters all have meaning. Letters and emails can be read multiple times (and often are). You want to really show your parents you care? Write one or both of them a poem or a song. If you have no skill in that area, write a long heartfelt letter. I wrote one of those letters to my dad years ago and he kept it forever.

It is good to remember that life is short and to use your time wisely. Remember the things that are important. But personal visits aren't the only way to do something about it.

</comment><comment><USER57> Similar to the question "Do you want to know when exactly you are going to die?"

I think I'd prefer not to have checked this out.

</comment><comment><USER58> One of the great things about working remotely is the ability to spend time with folks. I moved out to SF to be where the sun shines but recently my father became ill. I'm now spending lots and lots of time in a small town in the Midwest sharing moments with my father, which is the most important thing to me at this moment.

</comment><comment><USER59> Randall Munroe wrote a python script with actuarial data in it. Give a list of age and sex and it will tell you when deaths would be expected.

[http://blog.xkcd.com/2012/07/12/a-morbid-python- script/](http://blog.xkcd.com/2012/07/12/a-morbid-python-script/)

</comment><comment><USER60> Oh my god, this is horrifying

</comment><comment><USER61> I am happy that this sort of condition is relatively rare in India, from where I hail. Most of us stay with parents and share homes and love. In fact, staying away from parents never even occurred to me before I came in touch with the Western culture that derides staying with parents. At first it seemed rather selfish to me that kids abandon their parents, almost like what happens in the animal kingdom. But later I realized that it's a cultural thing. And there's no judgement passing on either.

The only sad thing is that in India, if you abandon your abusive parents, it's looked down upon. In the West, if you stay with your angel like parents it's still derided. Hope this changes both ways.

</comment><comment><USER62> Loosely based off of the "1,000 marbles" story. If you want to enjoy your life more, read this story and then go buy a jar of marbles :)

[http://www.motivation123.com/news108.txt](http://www.motivation123.com/news108.txt)

</comment><comment><USER63> Realise it was thrown together in a day but didn't especially like 'the feels' I got from being told that I would see my Dad, who has already died, 572 more times before he passes on.

</comment><comment><USER22> Does spending two weeks together constitute one "seeing"? How many weekly Skype sessions constitute one "seeing"?

Cheer-up folks! It's not like we are all soldiers during First World War.

</comment><comment><USER64> Seems like a wasted opportunity for a Kayak.com affiliate bonus...

</comment><comment><USER65> A reminder is good, but an entire website for this purpose alone - with data culled from the WHO? And four people to create it?? Is there any other purpose of the site other than to remind us that our aged parents are nearer to their graves? I tried to find the site pithy but it was equal parts depressing, simplistic and oddly cute. I looked around for other stuff to click on, but there was nothing. Am I missing something?

</comment><comment><USER66> I love my parents, but the knowledge that I'll only see them another ninety times... there's only so much hearing them my mother talk about her life or watching my father sit in front of the TV that I can take.

I'd prefer to have 90 days of goodness than 300 days of meh, you know? There's only a certain amount of content you can share in a given relationship.

</comment><comment><USER67> 17.5 times?!

Comes with living abroad and away from the family, sure, but _grim_. I should visit them more often than once a year.

</comment><comment><USER68> Great. Now I'm depressed. :-/

</comment><comment><USER69> I'm going to send out good old postcards to my folks every week. And seriously think about making a living, living close by them.

Somebody made [http://pigeonpic.com](http://pigeonpic.com) just for this kind of scattered families.

</comment><comment><USER70> This so so mean. I've got 6 more times left. Now I'm buying ticket home for xmas.

</comment><comment><USER71> There is a (imho) very emotional song about this: [http://www.youtube.com/watch?v=-s5r2spPJ8g](http://www.youtube.com/watch?v=-s5r2spPJ8g)

I really love the text, it's so beautiful when you get towards the end.

<comment><USER72> Remade in the 90's by a Santa Barbara alternative band: [http://www.youtube.com/watch?v=B32yjbCSVpU](http://www.youtube.com/watch?v=B32yjbCSVpU)

A little harder-rocking, but no less emotional.

</comment></comment><comment> SG- Just remember there's a good chance one of your parents will die a lot sooner than you or this site actually estimates.

My dad passed away rather quickly fighting cancer back when I was 25, he only got an extra 2 years after he found out.

</comment><comment><USER73> There is a comic I really like from Abstruse Goose about the same topic: 936 Little Blops [http://abstrusegoose.com/51](http://abstrusegoose.com/51)

</comment><comment><USER74> This was very depressing.

</comment><comment><USER75> I didn't even dare to put my details in. I'm a constant worrier and have always had existential issues, so this website doesn't do me any good. We are all different.

</comment><comment><USER76> I love websites like this, they are a constant reminder that you and those around you are not mortals. Others might also like www.aznoe.com its on the same lines as this...

</comment><comment><USER77> My mom has already passed away. I can't use this site :(

</comment><comment><USER78> All I get is:

        Oops...something went wrong.

<comment><USER79> Yikes, better call your parents.

</comment></comment><comment><USER80> This web site makes me sad.

A much lesser problem, it doesn't work in Opera Mini, would be nice if it did, many of my friends are using it.

</comment><comment><USER81> I have to put a number greater then 0... That number (and the statistics they are likely collecting) should even be lower.

</comment><comment><USER82> Inspiring. I actually have a shelved project that is somewhat similar but for marriage + life, etc.

I think I will continue that now!

</comment><comment><USER83> It said I'll see my folks 0.8 times before they die. Does that mean they'll die while I visit?

</comment><comment><USER84> Feels bad man.

</comment><comment><USER85> Morbidly amusing results when you select Ethiopia (or any developing country really) as the country

</comment><comment><USER86> Not trying to be funny, but FaceTime has made a real difference to peoples' lives here

</comment><comment><USER87> Scary and encouraging! Thankfully I'm an hour away, so there's a way to fix that

</comment><comment><USER55> Am I the only one who guessed what this was going to be about when I saw the questions?

<comment><USER88> No, I bailed out when I got to the third question. I appreciate the intention behind this though.

</comment></comment><comment><USER89> This sh*t makes me really sad...

</comment><comment><USER90> annnnnnd that was depressing.

</comment><comment><USER91> I don't know. This was really f __ __ __depressing.

</comment><comment><USER92> That was about the exact opposite of an enjoyable experience.

</comment><comment><USER93> It says I'll see them 6 more times.

Very little I can do to change that.

</comment><comment><USER94> This kinda depressed me a lot more than I was expecting :|

</comment><comment><USER95> Ha! Joke's on you, my Mom died this summer.

Oh. Right. :-\

</comment><comment><USER96> My parents are dead, you insensitive clods

</comment><comment><USER97> morbid

</comment><comment><USER98> Truth hurts.

</comment><comment><USER99> :0|

</comment><comment><USER100> Why is 0 not a valid input? I mean, I know it makes it somewhat pointless to even fill in if one never sees ones parents, but either way, 0 _is_ a valid, if sad, answer.

<comment><USER101> I like that it still has the source in it as if they told the website to not accept 0 :)

 _You need to input a number larger than 0.

Source: World Health Organisation Life Expectancy Data (2011)._

</comment></comment><comment><USER102> My parents are deeaaaaaaad!</comment>


Son Creates Stock-Buying Startup After Mom Misses Million Dollar Opportunity - <AUTHOR> https://www.bloomberg.com/news/articles/2019-04-24/mom-s-lost-million-spurs-son-to-find-purest-form-of-arbitrage <comment><USER2> But what happens when the stock's market price drops below the discounted price?</comment>


Show HN: Vidcast, pandora for music videos - <AUTHOR> http://govidcast.com/

<comment><AUTHOR> This is my first Nodejs app written in 11 hours using Sailsjs. Maybe some of you can find it useful, working on some new features like video reporting, thumbs ups and downs, and playlists.

Feedback welcome

<comment><USER2> I have a side project that lets users play youtube music videos. It has a lot of similar features as your project, and I'm planning on building out in the direction as your project.

I am working on a v2 for it, and I was wondering if you wanted to collaborate on it.

You can check out my project at youfm.org

<comment><AUTHOR> I'd love to link up discuss goals, and ideas. I'll be sending you an email shortly.</comment></comment></comment>


This Is Why They Call It a Weakly-Ordered CPU - <AUTHOR> http://preshing.com/20121019/this-is-why-they-call-it-a-weakly-ordered-cpu <comment><USER2> Nice blog post, though I personally prefer the ridiculousfish post [0] he links to in the end, that one's an instant classic.

He mentions Windows/x86 a couple of times. I only _wish_ it were as simple as "this platform does not reorder." Having done low-level, heavily-multithreaded work on Windows for years: it'll behave like a strongly-ordered architecture 999 times out of a 1000 (or more). Then it'll bite you in the ass and so something unexpected. Basically, if you're doing your own synchronization primitives on x86, you have to pretty much rely on visual/theoretical verification because tests won't error out w/ enough consistency. I've run a test (trying to get away w/ not using certain acquire/release semantics) for an entire week to have it error out only at the last second (x86_64). Other times, I've shipped code that's been tested and vetted inside out for months, only to have the weirdest bug reports 3 or 4 months down the line in the most sporadic cases.

0: <http://ridiculousfish.com/blog/posts/barrier.html>

<comment><USER3> Well, to be specific about x86:

Reads always happen in the original order.

Writes always happen in the original order.

Reads can be moved in front of writes.

<comment><USER4> I work for Intel. This is not correct. A lot depends on your cache type. The two basic ones are uncacheable and write-back.

What you wrote is true for UC. For WB, reads can happen in any order (especially due to cache pre-fetchers). Writes always happen in program order, unless you are in other cache types such as write-combining. WC is mainly used for graphics memory-mapped pixmaps, where the order doesn't matter.

But don't let this scare you too much. From the viewpoint of a single CPU, everything is in order _. It's only when you look at it from the memory bus point-of-view that things get confusing.

_ Unless we are dealing with a memory-mapped IO device that has read side- effects, in which case you need to carefully choose a cache type.

<comment><USER5> How do I control my cache type?

<comment><USER6> I don't think you can from a user mode program. If you are dealing with normal memory, it will be typically WB, and that is the only thing most user-mode programs will encounter.

</comment></comment></comment></comment></comment><comment><USER7> I'm oddly uncomfortable with this article. It reinforces the idea of Memory Ordering as voodoo, rather than as something that can (and needs to be!) understood to properly write low level multicore code. Neither it nor the linked articles go into any details of how memory and cores actually interact, and without these details it would be very hard to get from "this seems to work" to "this is bug free".

 _You can try running the sample application on any Windows, MacOS or Linux machine with a multicore x86/64 CPU, but unless the compiler performs reordering on specific instructions, you'll never witness memory reordering at runtime._

It may just be poor wording, but I don't think this sentence makes sense -- it conflates compiler optimizations with memory reordering, and implies that this is dependent of choice of operating system. While the author probably didn't mean this, it's clear from some of the comments in this thread that this is causing confusion to readers. Worse, it's just not true --- while this particular example might not cause problems, memory reordering is still an issue that needs to be dealt with on x86.

Analogies can be helpful for intuition, but I think this is a case where one really needs to understand what's happening under the hood. Treating the CPU as a black box is not a good idea here, and test-driven development is probably not a good approach to writing mutexes. Calling attention to the issue is great, but this is an area where you really want to know what exactly guarantees your processor provides, rather than trying things until you find something that seems to work.

<comment><USER8> > It reinforces the idea of Memory Ordering as voodoo

I thought there were some very solid bits in there, like the reminder that memory barriers always come in pairs.

> it conflates compiler optimizations with memory reordering

Well, the code as written is subject to reordering both by the compiler and the CPU. The author is just being honest that this isn't a perfectly crafted example. You could make a version not subject to reordering by the compiler, either by marking variables as volatile or by inserting "compiler barriers" into the code (e.g., empty volatile asm statements). I don't think this is conflation.

> Worse, it's just not true --- while this particular example might not cause > problems,

I think what happened is that you interpreted the author's statement as one about memory reordering in general on the x86 architecture, but I think the author is referring to this specific application, which makes the statement true. (The sentence you quoted is bracketed by two sentences which are more explicitly about this demo application, but it's not explicit in the sentence you quoted.)

> memory reordering is still an issue that needs to be dealt with on x86.

The article links to another post by the same author with a similar experiment demonstrating reordering on x86. The example is a lot harder to follow, though, since x86 only allows reordering of stores and loads relative to each other.

[http://preshing.com/20120515/memory-reordering-caught-in- the...](http://preshing.com/20120515/memory-reordering-caught-in-the-act)

> test-driven development is probably not a good approach to writing mutexes

The experiment is to show people how reordering can happen, it has educational purpose. Thermite is a bad way to heat your home, but it's a good experiment to demonstrate exothermic reactions.

Yes, the article could be written better. But there are so few people who write any articles at all on this subject, I'm glad to be able to read it.

<comment><USER7> I agree --- definitely better to have an possibly flawed article to discuss, rather than no article at all. And as a whole, the series has lots of great information.

</comment></comment></comment><comment><USER9> This is why I don't like to use shared memory. It's not easy to do this for a variety of reasons.

At a low level, to try and make this work, you need to do more than worry about a mutex. You need the cpu's cache to be out the way, the memory area protected, AND the memory bus transactions to be completed!

So...if c++11 works, this is what it must really do(some of this is handled by the hardware, but these all have to happen...and if there's a hardware bug, you need a software workaround):

1) Lock the memory area to the writing cpu (this could be a mutex with a memory range, but safest, and slowest, is to disable interrupts while you dick with memory. That's unlikely to be available at high level).

2) Write the memory through the cache to the actual memory address OR track the dirty bit to make sure CPU2 fetches memory for CPU1's cache. AND go over to CPU2 and flip the dirty bit if it has this bit of memory in cache...

3) Wait for all the memory to be written by the bus. Depending on the implementer of the but, it's entirely possible to have CPU1's memory writes heading into memory, but not yet committed, when CPU2's request arrives, giving CPU2 a copy of old data! One way to try and fix this is...have CPU1 read-through-cache to the actual memory location, which the bus will flush correctly as the request is coming from the same device that did a previous write. (I used to do embedded programming and had to use this trick at times, it's possible this is the only bus that worked like this, YMMV).

4) Release the locking mechanism and hope it's all correct.

Realizing that a '1 in a million' chance of failure probably equates to months between failures at most, you see why bugs with this stuff appear all the time. If you MUST use shared memory as your interface for some reason, you better be really careful. And maybe look to move to a different method ASAP.

Edit: changed memory controller to bus, oops

</comment><comment><USER4> For those seeking more detail, Linux has a great reference on using memory barriers: <http://www.kernel.org/doc/Documentation/memory-barriers.txt>

<comment><USER10> Great article. But the ASCII art in it!

</comment></comment><comment><USER11> This is a really interesting article. Multi-core ARM seems to be the first really mainstream processor architecture that behaves this way. There have been others, like Alpha, but none have achieved the ubiquity that mult-core ARM has achieved. I suspect a side-effect of this is that many of the "threads are hard" effects that are hidden by x86 will come back to bite a lot of programmers. I think we are going to be seeing a lot more "threads are hard" and "threads and weird" posts in the near future, and hopefully better learning material about threading issues in the longer term. Even more hopefully, this might drive more research and development into abstractions for providing parallelism and concurrency in ways that hide the complexity of threads.

<comment><USER12> PowerPC has a weakly ordered memory model, so older Mac programmers are no strangers to this sort of stuff.

There have been many multi-core ARM devices out in both the Android and iOS world for a few years, and I haven't heard too many complaints. I think most good high-level programmers know that they need to use high-level locks provided by the SDK, while anyone writing code that actually needs to deal with memory ordering probably already knows to use barriers some of the pitfalls of different ISAs.

<comment> Tuna-Fish But old PowerPC macs weren't typically multicores, and even when they had multiple CPUs, people rarely programmed threaded software for them. Memory ordering is completely transparent to a single thread -- it's only when you add more of them that you start to have problems.

<comment><USER13> [http://en.wikipedia.org/wiki/List_of_Macintosh_models_groupe...](http://en.wikipedia.org/wiki/List_of_Macintosh_models_grouped_by_CPU_type#PowerPC_G4)

All of the PowerMac G4s and PowerMac G5s from 1999-2006 spanning 350MHz to 2.7GHz were sold in multiprocessor configurations.

Maybe most programmers never worried about writing threaded software for them, but they certainly weren't uncommon.

<comment><USER14> Only the most expensive PowerMacs had multiprocessors; iMacs, PowerBooks, and iBooks vastly outnumbered those with top-end PowerMacs. Which also meant there wan't much point in writing heavily threaded programs unless specifically targeting high-end users.

</comment></comment></comment></comment></comment><comment><USER15> Valgrind has tools that supposedly can find certain classes of load/store race conditions. I've never used them in anger, so I can't vouch for them, but it would be interesting to do a test on the example in the article.

Memcheck is certainly a must-have tool for finding heisenbugs in low-level code - it would be wonderful to have an equally effective solution for race conditions.

<http://valgrind.org/docs/manual/hg-manual.html>

<http://valgrind.org/docs/manual/drd-manual.html>

<comment><USER16> I have very successfully used ThreadSanitizer [1] on Linux to find data races in a large C++ codebase. The Linux and OSX versions are based on Valgrind/Helgrind.

[1] <http://code.google.com/p/data-race-test/wiki/ThreadSanitizer>

</comment></comment><comment><USER17> Do, the memory barriers in ARM architecture also flush the caches? In Intel x86 architectures the hardware handles the coherency between all the caches, so a CPU core can directly read from the cache line of another core if it finds its own cache line to be dirty.. Does this happen in ARM also?

</comment><comment><USER18> Yay memory semantics!

A classic case where this sort of problem bit Java in the ass: the "double- checked locking pattern" for initializing Singletons. [http://www.ibm.com/developerworks/java/library/j-dcl/index.h...](http://www.ibm.com/developerworks/java/library/j-dcl/index.html)

I'm not sure if this was ever fixed / improved enough to allow the programmer to make this work.

<comment><USER19> The "fix" is to define an enum with one member named INSTANCE, if you need a Singleton. \-- Effective Java, 2/ed, bu Josh Bloch

<comment><USER20> Which only works if you need something that doesn't extend existing classes but only interfaces.

</comment></comment></comment><comment><USER21> and this is why you don't implement your own mutexes and use the ones provided by the OS.

</comment><comment><USER22> A question: Why is it the CPU architecture that is weakly ordered, if it's the compiler that is reordering the statements? Couldn't you have a compiler on a weakly ordered arch that preserved order, and a compiler on x86 for example that could reorder your statements?

Isn't it the language spec / compiler that is in charge of this, rather than the CPU? I'd like to know more about this.

<comment><USER8> Both the compiler _and_ the CPU can reorder code, as long as the results don't change from the perspective of the code that is executing.

For example, a compiler could take the following code:

        global_x = 1;
        global_y = 2;
        global_x = 3;

And change it into:

        global_x = 3;
        global_y = 2;

Compilers on all platforms reorder statements like this. You can prevent this by making your variables `volatile`, but 99% of the time when you write the word "volatile" in your code you're making a mistake.

</comment></comment><comment><USER10> Great article. CPU reordering is an effect which makes it notoriously difficult to implement lock-free code correctly.</comment>


Back to the Future II – Today's (21 Oct 2015) the day Doc arrives in the future - <AUTHOR> http://www.theguardian.com/film/filmblog/live/2015/oct/21/back-to-the-future-day-live-experience-21-october-2015-round-the-world <comment><AUTHOR> What did they get right: \- News drones \- Hands-free video games \- Smart glasses \- Biowaste fuel \- Wearable tech

What did they kinda get wrong: \- Hoverboards (were getting close to this) \- Flying cars

more links:

[http://www.bbc.com/news/technology-34569759](http://www.bbc.com/news/technology-34569759)

[http://edition.cnn.com/2015/10/20/entertainment/back-to- the-...](http://edition.cnn.com/2015/10/20/entertainment/back-to-the-future- ii-right-wrong-feat/)</comment>


Everything's Made Up and The Points Don't Matter - raganwald's posterous - <AUTHOR> http://raganwald.posterous.com/everythings-made-up-and-the-points-dont-matte <comment><USER2> Am I in the minority in thinking this didn't need a clarification?

It was aimed at a technical audience that would likely catch the humor and direct signs of fiction. I do realize that the impact of the story led to its larger audience, but this does not change the original intent.

The ambiguity in story telling (and music, and art, and ..) adds depth. Clarifying it after the fact, with the proverbial lights on removes depth.

Also, comparing Reginald to Mike Daisy non-ironically is very disingenuous. Mike went on national news outlets to pitch his show and highlighted it as fact rather than performance. He was warned that performing on TAL will lead to its scrutiny as a journalistic report and he still went ahead, _knowingly misleading the public_.

<comment><USER3> regardless of who it was aimed at, it ended up on the front page of reddit. and we all know how reddit is about believing stuff, and then how they react when they find out they've been 'lied' to.

i'm sure at least a few people have threatened to kill raganwald's cats by now.

<comment><USER4> Strangely, the amount of anger people feel when their beliefs are revealed to be false is proportional to the leap of faith they had to make to believe them in the first place.

Think of that leap of faith as being personal investment.

</comment></comment></comment><comment><USER5> My takeaway from this post is that raganwald drastically underestimates the complexity of Enterprise Java FizzBuzz.

<comment><USER6> It starts with an abstract factory class and ends with a SOAP RPC interface.

</comment></comment><comment><USER7> I just assumed that Team FizzBuzz was him anonymising the actual team involved.

<comment><USER8> I did as well. His story seemed a bit far fetched, but not outside the realm of possibility. I did a quick search to see if he did quit his company before I realized what he was really saying. That really hit home with me about how easily it would be for a company to institute this kind of policy and how it might backfire.

</comment></comment><comment><USER9> Fake activism hurts real activism. Please label your fiction as such.

<http://en.wikipedia.org/wiki/Amina_Abdallah_Arraf_al_Omari>

<comment><USER10> I don't intend to minimize your point, rather I want to point out that if you are saying "don't write unless it's real" you are really truly stepping over what value creative writing provides. Even to disclaimer is to say ignore what was written because it isn't real.

Creative writing for satire or parody are critical aspects of humanity. It is unfortunate when lives are at stake as a result. But there are so many writings in human history that do this - what is your proposition for those?

<comment><USER11> The parent clearly did not say "don't write fiction" but rather "label fiction as such".

</comment></comment></comment><comment> one-man-bucket Team Fizz Buzz is not an unreasonable team name! Or is the norm out there for teams to name themselves to whatever they are working on?

Our current teams are named: "Team America 2", "Kill Kenny" and "Etablissemanget" ("The Establishment" in swedish)

<comment><USER4> You may have something there, I do recall meeting a member of Apple's System Seven team, and his business card read:

Omniscient Thaumaturge, Blue Meanies Group

<comment> one-man-bucket Not bad! On a similar note Etablissemanget adopted "treating objects like women" as their slogan.

<comment><USER12> Where do you work and how can I apply for a job? :)

</comment></comment></comment></comment><comment><USER13> I got a laugh from the FizzBuzz team part. Actually from what I know of Corporate IT I think it might actually take a team "several months" to implement. I was once told by corporate IT guys that it would take "Three Months" to move one of our machines into the DMZ, I got another Internet Connection and set it up myself in 30 minutes. As you can guess they were VERY unhappy about that as it made them look like ... well.

<comment><USER14> Did that thirty minutes include a the appropriate security audit?

<comment><USER13> Some context: The connection was for an appliance provided by a trusted vendor that only needed access from specific outside IP addresses and would not need to be exposed to any internal systems, it could be locked down. There was no way around needing external access and we only had two weeks to finish the project (it was requested by the President of the company because it was requested by a large client) however we were still faced with "it will take so much work, that it will be 3 months" In the end we were able to implement what was requested on time and the customer was happy. Roadblocks like these are why startups are able to run circles around large companies, unless there is someone inside to bulldoze through the red tape things just don't get done.

</comment></comment></comment><comment><USER15> You know, some time ago I decided it's much more important that a story is interesting, then that it,s true.

And your story was just brilliant.

<comment><USER16> What's your take on Mike Daisey's Chinese Apple factories controversy?

<comment><USER17> There is a difference between not telling that a story is not true (raganwald) and explicitly telling that a story is true (Daisey).

</comment></comment></comment><comment><USER18> Ah, The Agony and Ecstasy of Reganwald.

Amidst accusations that his concept was lifted from Mr. Daisey, can we expect him to say, "I am not a crook?"

<comment><USER4> Mike named specific companies and denied that he was making up his experiences when asked. I can sleep at night about writing that particular piece of fiction and following it up with disclaimers on Twitter, here on HN, and on my blog.

<comment><USER18> And here I thought you had gone most impressively meta with your commentary.

Essays are often only marginally more journalistic than muck-raking fiction.

In my mind, it is the kind of project you could pull off.

</comment></comment></comment><comment><USER19> I feel like there's an American Spring going on. Before 2012, people have been very reluctant to blow whistles on unethical activities in their own companies, for fear of losing their jobs (likely) and damaging their career in the long term (unlikely, but much scarier). That seems to be changing, with the NYT Goldman Sachs article and various revelations coming out in Silicon Valley. People are finally speaking out about ethical violations (such as the gross violation of policy inherent in a Facebook walk-through in a job interview process) that, a few years ago, people would have been terrified to disclose.

People keep silent about all kinds of scummy things that are happening because of fear, but it's the silence that allows bad actors to have as much success as they do.

In light of this, I think a lot of people, who have nothing to do with raganwald and don't know who he is, _wanted_ the resignation letter to be real, not fictional.

<comment><USER20> > _That seems to be changing, with the NYT Goldman Sachs article and various > revelations coming out in Silicon Valley._

Which revelations out of Silicon Valley?

</comment></comment><comment><USER14> Is Mr. Braithwaite a technical lead or a director? Did he resign or is he just at the pub? Now I don't know what to believe.

Wouldn't it be great if there was a quick way to find the answers to these questions.

<comment><USER4> <http://braythwayt.com/></comment></comment>


How Cloudflare Helps Serve Up Hate on the Web - <AUTHOR> https://www.propublica.org/article/how-cloudflare-helps-serve-up-hate-on-the-web <comment><USER2> Good to have the 1st Amendment protecting our free speech from government interference. But why any individual our company thinks that helping to promote hate speech has anything at all to do with free speech is beyond me. The right to choose what not to publish is as much an act of free speech as any.

<comment><USER3> > But why any individual our company thinks that helping to promote hate > speech has anything at all to do with free speech is beyond me

"Helping to promote" meaning what? Letting someone have the freedom to speak, or the freedom to own property to post speech, etc? How do you NOT think free speech has something to do with defining speech you don't like? SMH

<comment><USER2> Individuals and companies in the USA have always been allowed to suppress speech they do not agree with. You are not obligated to employ someone whose speech you disagree with. You are not obligated to give them a place to speak. You are not obligated to provide internet services. The 1st Amendment only protects us from _government_ interference, and rightly so. If you are an ass in life and everyone refuses to help you spread your bad ideas, that's called the consequences of being an ass. And if you think you don't define speech you don't like, then please leave your phone number so I can call you with my 8 hour sales pitch.</comment></comment></comment>


AT&T responds on Google questions, throws Apple under the bus - <AUTHOR> http://www.tuaw.com/2009/08/02/atandt-responds-on-google-questions-throws-apple-under-the-bus/ <comment><USER2> FFS - there is one sentence of actual content: "AT&T does not manage or approve applications for the App Store. We have received the letter and will, of course, respond to it."</comment>


Airbnb finalizes deal to buy social payments startups Tilt - <AUTHOR> https://techcrunch.com/2017/02/22/airbnb-finalizes-deal-to-buy-social-payments-startups-tilt/ <comment><USER2> I think this could be powerful in the hands of Airbnb. This takes a lot of risk away from someone who wants to take the initiative and rent out a 20 person villa with their friends only to see half of them flake out, and now that person would be stuck with the bill.

I wonder if they will integrate it directly with AirBNB or keep it as a standalone.

<comment><USER3> Here's what would be great:

1\. Person A takes the initiative and books an Airbnb

2\. Airbnb gives him a link to a landing page.

3\. On this page, his friends can 'opt-in' to the vacation. When they opt-in, the cost gets split. Say, if the rent/night is $200 and 3 people opt-in, the cost would be $50 each (including person A).

4\. Each person who opts in gets charged for his share.

5\. Airbnb can also promote other services on this custom landing page such as guided tours. Person A doesn't have to worry about getting the 'yes' from his friends; if you've opted in, you're coming.

</comment></comment><comment><USER4> I was one of those remote employees that got laid off. I'm kicking off the job search (non-engineering), let me know if anyone knows of anything interesting in Austin or remote -- specifically in account management, customer/partner success etc!

<comment><USER5> This may help you [https://github.com/lukasz-madon/awesome-remote- job](https://github.com/lukasz-madon/awesome-remote-job)

<comment><USER6> I am also one of those remote workers. This resource looks great - thanks for posting!

<comment><USER7> Send me a message with your email address. My company just started looking for a Customer Success Hero today and I can pass along the information to you.

</comment></comment></comment></comment><comment><USER8> This is one of the benefits of being a founder with YC/well-connected VCs.

Even if you burn though millions without figuring out a market, you will land on your feet (if you are on the executive team). Your employees? Not so much.

My words may sound negative, but my point is: most people who are working at startups should seriously consider starting one instead.

<comment><USER9> *should start one or join a late stage startup who is still offering equity

N=1, but a friend has done this twice as a product manager with joining late stage startups, getting a decent amount of equity/stock and then the company has IPO'd.

I agree with your point though, the risk/reward for most early employees who are not part of the founding team is not worth it. You'll work just as hard as the founders with a fraction of a fraction of the payout compared to the founders

</comment></comment><comment><USER10> > Many of Tilt's San Francisco employees including CEO James Beshara were > asked to stay on board, but most of the remote team was not.

Bummer for the remote employees. :(

<comment><USER11> I am one of those remote employees :)

Luckily we had a stellar remote team, and most of our growth was coming from our international markets. Anyone would be lucky to have one of them if they are still available.

</comment></comment><comment><USER12> Why hasn't AirBnB, CouchSurfing, or similar companies started disrupting the global shipping business yet by using their users as shippers. They don't even provide an API for building such apps. It's a huge opportunity i think.

<comment><USER13> What type of package is small enough to fit in someone's luggage, light enough to not cost extra baggage allowance, tolerates non-delivery well enough to lose 10% of shipments to flaking non-professional couriers, and is not well- served by UPS, FedEx, or airmail, and cannot be transported at rock-bottom costs with mild latency via a shipping container?

I have an answer to this question: illegal drugs. I don't have a second answer to this question. This makes me think that you'd have difficulty finding 1,000 of legal packages to run through a proof of concept, to say nothing of scaling to the millions you need to have a viable logistics business.

<comment><USER12> How about legal drugs, Pharmaceutical products, etc. I do not know a single person who doesn't ship items with friends. It's not a new idea i'm proposing, but a way for non friends to make money, and for it to be more often.

When Uber first came out i thought it won't work because of all the kidnappings and robberies that would happen. I wonder if you have the same skepticism about travellers becoming carriers.

Edit: not disagreeing, it's a totally valid reason.

<comment><USER14> > I do not know a single person who doesn't ship items with friends.

Huh? Where/in what culture is that? I don't think I know anyone who does ship items with friends with any kind of frequency. I think I've shipped an item with a friend once in my life (a figurine that I could only find on sale in the US), and there are proxy buyer services that cover that use case in a much easier (and safer for them) way.

<comment><USER15> Counter-anecdote: I live in Canada, and it is not at all uncommon to ask friends who are visiting the U.S. to pick up items on their behalf (either alcohol and tobacco, which are often significantly cheaper at the border's duty-free stores, or e-commerce purchases that would not ship into Canada-- there are several places close to the border that will receive and hang onto such packages for a fee).

Maybe that doesn't count as "shipping an item with a friend" but it's quite similar.

<comment><USER14> I think a service that buys something for you (from businesses that sell to the public) has a big safety advantage over one that ships custom packages - while I'm sure it would still be possible to smuggle drugs that way doing so becomes a lot more complex. Likewise one that holds it and lets you pick up _in person_ (which usually require you to present ID) rather than shipping it on.

And while it's a fair example, I think Canada, where most of the population lives very close to the US border, probably doesn't generalise to the rest of the world.

</comment></comment></comment></comment></comment></comment><comment><USER16> Not super surprising. Tilt scaled up its burn way before nailing a big market.

<comment><USER17> What "big market" did Tilt "nail"? Haven't heard much about them in a long time.

<comment><USER16> None. That's the point. They ramped up the burn before finding one.

<comment><USER17> Thanks, I misread your comment. Agreed.

</comment></comment></comment></comment><comment><USER18> From tilt's homepage, it seems like they are a mash up of venmo, gofundme and craigslist(?). Is there a particular direction they are headed for or are they just throwing stuff at the wall and waiting for something to stick?

Some comments point out that it would make group payments for Airbnb bookings a lot easier which seems fine. But is that problem worth spending $12 mil in cash + tens of millions in employee retention packages?

<comment><USER19> Last I heard of Tilt it was mostly a bunch of people using it to fund large scale parties. Enough people committed, and then boom yup we have the money we'll do it.

</comment></comment><comment><USER20> We have a system like this in Sweden, it is called Swish and works wonderful. The way you recieve money is my connecting your mobile phone number to the app and connect it to one of your back accounts in your banks web interface. Then to send money to me you enter my phone number and "swish" the money and you will have it on your bank account within seconds.

<comment> vertex-four The UK has this as well, it's called Paym here. Mind, bank transactions through Faster Payments are also almost always instant, so it's just a convenience feature, nothing majorly new. In the US, inter-bank transfers are not instant at all, so these middleman services provide direct benefits.

</comment></comment><comment><USER21> I remember learning about them from a tweet from pg about them saying they're growing 41% month over month.

[https://twitter.com/paulg/status/712020590840778752](https://twitter.com/paulg/status/712020590840778752)

I wonder what happened.

<comment><USER22> this might be purely anecdotal, but seeing that the quote is about college campuses: a lot of people I know in college downloaded the app and never used it

<comment><USER23> This is what you get when you have a "show us you installed our app and we'll give you a T-shirt/coffee/whatnot" tent

</comment></comment></comment><comment><USER24> What exactly are Tilt's plans ultimately?

<comment><USER25> To power all informal, friendly, crowdfunding I guess?</comment></comment>


Another TCP/32764 backdoor [pdf] - <AUTHOR> http://www.synacktiv.com/ressources/TCP32764_backdoor_again.pdf

<comment><USER2> WTF. I can't believe it.

<comment><USER3> That was my reaction as well.

But I hope they've done this intentionally, because I hope nobody would be stupid enough to produce a new backdoor while fixing the first.

</comment></comment><comment><USER4> Dang it, now the NSA knows about this for sure!</comment>


Hammer filesystem Linux port - <AUTHOR> http://hammerfs-ftw.blogspot.com/

<comment> patrickg-zill Hammer looks interesting, would be nice if I could find some nice reviews of how it performs on DragonFlyBSD however.</comment>


Gamifying Github - <AUTHOR> http://coderwall.com

<comment><USER2> I'm all for merit badges, but I can't shake the feeling that github is _already_ gamified pretty damn well. As in, the rewards you get for being a good "player" are super tangible and awesome.

Few things feel as rewarding as getting a pull request accepted. Even filing a bug with enough detail that the project owner is able to take action feels great.

But, that's how software developers are wired; I get a rush when I make something work. I suppose the challenge is drawing more people into that cycle of participation and reward, but it's an angle of the game I'm not sure this project addresses.

</comment><comment><USER3> I'm just going to leave this here: <http://adamloving.com/internet- programming/gamification>

_There is good gamification and bad gamification. Bad gamification is slapping extrinsic rewards (or a contrived story) on top of an interaction. Good gamification amplifies the intrinsic rewards of a particular behavior – to increase the feeling of fun, flow, or accomplishment of the player. Players know bad gamification when they see it, because it doesn't take their interests into consideration. Good gamification aligns the needs of both designer and player._

<comment><USER4> I'm not sure if you're trying to imply that this is bad gamification. With bad gamification, I feel like I'm slaving away in order to achieve something stupid. Like - Hooray, my orc is level 50! Well, so what?

With coderwall, there's no way I'm going to alter my behavior in order to get badges on it. But it's fun - very fun - to see what badges appear, and to compare myself to other people. Coding is something that's already super personal, it's something people do for fun already, and thus I find it very unlikely that someone's going to come away from coderwall feeling something like, "I just slaved away on this code that was exciting to create and all I got was this stupid badge. Damn you coderwall! Damn you for manipulating me into doing something I'm proud of!"

My experience with coderwall was that it was very amusing to see the badges I'd gotten, and the fact that I had more than some people I know provided me with data for gloating. But will it send me on a downward spiral, making me grind away at programming so that I can get the "Forked 500" badge while I increasingly lose contact with reality? Will it make me feel like I've been gamed when I do someday create a project that's been forked 500 times? I doubt it.

Then again that is a pretty awesome looking badge.

<comment><USER5> > With coderwall, there's no way I'm going to alter my behavior in order to > get badges on it.

I was thinking about creating 100 fake github accounts to fork/follow my projects to get a badge ;) j/k

I too believe this kind of "gamification" is a nice addon. It's optional - hell it's even outside of the system. If I don't want to use it I don't have to. The bad kind of gamification is the one that is forced upon you.

<comment><USER6> _I was thinking about creating 100 fake github accounts to fork/follow my projects to get a badge ;)_

You don't need to do that: you can force any real account to watch your project by adding them as a committer.

<comment><USER7> I doubt that would go over well with your unwitting followers.

</comment></comment></comment></comment></comment><comment><USER8> _It's kinda like the Nobel Peace Prize for developers, only better_

Somewhere a copywriter felt a disturbance in the force..

</comment><comment><USER9> Must have recently become super-popular

> "Thanks for joining. During our beta we can only handle so many new accounts > (due to API throttle limits and all). The current demand has us a little > backlogged. Your expected wait time is currently 5 days in this queue."

Folks may also be interested in <http://calendaraboutnothing.com/> which keeps track of your commit streak in hope of building a chain of committing every day.

<comment><USER10> I really love that concept, but hate that theres no good deployed one for your own use. [i.e. not committing]

</comment></comment><comment><USER11> Why do they need to log into your GitHub account to generate such page? It seems that the information gathered can be directly from your public profile or did I miss something?

<comment><USER12> I'm confused too because github asks me to authorize them reading my public information. If it's public, what's there to authorize?

(Since this github authorization thing was new to me, I didn't grant it. Paranoid, sure.)

<comment><USER13> For convenience we didn't want users to be required to create yet another set of credentials. This allows you to still authenticate and control your coderwall settings/profile while using your GitHub acct. When we request public access, github only gives us public access.

<comment><USER11> I'm pretty sure if you make a version without authentication more GitHub user will use it.

<comment><USER12> Yeah, that's about where I stand -- looks fun but I don't want to bother managing it beyond asking "what does user Foo look like?" where Foo == me.

</comment></comment></comment></comment></comment><comment><USER14> I would suggest adding a "how do you find this" for getting your stackoverflow ID. Is it the number in my profile URL?

</comment><comment><USER15> Warning: "Your expected wait time is currently 5 days in this queue."

They could just use the JSONp version of the API and trust that users aren't going to submit bad data about _their own account_ (theyd only be cheating themselves.) This way, they wouldn't be subject to API usage limits.

<comment><USER5> I think this is a way to trick/force people into twittering about it. If you twitter/follow, your acc will be processed within 2hours they say. I did and my acc was ready within 5 minutes.

</comment></comment><comment><USER16> Anyone who is already logged into coderwall.com (probably from the story the other day) will be redirected to their own page... Which is a bit disturbing at first. I had to double-check the URL to see if someone linked to my page. ;)

</comment><comment><USER17> Oh no, it made me cry when Wikia added achievements. IMO this is so ridiculous. But it's still funny and if you like this, I'm fine. Especially when it means more code! I'm sure some of it will be of quality. Maybe it even causes future talents to stay interested.

</comment><comment><USER18> If your site has a 5-day waiting period that I can skip and reduce to _15 minutes_ by tweeting about you, then with all due respect please do not be surprised if come to think that you may be lying through your teeth.

<comment><USER18> Clarification: "... do not be surprised if I come to think..."*, rather.

(Typo spotted past the edit timeout.)

</comment></comment><comment><USER19> I've been beaten to it, but here's how coderwall would have looked in the 80's... <http://github-high-scores.heroku.com>

</comment><comment><USER20> Agh, please make mailto: links clear that they are mailto: links.

</comment><comment><USER21> Lets not do this.

</comment><comment><USER5> yeah! 4 points: <http://coderwall.com/jsz> ;)

btw. is there a list of other github apps? calendaraboutnothing was nice too. have some free time toady that I'd like to waste :)

<comment><USER22> We're doing something with Githib called Work for Pie. It aggregates info from Githib, Stack Overflow, HN, Bitbucket and gives you a score based on activity and participation. Then you get a profile where you can highlight code, languages, etc. Kind of a portfolio for developers. We're still in private beta, but invites will come pretty pretty quickly after you sign up. www.workforpie.com

<comment><USER5> nice, just signed up.</comment></comment></comment>