System Overload - <AUTHOR> http://www.newyorker.com/magazine/2016/04/18/inside-americas-infrastructure-problem <comment><USER2> Two-track subways have inherent maintenance problems. New York is mostly four- track, so sections of track can be shut down for total replacement. They also have a huge number of track switches and interlockings, and can reroute onto alternate tracks easily. NYC can also run trains 24/7\. Two-track systems can't do that. One of the legacies of the Tammany Hall regime is that the infrastructure from about 1900 was way overbuilt. But the real reason NYC is four-track is that the subways replaced elevated lines that were at capacity with two tracks.

Few other subways are four-track. The Broad Street Line in Philadelphia is four-track, but is underutilized. A few sections of the Chicago MTA are four track. The London Underground has the two-track problem. (Worse, that system is older and has undersized tunnels. They have to build special maintenance machines that will fit in their tunnels.)

In the US, there are probably two systems that could justify four-track - SF's BART and Washington's Metro.[1] But it took both a long time for each to build the traffic to justify it. BART has a lot of elevated sections, and four-track elevated lines roof over an entire street. (NYC used to have some; getting rid of them was one of the reasons the subway system was built.)

In practice, two-track systems do heavy maintenance during weekends and holidays. This takes careful planning, special equipment, and lots of competent, hard-working people. But it's done routinely by the big systems. SF Muni is shutting down their underground lines from 9PM to 2AM, and the Twin Peaks tunnel will be closed for 21 weekends starting in June. It's more expensive than a full shutdown, but has less impact on customers.

