The Day Facebook Stole My Page - <AUTHOR> http://umcabango.wordpress.com/2010/05/08/the-day-facebook-stole-my-page/

<comment><USER2> Did he not read the email?

 _We also take down Pages that attack an individual or group or that are set up by an unauthorised individual._

He admits several times that he is unauthorized to set up the page. The page was also handed over to the official fan organization. I see no mystery.

<comment><USER3> More curiously, he also admits several times that he had absolutely no interest in the page and probably would have never visited it again. Besides the lack of mystery, I also see a lack of anybody being hurt.

<comment><USER4> The people that are hurt are future organizations that could benefit from an unofficial fanpage. If users fear for losing their accounts (and therefore friends), they are not going to bother advertising that organization by setting up a fanpage. It's bad when people are afraid to _create_.

(But like I say in another comment below -- Facebook wants to make Facebook like television. Consume, purchase, act. Creating and thinking is not good for their advertisers.)

</comment></comment></comment><comment><USER5> In summary, he violated Facebook's terms of service by creating this page, and is accusing Facebook of "stealing" the page from him now that they've finally decided to enforce those terms.

Facebook requires affirmation that the page creator is "the official representative of this person, business, band or product and have permission to create this Page." He said himself he's just a fan.

I've been as annoyed as anyone with all of the recent privacy issues at Facebook, but it doesn't seem they did anything wrong here. Except maybe write up some Terms of Service that aren't fan-friendly.

<comment><USER6> Hold up, there is something wrong here. Yes, he did set up the page as "just a fan". However, this page has been in existence for a few years and it's a page that got really popular. So, Facebook only "enforces" their ToS when there's enough popularity there to "monetize". It's bullshit and it needs to be publicized as much as possible.

<comment><USER7> That's not bullshit at all. Upload a music video of a little-known band to Youtube and nothing happens; band goes big, video gets 5 million views, is removed for copyright violation.

Facebook can't possibly police every page, so they stick to policing those that are largest or fastest growing. Get popular enough and you'll enter the radar.

It's unfair in a way; but it does make sense.

</comment></comment></comment><comment><USER4> It's too bad -- Facebook is obviously a good idea that people like, but monetizing it is going to scare away all the users. By the time it becomes the advertising haven that Facebook's investors need it to be, there will be nobody left to click the ads.

Something I liked about the "old days" of the Internet is that the cost to create a community was low enough for one person to support. Hence, it didn't need to sell itself out to corporate interests or even have ads at all.

The problem with Facebook, though, is that people use Facebook because everyone else uses Facebook.

<comment><USER8> I think it's still pretty cheap to create a community, if you're not trying to get every person on earth to join.

<comment><USER4> But the culture of doing so has gone away. No company or school would make their own social networking forum; everyone just uses Facebook or Twitter. Things were not always like that, though.

<comment><USER9> Remember Geocities? And Usenet before that? And Prodigy or Compuserve before that?

These things tend to move in waves. Somebody comes up with a great new communications platform, and everyone abandons their custom solutions for it. Then the technology behind that platform becomes commoditized, the knowledge becomes widespread, and people start coming up with small scale custom solutions again. Then one of those custom solutions decides it wants to be big, generalizes it's platform, people flock to it, and the cycle starts over again.

Give it a couple years. I bet we'll see people creating their own social networks again, in some nearly unrecognizable form.

<comment><USER4> I hope!

</comment></comment></comment></comment></comment><comment><USER10> I didn't know that to create a Facebook page you had to be promoting it or advertising something... so do you create a group to show you're a fan of something? The Facebook landscape has become so convoluted.

</comment><comment><USER11> You're supposed to make a group instead, but not everyone knows that.

</comment><comment><USER12> There are enough reasons to beat facebook over the head. This isn't one of them.

</comment><comment><USER13> So fan sites - labors of love - have no place in Facebook as a fan page.

<comment><USER14> Sure, sounds fine! Why not make a normal website that isn't under the control of some greedy corporation? That's what the internet is for, to me.

<comment><USER13> The internet is for a lot of things. A social network is for socializing. Fan sites or pages are a form of socializing.

Certainly Facebook is within their rights to prohibit this kind of thing. You can even see why they'd want to do it: to make Facebook more friendly to the paying customers (advertisers).

But it's an interesting question, how far down this road Facebook or any other site can travel before the utility of the site is reduced to the point that there aren't enough active users to attract paying customers.

</comment></comment></comment><comment><USER15> That kind of thing is pretty much standard practice. Presumably the real Banfa Banfa stepped up and claimed the page.</comment>


Sublime and Growth Books Giveaways  JOBBOX.io - <AUTHOR> http://giveaways.jobbox.io/

<comment><USER2> Always nice to have a change of winning some freebies :) Thanks!</comment>


Show HN: Gmail.js – JavaScript API for Gmail - <AUTHOR> https://github.com/KartikTalwar/gmail.js

<comment><USER2> Unfortunately this type of hacking isn't really sustainable. Even small tweaks to the Gmail UI often change the DOM in very unpredictable ways. When they released the new compose feature, pretty much every single Gmail Chrome extension broke.

We haven't really announced it yet, but I've been working on a new email platform with some friends to solve a lot of these issues. It's essentially Rails/Meteor for email features, and lets you skip past hacking Gmail or writing a full IMAP client.

It's called Inbox, and we're aiming to open source it in January. Ping me if you're interested in playing with it early. :)

<comment><AUTHOR> Thanks for your feedback. I agree, which is why i decided to put it out there because I use the library in a chrome extension and if something breaks, I would be trying to get the extension fixed - patching gmail.js. Still better than finding random solutions from here and there or duplicating efforts. :-) I'd be interested in seeing what you guys are working so, so I'll ping you soon

<comment><USER2> Yeah, I'm certainly not meaning to belittle your efforts. I wrote something similar (based on jamesjyu's gmailr stuff) for my thesis last year. It's the best way to do it for relatively simple one-off projects.

The first big challenge is definitely just having a shared toolkit, but it's next to impossible to provide backwards-compatible APIs when the Gmail UI changes.

Oh... and IMAP. :-/

</comment></comment></comment><comment><USER3> It would be amazing if this were a service. Easier said than done, I know -- but, basically this but have it check a JSON file every few hours and gets the updated selectors.

(For people who don't know, all GMail's classes and IDs are things like '.xb3', and they change often.)

Having worked on Mozilla Add-ons for a long time, one of the biggest problems was by the time any G-Mail add-on was approved, it was already out of date again. API calls, when done correctly, are allowed by both Chrome and Firefox -- this could be a good solution.

(You could easily charge a few bucks for this, and even contact Firefox + Chrome about making sure the reviewers allow it. Market it as "cutting down on their time" since there will be less to review.)

<comment><USER4> As I understand, from one of the early Gmail product managers, element class names are the most stable of all the 'fingerprints'. The Javascript data structures are quite stable, and the element IDs change pretty much every session.

(Source: I'm the author of the ActiveInbox Gmail extension, and at various times have spoken to Gmail engineers directly).

I agree a service would be a useful thing. A killer bit of value would be if it could workaround Mozilla's addon rules. (We actually stopped publishing on Mozilla addons, because if Gmail changed, we couldn't wait 10 days to be "re- approved" to fix it, and as mentioned by gkoberger, Mozilla really clamps down on dynamic in-app updates).

Ymmv, but if it helps... From the POV of an extension developer, service reliability is critical, and I'm not sure if there's enough GMail extension developers to be customers and make it economically viable?

If there is, I think the ideal service would taint DOM elements with class names to make the important things selectable (rather than a Javascript API to retrieve elements). That way, we could build our own selectors with fail safes to fall back on (and we don't have the security headache of incorporating your dynamically-updated code within our own protected sandbox. We can just share the modified DOM instead).

Whatever you do with it, I'm really impressed with how cleanly you built this kartikt!

<comment><USER5> Maybe it could just be a JSON file with the xpath of all important elements?

Also maybe it doesn't really have to be a service. It could just be a file on github, where anyone could issue a pull request if gets broken broken. That way way you would essentially crowd source it.

</comment></comment></comment><comment><USER6> Interesting - and a very good job given what you have to work with. Surely its incredibly brittle, though? As soon as they release a new version of Gmail it's going to fail.

But then, I suppose that's how most Chrome extensions work.

<comment><USER7> Yeah, the strange selector names that never cease to change were what ultimately caused me to abandon my relatively popular Chrome extension "Gmail Attachments to Drive". Having to constantly update the code every time Gmail changed just got old really, really fast.

<comment><USER8> There's a new "Save to drive" button now anyway!

<comment><USER7> True! And because of that, the project would have been killed regardless. A year ago though, this was not the case.

</comment></comment></comment></comment><comment><USER9> Thanks for making the library, glad to see you put lots of time into the docs too. Hopefully the can of worms you've opened doesn't drive you crazy, personally I would've stopped the second I found myself writing something like this...

$($($($('.nH .if').children()[1]).children()).children()[1]).children()[1]

:)