[1] [http://greatergreaterwashington.org/post/3760/was-the- lack-o...](http://greatergreaterwashington.org/post/3760/was-the-lack-of- express-tracks-a-lack-of-foresight/)

<comment><USER3> There was this great video last year, illustrating how outdated and error prone the signalling technology in the NY subway is: [https://www.youtube.com/watch?v=Mjx3S3UjmnA](https://www.youtube.com/watch?v=Mjx3S3UjmnA)

<comment><USER2> Hey, they're mostly General Railway Signal's NX system, the first intelligent user interface ever. It takes a huge number of big relays to express all the logic, but it's a good system. Everything in rail control since NX looks a lot like NX, even if it's on a screen.

Before NX, someone had to manually set up routes through an interlocking, setting all the switches and signals. The interlocking machine would prevent conflicts (the levers would not move when pulled) but the dispatcher had to figure out the routes. With NX (eNtry eXit), you push a button to select the track on which a train is approaching. Lights then light up for all the places it can exit the interlocking. The system takes into account other trains, previously set up routes, and even switches and track locked out of service for maintenance. You push one of the exit lights. The system then sets up all the switches and signals to get the train out of the interlocking at the desired exit. As the train progresses along the path, the resources (track sections and switches) are released behind it, and become available for other trains.

NX works well. Many later systems were worse. BART had big problems with their 1960s advanced electronic system, which had to be replaced.

(That video shows an older lever system. That's the only one on the NYC subway system.)

</comment></comment></comment><comment><USER4> > Republicans have been less willing to support it, especially when it goes > toward things like public transit.

I always thought that aspect of their modus operandi rather tricky and good. To demonstrate how government programs fail, they strangle them (cut their funds), then those programs start failing, and they later point out how government managed <whatever> is clearly a failure and it should be handed over to <somebigcorp>. Whether you agree or not with spending and the core idea, gotta give to the devil what is owed to the devil -- it is a pretty good PR strategy.

<comment><USER5> This is a common pattern that has a name and Wikipedia article:

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

<comment><USER6> Starve the beast is about forcing spending cuts by passing tax cuts first. People hate taxes. Plenty of people also use the opposite strategy of forcing tax increases by passing spending increases first. People love spending.

It has absolutely nothing to do with sabotaging the execution of public works project. You can't seriously think that Republicans are the cause of the graft, waste, and mismanagement associated with government infrastructure projects.

<comment><USER7> > You can't seriously think that Republicans are the cause of the graft, > waste, and mismanagement associated with government infrastructure projects.

Most people think that it's the folks on the other side of the political isle from them that cause the problems.

Infrastructure problem costs too much? Is it the union construction workers that are inflating costs or the under-budgeted maintenance? There are a dozen convenient excuses that people of either party can blame on people not in their tribe.

Rah rah rah go our team, it's the other guys that are the problem!

</comment></comment></comment></comment><comment><USER8> Just because our infrastructure is lousy doesn't mean "underinvestment" is the cause. However, you measure it, American infrastructure has become extremely expensive to build. Countries with nice infrastructure---like Japan and European countries---can also build it much more cheaply.

A number can be small because the numerator---the total amount of funding---is small, or because the denominator---the amount of infrastructure purchased per dollar---is large. In the US, it's mainly that the denominator is large. And because the denominator is large, we choose not to make the numerator as big as it could be. Also, the point about public transit is a real cheap shot against Republicans. Public transit accounts for a small percentage of total infrastructure investment. Even if it were doubled, this would have almost no impact on our infrastructure budget. And much of what transit is built now fails to pass a benefit-cost test. Look at BART's extension to Livermore. Look at the new Bay Bridge span, which now has a whole book about it [http://www.citylab.com/politics/2015/10/from-250-million- to-...](http://www.citylab.com/politics/2015/10/from-250-million- to-65-billion-the-bay-bridge-cost-overrun/410254/)

</comment><comment> awinter-py Senescence and capacity are half the problem; the other half is that the teams (public as well as private) maintaining these systems don't have the logistics capacity to 'repair in place', to make substantial fixes without taking a train line completely offline.

(And I assume municipalities aren't offering to pay extra for that service).

</comment><comment><USER9> This stuff costs money to maintain and upgrade.

I wonder if our whole culture's commitment to taking care of infrastructure has been eroded by the computer industry. We can just shut off the power on our old racks of servers, hand over their carcasses to the steel-recycling guys, and move their workload to AWS or someplace, for a net savings.

It doesn't work that way with bridges or railroads. It doesn't seem to work that way with air traffic control systems. Those things have to last at least a century, and have to be repaired in place, while still in use.

But when pols propose asking us to pay for that stuff, we refuse and vote them out of office. There's always some perfectly good excuse to say no: government waste, crooked contractors, expensive labor, you name it. Bottom line: we behave like the economic version of Moore's Law applies to highways. It doesn't.

<comment><USER10> Commodity computer hardware, to say nothing of AWS, hasn't been around nearly so long as our habit of skimping on infrastructure funding.

</comment></comment><comment><USER11> BART is famously underinvested and is struggling with the same issues. For example: [https://www.bart.gov/news/articles/2016/news20160316-0](https://www.bart.gov/news/articles/2016/news20160316-0)

</comment><comment><USER12> Good thing the administration started working shovel ready projects in 2009. Otherwise imagine how much less change would there be.</comment>


Bookdown – Authoring Books and Technical Documents with R Markdown - <AUTHOR> https://blog.rstudio.org/2016/12/02/announcing-bookdown/ <comment><USER3> If you use R on a daily basis this is a very nice feature.

</comment><comment><USER4> R with Rstudio is making some major progress in using R for presenting. Rmarkdown, ReportRs for PowerPoint and now this.

</comment><comment><USER5> I _love_ Bookdown, but only once I figured out how to incorporate it into my writing workflow.

I'm writing a ~150 page monograph. As the document evolved, organizing the prose and reordering the structure gradually became too cumbersome in plain text Markdown files (whether I used R Studio or some other editor). So I shifted my writing over to Scrivener---the best long-form writing tool I've ever used, highly recommended.

I write RMarkdown in Scrivener and compile the document into plain text. I manage my reference materials Zotero and export bibtex bibliography. Bookdown then takes the two files, incorporates all my calculations, tables, plots, and figures, and outputs a beautifully rendered document.

<comment><USER6> Why was the prose and reordering too cumbersome? was it updating all the references or something else?

<comment><USER5> It's just the process of organizing your ideas in a logical order. At the start, I have a bunch of ideas and I do my best to organize them into an outline. But as I begin writing and continue my research, I realize that some of my ideas suck, or I have new, better ideas, or I see a better way to share my ideas with the reader, so I need to constantly reorganize my document.

I don't know if this process is a sign that I'm an amateur writer or not, but Scrivener makes document organization incredibly simple compared to writing in a normal text editor. It also enables me to keep my notes sorted without interfering with the prose.

By the way, updating all the references is very easy using Bookdown and a bibtex bibliography.

</comment></comment></comment><comment><USER7> I still lose all formatting when copy-pasting code from the pdfs being generated. Why does that need to be a problem? Eg from page 47:

      ---
      title: "An Impressive Book"
      author: "Li Lei and Han Meimei"
      output:
      bookdown::gitbook:
      lib_dir: assets
      split_by: section
      config:
      toolbar:
      position: static
      bookdown::pdf_book:
      keep_tex: yes
      bookdown::html_book:
      css: toc.css
      documentclass: book
      ---

[https://bookdown.org/yihui/bookdown/bookdown.pdf](https://bookdown.org/yihui/bookdown/bookdown.pdf)

<comment><USER8> Because PDF is for printing purposes. There could be many many problem if you copy and paste from PDF (white spaces being eaten, ligatures, curly quotes, en/em-dashes, ...; almost as bad as Word, except that PDF is beautiful). So don't copy from PDF, but from HTML instead. HTML is much more faithful in terms of preserving characters.

<comment><USER7> So it is just an inherent limitation of pdfs? That's too bad, for some reason I find the html format less intuitive.

</comment></comment></comment><comment><USER9> Can somebody explain to me why they would download a programming language just to write a technical paper? I get that it's a replacement for TeX, but with a name like Bookdown, I expect it to be as simple as Markdown in terms of setup.

<comment><USER10> It's not a replacement for TeX. R originally had Sweave for weaving R and text together. Then we got Rmarkdown, which introduced the use of markdown for authoring documents via pandoc, but the output document only had simple features like headers, sub headers, emphasis and so on.

Now Yuhui from Rstudio (who's been prolific in this area) has written bookdown for authoring books with rmarkdown. It's not for authoring statistical papers (as the other comments stated - that's rmarkdown's realm) it's for books like Hadley Wickham's R4DS and Advanced R. Other examples can be found on the bookdown website.

I'd also add that, regardless of inserting R code, bookdown is a class authoring format and personally I would write a book or large document in bookdown even if it was just pure prose.

<comment><USER11>
      > It's not for authoring statistical papers (as the other comments stated

While you are technically right what will most likely happen is what we can already see (on [https://bookdown.org/](https://bookdown.org/)) - exactly what I described in my comment. _Of course_ one could write a novel with it. Any publishing tool can be used to publish "just text". But who is going to end up using this tool? Pretty much only people already using R, and that - <USER2> from people taking a course - is people doing statistics.

I looked at two randomly selected pages in two randomly selected books on the homepage (I swear I didn't click on more than those two to select examples that fit my narrative), both show it's being used just as I said.

\- [http://r4ds.had.co.nz/exploratory-data- analysis.html](http://r4ds.had.co.nz/exploratory-data-analysis.html)

\- [https://bookdown.org/robertkck/ecf_draft/low-carbon-is- promi...](https://bookdown.org/robertkck/ecf_draft/low-carbon-is- promising.html#low-carbon-technology-in-innovation-and-export) (this one has interactive graphics)

My reply was aimed at someone who doesn't seem to know any of the background story.

I agree with you that it's a nice tool for a lot of purposes.

</comment></comment></comment><comment><USER12> Has anyone used both Bookdown and Softcover [1] to compare the two?

Softcover is something similar written in ruby that uses a combination of markdown with latex where necessary to generate HTML, PDF, ePub, and mobi book formats. It is what Michael Hartl uses (and created iirc) to build Rails Tutorial.

While it seems tightly linked with the Softcover publishing service, you can use the files it generates pretty much anywhere in my experience.

[1] [https://github.com/softcover/softcover](https://github.com/softcover/softcover)

<comment><USER8> A few differences I spotted as I quickly read the Softcover book (I'm the main author of bookdown, so I could be biased):

Bookdown is built on top of R Markdown, which means it has the genes of literate programming (knitr) and Pandoc. Literate programming is an important bridge to reproducible research (source code and prose in the same document), which we strongly believe in. We also value Pandoc's efforts in standardizing Markdown, although John Gruber didn't seem to care [1].

Softcover seems to be focused on the typesetting syntax, cherry-picking from different flavors of Markdown plus LaTeX when Markdown cannot get you there.

I think the design of these tools is heavily influenced by the background of their authors. I have been a student in the statistics major for several years, and published a few academic papers, a PhD thesis, and a book before, so I know some of the pain of publishing these things. The overall feeling you get from bookdown may be "hmm, this is for people in the academia" (who else cares about equations or theorems after all). By comparison, the feeling I get from Softcover is "this is for software manuals" (who else would care about code listings). Neither feeling is accurate: bookdown is not only for academia and softcover is certainly not only for software manuals.

There are certainly many differences in the Markdown syntax, but I don't think it is worthwhile listing them here. One subtle thing is that on bookdown book pages, you may see an edit button that takes you to Github to edit the R Markdown source, then send a pull request. This little feature is one of my personal favorite features.

Another major difference is that Softcover provides the service of marketing and selling as well, and bookdown is only a tool for authoring books at the moment (you have to talk to publishers by yourself). Both self-publishing and publishing with an established publisher have their pros and cons, e.g. the former is quick and the latter is slow. We leave the decision to the authors. Several platforms for self-publishing exist, and authors can send the PDF/EPUB there if they want.

[1] [https://twitter.com/markdown/status/507341395137658880](https://twitter.com/markdown/status/507341395137658880)

</comment></comment><comment><USER6> Anyone know what markup language was used to express the math equations? Was that Tex or something else?

<comment><USER8> Yes, the syntax is LaTeX (thanks to MathJax). See Chapter 2 of the bookdown book: [https://bookdown.org/yihui/bookdown/](https://bookdown.org/yihui/bookdown/)

</comment></comment><comment><USER13> I've been toying with [http://weasyprint.org](http://weasyprint.org) and Python markdown toward similar (but as yet unrealized) effects, and quite like the idea.

It's not too hard to, say, write a Python Markdown extension to do the same using pandas, seaborn and the usual data science tools from the Python universe, but I salute the R folk for getting this done in what appears to be a quite consistent fashion.</comment>


Show HN: Akepa – Our HN App - <AUTHOR> https://www.snappymob.com/blog/2015-05-14-akepa-has-landed/ <comment><USER2> Found a bug in the app that allowed me to get the pro version without paying. Email is in my profile if you want to chat. Would prefer to not make it public info :)

</comment><comment><USER3> [http://hackerwebapp.com/](http://hackerwebapp.com/)

<comment><USER4> Built one with reapp at: [http://hn.reapp.io/](http://hn.reapp.io/)

</comment></comment><comment><USER5> Since the official API ([https://github.com/HackerNews/API](https://github.com/HackerNews/API)) does not support authentication, how are you collecting and storing auth credentials for login/posting?

<comment><AUTHOR> We don't store credentials within the app. When you login, we just keep the (long lived) auth cookie provided by HN if login succeeded and reuse it in the future when posting.

</comment></comment><comment><USER6> It's great to see another app for HN that allows posting.

I used to use Hacker News (YC) by Dharmesh Patel and was very happy with it but it is read only. I tried news:yc which claims to support posting but that never worked. I submitted a bug report but never heard back.

I use MiniHack by Cai GuangShao for reading, voting and posting now. It works really well and I'm very happy with it. A while ago I reported a small bug and it was fixed immediately.

What can I do with Akepa that I can't do with MiniHack? Why should I switch?

<comment><USER7> There is a cool little stuff when you login into hn, it has 1password support.

</comment></comment><comment><USER8> Excellent, excellent. Does it phone home?

That is, does it connect strictly to the HN and only websites explicitly opened by the user? Or does it talk to something else on the Internet behind user's back?

<comment><USER9> We contact our servers only to verify receipts when you buy Pro (had some issues with that earlier :$). We also use analytics for crash reports.

Everything else is either direct to [https://news.ycombinator.com](https://news.ycombinator.com) or [https://hacker-news.firebaseio.com](https://hacker-news.firebaseio.com) (the official API). And, of course, sites explicitly opened by the user.

Edit: We also use the readability API for reading mode. [https://www.readability.com/](https://www.readability.com/)

</comment></comment><comment><USER10> Love it, nice work!

Feature request: be able to collapse comment threads (on the AlienBlue reddit app it's swipe left to collapse, swipe right to re-expand, but any mechanism would be greatly appreciated).

Another very minor (and AlienBlue-inspired) request: since you can swipe left from a comment page to go back to the article, it would make sense to be able to swipe right to navigate from the article over to the comment thread.

Thanks for putting this fantastic app out there, best of luck!

<comment><USER11> I would absolutely pay for collapsible comment threads. I hate comment systems that don't allow it, and it's one of the reasons I love Disqus. While we're requesting features, can HN add this to the site?

<comment><USER12> You can use HNES ([https://github.com/etcet/HNES](https://github.com/etcet/HNES)) for Chrome to get collapsible comments. You can also use my fork ([https://github.com/ibejoeb/HNES](https://github.com/ibejoeb/HNES)) to try some enhancements to the collapsible comments, which does persistent collapses and new comment indicators on the parent thread.

</comment></comment></comment><comment><USER13> looks like the icon is morse code for "akepa"

<comment><USER14> Indeed. And apparently

      ʻAkepa is a Hawaiian term meaning "agile"

According to Wikipedia.

</comment></comment><comment><USER15> I like the app: the UI is amazing! I hope to see some technical posts about Swift on the Snappymob blog.

I have a small suggestion. I think the homepage copy would work better if you edited some of the clichés: "Make the app your own" and "Let Your Voice Be Heard" could be improved, for example.

</comment><comment><USER16> For those of you not on iOS 8 like me, here's another nice client : [https://itunes.apple.com/us/app/hacker-news- yc/id713733435?m...](https://itunes.apple.com/us/app/hacker-news- yc/id713733435?mt=8)

</comment><comment><USER17> It would be sufficient if HN finally added responsive CSS. Grant me access and I do it for you.

</comment><comment><USER18> Just attempted to go Pro ($5? Of course! Quality work should be rewarded). As soon as the purchase was complete, the app said it couldn't verify the purchase and to try again at a later time.

<comment><USER19> Hey,

Thanks for the report! We are going for a quick fix now, something on the validation server :P

Thanks for the support!

<comment><USER18> Thank you!

</comment></comment></comment><comment><USER20> Looks really clean, beautiful, well thought out and designed. Keep up the good work!

</comment><comment><USER21> Looks great. One thing I loved about HackerNode was the fact that I could send an article to Chrome. (Maybe I'm blind, but I can't figure out how to add Chrome to the iOS 8 activities sheet.) The in-app browser is nice, but this is an important feature for history-diving purposes. I'm sure lots of your target market don't use Safari on the desktop. Any plans to support it?

<comment><USER19> Nah, you are not blind, I can't figure that out either. we will put the suggested feature (share to chrome) in the list, if it's not too tricky, likely it will be there in the next version since it's something affecting the HN consumption experience :)

<comment><USER22> Isn't this explicitly a chrome issue? My understanding is that apps need to "advertise" themselves to appear in a share sheet, so they appear as an option for the user?

</comment></comment></comment><comment><USER23> Just paid for pro, and up voting/ commenting from inside. I don't even care if I'm giving you my authentication creds. So gud!

</comment><comment><USER24> I like the work, but whats up with the taste analogies in your app's description (i.e. Delicious UI)?

</comment><comment><USER25> Just downloaded, seems really polished and looks beautiful.

I'm currently a user of [http://hn.premii.com](http://hn.premii.com), I'd make the switch to your app if you can get the 'yesterday's best' page, and an option to have readability mode on by default.

Very promising though, out of interest how long have you spent on the project?

<comment><USER26> Wow, that's a great looking webapp.

<comment><USER27> Its not just on web, it is available on both iOS and Android and works quite well on all 3 platforms.

</comment></comment></comment><comment><USER28> Nice app. Personally, I am pretty happy with yohackernews for mobile. One thing I'd like to know more about though is Akepa's icon / logo. It's very cool. I would love to read about your design process & ideation.

<comment><USER19> Thanks for your love towards the Akepa logo ;)

I will see if I can do some write ups on the design process for the app, which can be interesting (or boring) I think.

But hey, thanks again!

</comment></comment><comment><USER29> Looks beautiful, disappointed it's iOS focused and there's no Android version.

Either way, good job.

</comment><comment><USER30> This app is really nice and well designed but I think I'll stick with "Hacker News (YC)" by Dharmesh Patel. Here is why:

\- Your font looks really cool but I can't read it for a long period of time. Could you add an option to adjust the font size (I know I can change that in the iOS settings but when I do that, all the text is bigger and this distracts me. I only need big text for long reading sessions). Hacker News offers that in the settings.

\- I really would like to test out your pro themes, but I don't want to pay the full price for testing it. How about you let us use all these themes for the top story (i.e. only for one story). If I like the themes, I'll buy pro because I want to have it for all stories. This is better then a preview text.

\- I really like Hacker News' "Content read" (I don't know how to call it). Instead of opening the full HTML page, it only shows me the content of the page – without any distracting CSS fonts, ads, or banners that block the content. It is extremely helpful for pages that are not optimized for mobile and for pages that need 2 clicks to get to the content (for example github requires me to click "View all of README" although all I wanna do is read the readme. The HackerNews app takes care of that for me. It also loads the content when I'm in the underground train or in school incredible fast. I only have edge internet there and a full HTML page with all assets takes over a minute to load.

<comment><USER9> Hi there. We're going to take note of the first two points and see what we can do about it.

As for the third, have you tried reading mode? It's the armchair icon to the URL in the browser.

<comment><USER30> Hey, thanks!

As of the reading mode (that was the word I was looking for), Yes, I have heard about it. I use it when I load a webpage in Safari. Still, it is only available when the page finished loading. When I'm riding the train I have edge internet + heigh latency and package loss, loading a JS library (that almost every webpage has), is close to impossible. It takes ages and almost always times out. Since most of the time the <script> tags are in the header, the content won't be visible until the scripts are there. Maybe there is a library that does the job.

<comment><USER9> You should be able to enter reading mode before the page finishes (or even starts, for that matter) loading.

We use the readability ([https://www.readability.com/](https://www.readability.com/)) API, which does all scraping/parsing server-side.

<comment><USER30> Sorry, I didn't read the parent comment thoroughly enough. I though you meant the reading mode in safari.

Then, I suppose my third point is invalid :) Thank you very much :)

</comment></comment></comment></comment></comment><comment><USER31> I would pay for this if it came with a browser plugin that synced my already- viewed links between devices

</comment><comment><USER32> Finally!!!! Thanks for this!!! Just downloaded and purchased the pro!

</comment><comment><USER33> Sold. iOS dev myself, and I love the interactions. Commenting with the app now.

First feature request: enable readability by default in settings.

Cheers!

<comment><USER33> Also, weird side note: when enabling readability on this post, you get an error.

</comment></comment><comment><USER34> Question: how do you get to a list of your comments / submissions?

<comment><USER19> Not yet in our 1.0 (which is our MVP), but I can assure you it is in the pipeline :)

</comment></comment><comment><AUTHOR> Maker here. Just a fun note. One of the hardest parts about making the app was getting enough karma so we could test downvoting.

<comment><USER11> What is that karma threshold? The site guidelines seem intentionally vague on this.

<comment><AUTHOR> 500 \o/

<comment><USER11> Wow. Pretty funny imagining a dev team on HN all day, writing insightful comments all in the name of testing.

<comment><USER35> I can personally guarantee you that comments don't have to be 'insightful' to get karma.

<comment><USER36> [5 - Funny]

</comment></comment></comment></comment></comment></comment><comment><USER37> Congrats, seems to work pretty well. I can tell you why I won't be switching away from Minihack [1], though.

First, apparently there is no collapsing support. Secondly, and more importantly, that default font. Not a fan. It's super thin, tiny, and you can't adjust the text size. Apparently there are "pro" themes, but you force the user to buy without giving a preview of what you'll be getting. Thirdly, no night mode; Minihack's is really pleasant.

[1] [https://itunes.apple.com/us/app/minihack-for-hacker- news/id6...](https://itunes.apple.com/us/app/minihack-for-hacker- news/id631108846?mt=8)

<comment><USER38> To be honest, I didn't know you could collapse comments. Since there's not a way to "discover" it in the UI, I figured that it didn't exist. While I'm not sure of the implementation, I think it would be a benefit to the end users to show off that feature better in the UI.

<comment><USER37> To be fair, swiping is fairly common in iOS apps. Mail and Reeder come to mind. When I try out a new app I usually test to see if UI elements support gestures like these.

Showing some kind of button defeats the utility somewhat, and I think a help pane explaining available gestures would be a better solution. You could stick it in the preferences view.

<comment><USER38> I agree with you that we've trained users to expect UITableView Cells to be swipeable, yet I'd argue that the comments on MiniHack don't fit into a "standard" UI for cells (they don't look like a table view cell from Mail and Reeder, especially since a cell can take up more than a screen of height).

As such, I wouldn't expect my users to know to swipe them. I do agree that a help pane would do the trick, but personally I would probably lean towards an AlienBlue type of indication that the "cell" is actionable (the triangle showing Compressed or Uncompressed, and a row of icons that appears when you tap the cell, instead of the popup from the bottom).

That said, a JazzHands[0] type tutorial would serve perfectly fine too!

[0] [https://github.com/IFTTT/JazzHands](https://github.com/IFTTT/JazzHands)

</comment></comment></comment></comment><comment><USER34> This is really beautiful - you should be proud of your work!

Feature request: please let me make the font smaller (and perhaps change the typeface?).

</comment><comment><USER39> Android?

<comment><USER40> They lost us...

<comment><USER19> Trust me (and us), we wanted to make the best HN reading experience on Android devices as well, but we are totally short of hands, therefore iOS for now.

<comment><USER41> I trust you, but the guy upstairs is right. You did kinda lose us.... There's a lot of "us".

</comment></comment></comment></comment><comment><USER42> I have used HackerNode for the longest time. It has some weird UI elements but for some reason I like the way it uses the screen space, all the other seem to involve a lot of scrolling (more than I personally want)

Sadly recently HackerNode's comment section broke and none of the ASK HN type posts render any more. So I guess what I'm saying is, I'll give it a go :-)

<comment><USER19> Definitely give it a try and let us know what you think :)</comment></comment>


Mistakes: The Price Of Progress - <AUTHOR> http://48hrlaunch.wordpress.com/2008/08/26/mistakes-the-price-of-progress/

<comment><USER2> Ahhh, so true.

It's like that whiny voice you get in your head when you're trying to work with a poorly documented API, and you get blocked trying to figure out how to do something. Then you get that after-lunch caffeine shot, or whatever, and you realise - 'hey, I could, you know, just _try_ a few things, see how the framework responds', and you have a prototype up and running in 5 mins...

I encounter the same problem when trying to write fiction - total Writer's Block, because you are worried about the fact that what you are writing is crap. Yes, it probably is crap, but don't worry too much, it's easier to edit crap into something good than it is to write something good from scratch.

I just wish that I had a reliable way of getting myself hit over the head with a piece of 4x2 each time I block like that, when writing _or_ programming, rather than wasting unproductive, frustrating hours staring at a blank screen...

<comment><AUTHOR> So I'm not the only one? lol Excellent!</comment></comment>


ArangoDB 3.5 Released - <AUTHOR> https://www.arangodb.com/2019/08/multi-model-database-arangodb-3-5-released-distributed-joins-streaming-transactions-extended-graphdb-search-capabilities/ <comment><USER2> Really glad to see this release, some really nice features coming with 3.5

</comment><comment><USER3> What is ArangoDB's distributed transactions story?

<comment><USER4> Supporting full distributed ACID transactions is the holy grail for databases, especially if you want them with minimal performance impact. For single instance settings we guarantee full ACID semantics and in a cluster setting ArangoDB supports atomic operations. Getting full distributed transactions working and minimizing their performance impact on writes is something we are still investigating. The new streaming transactions API in v3.5 brings also improvements to handling of transactions in a clsuter but are not distribuzed transactions.

For more details please see our docs [https://www.arangodb.com/docs/stable/transactions- transactio...](https://www.arangodb.com/docs/stable/transactions-transaction- invocation.html)

</comment></comment><comment><USER4> Congrats to the whole team!</comment>


PostgreSQL Exercises - <AUTHOR> https://pgexercises.com/ <comment><USER2> Really cool! One suggestion: it would be great to have the schema of the table(s) you need to query against shown above the sandbox for each exercise. The pop-up window is great but I don't have enough screen space to keep it open and refer back to it while writing a solution.

<comment><USER3> Author here: yeah, that seems to be a common theme. I will probably update the site at some point to fix this. Sadly I'm mid-emigration at the moment, so it probably won't be in the immediate future :-). I've raised [https://github.com/AlisdairO/pgexercises/issues/19](https://github.com/AlisdairO/pgexercises/issues/19) to cover it so I don't forget.

<comment><USER4> Your site looks great! I built [https://www.sqlteaching.com](https://www.sqlteaching.com) , so feel free to use that design if you want a setup that has both the schema and expected output. I made the design tradeoff of using really small datasets.

<comment><USER3> Thank you, I appreciate it!

</comment></comment></comment></comment><comment><USER5> If any one here is doing serious DB based business logic with PostgreSQL (which I do recommend), I'd implore them to investigate and start using LATERAL JOIN.

[http://blog.heapanalytics.com/postgresqls-powerful-new- join-...](http://blog.heapanalytics.com/postgresqls-powerful-new-join-type- lateral/)

This is no doubt a game changer in the way you organize (modularise for reuse) your views, functions and stored procedures.

In the MS SQL world it's CROSS APPLY.

<comment><USER6> > to investigate and start using LATERAL JOIN

And modern SQL at all - [http://use-the-index-luke.com/blog/2015-02/modern- sql](http://use-the-index-luke.com/blog/2015-02/modern-sql)

</comment></comment><comment><USER7> This is awesome! This will come in handy to me because I've switched to Elixir and Phoenix, which uses Ecto as it's default data access package - Ecto's syntax is very sql-y

<comment><USER8> You should know your DB whatever you use to access it.

</comment></comment><comment><USER9> If you are _made of money_ and in the UK, you can attend this course[0] which is all taught using Postgres, doesn't require being enrolled in the associated MSc, and will seriously up your game.

[0] [https://www.cs.ox.ac.uk/softeng/subjects/DAT.html](https://www.cs.ox.ac.uk/softeng/subjects/DAT.html)

<comment><USER6> If you are not made of money, you can _thoroughly_ read (from A to Z, it's not a cookbook!) PostgreSQL official documentation, it's awesome.

<comment><USER10> I also like _PostgreSQL 9.0 High Performance_ by Gregory Smith.

<comment><USER6> Talking about books, I'd say _PostgreSQL Server Programming_ is especially worth to look at, because extensibility is the very thing where PostgreSQL shines.

<comment><USER11> I had a street fighting knowledge of Postgres. I picked up "Postgres Up and Running" which filled in a lot of holes in my knowledge. It was surprisingly good for an O'Reilly book.

</comment></comment></comment></comment></comment><comment><USER12> The one exercise I would love is calculate rolling retention. It's a very common SaaS metric but really hard to get/calculate. I don't know any ORM that does it elegantly.

<comment><USER13> Window functions... ORMs will probably never support them

<comment><USER14> I use Slick to access Postgres and it does support postgres window functions: [https://github.com/tminglei/slick- pg#details](https://github.com/tminglei/slick-pg#details)

<comment><USER15> Slick is the coolest ORM I have ever used. The way it lifts SQL types into Scala code is something I have never seen done elsewhere.

That being said it was also one of the hardest libraries for me to learn. The docs are okay but it seemed like I found more features in peoples github repos that were not documented on the Slick website.

</comment></comment></comment></comment><comment><USER16> Discussion from 2013: [https://news.ycombinator.com/item?id=6893333](https://news.ycombinator.com/item?id=6893333).

</comment><comment><USER17> love this site for getting back into the groove before technical phone screens, can anyone recommend another site with similar problems?

<comment><USER18> Shameless plug, bug I wrote SQLBolt ([http://sqlbolt.com](http://sqlbolt.com)) for the same reason, because there was a lack of good, simple interactive tutorials for SQL.

<comment><USER19> This is very well done and a great review of basic SQL before an interview.

</comment></comment></comment><comment><USER20> FYI on the Khan Academy, they have some excellent database tutorials: [https://www.khanacademy.org/computing/hour-of-code/hour- of-s...](https://www.khanacademy.org/computing/hour-of-code/hour-of-sql)

The coolest part is that the sql engine is actually sqlite compiled with emscripten to javascript.

More details on the implementation here: [https://brianbondy.com/blog/168/sql- on-khan-academy-enabled-...](https://brianbondy.com/blog/168/sql-on-khan- academy-enabled-by-sqlite-sqljs-asmjs-and-emscripten)

</comment><comment><USER21> The site works a bit awkward on my phone (iPhone 6), something with the width. Might want to debug that :)

<comment><USER22> I don't know if I'm too old, my eyes are too bad or hands to clumsy, but it boggles my mind that people would even try to enter SQL queries on their phone.

<comment><USER21> Haha, no. But I browse HN on my phone.

</comment></comment></comment><comment><USER23> Would someone with background in other sql flavors be able to use this as a into to PostgreSQL?

<comment><USER3> You should be able to - there's some pg-specific stuff, but the large majority is standard.

</comment></comment><comment><USER24> Very fun, managed to capture my attention for a few hours so far.

</comment><comment><USER25> Just what I need. Thank you!

<comment><AUTHOR> You're welcome.

That's what I needed, as well. :) Randomly found it and decided to share.

<comment><USER3> Author here - thanks for sharing, it's gratifying to see it on HN!

</comment></comment></comment><comment><USER26> Thank you for making this. It's cool.

OOT, at first glance, the design of website looks like Ubuntu documentation page.

</comment><comment><USER27> cd.facilities - why can't they include that information on every page? Other than that, I love it.

</comment><comment><USER28> 5x cartesian product of the eight-row table in exercise #1: Server copes well, Chrome not so much. :(

</comment><comment><USER29> I have been giving this website to most of our new hires and the results are phenomenal.

</comment><comment><USER30> I've been looking for something just like this!

</comment><comment><USER31> I want to learn more about databases and relational databases. I just started off with python (lpthw by zed shaw). Any leads ?

</comment><comment><USER32> Off-topic, but why do random comments have no downvote arrow? Not that I'm at all inclined to downvote anybody, but guessing some kind of web glitch showing up. Thought I should mention it.

Edit: the downvote anchor is completely missing in random fashion. Didn't notice the problem in other topics.

<comment><USER16> Downvote arrows disappear after the time window for downvoting is up, and that time window is shorter than for upvoting. Also, no one can downvote direct replies to themselves.

It's better to send questions like this to firstname.lastname@example.com, though, as the site guidelines ([https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)) ask.

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

<comment><USER32> Sorry about that. It's been a while, I'll reread the document you suggest.

</comment></comment></comment><comment><USER33> This website is really badly designed, here's why: [http://i.imgur.com/RqRaDxb.png](http://i.imgur.com/RqRaDxb.png)

<comment><USER34> While I agree with you that the website could use visual polish, I disagree on how you presented your critique. Your audience for this is the author, who obviously knows what the site looks like. Offer specific helpful suggestions or don't bother at all.

The author spent many hours of hard work creating this site, for free, and makes it available to anyone who wants to use it. The least that you could do is not phone in a design critique by just posting a screenshot and saying "this site is poorly designed".

<comment><USER35> That comment has nothing to do with "visual polish". Instead, the screenshot is showing a syntax error apparently being accepted as a correct answer, and I don't think that's something the author has seen.

<comment><USER3> That is true! It was a bug - fixed now.

FWIW I think the comment was perhaps a little over the top given the severity of the issue, but on the other hand I'm very happy to have received the bug report :-).</comment></comment></comment></comment>


NGINX Unit 1.0 is available and production-ready - <AUTHOR> https://www.nginx.com/blog/nginx-unit-1-0-released/ <comment><USER2> I'm struggling to understand the purpose of this, or why I would choose this over php-fpm. It seems to be competing with Docker as it isolates applications with cgroups, but if I'm already running docker, what's the point? Perhaps another layer of isolation? ¯\\_(ツ)_/¯

</comment><comment><USER3> I still don't understand what Unit is.

Is it more like Nginx or like Traefik?

Is it more a replacement for fastcgi or for php-fpm?

<comment><USER4> It looks like this is a replacement for uwsgi[1] -- which has a ton of features on it's own, and plugins for these languages and more ...

[1] [https://uwsgi-docs.readthedocs.io/en/latest/](https://uwsgi- docs.readthedocs.io/en/latest/)

</comment></comment><comment><USER5> "As of Release 1.0, NGINX Unit supports Go, Perl, PHP, Python, and Ruby on the same server. Multiple language versions are also supported, so you can, for instance, run applications written for PHP 5 and PHP 7 on the same server."

 _Proceeds to give no examples for setting up PHP 5 and PHP 7 on the same server, anywhere on their site_

<comment><USER6> I wondered about that too and found the solution on Github: [https://github.com/nginx/unit/issues/46](https://github.com/nginx/unit/issues/46)

<comment><USER5> That's further than I got. Mostly my issue is that, if we're now getting into needing to compile nginx unit from source and manually compiling the PHP modules, it doesn't save anything over setting up php with CGI or WSGI. I'm not afraid of compiling software, but I am afraid of regular update maintenance of compiled software, so I try to only use packaged released whenever possible. I would rather slightly harder initial configuration than manual compilation.

</comment></comment></comment><comment><USER7> I'm guessing this is meant for microservices and containers?

Edit: It is. I can't figure out if it is completely new or of it shares code with Nginx "Classic".

And another edit: They don't seem to have support for dotnet core planned. Interesting.

<comment><USER2> From what I can gather, nginx still sits in front of Unit and proxies requests to it

</comment></comment><comment><USER8> Will be interesting to see how Java runs on this. Currently Spring boot is sucking up all oxygen in Java microservices space which is basically tomcat inside Spring container instead Spring in Tomcat container.

</comment><comment><USER9> Seems like the most benefit of it is together with NGINX+ which costs minimum 2500$/year/instance.

<comment><USER10> why do you think that?

<comment><USER9> If you want to scale it, It would be more expensive not to choose the already integrated route (NGINX+) rather than building your own (API GW, LoadBalancer) wouldn't it?</comment></comment></comment>


Higher social class predicts increased unethical behavior (2012) - <AUTHOR> https://www.pnas.org/content/109/11/4086?phpMyAdmin=cfc2644bd9c947213a0141747c2608b0 <comment><USER2> Oh boy. Very trustworthy "science" right here.

There are so many problems with this...

Study 5+7: online survey via _Mechanical Turk_ (n=90/108) _really_?

Study 6: online survey via Craigslist ad, voucher reward

Study 3+4: survey with _undergrad students_ (n=120/150)

Studies 1+2: rating behaviour of about 200 drivers at an intersection

* Not even a definition for social class or ethical behaviour.

* "Social class" was assigned via self-ranking or car value, both very problematic.

* Almost no numbers or info on methodology.

* Online surveys with self ranking for social class, and via paid Mechanical Turk participants or Craigslist ad with vouchers are sure to give a very accurate and representative sample with "higher class" individuals...

* In 1+2, very low n considering how easy data collection would be. Driver age and gender were ostensibly controlled for, but I'm doubtful this was done properly.

The hypothesis might very well be true, but this "research" is about as valuable as a tabloid opinion piece.

<comment><USER3> Yeah, I'm sure it'll get plenty of citations though and in modern science that's the figure of merit.

<comment><USER4> The irony of it is that when you consider the reality of increasing wealth inequality (and the power imbalances that this creates), the claims made by the article are consistent with the ethical degradation of modern science and business in general.

</comment></comment></comment><comment><USER5> Another researcher has discovered soon after problems with that publications p-value.

      Evidence that publication bias contaminated studies relating social class and unethical behavior

[https://www.pnas.org/content/109/25/E1587](https://www.pnas.org/content/109/25/E1587)

</comment><comment><USER6> Here's a later study from different authors that replicates but also refines these findings: [https://psycnet.apa.org/doiLanding?doi=10.1037%2Fpspi0000008](https://psycnet.apa.org/doiLanding?doi=10.1037%2Fpspi0000008)

> Replicating past work, social class positively predicted unethical behavior; > however, this relationship was only observed when that behavior was self- > beneficial. When unethical behavior was performed to benefit others, social > class negatively predicted unethical behavior; lower class individuals were > more likely than upper class individuals to engage in unethical behavior. > Overall, social class predicts people's tendency to behave selfishly, rather > than predicting unethical behavior per se.

</comment><comment><USER7> Study 1 + 2

> As vehicles are reliable indicators of a person's social rank and wealth > (15), we used observers' codes of vehicle status (make, age, and appearance) > to index drivers' social class.

Study 3

> Participants also reported their social class using the MacArthur scale of > subjective SES [1].

Study 4

> Participants experienced either a low or high relative social-class rank by > comparing themselves to people with the most (least) money, most (least) > education, and most (least) respected jobs. Participants also rated their > position in the socioeconomic hierarchy relative to people at the very top > or bottom. This induction primes subjective perceptions of relatively high > or low social-class rank.

Study 5

> Participants also reported their social class using the MacArthur scale

Study 6

> Participants also completed the measures of social class and attitudes > toward greed that we used in study 5.

Study 7

> Participants also reported their social class using the previously described > MacArthur measure.

___

1\. [https://macses.ucsf.edu/research/psychosocial/subjective.php](https://macses.ucsf.edu/research/psychosocial/subjective.php)

</comment><comment><USER8> What does 'upper class' mean to the authors?

To me, 'upper class' means something like an international billionaire, or a member of a European aristocracy, someone with considerable social influence, something like that.

Here it seems to mean someone driving a new car?!

<comment><USER9> For the study with cars at an intersection, they simply used the model and make of the cars, so an old toyota vs. a new mercedes for example would be on opposite ends of the spectrum.

<comment><USER10> The problem with that is, plenty of wealthy people drive mundane or even frugal cars. I'm guessing that the need to drive a flashy car can correlate with being an asshole much more strongly than wealth.

</comment></comment></comment><comment><USER11> This tiny-sample study [Piff 2012] hasn't held up strongly in attempts to confirm/replicate:

[https://twitter.com/DegenRolf/status/1053175632568442880](https://twitter.com/DegenRolf/status/1053175632568442880)

</comment><comment><USER12> Why there is reference to PhpMyAdmin in the url ? It sounds like an old good vulnerability

</comment><comment><USER13> Since higher position in a social structure always means better treatment by the judicial system, it should be expected that the reduced deterrent would result in more bad behavior.

<comment><USER14> Your point is well-taken, but _always_ is a stretch.

<comment><USER13> True, one should always avoid the word "always". But given that the world just saw a Senate trial of a nations highest ranking member occur with no witness and no evidence allowed, the claim remains pretty strong.

</comment></comment></comment><comment><USER15> I assume the free will ideology creates unethical behaviour by the outcome of creating justification towards social stratification. Then we get falsehood excuses for materialism and judgement & punishment of the less privileged. The higher social class ends up being delusional to reality.

</comment><comment><USER16> All behavior is selfish. Each level is supported by the lower level. Upper class has a smaller support of semi-elites below them they must appease. Many things are zero-sum so most actions at this level take from the majority for the minority. Thus unethical behavior baked into hierarchy.

<comment><USER17> >All behavior is selfish.

That's highly debatable. A child would be incapable of survival in its first few years of life if it weren't for the love of its mother. I guess your response to that will be that it's selfish genes to which I don't really have a counter response.

</comment></comment><comment><USER18> Extremely disappointing that a scientific paper makes proclamations about ethics without even defining what "unethical" means. This is really missing the forest for the trees, especially considering that numerous philosophers have argued that traditional Christian morality (which led to current conceptions of democratic morality) is itself a morality of the lower classes. In that case, it's almost inevitable that higher social classes would be unethical according to the lower classes.

[https://en.wikipedia.org/wiki/Master–slave_morality](https://en.wikipedia.org/wiki/Master–slave_morality)

I should add that I don't necessarily buy this argument, but I do think that scientists conducting experiments involving morality should be aware of the field's history of thought.

<comment><USER19> > numerous philosophers have argued

Friedrich Nietzsche is not "numerous philosophers".

<comment><USER20> How does one even define "Traditional Christian Morality?". It's in no way a monolithic religion. Even within the same denomination you can go from Jesus to Saint Olga for your definition of "moral".

The more I read Nietzsche the more glad I am that I live in a society that does not greatly value philosophy.

<comment><USER21> > The more I read Nietzsche the more glad I am that I live in a society that > does not greatly value philosophy.

Your society still values some philosophies, even if you happen to be ignorant about where they come from. It just makes it harder for you to understand and question them.

The people who have chosen your philosophy for you probably don't want you to recognize it as a philosophy. They want you to see it as "common sense", "the real world", "the natural order of things", "my guts" or something like that.

</comment></comment></comment></comment><comment><USER22> PNAS resorting to buzzfeedy, click bait faux research.</comment>


Iraq war 10th anniversary: A dark mark for news media - <AUTHOR> http://latimesblogs.latimes.com/lanow/2013/03/iraq-war-anniversary-a-dark-mark-for-the-news-media.html

<comment><USER2> I theorize that the U.S. has never been so close to actual fascism as we were in 2003.</comment>


Show HN: Pushing the limits of React Native (react-native-insta-photo-studio) - <AUTHOR> https://www.youtube.com/watch?v=w2MZMxMO0js <comment><AUTHOR> Demo starts at 04:10. It's a journey. Been creating a media-picker in React Native that mimics the instagram-app's media-picker, cropper, filterer. I've reached a milestone where open-gl is next to be implemented. But this first part has really pushed React Native and it's pixel pushing capabilities to it's limits. My conclusion React Native is fast and capable.

</comment><comment><AUTHOR> Video with better audio: [https://youtu.be/oMOo5iEdI2c?t=245](https://youtu.be/oMOo5iEdI2c?t=245)</comment>


People on the autism spectrum live an average of 18 fewer years, study finds - <AUTHOR> https://www.washingtonpost.com/news/to-your-health/wp/2016/03/18/people-on-the-autism-spectrum-live-an-average-of-18-years-less-than-everyone-else-study-finds/?hpid=hp_hp-more-top-stories-2_autism-330pm%3Ahomepage%2Fstory <comment><USER2> Do accidents play a role here? Everyone's always talking about suicide and the possibility of that being more common among those on the autistic spectrum, but...

As someone on said spectrum, I'd say I might be more accident prone than someone who's normal, and potentially more likely to get into trouble in general. For example, while I wasn't seriously injuried by any of it, I've been nearly hit by traffic, fallen off various things, actually been hit by traffic and done quite a few things which would probably be seen as rather 'stupid' (in an 'endangers your health' sense).

Perhaps it's possible that due to various behavioural factors, those on the spectrum might be prone to getting into dangerous situations and paying the price for them more than 'normal' people. Being generally clumsy seems to be a common trait here.

There's also a potential darker side here, in that being on the spectrum might make some more likely to end up in a violent confrontation than someone who isn't. There were quite a few news stories in the past where people with these traits have been assaulted or even killed because they did something that somehow annoyed some random scumbag. Maybe people outside of the autistic spectrum might be more likely to see a situation is trouble and stay out of it.

Those things plus the risk of suicide could all explain this difference in mortality.

<comment><USER3> The original paper (paywall-free link: [http://sci- hub.io/10.1192/bjp.bp.114.160192](http://sci-hub.io/10.1192/bjp.bp.114.160192) ) itemises the frequencies of causes of death by control population and autism spectrum disorder population.

It suggests that autistic people are an order of magnitude more likely to commit suicide. But the figures also suggest that autistic people were more at risk from _all_ causes of death, including common causes of death amongst the general populations (approx twice as likely to die of cancer; are autistic people more at risk of not getting the best available treatments in time or more prone to [uncontrolled] unhealthy behaviours?)

Some caution is needed in interpreting the figures, which appears to escape the notice of a Washington Post subeditor who didn't even get the figure in the headline right (the difference between a sample life expectancy of 70.20 years and 53.87 years is _not_ 18... )

It's worth noting that sometimes autism is likely to have been a _symptom_ of the causes of death recorded (for example, people diagnosed as being on the autism spectrum were more than eight times likely to have "congenital malformation" as a course of death, which is a cause of death which by definition doesn't have a behavioural component).

Another factor is the survey sample is unavoidably biased because the individuals were separated into autistic and non-autistic groups based on whether they had been in contact with clinical psychiatrists over their autism, something plausibly _much_ more likely if they're suffering from unrelated health problems; the short average period between diagnosis of autism and death stands out here.

<comment><USER4> It sounds like the ascertainment bias there will be improved as time passes:

> Weaknesses of the present study include exclusive reliance on the National > Patient Register for case ascertainment, leading to a selected and perhaps > severely affected sample by only including individuals with ASD who had been > in contact with clinical psychiatry services. This selection bias may be > particularly relevant for individuals diagnosed before the year 2001 (i.e. > before contact with out-patient psychiatric care services was included in > the National Patient Register). However, after the year 2001 (88.2% in > current data) all individuals having received an ASD diagnosis are > registered in the National Patient Register because of the diagnostic > assessment per se, i.e. also in cases with no further contact with > psychiatric services.

Another way around this would be genotyping: use an autism polygenic score to quantify genetic liability. If the increased mortality is observed even with elevated polygenic scores which are insufficient to lead to diagnosable symptoms, that would suggest the cause is greater general genetic risk to disease rather than sequelae to symptoms.

<comment><USER5> I wonder how the mortality for people diagnosed with ASD compares with the mortality for people diagnosed with anything by a psychiatrist. It seems likely that by the time people see psychiatrists they're already on average less healthy than the general population.

</comment></comment></comment></comment><comment><USER6> That's interesting to me because I've often wondered if I fall on the autistic spectrum (very high functioning though), and I've had suicidal ideation in the past. Nothing I'd ever act on, of course.

I bet the primary cause of autistic people feeling suicidal is a lack of social awareness and how to act around others. They probably incur large social costs by not seeing social cues, saying the wrong things, and opportunity costs like feeling too anxious or inadequate to even be social.

I think what helped me the most is focusing on being more empathetic, using the golden rule, and thinking from other people's perspectives. It improved my relationships with people drastically and now I'm generally happier. I usually feel like my empathy isn't genuine and too intellectual, if that makes sense, but the change in my focus has helped a ton.

Even if I'm not on the autistic spectrum, trying to be more socially aware and provide value to others has been very worthwhile.

<comment><USER7> Fear of death is arguably either an emotion, or has a high emotional component and since autistic people do not process emotion well, they may well be far more inclined to see suicide as an option. (disclaimer: pure layman speculation)

</comment></comment><comment><USER8> Public perception and available resources have changed dramatically over the last 25 years. As recently as the mid-80s, nobody even knew about autism. Not even doctors. Depending upon where you lived, you might have to visit a dozen different specialists before you could find someone familiar with autism and get that diagnosis. Once you had the diagnosis, all the normal people you'd encounter in life would regard it as some made-up condition ("Hey, I'm _artistic_ too, lol."). It was difficult to explain, which made it difficult to get special services at school, etc. Early childhood intervention was not widely available the way it is today.

The people who are now dying early and contributing to these statistics got little of the help and awareness that benefits newer generations of those on the spectrum. I have hope that these numbers will improve over time as autism becomes more widely understood.

<comment><USER9> Nobody knew about autism, so instead you were mislabeled as mentally challenged or mentally ill.

Treatment was a lot less humane too for those affected by mental illnesses. Things like lobotomy and electroconvulsive therapy were accepted as routine, safe, and effective treatments for those patients afflicted with what you would now call autism in modern medicine.

</comment></comment><comment><USER10> I thought that everybody was on the "spectrum". So what does it mean to say the average lives 18 fewer years? Isn't that like saying that people on the skin color spectrum live 18 fewer years?

<comment><USER11> The autism spectrum is a continuum of mild to severe impairment in the domains of social communication and restrictive repetitive behaviors and interests. It is not coextensive with the range of possible cognitive dispositions. The introduction of autism spectrum disorder in the DSM-V was meant to collapse hard-and-fast distinctions between what were previously classified as four distinct disorders (autistic disorder, Asperger's disorder, childhood disintegrative disorder, and pervasive developmental disorder). It does not recast autism as just another shade of normal.

<comment><USER10> There is no 'normal'

</comment></comment></comment><comment><USER12> Could it be that autists are being told to kill themselves in "certain" online communities?

For instance, from the urban dictionary entry on autism: "Shut up weeaboo faggot kill yourself you autistic bitch!!!!!11!!!"

That is not an isolated example.

</comment><comment><USER13> Curious the depth to which they compared reduced cognitive function in general and how much that correlated with other low functioning conditions. Autism often brings the image of a quirky or simply socially awkward individual to mind, but the reality is some are sufficiently developmentally delayed that they lack the ability to care for themselves at all. (Its a very wide spectrum). Which is only to say I wonder if the statistic is autism specific or generalizable to any low functioning individual.

<comment><USER14> _Its a very wide spectrum_

I don't think the autism diagnosis has been broadened for long enough to actually have meaningful lifetime statistics.

Is the data for this study public? I wouldn't be surprised if the their claim is simply based on the fact that only severe impairment would have been classified as "autism".

</comment></comment><comment><USER15> Afro american have also fewer years, as well native americans, as well as males, as well as ... depressive, bipolars...

Is the difference in life expectancy due to autism, or is it a potential effect of discrimination?

If it was due to discrimination, maybe life expectancy discrepancies could be a practical measure of discrimination?

And what about the distribution? If the 90th percentile was higher than for other "categories" what would you conclude?

</comment><comment><USER16> People should refuse to take part in studies that will not be published as open science.

</comment><comment><USER17> For those of us using Privacy Badger to block stuff, can someone repaste the article?

<comment><USER11> [https://dpaste.de/zXsM](https://dpaste.de/zXsM)

</comment></comment><comment><USER18> thats really sad news

</comment><comment><USER19> I get frequent suicidal ideations. It's always like when I'm overhwlemed and upset, it just goes from angry --> sad --> suicide --> planning but I never go through with it. It's impossible for me to do it. So I just take it as my way of coping...with self destructive fantasies.

I think studying Eastern philosophy, buddhism and taoism will help people on spectrum gain a much more rational and scientific view on reality.

Anyways, sure is a struggle, especially with people, relationships, intimacy, everything is that much more difficult but you know I just think like people have different skills, people on autistic spectrum are off the scale in one area but equally unable in many other areas that normal people will have no issues with.

<comment><USER20> So, I'm autistic. Anyone who follows me on HN or Reddit has seen me speak about what it's like to grow up autistic in a part of America that didn't officially recognize Autism (let alone variants like Aspergers) until it was too late to help me.

I sometimes do suicidal ideations, but then the part of me that is usually being like "hey, you can't have fun and enjoy yourself, because ten years ago someone you didn't know very well said bad shit about you" (ahh, depression, my old friend), is like "you committing suicide isn't the answer... them committing is a more acceptable answer."

And, well, that part of me is right. If you're that big of a pile of shit to attack people based on their disabilities, well, society doesn't really need you, and you're representative of the cancer that is killing society.

And, for a while, I'm okay again. The depression goes away, and I start functioning half way decent again.

I will say, though, 200mg of Theanine twice daily with a strong cup of coffee (and only one, let's not get into caffeine obsession), one an ~hour after I wake up, one about 6-8 hours later, powers me through the day and shuts that part of me up.

<comment><USER19> that was edgy</comment></comment></comment>


Bublé: a fast, batteries-included ES2015 transpiler - <AUTHOR> https://buble.surge.sh/guide/ <comment><USER2> I've already used this for a couple of projects, and works exactly like advertised: blazing fast. Also, it's from the guy behind Rollup, Ractive, Gobble, all tools that I use and love.

<comment><USER3> I've just created a starter project to provide a simple boilerplate to get started with React bundled as an ES2015 module via Rollup, compiled by Bublé [https://github.com/yamafaktory/buble-react-rollup- starter](https://github.com/yamafaktory/buble-react-rollup-starter) .So far so good!

</comment></comment><comment><USER4> _> Rather than manipulating the AST, Bublé manipulates the source code directly, using the AST as a guide – so there's no costly code generation step at the end._

Is that really good idea when looking at the possibility of introducing bugs in the transpiler?

<comment><USER5> > Is that really good idea when looking at the possibility of introducing bugs > in the transpiler?

That's what a test suite is for :)

<comment><USER6> Surely the AST is still produced? Acorn is the parser I assume?

<comment><USER5> Correct – Acorn is a truly wonderful library

<comment><USER7> Hey Rich, I wish some time you would write more about magic-string and what makes it special. You say "no costly code generation step", but what makes codegen costly compared to what you're doing in magic-string?

<comment><USER5> I plan to write about this in the near future (in fact I'm writing slides for a talk on it this week) – essentially, codegen is more costly because a) you have to generate the entire program, rather than just modifying the nodes that have changed, b) your code generator needs to know about every single node type, and c) you have to keep track of state (e.g indentation levels).

</comment></comment></comment></comment></comment></comment><comment><USER8> [https://twitter.com/domenic/status/721796970197684224](https://twitter.com/domenic/status/721796970197684224)

<comment><USER9> "Bublé is so funny. Remember Babel started out as "Traceur output is too complex!" Over time they learned that being spec-compliant matters." — Domenic Denicola (@dominic, Editor of the @htmlstandard and @streamstandard. Works on @googlechrome.)

<comment><USER10> (Continued) "Now the cycle begins anew, with a "lightweight" ES transpiler that generates output with oversimplified, wrong semantics."

<comment><USER11> That seems like a biased description. Being lightweight doesn't seem to be a goal. The goal is having a very clear function with no configuration, and being simpler is just for brownie points.

</comment></comment></comment></comment><comment><USER12> I don't see any mention about async functions, are they supported? It's the single most important reason why I prefer to go with transpiling from es7 rather than es6.

Or maybe it's now part of ES2016? I get quite lost in those sliding features...

<comment><USER13> I don't think async is currently in the official spec. Last time I checked it was stage 3.

<comment><USER14> I didn't know it was still in progress... really hope async/await makes it in. I'm betting on that pattern to make JavaScript much more pleasant to write!

<comment><USER15> It'll probably make it into ES2017, given that Edge, Chrome and maybe FF will have it in their browsers by the end of next year, official spec or not. It's a popular feature, and with Promises and generators in place, easy enough to support.

It really does cleanup a lot of code, but getting people to understand that an Async function returns a promise isn't always the easiest thing to convey until after it's been used. I resisted Promises for a while, once it became a part of ES6, and with async/await in Babel, I started using it... the cleaner code is worth the minor bit of overhead.

</comment></comment></comment></comment><comment><USER16> Honestly, why invest time re-writing an ES2015 transpiler? Hasn't this area already been sufficiently covered by existing tools (especially since the author explicitly "limits [Buble} to ES2015")?

<comment><USER5> Because it's many times faster (~4x faster with small files, ~20x faster with large files), very easy to set up, and tiny (which has a significant impact on CI – it's very quick to install). It also generates leaner code, and doesn't rewrite the parts that don't need to be transpiled, so your style/formatting is preserved. We need to update the docs – it actually supports ES2016 (only one new language feature – the exponentiation operator) and may support JSX in future.

<comment><USER17> How does it compare to the Typescript transpiler? Do you have benchmarks somewhere?

<comment><USER5> Not yet, though I agree that would be worthwhile

<comment><USER17> If your selling point is speed, I agree that a benchmark would be worthwhile..

<comment><USER18> Compared to Babel, which he clearly had a benchmark for. No need to get toxic.

</comment></comment></comment></comment></comment></comment><comment><USER19> This look really great, thanks! Any ideas how to connect it with JSX code? Is it possible to use it with the JSXTransform from React v0.13 or is there any other alternative (and preferably lightweight) JSX transformer that is not Babel?

<comment><USER5> There's an issue open for JSX: [https://gitlab.com/Rich- Harris/buble/issues/26](https://gitlab.com/Rich-Harris/buble/issues/26). The short answer is it's definitely on the TODO list, either as a separate preprocessing step that uses the same techniques (buble-jsx), or in the tool itself. Just haven't got round to it yet :)

<comment><USER6> I continue to use babel 5.x which is much easier to use than babel 6.x which cannot be globally installed. Babel 5.x supports jsx by default. Would be great if buble would have feature parity with babel 5.x to ease the switch over.

</comment></comment></comment><comment><USER20> Can someone explain to me the use of a transpiler like this? I'm a novice and I can't think of any personal use cases

<comment><USER21> you mean transpilers like this, and Babel, in general?

You want to write ES6 code today, but your clients (= browsers) don't support it yet. So you use the transpiler: write ES6, compile to ES5, serve that.

It's the opposite of what Python did with the 2to3 tool, where you wrote Python 2, and converted it to Python 3 before running.

Why do you want to write ES6? Well, hopefully, every change ES6 introduces to ES5 is an improvement. I'd hope. So every different thing between them, you'd want to use, sort of by definition. That's the idea, at least :)

<comment><USER15> For me, the biggest changes are the syntax sugar... rest, spread, fat-arrow syntax, destructured assignment, etc. The vnext bits I'm most using are async/await, and some of the class/property extensions, and more rest/spread/destructuring extensions. A lot of the other stuff is of less interest to me in writing code, but I can see how they would appeal to others.

Not every piece has to be useful to everyone.

</comment></comment></comment><comment><USER14> Really cool project. I haven't had the opportunity to use things like Buble or Babel on a project yet but would certainly like to.

I don't quite follow why plugins are discouraged in your FAQ section. I was looking at this Gulp plugin (it's very new, but looks straightforward/is idiomatic gulp): [https://github.com/TrySound/gulp- buble](https://github.com/TrySound/gulp-buble) \-- I'm not following why that would be an anti-pattern.

<comment><USER5> Ah, I should clarify the readme. What that refers to is plugins that add additional functionality to Bublé, such as compiling features that aren't yet in the spec (class decorators and so on). Plugins like gulp-buble, which allow other tools to work smoothly with Bublé, are warmly encouraged!

</comment></comment><comment><USER22> The in -> out example for Classes (transforms.classes) helps me understand how ES6 classes work, as I was really confused

I'm still unsure what they offer over a simple object with property key values.

<comment><USER23> > _I 'm still unsure what they offer over a simple object with property key > values._

They offer a particular abstraction, that gives a certain automatic conceptual clarity for free. Personally, I'm a massive fan of prototype-based object systems, but having the class syntax sugar on top of it has made certain patterns clearer to express even if it's semantically equivalent.

My main issue with ES2015 classes, is that I've seen some projects use it for everything including things that it's really not required for; really putting the _Java_ back in Javascript, so to speak. But that can be said for a lot of language features, really.

</comment></comment><comment><USER6> rich_harris Yet another great project. Thanks.

Question - how to have buble accept input from stdin and output to stdout? This is useful for quick ES6 tests and chaining piped output.

buble with no args prints help. Would be more useful if it just started parsing code from stdin as babel 5.x did.

<comment><USER5> Thanks! It does accept input from stdin and direct to stdout if you do e.g.

        cat somefile.js | buble

– can you explain in more detail what you mean? (Or better yet raise an issue :)

<comment><USER6> `cat | buble` did the trick! Thanks.

</comment></comment></comment><comment><USER24> Hey Rich, Bublé looks interesting! Ever going to move onto ES2016/17/etc features? Can't imagine myself just being satisfied with ES2015 for years to come.

<comment><USER5> ES2016 is already supported, in fact – it only adds one new language feature, the exponentiation operator. (It also adds Array.prototype.includes, but that's an environment feature rather than a language feature, i.e. it needs to be supported via a polyfill rather than a transpiler).

The idea is for Bublé to eventually become irrelevant (planned obsolescence) – but as new language features do arrive it will be fairly straightforward to add them. I'm just not sure if there'll be that many more language features after ES2017, at least of the transpilable sort – I'd be surprised if we ever have another big bang like ES2015 was.

<comment><USER15> generators and async/await are pretty big pieces missing for me... can't speak for others. And generators are mostly as a path to async/await for me.

<comment><USER5> Cool features, but they don't transpile very well (the output is much larger than the input), and require a non-trivial runtime component. Unless you're aware of the tradeoffs and have determined that the cost to your users is genuinely worth the nicer coding experience, I'd argue that it qualifies as a footgun.

Having said that, I'm very interested in seeing where [https://github.com/marten-de-vries/kneden](https://github.com/marten-de- vries/kneden) goes.

<comment><USER15> I absolutely understand that the transpile is kind of weird and requires tooling... the regenerator output isn't too hard to follow, but probably the farthest from the input.

All of that said, I think it's definitely worth it, and the extra size is less of a difference for larger projects. For server-side code, the size is less of a difference since it isn't downloaded, and the performance impact has been negligible in terms of noticeable, real-world performance.

Of coure by the end of 2017 I expect most browsers to have implemented async/await natively... so by 2019 won't be an issue... that said, it's still 2016, so I'll keep using Babel.

<comment><USER5> That's a good point regarding server-side code

</comment></comment></comment></comment></comment></comment><comment><USER25> Wait, doesn't Babel provide a zero-configuration setup for ES 2015-to-ES5 transpilation?

<comment><USER7> No, Babel does nothing by default.

<comment><USER25> Yes, Babel by default does nothing, but I meant, does it not have a quick route to ES 2015-to-ES5 transpilation without having to perform the standard installation and setup procedure? (I'm asking from the perspective of someone who hasn't started using Babel yet.) Something like "install this one thing and you're done"?

</comment></comment></comment><comment><USER26> Interesting, but not sure why you'd ever use this instead of TypeScript. TS has most everything this has - including real ease-of-use compared to Babel - plus a lot of additional stuff that's critical for large code bases. And its semantics are very clearly defined.

<comment><USER27> I love TypeScript, but one thing that I find increasingly irksome is the phenomenon of TypeScript advocates who present a dismissive attitude towards workflows that don't include TypeScript.

Why would I ever use this instead of TypeScript? A totally reasonable answer to this question is that I don't want my JavaScript sources to require transpilation before they will run in a modern browser.

<comment><USER5> > I don't want my JavaScript sources to require transpilation before they will > run in a modern browser.

Exactly this. Bublé is designed to become increasingly redundant as node and browsers progress, until one day you can just remove it from your stack altogether. Planned obsolescence is an underrated feature in software

<comment><USER28> I think you mean [https://en.wikipedia.org/wiki/Forward_compatibility](https://en.wikipedia.org/wiki/Forward_compatibility) and not [https://en.wikipedia.org/wiki/Planned_obsolescence](https://en.wikipedia.org/wiki/Planned_obsolescence).

<comment><USER5> Actually now that I read both definitions, neither is quite right. Perhaps a better metaphor would be dissolvable stitches – you need them when your wound is open, but once it heals the stitches vanish.

If anyone can help me out with a less gross version of the same metaphor I'd be grateful!

</comment></comment></comment></comment></comment><comment><USER29> i was hoping to see something compiling ES to native code, not another transpiler...

<comment><USER30> Here's something a bit like that, it turns TypeScript into JS, WASM and C, very early but interesting - [https://github.com/evanw/thinscript](https://github.com/evanw/thinscript)

<comment><USER30> Replying to myself because it is too late to edit: thinscript isn't exactly typescript, it has some extra features and doesn't attempt full js compatibility, but they are very similar.

</comment></comment></comment><comment><USER31> not yet another transpiler/compiler for Js

</comment><comment><USER32> My main complaint with bublé is that it wasn't called babybel.

<comment><USER32> in all seriousness though, if I rely on async/await is kneden/nodent the way to go?

<comment><USER33> kneden is cool, but fairly buggy still. I wouldn't recommend it unless you just want to play around with it and possibly work on making it less buggy.

I believe most people use Babel to compile async/await to generators.</comment></comment></comment>


Apple and SAP Team Up for Blockbuster Partnership - <AUTHOR> http://fortune.com/2016/05/05/apple-sap-partnership/ <comment><USER2> A match truly made in Hell.</comment>


Borges and Money - <AUTHOR> https://blog.longreads.com/2016/06/14/borges-and-money/ <comment><USER2> Borges has been my favorite author ever since I first read El Aleph. His work is amazing, and it sometimes surprises me how few of the "non literary scholar" crowd have read his works, since so many of his stories are crazy enjoyable poeticly written mind trips.

If you haven't read anything of his I can only say read la biblioteca de Babel :)

<comment><USER3> My favorite is "Tlön, Uqbar, Orbis Tertius". Still makes me smile to read it.

<comment><USER4> When Wikipedia got started, one of their early crises / edit wars had to do with people wanting very strongly to describe Tlön from an in-universe perspective. (People who've read the story will understand why!)

A kind of analogous later Wikipedia edit war had to do with whether the article about _Gadsby_ (the lipographic novel that doesn't use the letter E) should be written with the same constraint as the novel itself, and also whether the article on E-Prime (an approach to writing English without using the verb "to be") should be written in E-Prime or not. But I feel like the Tlön issue was the granddaddy of all of these controversies.

</comment></comment></comment><comment><USER5> In Argentina we read Borges in school. I remember reading "The house of Asterion" when I was 12 years old. Really happy to read about him in HN :-)

<comment><USER6> I love "The house of Asterion"! I've read it when I was in school too. The ending is simply amazing.

</comment></comment><comment><USER7> Looking forward to reading this! The author, Elizabeth Hyde Stevens, wrote a book I really enjoyed called "Make Art Make Money: Lessons from Jim Henson on Fueling Your Creative Career" — [https://www.amazon.com/Make-Art-Money- Lessons-Creative-ebook...](https://www.amazon.com/Make-Art-Money-Lessons- Creative-ebook/dp/B00EVAAE6A). It's full of interesting insights about Henson's approach to not only his art but also the business that enabled him to sustain it. Big fan of Borges, so hoping this is equally great.

</comment><comment><USER8> > In his spare time, he learned German in order to read Sartor Resartus in the > original.

Sartor Resartus is in English.

<comment><USER9> Borges taught himself German to be able read Arthur Schopenhauer in its original language. Interestingly he also learned to read Italian by reading an English translation of the Divine comedy with the original text in one page and the translation in the other. The translation was by John Carlyle, Thomas' brother.

</comment></comment><comment><USER10> I first discovered Borges in high school. We read "The Book of Sand" from a textbook. I've been wrapped up in the mysticism of the scenarios of his writing ever since. Years later, I visited his home city, Buenos Aires, and felt a bit of the magic he had written about.

</comment><comment><USER11> I liked the story of Emma Zunz as a grieving daughter. The Garden of Forking Paths is clever and cited as an important work on possible worlds and predestination.

Further coverage of the 30 year anniversary of Borges' passing here:

[http://www.bbc.com/news/world-latin- america-36516216](http://www.bbc.com/news/world-latin-america-36516216)

</comment><comment><USER12> Borgess also wrote great poems.</comment>


Fighting fires with the help of Google Glass - <AUTHOR> http://edition.cnn.com/2014/01/21/tech/innovation/google-glass-firefighter/index.html

<comment><USER2> Hopefully tech like this will help with expansive drought, and wildfire conditions, that are prevalent in the western US [1]. Many of these areas have not seen wildfire activity in 30+ years. Fire teams will need help, via technology and otherwise.

[1] Drought Monitor mid-January 2014: [http://droughtmonitor.unl.edu/Home/RegionalDroughtMonitor.as...](http://droughtmonitor.unl.edu/Home/RegionalDroughtMonitor.aspx?west)</comment>


Linus Torvalds is livid -- directs middle digit at Nvidia - <AUTHOR> http://news.cnet.com/8301-1001_3-57454815-92/linus-torvalds-is-livid-directs-middle-digit-at-nvidia/ <comment><USER2> How many times will this be submitted?

<http://news.ycombinator.com/item?id=4121698>

<http://news.ycombinator.com/item?id=4123480>

<http://news.ycombinator.com/item?id=4124097>

<http://news.ycombinator.com/item?id=4124645>

<http://news.ycombinator.com/item?id=4125890>

<http://news.ycombinator.com/item?id=4126272></comment>


Show HN: Make you own pack of cards SplendidSnap – Teaching Aid - <AUTHOR> http://splendidsnap.com/

<comment><AUTHOR> Splendid Snap is a group card game. It consists of a pack of cards, with a selection of symbols on each card. On two cards, there is one identical symbol in common on each card. There will always be one and only one match of symbols.

I have built a website, (django & python) to allow anyone to make their own pack by supplying the raw ingredients of a word list or images or both.

The maths behind how many symbols on each card is fun - [https://en.wikipedia.org/wiki/Fano_plane](https://en.wikipedia.org/wiki/Fano_plane) Code in github.com</comment>


Techcrunch 50 Live Stream - <AUTHOR> http://www.techcrunch.com/2008/09/08/techchrunch50-livestream/

<comment><USER2> Did anyone else hear Calacanis freaking out on someone (my best guess is 5-10 F-bombs in 30 seconds) during an intermission when his mic wasn't turned down?? I had the live stream running in the background, and during a song they had playing, some sort of swear-frenzy started breaking through which was pretty hilarious.

<comment><USER3> Makes you want to work for him, eh? Rightt.... :)</comment></comment>


Stop using text based two-factor authentication - <AUTHOR> https://www.wired.com/2016/06/hey-stop-using-texts-two-factor-authentication/ <comment><USER2> The link-title should be edited to say either "text message based" or "SMS based" for disambiguation purposes, IMHO.

</comment><comment><USER3> [http://archive.is/pLu7H](http://archive.is/pLu7H) for those with adblockers.</comment>


Netflix is down. Some tweets say scheduled maintenance on Sat Evening. Wtf? - <AUTHOR> https://twitter.com/#!/search/netflix <comment><USER2> Was up for me first time I saw this submission, but a few minutes later it went down, saying "Streaming is temporarily unavailable."

</comment><comment><USER3> Up and running for me right now.</comment>


Show HN: Comparing checkin counts from Foursquare and Facebook Places - <AUTHOR> http://www.aleemmawani.com/2011/04/facebook-places-vs-foursquare-checkins.html

<comment><USER2> Very good analysis. This gives a good picture as to where the two services currently stand. Surprisingly Facebook is doing better than I would have predicted. I don't think you'll actually need to do too many more data dumps to see where the trend is. Doing an analysis like this in May would probably be a good indication to see how the respective services are growing.

However, it would still be incomplete since the way they may be growing is through expanding to more cities instead of going "deeper" into a particular city. My guess is that the main cities you looked at are already pretty saturated, though maybe they're not, so doing the analysis next month would definitely indicate which way.

If it's possible now it would be good to see how many cities in North America have at least 1 venue on FSQR/FB, and how many have 10 venues, etc. And then see how that grows over time. I think that way you could get a clearer picture of overall growth without having to make an insane amount of API requests.

<comment><AUTHOR> Yep - planning on doing it one more time in May.

Not sure how I could get the number of venues in a particular city WITHOUT doing these crazy number of API requests. The API doesn't have venue counts for a particular geographic region. For example, the Foursquare API only lets you ask for a list of venues near a certain lat/long. It also limits its results to 50 per request. So there is no way to tell how many venues are in a region without splitting up the region and doing multiple requests then aggregating the results.

<comment><USER2> When you say "near" can you choose the radius? Also does their API return a value such as "total results"?

If the answer to both are yes then you can be quite strategic in how you make your calls and depending on the max distance could cover North America in under 10K calls which would take less than 2 hours to process.

It would also make for a pretty bitchin visualization.

<comment><AUTHOR> Unfortunately the answer is no and no. Foursquare returns the closest 50 venues, period.

Facebook on the other hand is much better. They let you set a radius and a limit to the number of results you want. The limit can be huge, you just have to page through the results (max 500 per page).

If you are interested, checkout apigee.com, they have a cool console that lets you experiment with multiple API's.

What did you think of the Google Earth visualizations at the bottom of the blog post?

</comment></comment></comment></comment><comment><AUTHOR> HN - I performed a quick analysis of checkin counts for different kinds of businesses on both Foursquare and Facebook places. Also, looked at sheer number of places in their respective databases. Mostly obvious conclusions, Foursquare has approx 10x the venues and 10x the number of checkins but it does vary quite a bit depending on category of business and which city you look at.

</comment><comment><USER3> When comparing numbers, did you normalize by time? Facebook places has not been around for nearly as long, so even if they have more people who use the service regularly at those venues, it wouldn't show up in the analysis.

Even so, i find this work interesting, thanks for the data!

<comment><AUTHOR> No problem! There was no normalization by time - that is, this was a snapshot of current data as if April 1, 2011. Unfortunately, there is now way to see for a particular venue, the historical timestamps of every checkin on Facebook. It is possible on the Foursquare API, but not Facebook</comment></comment>