[1][https://github.com/KartikTalwar/gmail.js/blob/master/src/gma...](https://github.com/KartikTalwar/gmail.js/blob/master/src/gmail.js#L49)

<comment><USER10> To be fair, that's a pretty odd way to write jQuery, which is designed to be chained. It could be rewritten as:

        $('.nH .if')
          .children().eq(1)
          .children()
          .children().eq(1)
          .children().eq(1)

But if you were just pointing out how brittle it is, then yes, that's still apparent.

</comment></comment><comment><USER11> Author of Gmailr here, which apparently inspired this project. Kudos! Glad to see someone taking the ball and running with it. I haven't had time to update Gmailr lately, as it is something that needs active maintenance. The main challenge here is that Gmail will have continue to have bursts of updates that break extension libraries, with relatively long periods of stability.

<comment><AUTHOR> Thanks James! Your library was the inspiration for the observer methods. I agree with the maintenance part but I think having this out there will help reduce duplicating efforts.

</comment></comment><comment><USER12> I'm curious why you'd use the DOM instead of making API calls to the server. If Google can do it as part of their UI surely a 3rd party script can too. Is the API more complex than the frequently changing DOM?

<comment><AUTHOR> Most email data related methods are making the API calls. The DOM is being used for methods like checking if a user inside an email or if the user has preview panes enabled. Since the primary goal of the library is to aid with chrome extension development, checking items in the DOM is quicker.

</comment></comment><comment><USER13> Hi Kartik, Gmelius ([http://gmelius.com](http://gmelius.com)) developer here! Great stuff. Will be glad to help you maintain the API up-to-date, if you wish so :)

<comment><AUTHOR> Surely! I think the having it out there for anyone to contribute and modify will benefit all our us. Feel free to add on your suggestions or features that are missing :)

</comment></comment><comment><USER14> This is pretty useful. A couple months ago I started making a free self-hosted version of Boomerang for Gmail, but lost interest because I felt like I would have to devote most of my time to gmail's idiosyncrasies. Maybe it's time to get back to work.

Is there a way to add navigation events (eg. user opened email) to the observe gmail.observe API? Right now it looks like I would have to poll gmail.check.is_inside_email.

<comment><AUTHOR> Definitely! Mind creating an issue out of it? I'll add it to the list

</comment></comment><comment><USER15> These projects are already pretty advanced versions of this:

[https://github.com/jamesyu/gmailr](https://github.com/jamesyu/gmailr) and [https://github.com/joscha/gmailui](https://github.com/joscha/gmailui)

In fact gmailr is used in "Cloudy" \- one of the more advanced gmail plugins.

<comment><AUTHOR> Hey catmanjan, see jamesjyu's comment :-)

</comment></comment><comment><USER16> I use Selenium tests that run on a cron job to check for elements on third- party websites. This works great and I am able to keep the extension mostly up to date. One of the issues I have come up against is when a third-party A/B tests. I usually have to hack around and find an account with the B portion to make sure everything works.

</comment><comment><USER17> Your name sounded very familiar, finally realized from where after reading the recent opendata email! Great job on this and the OpenDataUW API stuff. I am also admiring the PHP Scraper Class as I was planning on writing something similar.

<comment><AUTHOR> Thanks Rohit!

</comment></comment><comment><USER18> This is awesome.

<comment><USER19> Yep. Mind blown.

</comment></comment><comment><USER20> I'd love to use this but I can't figure out what's the action/event for when I open an email to read it. I'm sure it's there, I just can't see it ..

<comment><AUTHOR> Hey zrgiu_, there isn't a native observer for that action yet but the closest call is to check if the user is inside an email. I've created a gh issue out of it so hopefully you'll be able to set triggers with the observer method, instead of setInterval

</comment></comment><comment><USER21> Did you know there is a remote API for Gmail which is compatible with Exchange, Outlook.com, yahoo mail and every other mail provider out there?

It's called IMAP/SMTP!

<comment><AUTHOR> SMTP? Never heard of it. This library is more for developing chrome extensions that take advantage of gmail's DOM and UI state

</comment></comment><comment><USER22> This looks awesome. You should make a demo extension and open source it to show some of the applications that can be built on top of it.

<comment><AUTHOR> Planning to switch the Gmail code on [https://trysignal.com](https://trysignal.com) to gmail.js. That should be out soon

</comment></comment><comment><USER23> Similar in some ways to api that is in streak.com

</comment><comment><USER24> Been looking for something like this! Perfect. Thanks for the effort!

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER25> You probably know more about Gmail then you ever wanted to, right?

<comment><AUTHOR> haha will not disagree

</comment></comment><comment><USER26> I would love if someone make it to work by using oAuth in js.</comment>


Show HN: TextMunch, a new SMS app to answer the daily question "What to eat?" - <AUTHOR>

Txt "Munch [Address]" to 41411 and get instant recommendation for what to eat and where.
Check out other options at http://textmunch.com.
Only covers San Francisco at the moment. Any feedback greatly appreciated. :) <comment><USER2> This is a cool idea; basically an SMS version of (excuse the French in my link) <http://whatthefuckshouldimakefordinner.com>

Looks like a cool idea, I hope you find a way to monetize it!

<comment><USER3> Not exactly - one recomends a meal (and is designed for humour rather than actual helpfulness), one recomends a place to eat.

<comment><USER2> Fair enough! I suppose they are trying to compete with UrbanSpoon and other such "random place to eat" apps. I wonder how they see SMS working over an actual smartphone app?

On one hand, SMS allows _all_ phones to be used for the service, but conversely disables the ability to use pretty graphics. Perhaps they will eventually offer both.

Edit: Sorry, corin_, thought you were the OP for a second. Reworded to more generic questions :)

<comment><AUTHOR> Hi David. The decision to go with SMS is because it was faster to develop (than a native iphone / android app) as well as supporting all phones.

Soon we'll be coming up with a mobile version of the site that lets you do the same thing without using SMS. We'll post again on HN when it's done.

</comment></comment></comment></comment><comment><USER4> Your service is awesome, but competition combined with limited availability is going to be a tough climb.

Do you have any revenue plans? I assume you're using TextMark, correct? How many users are you currently paying for (if you dont mind, or which price tier)?

<comment><AUTHOR> Yeah we're on TextMarks Plus. I was going to use Twilio but they don't have short code yet.

No revenue plan atm, we originally built it to scratch our own itch. Then we thought we should share it with others. :)</comment></comment>


How Silicon Valley Plans to Conquer the Classroom - <AUTHOR> https://www.nytimes.com/2017/11/03/technology/silicon-valley-baltimore-schools.html <comment><USER2> I'm very, very concerned about the ethics of the use of technology products in schools. My school seems to be increasingly using Google to fulfill its needs and I feel very disturbed. My district assigned everyone Gmail accounts, but I don't remember ever consenting and I do not use Gmail for privacy reasons. (In the school's defense, at the time the accounts were created I did not have such concerns, and I did own a personal Gmail account at one point before I switched to Protonmail.) At one point I considered asking my school to switch to libre software to alleviate transparency concerns, but I realized that to do so might constitute promoting an ideology, which could be as equally unethical as fostering a dependency on companies.

What do you all think that the most ethical solution is? Schools _do_ have technology requirements, and they _will_ have to choose an organization to received products and services from. Products and services are often most integrated with others from the same company, so would an organization be promoted no matter what choice is taken? Perhaps using free software would still be the most ethical choice, because even though an ideology is being promoted, the libre nature prevents vendor lock-ins and allows easy compatibility so that students aren't drawn to a particular organization.

These articles are somewhat related:

[https://www.nytimes.com/2017/05/13/technology/google- educati...](https://www.nytimes.com/2017/05/13/technology/google-education- chromebooks-schools.html)

[https://www.eff.org/press/releases/google-deceptively- tracks...](https://www.eff.org/press/releases/google-deceptively-tracks- students-internet-browsing-eff-says-complaint-federal-trade) (In an interview with the districts' Director of Technology about switching to libre software, he told me that the district has discussions with Google employees and were told that tracking does not occur, so these revelations are a huge slap-in- the-face.)

(I apologize if linking to other articles is considered spam; if they are a problem, let me know and I will remove them.)</comment>


Show HN: A reference to the Windows registry - <AUTHOR> http://hkey.n0v4.com/ It's irritating how little information you can find about the Windows registry on Google. I have found no other centralised source for the registry, except maybe for Microsoft's TechNet, which I believe is not too detailed or broad. So along with two others I decided to create the first website dedicated to describing the registry and related topics. From the wiki's about page:
Our goal as a community is to create a comprehensive and complete reference for the Windows registry. We will constantly add to a database of keys and values, and we will also include other helpful information on such things as defining terms used in the registry and describing registry tools.
If you want to talk to the three of us, ircs://irc.n0v4.com/hkey <comment><AUTHOR> It's irritating how little information you can find about the Windows registry on Google. I have found no other centralised source for the registry, except maybe for Microsoft's TechNet, which I believe is not too detailed or broad. So along with two others I decided to create the first website dedicated to describing the registry and related topics. From the wiki's about page:

Our goal as a community is to create a comprehensive and complete reference for the Windows registry. We will constantly add to a database of keys and values, and we will also include other helpful information on such things as defining terms used in the registry and describing registry tools.

If you want to talk to the three of us, ircs://irc.n0v4.com/hkey

</comment><comment><USER2> You can actually upload .reg files to the wiki to create a skeleton page for whoever to fill in. To simplify things quite a bit, we made it require Win95 .reg format, But even Regedit 5 will export to that. The bot that does this is written in Go, and is available here: [https://github.com/Efruit/wikireg](https://github.com/Efruit/wikireg)

Oh, and I did the graphics. Comments, complaints, pointers, etc. would be much appreciated.</comment>


Microsoft to launch the Xbox One in China - <AUTHOR> http://gizmorati.com/2014/03/31/microsoft-launch-xbox-one-china/

<comment><USER2> A better story from Kotaku: [http://kotaku.com/china-to-get-xbox-one-in- late-2014-says-so...](http://kotaku.com/china-to-get-xbox-one-in- late-2014-says-some-chinese-ce-1484000666/all)

And a recent one from Chine: [http://www.globaltimes.cn/content/851724.shtml#.UzvrZ_mSxpu](http://www.globaltimes.cn/content/851724.shtml#.UzvrZ_mSxpu)</comment>


Frames: Good or Bad? - <AUTHOR> http://www.yourhtmlsource.com/frames/goodorbad.html

<comment> dylan-m Sadly, social media widgets have been undoing a lot of forward progress to this end. "Modern" websites are littered with tiny little iframes that suck in massive DOMs from external sources. We don't have the navigation issues but they look ugly, they're completely inflexible (often with developers resorting to magic number px-based layouts to get them looking right) and they're horribly inefficient. And then there are the privacy implications!

With Twitter's upcoming API changes, we're going to be seeing even more of them: it used to be possible for web developers with taste to make their own (decent looking) tweet stream widgets. Soon enough that'll be unreasonably difficult, so they'll be forced to use Twitter's ugly (and inflexible) iframe thing.

So, yeah, not feeling the satisfying blast of nostalgia here :(</comment>


Google Chrome Has a Nasty Surprise - <AUTHOR> https://www.forbes.com/sites/gordonkelly/2018/07/14/google-chrome-ram-memory-consumption-spectre-security-upgrade-windows-mac-linux-chromeos/ <comment><USER2> Funny way to blame Google for Spectre ...

I don't see what else Google could do (like leaving the holes in place) without open themselves up to liability. Maybe a chrome flag where users could turn off Spectre protection?

I'm with Google on this one.

</comment><comment><USER3> This will of course hurt mac and windows users the most just because the size of resource usage for those dwarfs linux and chromeos. On linux with 8 gigs of ram I still have memory to spare for Spectre, on a work machine for windows that might be a negative impact. With only 4 gigs of ram on a windows machine you would probably run for the insecure embrace of edge.</comment>


Ladies Learning Code - <AUTHOR> http://ladieslearningcode.com/

<comment><USER2> They seem to be down at the moment.

Cached Link: [http://webcache.googleusercontent.com/search?q=cache:Dih88e9...](http://webcache.googleusercontent.com/search?q=cache:Dih88e9uIasJ:ladieslearningcode.com/+ladies+learning+code&cd=1&hl=en&ct=clnk&gl=ca)

</comment><comment><USER3> I attended this weekend as a mentor -- lovely bunch of people and great idea! :)

</comment><comment><USER4> Met a couple of the ladies briefly at Startup Weekend TO and they are great. Wishing you all the best!!

</comment><comment><USER5> Does anyone know of a similar movement going on in the U.S.?

</comment><comment><USER6> It looks like they can't handle the load:)</comment>


Drop jQuery as a dependency from Rails - <AUTHOR> https://github.com/rails/rails/issues/25208 <comment><USER2> The github thread itself is a nice example of a vibrant open source community. They're thinking about whether the project can be a good entry point for others into OSS, considering adopting outside libraries rather than re-writing it themselves, and generally operating in a pretty positive manner.

<comment><USER3> Helping newcomers find an entry point really helps them feel like they are contributing and helps them get involved. It's also important to be understanding when their code fails CI tests a few times.

</comment></comment><comment><USER4> As a web dev for the last 15 years or so, this is amazing news. The browsers are finally getting to a point where the pain jQuery solved, is going away.

<comment><USER5> Is this a legacy thing?

I'm a web dev for 10 years now and never used jQuery directly. (I used Ember for half a year, which seems to have jQuery as dependency)

<comment><USER6> So did you do JS development back in 2006 without jQuery?

<comment><USER7> I started with Prototype. Not sure if it came out before or after the first jQuery, but it was the cool kid for a while. Then the world realized it was a disaster and started moving to jQuery...

<comment><USER8> Too bad Magento devs missed that newsflash. Nowadays it still bundles Prototype.js, and every theme and 50% third-party modules you install carry their own copies of jQuery, all at different versions, placed in random locations, and embedded into the page differently.

</comment></comment></comment></comment></comment><comment><USER9> For everyone who thinks rails installs too much by default, and hasn't ever tried `rails -h` - here are some options:

\--skip-gemfile \--skip-git \--skip-keeps \--skip-active-record \--skip- sprockets \--skip-spring \--skip-javascript \--skip-turbolinks \--skip-test- unit

<comment><USER10> The --skip options are handy. For reuse, they can be put into ~/.railsrc, _e.g._

        --skip-gemfile
        --skip-git
        --skip-keeps

</comment></comment><comment><USER11> Rails should stop messing with Javascript all together. Drop JQuery, CoffeeScript, TurboLinks and what not and let the users decide what to use, make it optional. Rails shouldn't require a JS engine in order to run.

<comment><USER12> This is one of the best things about Django - outside the admin interface it's not opinionated about your frontend setup.

<comment><USER13> Of course "not opinionated" in this case is an euphemism and really means that Django doesn't help you at all and so you have to suffer the incomplete and abandoned middleware of others to have something that resembles an asset pipeline. And that's actually odd, because both Rails and Django are frameworks born for building frontends to MySQL databases, which means these frameworks really are about HTTP 1.1 _frontend_ stuff.

For building backends and web APIs, especially web APIs that do constant streaming of data, maybe through WebSocket, there are actually much better options, so this raises the question, why use Django at all?

<comment><USER12> Take away templates and add Django Rest Framework and you have a very capable platform for building large CRUD APIs complete with models, permissions, serializers and so forth.

Is it the best solution when you just want to stream data down a socket? No. That doesn't mean it's useless for many other things.

If I'm going down the SPA route I'd just build the frontend separately using ember-cli or webpack or some other "native" solution and forget any asset pipeline.

<comment><USER14> > If I'm going down the SPA route I'd just build the frontend separately using > ember-cli or webpack or some other "native" solution and forget any asset > pipeline.

It's a good approach. There is no need to treat front and back-ends as a single application, bound by the same rules - they use completely different stacks and completely different tooling.

</comment></comment></comment></comment></comment><comment><USER15> I never understood why rails has javascript helpers at all. It just does not bring any value in the long run, just complicates stuff. Rails should be js libraries agnostic and not provide any js related helpers out of the box in my opinion.

<comment><USER16> I'm one of the (formerly) silent, happy masses who uses the default stack gleefully. Turbolinks is amazing, ujs is wonderful, and coffeescript is adequate until all the latest JS goodness is out for real. Make it so only the first page load happens as an HTML request, everything after that happens via ajax for a couple lines more code sprinkled throughout, and I still get the regular html fallbacks? Yes please.

I'm able to quickly make entire complex interaction flows happen smoothly and maintainably on a single page. Now, there's a point, where when you have to start maintaining the state of various widgets on the page with each other, it gets pretty iffy and its helpful to bust out React. But even then, it's actually usually quicker to prototype out the templates/api for the widgets using vanilla Rails.

The javascript helpers that Rails have are wonderful because they let me quickly build useful software for people, and the fact that they're idiomatically consistent with the Rails request/response setup (is it an html response, or a js one?) throughout projects and apps cuts out a ton of cost of me or other developers (some who'd never even used it before!) dropping back into code I've written later to efficiently change things. Not, "what's being used here? What's the api for that? how is this set up?" etc etc.

I've found that, across many projects with many people, in the long run, these JS helpers are amazingly helpful and clarifying. So I'm going to have to firmly - but respectfully - disagree with your opinion that Rails shouldn't include them, simply because your opinion doesn't provide an alternative that gives me better benefits than what's currently there. It just strikes me as though it will divert engineering on actual hard problems of value to a lot more of simply engineering for engineering's sake. I'm not saying I won't change my mind...I'm saying, show me something better, and let's talk!

</comment></comment><comment><USER17> So I did this in my own recent project. Then other JS libraries I was using needed jquery and it went right back in. I think many people will run into this.

I do agree that it should get out of default Rails. GJ community.

</comment><comment><USER18> There was an article about a week ago that makes the claim that Rails is tailor-made for Basecamp.

This single comment absolutely confirms that point of view: [https://github.com/rails/rails/issues/25208#issuecomment-222...](https://github.com/rails/rails/issues/25208#issuecomment-222980490)

<comment><USER19> Lots of websites have those browser requirements. Many of them aren't written in Rails. Care to explain your "absolutely confirms" logic?

<comment><USER18> Lots of websites _require_ a browser that was released in the last 2 1/2 years?

I think you're seeing the web through SV tinted glasses.

<comment><USER19> Sure, since all major browsers auto-update now. This has been a thing for years.

[https://technet.microsoft.com/en- us/library/dn531055.aspx](https://technet.microsoft.com/en- us/library/dn531055.aspx)

[http://meta.stackexchange.com/questions/56161/which- browsers...](http://meta.stackexchange.com/questions/56161/which-browsers-are- officially-supported-and-what-else-do-i-need)

[https://support.google.com/mail/answer/6557?hl=en](https://support.google.com/mail/answer/6557?hl=en)

[https://support.google.com/a/answer/33864?hl=en](https://support.google.com/a/answer/33864?hl=en)

[http://www.amazon.com/gp/help/customer/display.html?nodeId=2...](http://www.amazon.com/gp/help/customer/display.html?nodeId=200306330) (notable exceoption for IE8, would love to know the reason)

etc.

</comment></comment></comment></comment><comment><USER20> Related: [http://youmightnotneedjquery.com/](http://youmightnotneedjquery.com/)

</comment><comment><USER21> An irrelevant framework drops another irrelevant framework as a dependency.

</comment><comment><USER22> _Omakase_ implies a certain level of excellence in all the individual choices.

I believe Rails is In-N-Out Burger. While it offers few choices, it's reliable and the hamburger is very good. The fries and frontend framework are acceptable but no one goes to In-N-Out for the fries.

<comment><USER23> We detached this subthread from [https://news.ycombinator.com/item?id=11814018](https://news.ycombinator.com/item?id=11814018) and marked it off-topic.

</comment></comment><comment><USER24> Someone in DHH's position could approach jQuery and request a subset containing what he needs. And then other projects could benefit from the refactor.

If there's even a benefit. This same post by the leader of any other project would involve a study of which components and apps use jQuery. And would state how far back compatibility is to be maintained.

So, for example, if commonly used gems require it, or if 90+% of the rails apps in the field require jQuery for other reasons, then this is just code churn for no benefit.

And why is this even a "rewrite"? You can suck the relevant lines of code out of jQuery and call it done. This is not a "Summer of Code" length endeavor.

<comment><USER25> The problem isn't jQuery, the problem is that 90% of the use cases for jQuery can now be solved with native APIs (or polyfills if compatibility with older browsers is a requirement).

The main feature is basically element.querySelectorAll (or document.querySelectorAll for the global version). The XHR wrapper can easily be replaced with the fetch API. Class list manipulation is easy with element.classList. The event listener API has also been consistently standardized across all browsers for quite a while.

There are a handful of things you might still want a utility library for (non- CSS animation among other things) but there are smaller, more specialised libraries for those. The utility belt approach of jQuery is no longer necessary.

The same is true for libraries like lodash/underscore, btw. If you target modern JavaScript environments or use polyfills and a transpiler like Babel most use cases of lodash are a solved problem -- not to mention that 90% of all code using lodash in the wild could be written using the native array methods that have been available since ES5 (and IE9).

<comment><USER26> > The XHR wrapper can easily be replaced with the fetch API.

Browser support for fetch is still pretty weak, so you'll need some kind of polyfill to use it today.

[http://caniuse.com/#feat=fetch](http://caniuse.com/#feat=fetch)

<comment><USER24> Right. My argument is that you could fork the relevant subset of jQuery and own your own compatibility story in the event that Rails wants to push this on apps for some reason (I don't see the benefit of that).

An alternative would be to initiate a discussion with jQuery as obviously Rails isn't the only framework that's dealing with this issue. Let the jQuery guys do what they're great at, let Rails do what it does.</comment></comment></comment></comment>


Buzz Aldrin: Cancel Ares, reprieve shuttle, colonise Mars - <AUTHOR> http://www.theregister.co.uk/2009/06/28/aldrin_space_vision

<comment><USER2> I thought the problem was that humans can't _get_ to mars!

Because there is too much solar and cosmic radiation, and no one would survive the trip. And enough shielding to block it is too heavy to launch (from earth). Which is why we want to go to the moon first.

<comment><USER3> _I thought the problem was that humans can't get to mars! Because there is too much solar and cosmic radiation,_

Nonsense. If you can hop in a shelter to avoid the occasional solar storm that can kill you instantly, the remaining associated risks are like smoking.

 _And enough shielding to block it is too heavy to launch (from earth)._

Again nonsense. Water is a very good shield medium. You'll need to carry a lot of it anyhow, and you only need to shield a small short-duration shelter for radiation storms.

So we can extract the shielding from the moon? Waste of time for exploration. So you save on launch costs for the expedition. How much is it going to cost to launch the lunar shielding extraction equipment? Yes, it's desirable to have infrastructure on the moon, eventually. But for exploring Mars, it's superfluous. It's like Lewis and Clark needing to establish Tulsa before going to the Pacific.

Read Zubrin. He's got the facts on his side.

<comment><USER2> > Nonsense. If you can hop in a shelter to avoid the occasional solar storm > that can kill you instantly, the remaining associated risks are like > smoking.

You are wrong. The radiation is lethal. What you wrote only applies near earth.

And it's not solar particles that are the main problem. It's cosmic particles, which have much much higher energies, and do not come in bursts.

See here: [http://www.scientificamerican.com/article.cfm?id=magnet- forc...](http://www.scientificamerican.com/article.cfm?id=magnet-force-field) and here: [http://www.scientificamerican.com/article.cfm?id=shielding-s...](http://www.scientificamerican.com/article.cfm?id=shielding- space-travelers) and here: [http://blogs.chron.com/sciguy/archives/2009/05/the_real_reas...](http://blogs.chron.com/sciguy/archives/2009/05/the_real_reason_why_we_wont_go_to_mars_in_my_lifet_1.html) and here: [http://marsjournal.org/contents/2006/0004/files/rapp_mars_20...](http://marsjournal.org/contents/2006/0004/files/rapp_mars_2006_0004.pdf) (pdf) and here: [http://www.space.com/missionlaunches/080331-radiation- shield...](http://www.space.com/missionlaunches/080331-radiation- shielding.html)

Is that enough? We are not going to mars anytime soon. Even a colony on the moon is not possible right now. We would either need to send people on once only short term construction trips, or some sort of robotic construction to make a shield first. Or a biological protectant of some kind.

<comment><USER3> The very energetic high-energy particles are less of a problem. They tend to pass straight through and cause relatively little damage. The critical danger comes from cascades of low energy secondary particles causing much greater damage to genes.

The people pushing for more sophisticated radiation shielding than tanks of water are hoping to get funded to build that stuff. It's unnecessary.

Again, the lethality rate for Mars transit is about the same as picking up a bad smoking habit. Acceptable for early explorers and initial colonists, and actually an argument for settling Mars as soon as possible. (Many people already know these risks, and they _still_ want to go! Once you have a native workforce living up there with a local infrastructure, the risks are minimized because the resources for shielding form radiation are also more available.)

 _We are not going to mars anytime soon. Even a colony on the moon is not possible right now. We would either need to send people on once only short term construction trips, or some sort of robotic construction to make a shield first. Or a biological protectant of some kind._

Again nonsense. You can build bricks and masonry arches out of local Martian materials. Ship a "vault-laying" robot up there, and you can create lots of living space quickly. Bury it in soil, and you get the physical support to pressurize those environments as well as radiation shielding.

(You can't do the same trick on the Moon, because you need lots of _water_ to make bricks. Far less of it on the Moon, and easily extracted concentrations of it are probably only at the poles. To build weight-pressurized compressive structures on the Moon, you're going to have to make silica blocks. A lot more energy intensive and expensive, with high temperature handling of materials. Smelting aluminum? Fuggedaboudit!)

Also, the radiation question is actually an argument for Mars over the Moon. Mars has an atmosphere that reduces the radiation load of humans walking outside. In fact, this is another reason why lunar industry should be established _from Mars_ with teleoperated robots controlled form Earth.

<comment><USER2> The environment ON mars is better than the moon, sure. But getting there is still a problem. I don't think you are right about the lethality rate for Mars transit. That is simply not what all those articles I linked to said.

The reason the high energy particles are more of a problem is because it's harder to shield from them. Especially without the shielding becoming a problem in and off itself. Which is more or less what you said. So you agree that hiding during solar storms is not enough.

I have no arguments about water working just fine as shielding. I think it will. It's the amount of water that is the problem. There is no practical way to launch the amount that is needed. And even once you launch it, it's so massive that you'll have a really hard time getting to mars fast enough.

I haven't run the numbers myself, but I've read works from people who have, and they say that it's not practical. Water is just too heavy.

PS. For the moon, there is little reason to build up - dig under instead, and line the inside with weak, but airtight material.

<comment><USER3> _That is simply not what all those articles I linked to said._

You're spreading pop-science FUD designed to create the exact misconceptions you are spreading. Read the other side in Zubrin's books and articles. No big conspiracies, just people using fear of radiation to sensationalize articles and get more money out of our federal government.

 _The reason the high energy particles are more of a problem is because it's harder to shield from them_

There's less _need_ to shield from them.

 _Especially without the shielding becoming a problem in and off itself. Which is more or less what you said. So you agree that hiding during solar storms is not enough._

By _not_ shielding the entire vessel, you can create a small booth with enough shielding to also absorb the secondaries. Again, this is well trodden territory. Most public libraries have Zubrin's books. Read the other side, and you will find that you have been fed incomplete pictures. Shielding the whole craft is a straw man. Trying to give complete protection for initial explorers and colonists is overkill and FUD for selling expensive and unnecessary R&D to bureaucrats who want to cover their asses.

If you protect the astronauts from just the promptly lethal solar flares, you wind up with lethality something like a bad smoking habit.

I would gladly accept a 1% or even a 4% mortality rate if I could have the chance to be one of the founders of the Mars colony. My children won't have that problem, shielded by the Martian atmosphere and the soil used for radiation shielding.

<comment><USER2> >You're spreading pop-science FUD designed to create the exact misconceptions you are spreading.

I don't think you looked at a single one of the links I posted. You are very caught up in what Zubrin says, but you are not looking at what anyone else says. So how do you know he's right, and they are wrong?

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> From what I hear, it seems like reprieving the shuttle isn't really an option. It's so out of date and unsafe that NASA isn't willing to use it anymore.

Sure there are problems with Ares, but isn't that what engineers are for?

<comment><USER5> It's fine, as long as you let them design the system.

The shuttle, as it is, came out of an engineer's drawing board, but not before addressing the wishes of a lot of politicians.

I am all in for Ares, as long as engineers are in control. It seems they are not.

</comment></comment><comment><USER6> Sounds like Obama needs to pull a "Kennedy" and define the goal. Amazing what smart people can do with a little vision.

<comment><USER7> It helps to have funding that won't be cut off in two years by a mercurial congress.

<comment><USER8> Yes.

Politicians have a lot of vision, but little commitment.

We would have not went to the moon in the 1960s without the cold war.

</comment></comment></comment><comment><USER9> Two questions:

1) why isn't the URL linking to the article on Popular Mechanics? (which is a lot better than this article)

[http://www.popularmechanics.com/science/air_space/4322647.ht...](http://www.popularmechanics.com/science/air_space/4322647.html)

2) would someone care to explain what the point in colonising Mars is? Unmanned exploration of Mars would be a whole lot cheaper because robots don't need life-support systems. Moreover, losing a couple of robots is more acceptable than losing a couple of human astronauts. Sure, we could colonise Mars, but at what cost, and what for? In case Aldrin hasn't noticed, the USA is not in the same financial situation as in 1960.

<comment><USER3> Humans living on Mars are in a much better position to access the resources of the Solar System than humans living on Earth. With a 24 hour day-night cycle, local access to water and necessary elements, it's also a lot easier to grow food. These two facts alone are enough to position human settlement on Mars for economic, military, and political domination of the Solar System.

Basically, colonizing Mars is desirable for the same reasons that colonizing North America was. Whichever nation does it can expect the resulting civilization to break away and surpass those on Earth. But the "old country" can expect much better relations with the new superpower.

(Actually, we could build a space elevator on Mars with materials we _already have_. The citizens of a Mars colony could eventually access space with the same ease with which we fly overseas.)

<comment><USER5> Don't forget the larger moons of Jupiter and Saturn: low gravity, plenty of water and carbon-rich environments. The major downside is that the vicinity of Jupiter is as cozy as the interior of a microwave oven and sunlight is not that abundant as it is down here.

As for the Martian space elevator, it would involve the demolition of Deimos and Phobos or some moving of the counterweight in order to miss their orbits.

<comment><USER3> Mars is so much easier to get off of, space elevators are almost irrelevant. However, I would vote for _moving_ a moon of Mars and using it as a counterweight.

 _The major downside is that the vicinity of Jupiter is as cozy as the interior of a microwave oven and sunlight is not that abundant as it is down here._

Helium 3 is probably going to be the next oil. It will be the stuff you run your military machine with. Mars is in a better position than Earth to control the resources of the gas giants, and it is in a very good position for even control of the Moon's He3. The higher population of Mars due to agriculture and vast potential living space will probably mean political domination of the Jovian moons by Mars.

<comment><USER5> I don't see He3 being the next oil. By the time we are able to colonize the solar system like that, fusion power may very well seem like an interesting antique.

<comment><USER3> Tech gets obsolete a lot faster than physics. The energy of fusion is physics, not tech.

</comment></comment></comment></comment></comment></comment><comment><USER10> Colonise Mars?

Coming from a man who's been in space, that is a stupid claim to do without first colonizing the moon and learning in the process.

Walk, run, fly.

<comment><USER11> Nonsense! Go and read some Robert Zubrin.

<comment><USER12> ...then question some of the 'miracle technologies' used in Zubrin's infrastructure.

Yes, if we had Single Stage to Orbit fully reusable rockets and if all issues involved in living on another world were understood, Zubrin's plan(s) would be a shoo-in. However, we can't even construct a reliable artificial biosphere fully enclosed here on Earth!

Learn to walk before you try to run. Let's work on sustained outposts on a world no more than three days' travel away first.

<comment><USER3> _Yes, if we had Single Stage to Orbit fully reusable rockets_

Certainly not essential to Zubrin's plan. There are modifications to Zubrin's plan that can be implemented with existing boosters, with on-orbit assembly limited to linking together 4 components. Seems doable to me.

 _However, we can't even construct a reliable artificial biosphere fully enclosed here on Earth!_

Where do you get that from? For one thing, the most publicized efforts were tried by questionable people. I think a legitimate effort would account for things like curing concrete absorbing lots of oxygen. For another thing, there's a huge difference between a biosphere and air/water recycling combined with local agriculture. The point is not to get a 100% viable self-regulating biosphere. It's just to be able to use local resources. For initial colonization, it's just _life support_ for plants. The 100% viable self- regulating biospheres will take decades to get right, but we'll have decades and lots of economic incentive once the colonization efforts are under way.

 _Learn to walk before you try to run. Let's work on sustained outposts on a world no more than three days' travel away first._

If the only thing to be gained from the moon is a stepping stone to Mars, then it's a waste of time. The environmental challenges are just about all different, so it's not even a good rehearsal. That's more like "Learn to swim before you run. Let's work on movement while partially buoyant, not subject to a full G, first."

I'm sure you could train babies to swim-crawl-walk. But if you want to walk, it's an unnecessary detour.

<comment><USER12> I'd like to believe in Zubrin's plan more than anyone (I still have a well- highlighted copy of his "Mars Direct - Humans to the Red Planet by 1999" Acta Astronautica paper amongst my many cabinets of the stuff) but that plan is built on assumption.

      >However, we can't even construct a reliable artificial
      >biosphere fully enclosed here on Earth!

      Where do you get that from?

From the fact that no one has done it yet. Ever.

We just don't know how to live on other worlds. We are almost completely ignorant of the complexities involved in the process and have a whole bunch of unpleasant discoveries to make yet. That's not to say it _can't_ be done and that we don't know what should happen in theory, but we have never done it before. Ever. There is no experience to build upon.

If you want another flags and footprints mission to plant a candelabra of pennants on Mars and then scurry back after a few days of visiting, by all means piss away hundreds of billions of dollars and go to Mars direct for a quick visit. However, if you want to learn the actual skills required to live and work on other worlds, you should focus on building missions which demonstrate and refine the skills required to live and work on other worlds.

Doing so on our Moon and near-Earth asteroids (the nearest locations to support and safety) is the best way to do that and will give us the tools needed to move outwards permanently.

<comment><USER11> We routinely build completely self-contained environments in which dozens of ordinary people with a few months training live and work for months at a time with very, very low casualty rates. They're called nuclear submarines.

<comment><USER2> They are self-contained but not self-sustaining.

The ISS is also self-contained.</comment></comment></comment></comment></comment></comment></comment>


Playing with Thunderbolt under Linux on Apple hardware - <AUTHOR> http://mjg59.dreamwidth.org/15948.html

<comment><USER2> Discussion also here, top comment links to this article: <https://news.ycombinator.com/item?id=4400810></comment>


Ask HN: Is this a proper explanation of call/cc? - <AUTHOR> Hi,
I am playing around with call/cc in scheme and I have produced this little diagram (https://i.imgur.com/kXax4OR.png) to help me understand what's going on.
Any feedback is appreciated, especially if the diagram is erroneous :) Thank you! <comment><USER2> The diagram is sadly unreadable for me. I might be stupid, but the 640px version doesn't have readable text.

<comment><AUTHOR> Ah that is weird. Try going to the URL without .png see if it works?</comment></comment>


Ask HN: using only static magnetism - impossible to stably levitate against gravity? - <AUTHOR> http://en.wikipedia.org/wiki/Earnshaw%27s_theorem I don't get it?  Why would something like below work:

     ________
     SSSSSSSS
     NNNNNNNN
 NNNNNNNNNNNNNNNNNN SSSSSSSSSSSSSSSSSS
Top magnets are glued to a board, a larger area of magnets are glued to the floor.  Surely the magnets wouldn't have the strength to flip the board, so how is that not stable? <comment><USER2> Earnshaw's theorem applies to electrostatic fields (ie, from non-moving charges) as well as magnetic fields. I think electrostatics are a bit easier to visualize than magnetostatics.

There's also a good analogous physical situation. Imagine you have a rubber sheet stretched into a plane. The challenge is to create a local minimum in the sheet by pushing it up in places. If you push it up with a tube to try to create a bowl, instead you'll get a flat circle on top of the tube.

My freshman year physics professor had us play with a program that simulated kinetic physics for point charges. You could "glue" charges to a plane, and then release other charges to see how they would respond. The end of the assignment said "Try to create a cage that can hold a charged particle. If you do, you might be eligible for a prize."

<comment><AUTHOR> Any idea where I could find that program. I think that would help me. My problem really is visualizing it.

</comment></comment><comment><AUTHOR> I don't get it? Why would something like below not work:

            ________
            SSSSSSSS
            NNNNNNNN

        NNNNNNNNNNNNNNNNNNNN
        SSSSSSSSSSSSSSSSSSSS

Top magnets are glued to a board, a larger area of magnets are glued to the floor. This would be in two dimensions. Surely the magnets wouldn't have the strength to flip the board, so how is that not stable?

<comment><USER3> IANA physicist, but how could magnets be strong enough to lift the board off the ground but not strong enough to flip it?

<comment><AUTHOR> I thought of that, but what about magnets barely strong enough to lift the board, maybe 1cm or levitation or something?

<comment><USER3> Then wouldn't the board start to destabilize until an edge hit the ground? So it wouldn't be floating exactly, just sort of eerily resting.

<comment><AUTHOR> True. Good point. What if you curved the bottom piece into a slight dish shape?

</comment></comment></comment></comment></comment><comment><AUTHOR> I may just have to try it huh? Where can I buy a whole lot of cheap magnets?

</comment><comment><USER4> For extra credit, explain why the Levitron DOES work:

<http://www.youtube.com/watch?v=05FDGCis-Sw>

(no camera tricks in that BTW, it's just a magnet top and a magnet bottom. The weight in the top must be carefully adjusted in order for the device to work. It will continue levitating for as long as the top keeps spinning fast enough - if you carefully blow on the top's side to speed it up, you can keep it levitating for many minutes.)</comment>


Ask HN: Recommendations on how to run an open source project? - <AUTHOR>

Anyone have good recommendations on how to run an open source project? or books I should read? <comment><USER2> This is a must read: <http://producingoss.com/en/index.html>

</comment><comment><USER3> You should check out Launchpad (<https://launchpad.net/>).

</comment><comment><USER4> the cathedral and the bazaar I think its pretty much a must read in this respect.

but its a pretty vague question, anything more specific?

<comment><AUTHOR> Thanks, I'm looking forward to release an open source app, but I've never done it before, just looking for recommendations on how to do it well.</comment></comment>


Show HN: Speechtext.ai – Automated Transcription Service with Human Accuracy - <AUTHOR> https://speechtext.ai/ <comment><AUTHOR> Hey everyone! I'm very excited to introduce our new product, SpeechText.AI.

SpeechText.AI transcription service can accurately transcribe conference calls, interviews, podcasts, lectures, and meeting records in more than 30 different languages and dialects. Our award-winning speech recognition technology achieves a word error rate of 3.8% on the open source LibriSpeech dataset (~1000 hours of clear English speech). SpeechText.AI's speech recognition technology is now almost as accurate as human transcriptionists. Please feel free to create a trial account [https://speechtext.ai](https://speechtext.ai) to see how it works. We will be looking forward to your feedback and questions in the comments about SpeechText AI.

<comment><USER2> Exciting! Can't wait to play with it. Particularly interested in how someone w/o Google/Microsoft/Amazon resources for training models can produce better output.

Also, I might have missed it, I couldn't find the list of supported languages.</comment></comment>


Want to Record the Cops? Know Your Rights - <AUTHOR> https://www.eff.org/deeplinks/2015/04/want-record-cops-know-your-rights

<comment><USER2> If a police officer seizes your phone and erases the video, is there a reliable to restore the video on iOS/android?

<comment><USER3> Photorec: [http://www.cgsecurity.org/wiki/PhotoRec](http://www.cgsecurity.org/wiki/PhotoRec) TestDisk: [http://www.cgsecurity.org/wiki/TestDisk](http://www.cgsecurity.org/wiki/TestDisk)

Be cautious using any software (the OS and any attempts to peek at the card content) that might write on the SD card as the physical lock of the SD card is cosmetic and won't prevent the host writing on the card. Mount as read-only or just clone the device. Actually, cloning the device is the first thing to do.</comment></comment>


What If Everyone Voted (in the UK) - <AUTHOR> https://proseandcode.co.uk/post/what-if-everyone-voted/ <comment><USER2> For the group, it's good (for some definition of good) if everyone votes. For the individual, their payoff from voting is extremely likely to be zero: if you voted, and your chosen MP won by a single vote, your trip to the polling station made a difference. Any other outcome, and you could have stayed at home or gone to the pub instead, with no change in outcome.

Whilst I'm not generally in favour of the state forcing people to do things, I wouldn't mind if I (and everyone else) were forced to vote at every general election, with some potential penalty to incentivise compliance.

<comment><USER3> Mandatory voting just results in on-average less informed voters, doesn't it? If someone can't be bothered to go to the polls, what makes you think they'll be bothered to inform themselves of the issues and candidates?

The way to prevent a small minority from deciding stuff like brexit is by having a minimum of attendance required - if not met, the results are void.

<comment><USER4> Yes. Or they could have said that a certain number of votes would be required (equal to 50% of the electorate). So, even if only 51% turned out, the result would stand if 98% of them voted to leave.

<comment><USER5> Most people would call that rigging the election.

</comment></comment></comment></comment><comment><USER6> This is for Britain, not the United Kingdom.

<comment><USER7> Ish, the map is for Britain (at least most of it), but the figures are for the UK as a whole as it covers all the 650 seats. I didn't have a good map I could swap in to cover NI as well.</comment></comment>


The geeks who saved Usenet - <AUTHOR> http://dir.salon.com/story/tech/feature/2002/01/07/saving_usenet/index.html

<comment><AUTHOR> this url is a cleaner read [http://dir.salon.com/story/tech/feature/2002/01/07/saving_us...](http://dir.salon.com/story/tech/feature/2002/01/07/saving_usenet/print.html) but you miss the picture.</comment>


Why is MS getting money from android smartphone manufacturers? - <AUTHOR>

Why exactly are android smartphone manufacturers making deals with Microsoft, when it seems to have no relation to android whatsoever? <comment><USER2> Microsoft holds patents that it claims Linux violates. Android is a Linux. Therefore Microsoft claims Android violates it's patents. QED

Companies that wish to stay on Microsoft's good side(anyone who wants to build a WP 7 phone, or sell a desktop) and use Linux licenses those patents. Thus they pay MS for android.

</comment><comment><USER3> Licensing Microsoft patents.</comment>


19-year-old in New York City killed by RC helicopter - <AUTHOR> http://blogs.wsj.com/metropolis/2013/09/05/remote-control-helicopter-kills-man-in-brooklyn/

<comment><USER2> They say it "scalped" him, but the New York Daily News says it got him in the neck, slashing his throat. The latter seems a lot more likely.

</comment><comment><USER3> This isn't really an HN subject, is it?

<comment><USER4> Better off on Reddit, IMO.

</comment></comment><comment><USER5> Say goodbye to drone delivery services now.</comment>


0 second visits according to Google Analytics - <AUTHOR> http://paweljaniak.co.za/2013/05/12/0-second-visits/ <comment><USER2> I believe this article is false.

I have a site that is extremely heavy on front page traffic. Basically 97% of all traffic is front page traffic, and 75% of all traffic is single visit (they hit the front page and nothing else). 55% of traffic does not generate multiple page views on any given day.

I have absolutely no problem with Google reporting 0 second visits. In fact, quite the opposite, Google reports very high visit durations, as visitors tend to spend a lot of time on the front page and then leave. If there were a problem with 0 second counting, it would decimate my time on site numbers due to all the people not generating second page requests for GA to count.

I've been using Google Analytics since they purchased it, and have never run into this problem (across millions of uniques and two dozen sites). The only time I've ever seen 0 second requests on any scale, is from bots, and in that case they're easy to out by looking at flash settings + browser version. If you're seeing a huge number of 0 second requests, it's most likely a bot.

<comment><USER3> With all due respect that's a long time to use GA without understanding how it works. Here's a good article by Google's GA evangelist I would highly recommend to everybody in this thread who are throwing out anecdotes.

[http://cutroni.com/blog/2012/02/29/understanding-google- anal...](http://cutroni.com/blog/2012/02/29/understanding-google-analytics- time-calculations/)

<comment><USER4> Thanks, I think what most people, including adventured, do is to make an assumption about GA and then forge ahead without ever checking it. The link you posted was very illuminating.

Personally, this stresses the importance of measuring events or interactions rather than time on a page. It would be nice to have both but if given the choice, I'd rather have event/interaction data.

</comment></comment></comment><comment><USER5> A word of caution: make sure to set the "opt_noninteraction" flag in the event tracking to "true" otherwise your bounce rate will be off.

[https://developers.google.com/analytics/devguides/collection...](https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiEventTracking)

</comment><comment><USER6> Honest question here: Why do all this? If there are no secondary source of data that one can observe (subscriptions, adclicks, citations, google link scores...), then why spend so much time and energy on statistics?

<comment><USER7> I'm not the OP, but I have my own personal blog and a lot of side projects I make $0 money on (I don't use ads).

I use Analytics (Google Analytics, Woopra, GoSquared, and ChartBeat (although never at the same time, that would be ridiculous)) for two main reasons.

1) I enjoy looking at analytical data. Something about charts and graphs just intrigues me. Don't even get me started on the netflow statistics I monitor at my job.

2) It's fun to see how many people are viewing my posts. When I get a post that makes it to the front page of HN or Reddit and I get to see the hundreds of thousands of hits my page gets, it gets me excited to keep posting.

<comment><USER8> I think this captures it. Its a form of "score" for feedback on an activity, and human nature is such that we like feedback.

</comment></comment></comment><comment><USER9> We get a lot of questions at GoSquared (<https://gosquared.com>) as to why their engagement metrics (and visitor counts) are so different between GA and GoSquared.

Pinging all visitors to check their still online is our solution, rather than making a guess/estimate - this means that sometimes GA reports about 10 visitors online when there are actually more like 100.

This is especially true with HN posts where most people only visit the one page and then leave.

Thanks for the great post :)

<comment><USER10> Does that mean GoSquared will report a page that has been open for days, taking up a tab but not being actively looked at, as 'online', or is there a timeout after a specific period of inactivity?

<comment><USER11> I don't know about GoSquared, but I built a similar real-time dashboard for W3Counter [1] that operates the same way. It would include that visitor as long as the tab is still open, but it also shows how many visitors are idle versus writing or reading (recently scrolled or moved the mouse, which requires the tab be in the foreground), so you know how many are just sitting in tabs.

1: <http://www.w3counter.com/features/pro>

</comment></comment></comment><comment><USER12> 4th solution: GA breaks the segment of 0-10 into 0 (or N/A) and Greater than 0 - 10 Seconds

Problem solved.

The other proposed solutions do help to show engagement but requires more knowledge of how to implement, this 4th solution helps to KISS

<comment><USER13> This is a very good solution. Anything more than 0, i.e. 0.05s would be rounded up to 1s and 1 would always be the minimum for non-zero points.

</comment></comment><comment><USER14> Also, over a certain amount of traffic Google Analytics will just extrapolate the numbers up rather than actually recording every visit.

If you don't want this to happen, there are plenty of other analytics services out there. I'd recommend GoSquared, but I did work for them last year, so I'm biased in that recommendation.

</comment><comment><USER15> From personal experience I used to be very discouraged that users spent seconds on my site until I read up a bit more on why it was being reported that way.

My fix was to "ping" GA with an event every 60 seconds. This results in about 55,000ish pings a day and has made my average time on site a little more like something I'd expect off a music streaming website(<http://www.tubalr.com>). My average time on Tubalr is around 1 hour with the new event tracking I'm doing.

</comment><comment><USER16> I'm surprised they don't have a timer running that pings themselves every N seconds. The ads all do that. Pinging themselves on visibilitychange or beforeunload could also be helpful (though there will always be people who disconnect without warning, which is why you ping periodically if you care about time spent as a metric).

</comment><comment><USER17> Great idea, but why do we require real-time and user-impacting statistics in the first place?

Why not place a AJAX script to a local session monitor that stores up details about a visit and flushes the results via hits to GA? That way, a user doesn't have to wait for GA to load on a page (I've see it be the majority of load time on many websites). The AJAX script could be tied to all types of events such as mouse movement (people hover over links, images, ect. without clicking so capture that as interactivity), onFocus events, and in future eye-tracking events.

This could be built up as a off-screen buffer that generates a more detailed session and fires it off to AG in near-real-time. One other important factor could be to label the events in a concatenated nomenclature so that home.hover, home.idle.30s, home.unFocus, home.gaze.rightMenu.17s, and home.scroll.down.x143 all make sense.

</comment><comment><USER18> Can I get some feedback on the following idea please:

\- Maintain an open (but idle) websocket connection on your page to have an accurate real-time visitor information. The websocket should remain open as long as the user doesn't close the tab or navigate away.

What are some cons that prevent everyone from doing so?

<comment><USER19> I have many tabs open that I'm not actually "on." I just took a shower and left HN open, for example. Can it detect that the tab is "active" or "focus?" That may help. But I'm not sure this is a problem worth a ton of work. It's, at best, a proxy for measuring things like interest.

<comment><USER16>
        document.addEventListener('visibilitychange', onVisibilityChange);

</comment></comment></comment><comment><USER20> At lognormal/mPulse, we have boomerang set up to send a beacon on page load and on page unload. The unload beacon tells us when someone has left the page. If they go to a new page, the next load beacon overrides the previous unload, else the unload tells us how long they stuck around.

It's been pretty reliable. All current browsers will make a GET request in the onbeforeunload event (onunload in Opera). Firefox is the only one that blocks the next page's load until a response is received, and Opera is the only other browser that handles the response though it doesn't block while waiting for it.

Our primary motivation is to measure session engagement (bounce rate, conversion, duration, pages, etc.) versus average page load time across the session.

</comment><comment><USER21> This happens a lot with landing pages because many times there is no 2nd page view as people don't convert. In landing pages this metric is super important. If a person left after 5 seconds your page is probably ugly. If a person leaves after 1min your content might not be convincing enough or no clear call to action. You need to know when people usually leave your page in order to know how to fix it. In <http://www.pagealizer.com/> we track the time spent on page (beside other metrics) by pinging the visitor.

</comment><comment><USER22> I block google analytics with noscript. No downside for me.

<comment><USER23> Well, there's a downside in the sense that no-one will ever see how you use web sites, so when they change their behaviour and break functionality you used to use, you'll have no-one but yourself to blame.

<comment><USER24> Is that the best argument you can make for why he should turn GA back on?

If so, I think I should block GA to reduce the length of the interval of unresponsiveness while the "on load" JavaScript runs.

<comment><USER23> What other argument can there possibly be? The benefits to the individual aren't huge. And you're welcome to block GA, I'm just trying to make the point that there _is_ a purpose behind analytics, and it isn't just a sinister conspiracy to take over your life.

<comment><USER24> I'm sympathetic to the purpose -- I'm less protective of privacy than most here.

My objection is to the means, namely, giving the page's author essentially unlimited access to compute resources on the browser and hoping the author will choose to be moderate.

Until 2008 I browsed the web on a slow machine (Celeron based on a PIII core, probably made in 2000 since the BIOS copyright notice referred to the year 2000) and blocking GA on that machine very drastically reduced the amount of time the browser was unresponsive. So much so as to suggest that even on modern fast hardware, there will probably be some improvement in responsiveness even if the difference will not be immediately noticeable to the user like it was on my old machine.

</comment></comment></comment></comment></comment><comment><USER25> We added a page ping event into Snowplow for this exact reason. Tracking user activity on the page, including where/when the user scrolls around the page, yields a lot of interesting data, including average % of page read, by page:

[http://snowplowanalytics.com/blog/2013/04/18/measuring- conte...](http://snowplowanalytics.com/blog/2013/04/18/measuring-content-page- performance-with-snowplow/)

</comment><comment><USER26> I wonder why Google does not track the time to an event fired on another Google Analytics site. While it might yield strange results if the user closes the browser or opens a page without Google Analytics, it would provide quite accurate results. Of course, this only works if most websites use GA.

Also, I am not a web developer, but is it not possible to specify another GA event in the onbeforeunload function?

</comment><comment><USER27> What is a visit is it the search time or the time I am on the page?

I know I have searched for things that seem to take a long time (when I am in a rush) but the results page show my search took e.g. 0.22 seconds when really the page may have loaded slow or I had to reload the page taking maybe 30 seconds or Google Instant is being annoying.

<comment><USER11> That's the time Google spent preparing the result page for your search (finding and sorting the matching results). Actual time between you making a search and seeing that page involves much more than that computation, such as network latency and time to transfer the HTML.

Did you read this submission? It's not about Google search results. It's about how the time-on-site metric in Google Analytics is computed.

</comment></comment><comment><USER28> I'm coming to the conclusion it's best to write your own Analytics if you want reliable and precise information. Google Analytics is an out-of-the box solution targeted at websites between 1 and 1000000000... visitors per month. (Regardless whether it's a blog, an online game or you name it.)

</comment><comment><USER29> I feel like I'm missing something here. Surely you can get an accurate time with some simple Javascript? There is the onbeforeunload event, and you could always do polling.

</comment><comment><USER30> Time on page is a vanity metric. Actions are what you need to grow. Metrics for pirates! Piwik is what I've been using, like it a bit more than GA</comment>


Three20: Open Source iPhone UI Goodness - <AUTHOR> http://joehewitt.com/post/the-three20-project/ <comment><USER2> I was going to comment about how TTMessageController is different from Apple's, and then I remembered the NDA that prohibits me from making such a comparison. Let me just say that TTMessageController is completely generic and customizable and not tied to any particular messaging protocols.

<comment><USER3> There's no more NDA I thought ...

<comment><USER4> The iPhone 3.0 SDK has a wonderful new NDA.

</comment></comment></comment><comment><USER5> This is seriously great. Because of the crazed iPhone goldrush that's going on, there's a lot less community sharing than you'd expect -- everyone's trying to get an edge on the other 80000000 apps, so they're keeping their cards close.

This is a great step in the other direction. I'm hoping that once the noise dies down, we'll start seeing more of the good kind of serious iPhone apps.

<comment><USER6> It's not necessarily about keeping your cards close, but about not spending time to polish+publish your cards as libraries :)

</comment></comment><comment><USER7> Wow. As an iPhone developer I would like to say that this is huge and I am looking forward to integrating some of these classes into my projects.

Of particular note is TTPhotoViewController which emulates Apple's photo viewer, and which consequently is not available to developers via the SDK. This will save a lot of time.

I am not sure how useful the others are. For instance SDK 3.0 includes a new messaging UI similar to what TTMessageController is trying to achieve.

Also TTNavigationCenter seems a bit iffy. Using URLs to manage instances of UINavigationControllers. The iPhone is a different paradigm than the web so I'm not sure how effective mapping the web's main navigational structure to a less dynamic environment will fare.

Still, I am very excited about TTPhotoViewController. Thanks Joe!

<comment><USER8> I totally agree! I've been waiting for him to open source TTPhotoViewController for a while now. I've tried to replicate it, but always ended up having weird memory leaks.

</comment></comment><comment><USER4> Beautiful. This guy needs to put up a tipjoy button.</comment>


Rate my startup: Mindstream - A better way to manage projects - <AUTHOR> http://www.komodokomputer.com/saas.htm

<comment><USER2> Looks good. The writing is bad though. Sorry. Why are there links to hardware/software on top of the page? Get a dedicated domain for this product, don't make it one of 100 services that you offer (or nobody will want it). Also, make sure to get a tour and stuff apart from the video.

In short: this needs a lot of work to stand out in a crowd of 100s of online project management tools.

</comment><comment><AUTHOR> Mindstream is a project I've been working on [alone] for a few months. I'd like co-founders, but can' afford it without funding / customers. Let me know how I could improve and what I can do better</comment>


Benford's Law - <AUTHOR> https://en.wikipedia.org/wiki/Benford%27s_law <comment><USER2> Did my thesis trying to apply insights from Benford's law to the design of the adders in your CPU. The idea was you make your low order bits, which see more activity, slower and more power efficient and your high order bits faster and less efficient. Meet the same timing overall but with less energy on average. Sadly, memory addresses were close to pure entropy for my purposes and the savings I was able to get were only around 5%, not enough for all the effort.

<comment><USER3> Benford's law works for random variables drawn from a uniform distribution whose upper bound is itself a random variable with a uniform distribution. But memory addresses are not drawn from such a distribution. The upper bound of the distribution of memory addresses is almost always a power of 2.

<comment><USER2> Yes, the fact that adders deal with so many memory addresses in practice means that the distribution of numbers I saw didn't end up working very much like Benford's law. The non-address data did but they weren't a large enough fraction of what was added together.

</comment></comment></comment><comment><USER4> Benford's Law has been widely criticized as a technique to detect election fraud. A political scientist wrote a paper describing a variation. [http://www-personal.umich.edu/~wmebane/pm06.pdf](http://www- personal.umich.edu/~wmebane/pm06.pdf) He used some data from the 2006 election in Mexico just to illustrate the proposed technique.

The paper has been used extensively by critics of the election as a proof of fraud. But they haven't been able to prove fraud any other way. The paper was never meant to be used as a strong proof of anything, it was mostly exploratory.

<comment><USER5> _Benford 's law does not apply to unary systems such as tally marks._

Does that mean Benford doesn't work for counting things like votes or people?

This site tests Benford's Law on 30 different public datasets.

[http://testingbenfordslaw.com/mexico-population-by- county](http://testingbenfordslaw.com/mexico-population-by-county)

Looks to me like Benford works just fine for tally-type data like votes and populations.

<comment><USER4> Per your example. The numbers fit the population by municipality. Probably because the counts span several orders of magnitude. Some have millions (e.g Delegaciones in Mexico city). Some have hundreds( e.g Oaxaca ) However voting places are roughly the same size.

</comment></comment></comment><comment><USER6> Data Genetics did a great job doing a layman's write up on Benford's law, which is still one of the most fun math things to tell my family.

Here it is:

[http://www.datagenetics.com/blog/march52012/index.html](http://www.datagenetics.com/blog/march52012/index.html)

</comment><comment><USER7> Here is an interesting analysis of Benford's Law from a digital signal processing perspective: [http://www.dspguide.com/ch34.htm](http://www.dspguide.com/ch34.htm)

<comment><USER8> That was phenomenal. Thank you. I'd encourage anyone else interested in Benford's Law to skip straight to this book chapter, because it seems that most of the other material online overlooks the heart of the matter: i.e., that the law applies to distributions that are wide compared with unit distance along the logarithmic scale, but not to distributions that are narrow.

</comment></comment><comment><USER9> Used this to detect tax fraud for a state government and uncover a breach (by poor suppression techniques) of medicaid data. This little law is extraordinarily useful!

</comment><comment><USER10> I applied Bendord's law against hard drive bad block addresses across 20,000 enterprise storage arrays that called home. In theory, drive bad block LBAs should map perfectly to Benford's distribution. In our system, there were a number of anomalies. Digging in further, I discovered that the engineeers periodically had the drives seek to a certain location, and write a status block. This happened frequently enough that it interrupted the drives internal "swirl" algorithm that was developed to keep the head from carving a "canyon" into the medium. At a microscopic level, our drives looked like the Grand Canyon.

<comment><USER11> This is fascinating!

The only time I've heard people talking about using Benford's law to detect anomalies was in the context of election fraud. This is much more exciting and practical.

<comment><USER10> Thanks! Unfortunately the raid controller needed those blocks during boot time, or it couldn't recover properly. I may have convinced the engineers to turn on "read after write" for those blocks.

After explaining this discovery to my manager, I also explained how Benford's law could be used to detect fraud in his corporate travel expenses. He seemed more interested in that application.....

</comment></comment></comment><comment><USER12> How Benford's Law was discovered is fascinating - one of my favorite Radiolab episodes: [http://www.radiolab.org/story/91699-from-benford-to- erdos/](http://www.radiolab.org/story/91699-from-benford-to-erdos/)

<comment><USER13> Can somebody summarize for us who can't listen?

<comment><USER14> This was in the days before electronic calculators, when even mechanical adding machines were expensive and people used tables of logarithms (and trig functions) to calculate. [Think of Manhattan Project days.]

Benford was using a book of such tables (even random numbers came in books, in those days) and noticed that some pages of the book were much more dog-eared than others. That led him to wonder why those particular pages were being used more than others. He discovered that it correlated with the first digit of the numbers. Pages starting numbers with low digits were used more often than pages starting with higher digits.

</comment></comment></comment><comment><USER15> Interesting note from the page: "Some well-known infinite integer sequences provably satisfy Benford's Law exactly including Fibonacci numbers, factorials, and the powers of almost any number."

<comment><USER16> What are the numbers whose powers don't satisfy the law? 0 of course and any power of 10 will have only leading 1's. Any product of just 2's and 5's, probably?

<comment><USER17> Powers of two satisfy Benford's law. In order for powers of an integer k to not satisfy Benford's law, k would have to be a rational power of 10; in fact it would have to be an integer power of 10 because if 10^(m/n) is rational then it's an integer.

But a quick calculation makes it look like powers of two don't satisfy Benford's law, For example the first power of 2 which begins with 7 is 2^46, and the first power of 2 which begins with 9 is 2^53. This takes so long, roughly speaking, because 2^10 = 1024 is so close to a power of ten.

<comment><USER16> That surprised me since I saw the "generalization to digits beyond the first" in the article and it's clear that powers of 2 or 5 clearly don't have a Benford-style distribution of their _last_ digits. However, that was a misunderstanding on my part, since that generalization says something about the _first_ n digits, and any fixed n will eventually not include the last digit of the number.

<comment><USER17> In fact powers of any integer don't have a Benford-style distribution of their last digits, since those digits will repeat periodicially. For example powers of 2 end in 2, 4, 8, 6, 2, 4, 8, 6, ...

</comment></comment></comment></comment></comment><comment><USER18> I applied it to a sizable chunk of company expense data when auditing accounts payable. It highlighted some managers who made consistent purchases from the same vendor, not the multi-million dollar fraud I was hoping to find.

<comment><USER19>
        not the multi-million dollar fraud I was hoping to find.

Why were you hoping to find this?

<comment><USER18> Like Midas, it is the dream of all green auditors until they find it and realize the downsides.

</comment></comment></comment><comment><USER20> Was a contributor to a short-lived website/blog for business folks. My non-de- plume was Benford :)

</comment><comment><USER21> But prices are often $.99 cents, or $9.99, or $99.99, etc.

EDIT: Ok, ignore. Article mentioned it.

<comment><USER22> FTA:

>Distributions that would not be expected to obey Benford's Law

> ...

>Where numbers are influenced by human thought: e.g. prices set by psychological thresholds ($1.99)

<comment><USER23> > Where numbers are influenced by human thought

Fraud?

<comment><USER24> Yes.</comment></comment></comment></comment>