Show HN: My first personal app - HackerNews for iPhone/iPad - <AUTHOR> http://www.hackerno.de

<comment><USER2> I work at Forbes, so it was cool to see our article page in the screenshot. However I noticed the app appears to be blocking Forbes ads and overlaying its own.

I'm perhaps biased in this case, but I would consider that to be bad form.

<comment><AUTHOR> As the maker of the app, I can assure you that the app is not doing any such thing.

It is just loading the page in a simple iOS webview.The social icons that you see come out when you press the button in the centre and go back in when you press it again.

Also I really liked that article :)

</comment></comment><comment><USER3> I have a few of these HN clients, but never use them, because I love chronological front page. If you could add a chronological ordering of the front page (like <http://hckrnews.com> does), I'd buy your app in an instant.

And a _very_ important note: Your app is universal, so don't use TWO separate icons for advertising it - It's confusing, and I thought I have to pay twice for it (one for my iPhone and one for my iPad).

Use [http://static6.businessinsider.com/image/4c1939167f8b9a9c366...](http://static6.businessinsider.com/image/4c1939167f8b9a9c36690000/app- store-badge.png) , not <http://www.ibreviary.com/new/images/app_store_badge.png>

<comment><AUTHOR> You're right.I should have thought of that.

Correction Made.Now it shows one icon.

Thanks a lot!

</comment></comment><comment><USER4> Added it to the HackerNews Apps list

[https://docs.google.com/spreadsheet/ccc?key=0AqL8kR005z0QdEN...](https://docs.google.com/spreadsheet/ccc?key=0AqL8kR005z0QdENvNUJJTjYxY2lVa0RqUzJhTHFqT0E&authkey=CIeUndcL#gid=0)

<comment><USER5> Can you also add my Hacker News Android app (<https://github.com/glebpopov/Hacker-News-Droid-App>) and API (<https://github.com/glebpopov/Hacker-News-Droid-API>)

The API is being by the app but also a few other devs are using it on smaller HN clients/pet projects.

<comment><USER4> The doc is freely editable, so feel free to add it your self.

</comment></comment></comment><comment><USER6> Just bought this and I'm not seeing any way to leave a comment. Am I missing something? The discussions in the comments are the most important part of Hacker News IMO.

<comment><USER7> There is news:yc that supports comments [http://itunes.apple.com/us/app/news- yc/id434787119?mt=8&...](http://itunes.apple.com/us/app/news- yc/id434787119?mt=8&uo=4)

<comment><USER6> Decided to spend the last few hours making my own :-)

Now to decide if I should clean it up and go ahead and put it on the store. Does everything I need though and I solved my boredom problem this afternoon so it was a good day.

</comment></comment></comment><comment><USER8> This looks great - any chance of adding Pocket (formerly Read it Later) support though?

<comment><USER9> Yes. Please. I'll buy it the moment you do.

<comment><USER10> Give Marco Arment a bit Instapaper love!

<comment><USER11> He did; it's literally the _first_ entry on the right column of features.

</comment></comment></comment></comment><comment><USER12> Cool, looking for an Android version! ^^

<comment><USER13> Yes please!

</comment></comment><comment><USER14> Happily purchased! I love what you did with the icon; it looks great.

I'm using it on the ipad now; it's a great UI, I like how you made and used a cascading UI for it. My only suggestion would be to make the news list not as cramped. But, then again, that maintains some style from the current web version :)

</comment><comment><USER15> This is the best HN iPad app for sure - nice work! I like the news:yc iPhone app although though, so not sure I'll switch. One thing I'd like in a HN app is a "night mode", the reddit app I use (Alien Blue) has such a mode, which is great because I always read HN&Reddit in bed.

<comment><USER7> news:yc supports iPad too

</comment></comment><comment><USER16> I am intrigued!

Please consider adding a screenshot of the iPhone Comments view to either your site or the App Store listing. The Comments interface would be the deciding factor for me - I still haven't found a HN app that gets this right.

<comment><AUTHOR> Here is a screenshot of your comment :)

[http://dl.dropbox.com/u/23360122/Photo%20May%2031%2C%209%200...](http://dl.dropbox.com/u/23360122/Photo%20May%2031%2C%209%2000%2057%20PM.png)

Also some more improvements to the comments UI coming soon in the next version!

</comment></comment><comment><USER17> A couple UX suggestions for you. 1\. Display the price on the landing page 2\. Have the logo at the top clickable to the app store. That's where I clicked first, and didn't get what I expected

</comment><comment><USER18> Looks pretty good. I'm a big fan of <http://newsyc.me/> and use it every day on my iPad and iPhone, I'll give yours a shot too.

<comment><USER19> I'd be interested to see a comparison, if you have time to write one

</comment></comment><comment><USER20> I have been using this daily on my iPod touch, it's awesome.

</comment><comment><USER21> Looks great. I currently use news:yc app for HN but don't love it. I am constantly confused on which icon to use to comment.

Might give yours a shot soon!

<comment><USER22> I use news:yc too and I miss the collapsed comments. It was way easier to skip over irrelevant discussion threads when you can browse just top level comments.

<comment><USER23> If you felt so inclined, you could add them back in for your own use since the code is kept on GitHub: <https://github.com/newsyc/newsyc>

</comment></comment></comment><comment><USER24> Why no price info on the landing page?

</comment><comment><USER25> Is there a bookmark option? If you can let me bookmark and tag or group them, I'll buy it instantly!

<comment><AUTHOR> Yes you can add bookmarks to instapaper.

<comment><USER25> Hmm...not quiet what I want. I want to group stuff I've read and want to keep by tags, like python, JavaScript, etc.

<comment><AUTHOR> Thats a good idea!.Will think about this! For now you can save the search query 'python' in the saved searches page.

</comment></comment></comment></comment><comment><USER26> Hi!

Cool app. Excited for when it can leave comments and votes!

Looks like your Path menu at the bottom of articles isn't great when you spam it - I can frequently get just the Instapaper icon to show up if I press it rapidly.

</comment><comment><USER27> I've been a happy use of HackerNode for what seems like two months so far. Well done!

</comment><comment><USER28> For my next project I will make an app to interface with your app and I will call it HackerDo.me so that you can get a slick interface to your interface of really important discussions and news on make money.

</comment><comment><USER29> For me the comments are most valuable. That's why I'm linking and sharing them always (via Twitter). Is there this option where I can share the __comment __link via Twitter?

<comment><USER30> [OT] how do you tweet hn posts? the link or the link to hn comments? (sorry, I can't easily find you on twitter)

<comment><USER29> I tweet the link itself(i.e <http://news.ycombinator.com/item?id=4047264>). I just post them on Twitter. But this is difficult when you are using mobile apps. To solve that I'm doing this steps(for iPhone):

1.) Copy link of the comment 2.) Open it with safari 3.) Share it with Safari's "Tweet" button

That's not convenient.

<comment><USER30> Thanks

</comment></comment></comment></comment><comment><USER31> Looks great nodemaker, have you considered adding the /classic page view?

<http://news.ycombinator.com/classic>

</comment><comment><USER32> What's with all those social buttons sprinkled on top of the ad?

<comment><AUTHOR> They come out when you press the red + button and go back in when you press it again!

</comment></comment><comment><USER33> Kudos for putting effort into a personal project _but_...

It makes me cringe that you clearly used several open source projects (levey's AwesomeMenu[1] comes to mind immediately, and potentially CLCascade[2]) without attribution.

[1] <https://github.com/levey/AwesomeMenu> [2] <https://github.com/appunite/CLCascade>

<comment><AUTHOR> I have used AwesomeMenu and acknowledged it in the acknowledgement section.

CLCascade however I have not used.Took me a lot of time but I made my own!Was totally worth it!

</comment></comment><comment><USER34> Very cool! Now make an application for android too, because all that there are horrific both in design and implementation

</comment><comment><USER35> Looks great, especially the iPad version.

</comment><comment><USER36> @nodemaker haha just noticed you have my tweet on display (1st one), nice!

<comment><AUTHOR> :)

</comment></comment><comment><USER37> Can we login to see our submissions and comments?

<comment><AUTHOR> not yet in this version but you will be able to in the next major release.

</comment></comment><comment><USER38> it would be cool if you implement a readability support :)

<comment><AUTHOR> I tried...but xAuth gave me a lot of trouble!

Will try to add both readability and pocket in the next version.

<comment><USER39> +1 for this request

</comment></comment></comment><comment><USER40> Incredible the cottage industry of HN clients that sprouted just because the website is stuck in 1998.

Goes to show how the community is so important it can trump design.

<comment><USER41> To you it's a negative, to me it's an absolute positive.

I can load HN from any device and can pretty much count on it loading quickly and rendering correctly.

If you have an iPhone, I can see why you would want an app, however. I don't see how people browse comfortably on that device without word wrap.

On a related note, I wish the Android browser had a feature to override HTML tags that prevent you from zooming in on mobile sites. One of the nice things about HTC Sense is that it ignores these tags all together.

<comment><USER40> Apps and zooming and reflowing text are just workarounds. I don't want an app, I want a decent website that can render on a smaller screen. Not hard.

<comment><USER42> But HN renders just fine on my Nexus One in Opera...?</comment></comment></comment></comment>


Octothorpe - <AUTHOR> http://99percentinvisible.org/episode/octothorpe/ <comment><USER2> > In the world outside of Twitter, though, it is still "the number sign."

Or, increasingly commonly, "hashtag":

"What is the use of the hashtag(#) on a telephone?" [https://answers.yahoo.com/question/index?qid=20130329025332A...](https://answers.yahoo.com/question/index?qid=20130329025332AAhXEET)

"How to play C hashtag minor" [http://i.stack.imgur.com/S4pcU.jpg](http://i.stack.imgur.com/S4pcU.jpg) (via [http://ux.stackexchange.com/questions/62190/](http://ux.stackexchange.com/questions/62190/))

<comment><USER3> Honestly, # and * on the dialer are mostly anachronisms from another era. I haven't heard "press # to continue" in ages, everyone uses numbers now. ("Press 7 for STFU")

As for "hashtag minor", it's a reshare of a second-person story, so I trust it about as far as I can throw it.

<comment><USER4> As several people have commented, it's common on phone conferencing systems, when entering the conference code "followed by the pound sign".

It's also used to check Verizon FiOS voice mail, where you enter it after entering your PIN.

As for the *, up until recently, I had a voice mail system where you used it if you were checking messages from a phone other than your own, to signal you'd be entering a phone (non-menu) number.

</comment></comment></comment><comment><USER5> > Unlike rotary phones, touch tone phones allow you to continue to dial after > the connection has been made, enabling the new telephone systems, such as > automated menus.

Actually, rotary phones also worked like that. All you needed was something at the other end that could detect the signal -- called pulse coding, as opposed to the DTMF signal used by push-button phones. I worked with Dialogic boards in the 90s that supported both at the same time, so it was easy to create a PBX or menu-driven system that supported both types of phones.

</comment><comment><USER6> Surprising finding 99% invisible here, but more surprising is the chosen episode, considering its latest is completely computer related, even talks about Steve Jobs.

It closes with a great quote that summarize the episode: "User friendliness has its drawbacks".

[http://99percentinvisible.org/episode/of-mice-and- men/](http://99percentinvisible.org/episode/of-mice-and-men/)

</comment><comment><USER7> The blog "Shady Characters" has a lot of great investigation about the history of the Octothorpe[1], and similarly the Pilcrow[2], Ampersand[3], and "commercial at"[4].

[1]: [http://www.shadycharacters.co.uk/2011/05/the-octothorpe- part...](http://www.shadycharacters.co.uk/2011/05/the-octothorpe-part-1-of-2/)

[2]: [http://www.shadycharacters.co.uk/2011/02/the-pilcrow- part-1/](http://www.shadycharacters.co.uk/2011/02/the-pilcrow-part-1/)

[3]: [http://www.shadycharacters.co.uk/2011/06/the-ampersand- part-...](http://www.shadycharacters.co.uk/2011/06/the-ampersand-part-1-of-2/)

[4]: [http://www.shadycharacters.co.uk/2011/07/the-symbol- part-1-o...](http://www.shadycharacters.co.uk/2011/07/the-symbol-part-1-of-2/)

</comment><comment><USER8> I recently discovered 99pi and was very impressed with the production quality and content. It is short enough to retain the crispness of its format while maintaining a high content-filler ratio. The recent episode on Doug Engelbart's vision of computer interfaces was fascinating [1].

[1] [http://99percentinvisible.org/episode/of-mice-and- men/](http://99percentinvisible.org/episode/of-mice-and-men/)

</comment><comment><USER9> I've never read/listened to 99pi before. At first, I didn't even realize it was a podcast. Then, I hit Play for curiosity's sake, and was impressed to see that the radio script and the article present the same information differently. (As opposed to NPR, which just publishes transcripts as articles.)

</comment><comment><USER10> [https://soundcloud.com/iconjack/he-aint-comin-to-the- phone-r...](https://soundcloud.com/iconjack/he-aint-comin-to-the-phone-right- now)</comment>


Ask HN: Tips for buying a domain in redemptionPeriod - <AUTHOR>

I am looking to purchase a particular domain name that when doing a whois lookup shows the status of "redemptionPeriod" with an updated date of Sept. 1st 2010...
I've been trying to look into the subject and have found many conflicting reports of the best way to go about getting a domain name if it does in fact expire... most recommend pool.com or snapnames.com
I've been seeing some sources that say that it takes 30 days once the domain has entered the redemptionPeriod + 5 days of pendingdelete, others mentioning 75 days for the whole process.
So if anyone has any experience with domain name acquisition once it has gotten to this step I'd appreciate some tips, such as when and how to go about getting it. Thanks <comment><USER2> I just did this about a month ago. I'm pretty sure the timeframe outlined in Mike Davidson's post ([http://www.mikeindustries.com/blog/archive/2005/03/how- to-sn...](http://www.mikeindustries.com/blog/archive/2005/03/how-to-snatch-an- expiring-domain)) was right on. So, 75 days.

If it's helpful, I didn't use any name dropping service. I just waited until the right day, kept checking the whois service (you probably know this, but from the command line, just type in "whois nameyouwant.com"), and then bid on it as soon as I could. It worked out well, and didn't cost anything.

<comment><AUTHOR> thanks, that's exactly what i was looking for about the timeframe and whether or not the name dropping service was worth it</comment></comment>


The Adobe Shooters League - <AUTHOR> http://www.thefirearmblog.com/blog/2013/03/17/adobe-shooters-league/

<comment><AUTHOR> The latest edition of the NRA's Shooting Illustrated magazine also has an article about the league.</comment>


Open-domain question-answering machines are becoming better than humans  - <AUTHOR> http://www-03.ibm.com/innovation/us/watson/

<comment><AUTHOR> The machine may or may not win Jeopardy against human champions next month (I bet it will). But this sort of machines will only improve over time (see computer chess where $19.99 PC software can now beat human champions of all time). If machines can beat humans in answering open-domain questions formed as wordplay, it will be even better in smaller, specialist domains like medicine, law, and business.

Imagine the world where any person have easy access to world experts with latest information in any important domains. Long-term implications in development, education, economics, social policies will be dramatic and opportunities are huge.</comment>


Show HN: Chrome extension to avoid noisy domains in the Hacker News feed - <AUTHOR> https://github.com/mathiasrw/no-noise-hacker-news/blob/master/README.md <comment><USER2> From the source code:

Noise list generate with data from [https://bigquery.cloud.google.com/dataset/bigquery-public- da...](https://bigquery.cloud.google.com/dataset/bigquery-public- data:hacker_news) per november 2015

All domains with more than 2500 stories with more than 60% of stories having 3 or less votes

Sites with usergenerated content was manually filtered out.

[...]

Sites with usergenerated content:

      - blogspot.com
      - youtube.com
      - wordpress.com
      - tumblr.com
      - google.com
      - wikipedia.org
      - github.com
      - bit.ly
      - typepad.com
      - reddit.com
      - stackoverflow.com
      - quora.com
      - youtu.be
      - stackexchange.com

Result:

      - techcrunch.com
      - nytimes.com
      - arstechnica.com
      - wired.com
      - bbc.co.uk
      - wsj.com
      - businessinsider.com
      - forbes.com
      - cnn.com
      - venturebeat.com
      - mashable.com
      - theverge.com
      - thenextweb.com
      - cnet.com
      - washingtonpost.com
      - theatlantic.com
      - readwriteweb.com
      - gigaom.com
      - theguardian.com
      - economist.com
      - reuters.com
      - bloomberg.com
      - yahoo.com
      - guardian.co.uk
      - zdnet.com
      - engadget.com
      - slate.com
      - technologyreview.com
      - theregister.co.uk
      - posterous.com
      - bbc.com
      - gizmodo.com
      - npr.org
      - businessweek.com
      - itworld.com
      - fastcompany.com
      - huffingtonpost.com
      - telegraph.co.uk
      - networkworld.com

<comment><USER3> Hmm, filtering out wikipedia, blogspot and wordpress would eliminate some of the more interesting content.

Surprised medium isn't on here. I'm sort of done with them, signal-to-noise is just not very good.

<comment><USER4>
      > Sites with usergenerated content was manually filtered out.

I read that as Wikipedia, blogspot and wordpress are not being included in "noisy domains" \- which you can verify by looking at: [https://github.com/mathiasrw/no-noise-hacker- news/blob/maste...](https://github.com/mathiasrw/no-noise-hacker- news/blob/master/src/script.js)

I agree with you about Medium though, I might go through the last several months and see if there were any legitimately interesting articles I read from Medium.

The extension is interesting but ultimately I think too set in stone to be generally interesting. I think it would have broader appeal if each user could edit the filtered domains by default.

<comment><USER5> The author does say he's aware of this, and PRs are welcome... I like the idea of being able to flag certain domains as well... although I'm rarely looking at newest anyway.

</comment></comment></comment></comment><comment><USER6> I have a handful of these sites in custom uBlock filters that hide the links to the sites. The sites either require ad blockers be disabled or require a login to use so I'd rather not ever see them. I use a similar list to filter my QuiteRSS feeds. If anyone is interested [http://pastebin.com/T1gxeWtj](http://pastebin.com/T1gxeWtj)

</comment><comment><USER7> Hmm, I feel like a lot of these websites are good for the news feed. If something big happens in the news and HN wants to talk about it, I'd rather the featured article be from nytimes or wsj than some random person's blog.

I also think there is a total lack of consensus about what constitutes "noise" on HN or how bad the problem is. I find the political discussions here to be interesting, but I know a lot of people don't (they just want to talk about business and tech). I like talking about "hip" JS frameworks, but a lot of people here aren't web developers or aren't interested in this area of web development. I'm not a super "businessy" person, so a lot of "A merged with B and now their preferred equity is underwater" articles/discussions go over my head. I often find Medium articles thought-provoking, but some of the stuff posted there is garbage, and many HN readers have only been exposed to that side.

Perhaps a better way to attack this problem is to look at the topics commonly posted about on HN and find a way to filter by topic. There are precise/difficult and greedy/easy ways to go about this, but that might be the best way to satisfy people who have different opinions about what is "noise".

</comment><comment><USER8> _> I am talking about the noise from big websites trying to push their content to HN hoping for a bigger audience._

Does this really happen? If so, it's hard to imagine even 10% of the sites listed actually doing this. It doesn't seem like there would be any overlap between "big websites" and sites where traffic from HN would be noticeable.

<comment><USER9> I am somewhat skeptical the economist is pimping their content on HN hoping for a bigger audience.

<comment><USER10> We're _thought leaders_ , dammit!

</comment></comment></comment><comment><USER11> I'm not sure why "noisy" domains rated X would be any worse than other domains with the same rating X.

(rating does not equal # of points; hacker news takes a lot of other factors into account, resulting in a position on the front page and amount of time on the front page)

I'd trust the continuously tweaked hacker news algorithms. We do know that certain domains are penalized.

If you want to avoid the cruft, just use some sort of service that only shows you the best posts on hacker news. hckrnews.com is one that I like, use the filtering in the top right.

<comment><USER12> I think this is for browsing /newest where noisiness is a more significant factor

</comment></comment><comment><USER13> Typo and/or non native speaker?

> See src/script.js for more details on how the domains where found.

Probably s/where found/were selected/.

<comment><AUTHOR> Thanks - fixed...</comment></comment>


Ember.js or Angular.js? - <AUTHOR> Which is best overall? Which is best in certain common situations? Which is most enjoyable? Which is more maintainable? Why not ember? Why not angular? What are common "gotchas" for each framework? <comment><USER12> I've used SC before it was Ember, hated it. I've been using Angular for a few weeks - LOVE it. It's amazingly quick to build great stuff.

I was on a Skype call with my UX designer the other day talking about how we should display a permissions list: we sent back and forwards a few different sketches, by the time we finished discussing the final sketch I had reimplemented the modal as a radio button, disabling and hiding the checkboxes when the first radio was clicked... at which point I thought, "shit, that would have usually taken 15 minutes to do".

<comment><USER13> Ember has changed quite a bit from its SC roots. I would probably use Angular over SC myself, but if given the choice to use Ember would much rather use it.

</comment></comment><comment><USER14> I think deciding on this will be hard and frankly subjective. My suggestion is that you try both for a small project and decide for yourself what makes you feel at home. It should not take more than a couple of days to assess it yourself.

As for me, I decided to go with Ember.js. To be frank the final decision was between Ember and Angular (over all other frameworks) and I felt that getting past the learning curve of Ember, it made me comfortable. Most importantly both are close/past the 1.0 release.

If you do choose Ember, I would recommend the following:

\- Watch the peepcode's emberjs cast <https://peepcode.com/products/emberjs> (and code it up)

\- Go through the Emberjs documentation on the site, though very likely you will not know how to build a big app. It is still necessary to hone your fundamentals.

\- The 1.0 RC1 that was released yesterday has dependency injection, if that matters to you. My opinion is to just code as little as possible and prefer to stick with the framework's conventions (i.e not use DI).

\- Use a sound build tool. I don't have Ruby/RoR background and so preferred to use Brunch.io (<http://brunch.io/>) - Nodejs pipline. They have a Emberjs skeleton available to get started quickly - <https://github.com/icholy/ember- brunch>. I believe there is a rake pipeline tool for Ruby/RoR folks as well.

\- Ryan Florence recently released a scaffolding/build tool Emberjs - <https://github.com/rpflorence/ember-tools>. I use this to develop my skeletons and use it with my Brunch.IO setup. It is a good place to start and get past the learning curve. The tool will probably become the go to place for building Emberjs apps sometime later.

I am sure you will find similar tools for Angular.js but I think you just have to try something simple in both and find out for yourself what makes you comfortable with these opinionated frameworks :).

<comment><USER15> Your comment is among the sanest in this thread, thanks.

The single most important thing you said is: "It should not take more than a couple of days to assess it yourself."

If you are a serious web developer, you should know the basics of both, they are both great in their own way. Every project have its own requirements and sometimes both libraries will not be suitable, sometimes you will want to go with backbone or something else.

I would recommend going to peepcode.com and egghead.io before jumping into the docs.

I will just leave this here and bail out: I have a hunch ember.js will become a default in RoR by the end of this year.

<comment><USER16> What do you mean by default?

<comment><USER17> It will be a part of the generated Gemfile, much like coffeescript is now.

<comment><USER16> It seems unlikely based on the views of rails core.

</comment></comment></comment></comment></comment><comment><AUTHOR> I have limited experience with javascript and MVMM's and cannot answer all the questions, but here is what I do know:

Which is best overall? Not enough experience with ember.js to comment.

Common gotchas for angular: It's a very different approach when compared to using jquery for everything. The documentation can seem a bit daunting at first, as described in the popular post about why discourse chose ember.js.

"The documentation was simple to understand

Here's some text right out of the Angular.JS guides, about a feature called Transclusion.

'The advantage of transclusion is that the linking function receives a transclusion function which is pre-bound to the correct scope. In a typical setup the widget creates an isolate scope, but the transclusion is not a child, but a sibling of the isolate scope. This makes it possible for the widget to have private state, and the transclusion to be bound to the parent (pre-isolate) scope.'" - [http://eviltrout.com/2013/02/10/why-discourse-uses- emberjs.h...](http://eviltrout.com/2013/02/10/why-discourse-uses-emberjs.html)

A lot of these problems are solved by the excellent tutorial videos at <http://www.egghead.io> though. I have no affiliation to the site, but it has made a ton of things about angular more clear for me.

Hope this helps!

<comment><USER18> Ha ha, nice way to scare people off angular and justify their decision ;) Transclusions are an interesting feature to cherry pick because a) they're a necessary complexity to enable reusable components (one of angular's greatest strengths), and b) they highlight the steep learning curve required to truly master angular.

I agree that the docs can be a bit vague occasionally, but I think that's only due to the sheer depth of features and flexibility that angular provides. I was a skeptic for a long time (was championing knockout.js), but having used it in both personal and professional projects, I'm a convert.

Angular is a thoroughly well designed library, that gets the hell out of your way.

<comment><AUTHOR> I wasn't _trying_ to scare people off of angular, as it's what I am currently trying to use. I find it to be a very good framework, but also plan on checking out ember.js to see if it provides more for me overall or not.

<comment><USER18> Yeah, sorry, was referring to the discourse article, not meaning to implicate you.

</comment></comment></comment></comment><comment><USER19> I haven't used ember.js, but have been getting my teeth into angular.js over the past couple of months. Overall, I've been very happy with it.

What I liked:

\- Relative simplicity and very little code for most common tasks (showing/hiding content, AJAX and JSON support, breaking down the UI into components / areas).

\- Great testability, thanks to relatively clean separation of concerns.

\- The two way databinding support is awesome and works well. This does away with lots of the usual boilerplate.

\- Templating is very straightforward.

\- No performance issues to report. But from what I can gather, Angular a bit like the Swing framework - it's possible to shoot yourself in the foot and write poorly peforming applications. (Haven't managed to do that yet ;))

What I'm struggling with:

\- Working with directives is complicated. They are the only way you can integrate with other javascript components sanely. Specifically, I ran into some issues with how to make the databinding work between directives. Still wrapping my head around how that bit works.

\- It took a while before I was able to get my unit tests up and running (most example test suites were out of date with the current way of doing things)

\- I have some (minor) issues with how things are named. There are two kinds of 'Controllers', for example, which are used in very different contexts (in the DOM, and in directives). Angular's 'controllers' are actually closer to models IMHO (they are where you manipulate state) than controllers.

</comment><comment><USER20> From Addy @ - [http://coding.smashingmagazine.com/2012/07/27/journey- throug...](http://coding.smashingmagazine.com/2012/07/27/journey-through-the- javascript-mvc-jungle/) ::

I want something flexible which offers a minimalist solution to separating concerns in my application. It should support a persistence layer and RESTful sync, models, views (with controllers), event-driven communication, templating and routing. It should be imperative, allowing one to update the View when a model changes. I'd like some decisions about the architecture left up to me. Ideally, many large companies have used the solution to build non-trivial applications. As I may be building something complex, I'd like there to be an active extension community around the framework that have already tried addressing larger problems (Marionette, Chaplin, Aura, Thorax). Ideally, there are also scaffolding tools (grunt-bbb, brunch) available for the solution. Use Backbone.js.

I want something declarative that uses the View to derive behavior. It focuses on achieving this through custom HTML tags and components that specify your application intentions. It should support being easily testable, URL management (routing) and a separation of concerns through a variation of MVC. It takes a different approach to most frameworks, providing a HTML compiler for creating your own DSL in HTML. It may be inspired by upcoming Web platform features such as Web Components and also has its own scaffolding tools available (angular-seed). Use AngularJS.

</comment><comment><USER21> I tried both in similar circumstances (coming from a long backbone background), all I can say is I personally found with Ember.js (around august 2012): \- more boilerplate \- learning curve was much steeper. \- the documentation confused me, it turned out there were many slight diferences between 0.9.xxx and 1.xxx. This "gotcha" is probably rectified by now

I tried Angular.js next (this month) and "got it" immediately: \- testing is easier \- writing dom manipulation is easier (ie directives) \- the documentation/seed projects are great \- angular-ui project is cool

In that last 6 months I imagine Ember has improved, I also feel like if I came to it now Id pick it up quicker having gone to all this effort

<comment><USER22> > This "gotcha" is probably rectified by now

It's not. The guides published on emberjs.com apparently track the master branch on github, so are regularly out of sync with the version offered for download on the front page, and at the moment there's a _third_ version bundled with the starter kit. This completely tripped me up when I tried to get off the ground a couple of weeks ago, because things that were described as working in the guides _just didn't_ , and it wasn't clear what I'd got wrong.

EDIT 'cos noprocrast kicked in at the wrong moment: Add to this a release policy of stuffing new functionality in every minor release, and you've got documentation that, for someone completely new to it, who doesn't know what they don't know, feels like a minefield. The one thing you want as a beginner is documentation you can _trust_ , and Ember just doesn't provide that yet.

To learn enough get off the ground, I ended up writing an "assume you know nothing" tutorial ([https://github.com/regularfry/website/blob/master/source/gui...](https://github.com/regularfry/website/blob/master/source/guides/getting- started/your-first-ember-app.md)), which I've submitted back to emberjs.

<comment><USER13> This was only true briefly. The guides on emberjs.com reflect the currently released version, 1.0 RC. Since we've hit RC the APIs are now frozen.

<comment><USER22> I checked the dates. I tripped over the docs not matching the download version on January 7th. I found non-matching versions _yesterday_. It's possible that both times I decided to look at it I got unlucky, I guess.

I'm glad the APIs are frozen, I was worried there'd still be creep through the RCs.

<comment><USER13> We were in the middle of the release yesterday. If anything is still not matching, please let us know so we can correct it.

</comment></comment></comment></comment></comment><comment><USER23> Most enjoyable thing for me (and great in very common situations) in Angular.js is the two-way databinding and the "ng-repeat" thing. These things are easy and lie on the "flat" part of the S-shaped learning curve.

Also that there is no templating system - I always disliked having to learn and use and debug another abstraction layer (Mustache/Handlebars or Razor with MVC etc.).

The biggest "gotchas" with these frameworks will typically be the problem of having to wrap your head around a few new and unfamiliar concepts and syntax that take a while to "grok". (On the other hand, it's NOT difficult in a objective sense, like some advanced mathematics that not everyone is capable of doing, so, to anyone reading these JS framework-threads on HN, please end up encouraged to try them out yourself.)

Learning one framework will greatly help your understanding of the other, so I'd say just pick one and decide later which one is "best".

</comment><comment><USER24> I have enormous confidence in the capabilities of the team working on Ember. jQuery, Sproutcore, Rails core team members. If you're a Rails developer, the existence of active_model_serializers as a quasi-standard for how JSON is shuttled between tiers suggests that Ember has taken a position of strong thought leadership on a lot of things that other frameworks just don't have the reach to do.

Also, the recent Peepcode screencast on Ember is brilliant.

<comment><AUTHOR> Looks like the peepcode screencast is paid:

<https://peepcode.com/products/emberjs>

I suppose you'll say it's well worth the money? Anyone else bought/watched this screencast?

<comment><USER25> I bought it. It was definitely worth the money.

<comment><USER26> Seconded.

</comment></comment></comment></comment><comment><USER13> This is a good post on why Discourse chose Ember: [http://eviltrout.com/2013/02/10/why-discourse-uses- emberjs.h...](http://eviltrout.com/2013/02/10/why-discourse-uses-emberjs.html)

<comment><AUTHOR> Indeed, great post. I'm really interested in seeing perspectives of those who've used both though, hopefully those mysterious people exist ;)

</comment></comment><comment><USER27> Neither. Small modularized CommonJS files that serve the need of what you are doing is always faster to write and easier to load in your head than large frameworks that you never fully understand. Learn to use npm and use it well.

<comment><USER28> you obviously never wrote a "fat" client and had to maintain it : at some point you need some kind of framework to make sense out of the "small modules" mess. And CommonJS doesnt solve dependency injection issues.

<comment><USER29> "dependency injection issues"?

</comment></comment></comment><comment><USER30> To people saying "backbone", stop. Backbone is a tiny abstraction that pretty much does nothing; It's the worst of both worlds: You have to use fake getters/setters but the framework is absolutely unhelpful.

Angular is more developer friendly as it avoids crappy string templates and let you program to POJOS; Programming with POJO in Javascript circa 2013 has a big performance cost that might be very noticeable in some cases (Mobile, low spec devices, sites with a lot of interaction/server pushes). Basically Angular simply DOES NOT scale by design, but 90% of websites will still be kind of ok (This gray line is exactly why I don't use Angular :) ).

</comment><comment><USER31> From what I've seen for the most part they both try to accomplish the same thing. Both will require time to learn and work into your application. A lot of the comments I read are from people that are anti-google or question angular because of its google beginnings, so they are anti angular and because ember is created by a rails developer it integrates better with rails.

Just go through the egghead tutorials then go over ember documentation and then make a decision. I don't think you can go wrong with either one.

</comment><comment><USER32> As a relative beginner - "It's a very different approach when compared to using jQuery for everything" — is a bit misleading. They're _both_ very different to jQuery (or Backbone/Spine - which are beautifully simple).

Totally anecdotal: \- Backbone I learnt straight away and have been progressively writing better code for around a year. It gives you enough rope to hang yourself but you can usually see what you've done and refactor. Which is nice. \- Ember I've been trying to learn a couple of times for the past year. Keep trying. Find a tutorial. It's out of date. Get frustrated. Try again. Find another one. It's poorly written. Try Again. Find another one. Can't get something to work and Ember is too much of a blackbox to debug. Give up.

The docs on the site are getting better (but still suck) - the PeepCode tutorial was great ( _not_ the Play By Play with Yehuda; don't waste your money on that) - but it still only did relatively trivial things. Would be great if PeepCode did a Play By Play with a Rails API and relational data etc.

\- Angular scared me for ages too - the docs, as with Ember, are written by people who know how to use the framework _for_ people who know how to use it already. Then Egghead.io happened. Wow. The concepts actually aren't that hard!

I think what the community sorely needs is a _good_ Ember teacher - one that isn't patronising or aimed at computer scientists!

<comment><USER33> > I think what the community sorely needs is a good Ember teacher

I think what we really need is a tool to go around and mark outdated blog posts as outdated. There's also this: <http://www.embercast.com/>. Not sure where it's going.

</comment></comment><comment><USER34> I've used Angular and really enjoyed developing with it. You get results really fast. It feels like a more organized Knockout.js (which is also great).

</comment><comment><USER35> Personally, I have found Angular JS very comprehensive. I have used bits of Backbone, Ember and Angular and have found Angular pretty good.

</comment><comment><USER36> Related query: I've just started with some JS MVVM frameworks, and I was wondering if any of them can "reverse bind" ie. enable you to render part of your templates on the server and utilise data from that based on a template to recreate models. The idea is to make the initial load snappy and to help with SEO (only one or two web crawlers actually execute JS afaik)

<comment><AUTHOR> I believe almost all of them have this capability. I know angular has templates and you can put dynamic data in those templates. The dynamic data can be loaded from anywhere. I'm not aware of any MVVM that doesn't allow you to do this, unless I misunderstand what you are saying.

<comment><USER36> I guess I wasn't clear enough.

You're talking about data -> template binding. I'm talking about the reverse, where some data (as a model) is recovered from a partial server-side render of the page, based upon the "patterns" described in the templates.

For example, if Angular did this (I don't think it does), it could traverse the generated HTML and compare it with the original template to figure out what's what.

<comment><USER37> I haven't explored what your describing, but I'm using a different solution. I'm adding backbone to an existing project and added some server side code that outputs the current model object as json in a <script> tag in the html page. This is passed to a new backbone model instance.

</comment></comment></comment></comment><comment><USER38> Take a look at source code examples of Angular and Ember Todo apps: <http://addyosmani.github.com/todomvc/>

Some interesting facts about Todo apps:

Angular.js: 10 requests, 41.94kb transferred.

Ember.js: 17 requests, 334.12kb transferred.

<comment><USER39> If by interesting you mean totally misleading, then sure!

The Ember.js version included is unminified, and the number of files reflect several small files rather than one big file. The goal of TodoMVC is to compare code style.

But sure, we'll submit a pull request to TodoMVC to use the minified version of Ember.

</comment></comment><comment><USER40> My doubts:

\- If a great amount of my functionality isn't covered by the directives - <USER2> my app does the bulk of interactions with Raphael.js instead of forms/checkboxes - is Angularjs still worth to include, or should I go with something lighter?

\- (similar) If I'm going to use a lot of jQuery plugins or external libraries, say jPlayer + D3.js + jQuery File Upload, etc - is Angular gonna get in my way when using them?

In other words, would you write those frontends with AngularJS? (Perhaps we should ignore the very short load-time requirement...)

       - <USER3>
       - <USER4>
       - <USER5>
       - <USER6>
       - <USER7>
       - <USER8>
       - <USER9>
       - Google Spreadsheet
       - <USER10>
       - <USER11>

<comment><AUTHOR> Here is a youtube frontend that was written with angular.js: <http://toogl.es/#/browse>

Sorry, I can't comment on the others.

</comment></comment><comment><USER41> For me, Angular displays the right balance beween complexity and ease of use. After getting past some of barriers (the transclusion docs could be more easily explained, specially with some images), I find it pretty easy to use, and it's great for complex apps. Never used Ember though, after using Spring for so long, dependency injection comes naturally.

Some people mention Backbone, I think it's great if you're very comfortable with JS, otherwise you'll end up replicating bits of other frameworks by hand or using lots of 3rd parties (ex: databinding, validation, complex model interaction, view cleanup).

Anyway, take a few days to get the feel of each and choose according.

</comment><comment><USER42> Ours is basically a CRUD App, i tried to build it in Ember.js but gave up after not finding an step by step getting started (like the one in angularjs homepage),

after that i started to learn angular, it had an step by step guide and working with ng-repeat was such a bliss, we were able to launch a simple billing system in about 5 days using angularjs, egghead videos help me whenever i find something difficult to implement (like 2 way binding between controller and a directive)

</comment><comment><USER43> I actually really like the KnockoutJS + SammyJS approach to building single page apps. Angular is probably closer to that approach.

MVVM is awesome and will save you a lot of time IMO.

<comment><USER44> We're currently using Sammy + Knockout on <https://circleci.com>, and it is nice, but adding observables everywhere is annoying. I'd love to hear from anyone who moved from this to Angular or Embed?

</comment></comment><comment><USER45> Ember is object-oriented, angular is functional(ish).

<comment><USER46> This is one of the key issues folks seem to skip past when discussing the differences.

I'm not familiar with the maintainers of Angular and their backgrounds, but with Ember you can expect solutions that mimic the methodologies you'd otherwise find in Rails. I'm particularly referring to OO in this case.

</comment></comment><comment><USER47> Uninformed opinion:

I looked at angular.js and understood how to use it pretty quickly , with ember.js there seems to be a lot more framework-yness to it.

</comment><comment><USER33> The biggest + for me with Ember is the community around it. I have felt like I've grown with the community in the past few months as I've learned the framework. The freenode channel is usually active with lots of help available.

It would be unfair for me to compare this experience to Angular though because I haven't been so deeply involved with it.

</comment><comment><USER48> None.

Backbone + underscore + jQuery.

Unless you really have to have a framework.

The combination of the above will have you writing in JS rather than in framework X.

<comment><USER49> If using Backbone, then <https://github.com/marionettejs/backbone.marionette> is a MUST. It would cut down on lot of code and it makes code more cleaner. In addition, switch to CoffeeScript.

</comment></comment><comment><USER50> I'd also add the question "Which is more flexible?". Last thing I want is to pour weeks and weeks into a framework to discover that I have to be a witchdoctor to bend it to my will when I want to do anything even just slightly out of the ordinary.

</comment><comment><USER51> I want to learn Ember, but the official docs are confusing, and the tutorials are outdate, are there any YouTube videos or any other of tutorial on Ember?

<comment><USER13> The docs are actually quite good now. As we've just released 1.0 RC, the API is also frozen which will help the docs improve even further.

<comment><USER52> The guides are good, but I'm missing the whole put it all together to make a real app tutorial type level of documentation. Can you point me to something like that?

<comment><USER53> The recent peepcode ember video pulls things together nicely, but of course it's not free. <https://peepcode.com/products/emberjs>

Also there is a great example project available here: <https://github.com/dgeb/ember_data_example>

</comment></comment></comment></comment><comment><USER54> Angular worked far better for me

</comment><comment><USER55> Angular, hands down.

</comment><comment><USER56> backbone.js

</comment><comment><USER28> ok here is my take :

AngularJS :

\+ MVVM : databinding

\+ Dependency Injection, so no global state, and loose coupling

\+ Well organised into services , view models ,directives , filters , ...

\- forget any projects that are animation/transition between views heavy, you'll fail

\- doesnt play well with some other frameworks ( requireJS, jQuery mobile , even phonegap ...)

\- is slow when dealing with a lot of data.

\- no control over dom objects lifecycle

\- the doc sucks

\- if you dont understand Dependency injection , dont use it.

\- will not scale if javascript dont get some new structures , dirtychecking is insane given javascript performances.

Ember: \+ fully event driven

\+ plays well with other libraries

\+ less magic than angular

\+ full control over DOM lifecycle

\- the doc sucks but less than angularJS one

\- more verbose than AngularJS

\- unstable API

I built apps in both langages. like that one :

<http://markme.alwaysdata.net/>

I prefer Ember but have no problem using Angular when I have to.

<comment><USER57> > forget any projects that are animation/transition between views heavy, > you'll fail

Animation is coming to the next version. It's already possible but you have to do it yourself.

> doesnt play well with some other frameworks ( requireJS, jQuery mobile , > even phonegap ...)

* <https://github.com/tigbro/jquery-mobile-angular-adapter> * <http://briantford.com/blog/angular-phonegap.html>

> is slow when dealing with a lot of data.

It's fast enough not to be noticeable by humans unless you're batman as explained by Angular creator: [http://stackoverflow.com/questions/9682092/databinding-in- an...](http://stackoverflow.com/questions/9682092/databinding-in- angularjs/9693933#9693933) . Object.observe will make it fast even if you're batman.

> no control over dom objects lifecycle

There is control actually (see digest, apply etc).

> the doc sucks

The guides are actually pretty good and <http://egghead.io/> free screencasts are awesome.

Edit: Google is going to sponsor the author of egghead.io videos! <https://twitter.com/eggheadio/status/302494160982781953>

> if you dont understand Dependency injection , dont use it.

You don't have to understand DI to use it. I know I didn't.

> will not scale if javascript dont get some new structures , dirtychecking is > insane given javascript performances.

Again, read this [http://stackoverflow.com/questions/9682092/databinding-in- an...](http://stackoverflow.com/questions/9682092/databinding-in- angularjs/9693933#9693933)

<comment><USER28> > * <https://github.com/tigbro/jquery-mobile-angular-adapter> * > <http://briantford.com/blog/angular-phonegap.html>

that's what i'm saying i should not need an adapter for these libraries , i dont need them with Ember or Backbone

<comment><USER57> You don't _need_ them but they make it more convenient. There's one for ember too <https://github.com/LuisSala/emberjs-jqm>

</comment></comment></comment></comment><comment><USER25> Ember.js

<comment><AUTHOR> What are the top 5 reasons for you to use Ember over another MVMM?</comment></comment>


Show HN: Are you a top programmer who wants more gigs? - <AUTHOR> http://www.undercoderjobs.com <comment><USER2> You're asking too much for an empty site.</comment>


Budget-Cutting Colleges Bid Some Languages Adieu - <AUTHOR> http://www.nytimes.com/2010/12/05/education/05languages.html

<comment><AUTHOR> Perhaps the opportunity for hackers here is providing language instruction at less expense than college major programs.

<comment><USER2> Rosetta Stone anyone?

Beyond the basics (what you'd learn in a 101 series college course), the best learning method seems to be immersion, either by classes that focus on it or going to a country where the language is used.</comment></comment>


Graduate Student Solves Quantum Verification Problem - <AUTHOR> https://www.quantamagazine.org/graduate-student-solves-quantum-verification-problem-20181008/ <comment><USER2> Here's a talk of the scientist explaining her work:

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

<comment><USER3> wow. she has so much poise for her age. I'm sure she will go far.

<comment><USER4> she's extremely far already imho, if she solved a fundamental problem, as this is more meaningful than what 99.99% of people achieve

</comment></comment></comment><comment><USER5> "Classical Verification of Quantum Computations" Mahadev. (2018)

[https://arxiv.org/abs/1804.01082](https://arxiv.org/abs/1804.01082)

[https://www.arxiv-vanity.com/papers/1804.01082/](https://www.arxiv- vanity.com/papers/1804.01082/)

[https://scholar.google.com/scholar?cluster=10138991277567750...](https://scholar.google.com/scholar?cluster=10138991277567750137)

</comment><comment><USER6> I am surprised she was given credit. A very impressive act by her supervisor.

<comment><USER7> Honesty is 'very impressive'?

<comment><USER8> My masters' thesis supervisor took my thesis and submitted it to a well known journal and a couple of other conferences with himself as the first author and me as the second. I had defended my thesis and started work and did not have the time/motivation to write it out for the journals/conferences. He selected portions of my thesis, formatted them for the journal, and submitted it. I was too uninterested and busy to pursue the matter any further and just let it be.

So yes, given that stuff like that happens, I do find it impressive.

<comment><USER9> i'm not sure what is wrong with this. Normally, it's done the other way around, IE you write the papers, publish them, and then write the thesis (whose copyright ends up being owned by some random monopoly company in the midwest). But, you got your name on the paper, and your supervisor, who almost certainly had scientific and funding input to your research, was rightfully coauthor.

<comment><USER8> I wasn't funded by him. I was on a scholarship and then on a TA, and was funded by the department.

<comment><USER10> You also didn't seem to do any of the effort to publish the paper or follow up with it. Of course your adviser should be the corresponding author. They actually care about the paper and getting response to it.

<comment><USER11> First author should be the person who did the work, that's pretty strandard. Corresponding author doesn't always need to be first author.

Honestly this does sound pretty terrible. The student doesn't have to publish, and you don't get to misrepresent yourself as first author if they don't want to.

Really really want to be first author, redo the work yourself. That's the only way you can claim credit (and responsibility) for having done the work.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Does any one have a good intro paper on quantum computing?

<comment><USER13> John Preskill's interview here is a good place to start for the high level [https://blog.ycombinator.com/john-preskill-on-quantum- comput...](https://blog.ycombinator.com/john-preskill-on-quantum-computing).

Scott Aaronson's lecture notes are also great [https://www.scottaaronson.com/blog/?p=3943](https://www.scottaaronson.com/blog/?p=3943).

</comment></comment><comment><USER14> I'm just a baby computer scientists but when I was reading the title I immediately thought "no way that is possible in general" which is I suppose why it is a good paper.

good ideas can often seem pretty crazy.</comment>


Go Debian: Writing Debian tooling in Go - <AUTHOR> https://notes.pault.ag/go-debian <comment><USER2> That's pretty sweet. I'd love to see something similar for the EL family: RHEL, CentOS, Fedora.

There's certainly a lot of opportunity, I think, to improve the Linux package management ecosystem. For example, Spacewalk is kind of terrible and I'd love build some projects implementing smaller parts of it (like checking security errata, SCAP audits), but working with rpm is a real bummer.

<comment><USER3> Career-wise, I came from a proprietary package management system to a red hat based one, and I don't know what you're talking about. Why do you think that spacewalk is kinda terrible, and why is working with rpm a real bummer?

Personally, I only have good experiences with spacewalk, rpm, yum, dnf, mock, koji, kojira, &c, but I am also aware that there may be other, better systems out there.

</comment></comment><comment><USER4> That would be the language, Go, on the OS, Debian, used to manage Debian packages.

<comment><USER5> in what seems to be a brand new implementation (though i failed to find source links) instead of using the 2 or 3 readily available C apis that can be ingested easily in tons of languages?

<comment><USER6> cgo has its own set of problems, and there is no single C API. The version comparison isn't in shared library form, and breaks API a lot. The C parser for dependencies isn't the same we use in control files, and there's no C API for parsing a deb (or unpacking control files).

Most of this just has to be done. I take your point, but I couldn't find much. And I'm a debian developer - who knows what most non-Debian people would find. The best APIs are in `libapt`, which is C++, and cgo won't work with that all that well.

So, yes, you're right. This is yet another project. That's uncool, but there's not a ton of other ways out, short of me making a clean C shared library and get everyone to switch to that :)

<comment><USER5> i stand corrected, and schooled!

i never had to deal with that, so i assumed it was as nice as the rest of the debian stuff i had to deal in the past. Glad you're on to it! :D

<comment><USER6> <3 <3 <3

</comment></comment></comment></comment></comment><comment><USER7> Similar library for Python is [https://packages.debian.org/sid/python- debian](https://packages.debian.org/sid/python-debian).

</comment><comment><USER8> I love his blog template!

<comment><USER9> I really love the typography.. the font, its size, backgeound color.. it reads very well

<comment><USER6> <3 y'all

<comment><USER10> I actually dislike the fact that the website is wasting two thirds of my screen.

But this is a general rant, not specific to this website.

(please note that I am using a regular 15.6" FHD screen, nothing fancy)

</comment></comment></comment></comment><comment><USER11> Archive.org link, since site seems down: [http://web.archive.org/web/20160620114533/https://notes.paul...](http://web.archive.org/web/20160620114533/https://notes.pault.ag/go- debian/)

<comment><USER6> Eep. I do some messed up stuff with SNI; what's the error you're seeing?

</comment></comment><comment><USER12> What a nice font. The only improvement would be putting it on actual paper.

Edit: What? Too far out of the box?

<comment><USER13> Not for me. I agree!</comment></comment>


Screenshoteer – Command-line website screenshots and mobile emulations - <AUTHOR> https://github.com/vladocar/screenshoteer <comment><USER2> [https://blog.nightly.mozilla.org/2018/08/23/screenshots- from...](https://blog.nightly.mozilla.org/2018/08/23/screenshots-from-the- console/)

[https://support.mozilla.org/en-US/kb/firefox- screenshots](https://support.mozilla.org/en-US/kb/firefox-screenshots)

<comment><USER3> The distinction here is that the links you've posted are from the browser console line, while the tool in question can take screenshots from the terminal/command line (sans browser, can be automated).

Firefox and Chrome, and most major browsers can indeed take screenshots from the browser _console_, but taking screenshots from the command line is a separate, interesting concept.

</comment></comment><comment><USER4> why don't just use chrome/chromium without puppeteer?

google-chrome --headless --screenshot [http://site.com](http://site.com)

It's a one line command.

<comment><USER5> But then you wouldn't need JavaScript...

</comment></comment><comment><USER6> Very cool! I made something similar a while ago: [https://github.com/fabrik42/responsive_mockups](https://github.com/fabrik42/responsive_mockups)

My version is less configurable but wraps the screenshots in some beautiful mockups :)

</comment><comment><USER7> Cool, I was just looking for something like this. A useful feature would be the possibility to screenshot a specific element only instead of the whole page (using something like [https://github.com/GoogleChrome/puppeteer/blob/master/docs/a...](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#elementhandlescreenshotoptions) ). Also an option to set the ouput filename is a must for scripting !

<comment><AUTHOR> I just pushed the version 1.0.2 to npm. Now you can do this:

screenshoteer --url [https://news.ycombinator.com/item?id=18598672](https://news.ycombinator.com/item?id=18598672) \--el ".fatitem"

</comment></comment><comment><USER8> I needed to crawl sitemaps, create snapshots in three device sizes (mobile, tablet and desktop) and compare my snapshots with their previous versions. I ended up creating this tool [https://github.com/raminv80/webTimeMachine](https://github.com/raminv80/webTimeMachine) it is not perfect but does the job. I might continue improving it if others find it useful.

</comment><comment><USER9> Maybe the interface could be simplified: you're always going to give it URLs so you can allow those as non-option arguments (also can you pass it multiple URLs?).

<comment><USER10> Seconding this, a very good suggestion to simplify the API.

</comment></comment><comment><USER11> Nice small project. This uses a chrome-headless on the background to perform the screenshot, isn't it?

Also, you have included a .DS_Store file in your repository.

<comment><AUTHOR> Yes, it uses puppeteer(headless chrome).

For the .DS_Store I totally forgot to put .gitignore :)

<comment><USER12> The version from NPM is 0.3.2 but the GitHub docs are for 1.0.1? Looks like the --url option doesn't (yet) exist on NPM.

<comment><USER13> The one that's 0.3.2 is called "screenshooter", while this tool is called "screenshoteer".

<comment><USER12> Oh. Well, that would explain.

</comment></comment></comment></comment></comment><comment><USER14> Adding a click-accept feature would be great, so it can automatically click GDPR notices, popup email subscribe boxes, etc.

<comment><USER15> If you need to do some "work" like closing banners or form filling before taking the screenshot, use the kantu Selenium IDE: [https://a9t9.com/kantu/docs/selenium- ide/capturescreenshot](https://a9t9.com/kantu/docs/selenium- ide/capturescreenshot)

Command line options: [https://a9t9.com/kantu/docs#cmd](https://a9t9.com/kantu/docs#cmd)

(... and it works in Chrome _and_ Firefox.)

<comment><USER14> Thanks!

</comment></comment></comment><comment><USER16> Nice. I made something almost exactly like this using puppeteer as well except it took screenshots of all the pages of a site. It crawled first getting all site pages, then created a JSON config file that would be used to take screenshots with. I should really throw this up on GitHub as well.

Funnily enough, I called mine: Screenshotr

<comment><USER17> Please do. Yours sounds a bit more comprehensive than the current state of OP's.

<comment><USER16> I'll put it up once I get home from work and post it here (or maybe submit it as a new thread)

</comment></comment></comment><comment><USER18> A similar thing I wrote one evening lol [https://github.com/Weston- Boldt/webscrot](https://github.com/Weston-Boldt/webscrot)

</comment><comment><USER19> I like this. Your motto should be "How do I screenshot web?"

</comment><comment><USER20> Read no further than 'npm'...</comment>


ContactBox - One contact manager to rule them all...  - <AUTHOR> http://www.contactbox.net/post/10639514102/connecting-people-smarter

<comment><USER2> That link is not found.

This one is:

<http://usecontactbox.tumblr.com/post/10593786579></comment>


Crises require streams of solutions not mere criticism - <AUTHOR> https://demystifyingscience.com/blog/2020/5/17/planet-of-the-gloom-mans <comment><USER2> I have personally grown disillusioned from current politics and journalism precisely for this. Nearly every article/quote/discussion is around picking flaws of what someone has suggested as a grand solution for a previously unsolved grand problem. I would love to see the thought process behind designing software to get applied to larger problems (crises), something like:

1) Agree upon the top problem(s) we are going to solve 2) Lets discuss solutions 3) Lets pick 1-2 top solutions and agree upon the most massive risks with each 4) Lets find the best balance/path to implement the solution and mitigate risks 5) Iterate

Of course the risks around something huge like nuclear power are not to trifle with but a framework like this, in my opinion, could really help align our society and politics to solve these crises.</comment>


Guess programming language by "Hello, world" snippet - <AUTHOR> http://helloworldquiz.com/

<comment><USER2> Trying to pick between omgrofl and lolcode with one life left can be likened to deciding which color wire to snip.

<comment><USER3> They look nothing alike, but I saw the LOLs in Omgrofl and instincively hit the LOLcode button before really looking at the code.

</comment></comment><comment><USER4> This is the wrong kind of Chef: [https://github.com/krasnoukhov/langgame/blob/master/models/v...](https://github.com/krasnoukhov/langgame/blob/master/models/variant/data/chef)

Which makes me wonder how they scraped their data...

<comment><USER5> Wrong kind of Chef? What do you mean? Looks like Chef to me..

<comment><USER4> I was expecting something more like this: [https://github.com/opscode- cookbooks/apache2/blob/master/rec...](https://github.com/opscode- cookbooks/apache2/blob/master/recipes/default.rb#L20)

[http://en.wikipedia.org/wiki/Chef_%28software%29](http://en.wikipedia.org/wiki/Chef_%28software%29)

<comment><USER5> ah, but that's ruby ;)

</comment></comment></comment></comment><comment><USER6> Scored 2400, was pretty fun.

A problem is that some of the languages are indistinguishable. I'm pretty sure the example I saw for Logtalk would be perfectly acceptable Prolog.

<comment><AUTHOR> Nice! Are you sure that this example is acceptable for Prolog? [https://github.com/krasnoukhov/langgame/blob/master/models/v...](https://github.com/krasnoukhov/langgame/blob/master/models/variant/data/logtalk)

</comment></comment><comment><USER7> Wow, this made me painfully aware of how few languages I know. I hadn't even heard of some of them!

</comment><comment><USER8> Played a couple of times, hoping to see a snippet in "Holy C" by Terry A. Davis, which unfortunatly didnt happen. Apart from that - nice game!

<comment><AUTHOR> Feel free to send a patch here! [https://github.com/krasnoukhov/langgame](https://github.com/krasnoukhov/langgame)

</comment></comment><comment><USER9> Great game, hadn't heard of some languages! Maybe I will have to read something of them...

</comment><comment><USER10> Broken on the latest Opera for some reason.

<comment><AUTHOR> Works fine for me on 12.16. Screenshot?

</comment></comment><comment><USER11> good job mates

<comment><AUTHOR> Thanks!</comment></comment>


The Myth of Systemic Police Racism - <AUTHOR> https://www.wsj.com/articles/the-myth-of-systemic-police-racism-11591119883 <comment><USER2> Can't read the article, but based on the headline and sub headline ...

I've been thinking about this for days now. And I think that the truth is, yes, these police murders and assaults are committed by a _relatively_ few "bad apples."

But also yes, there _is_ systemic racism. _Systemic._ The combination of qualified immunity rulings, laws and their interpretations, police union contracts, and worst of all, "the blue wall of silence," means that these few bad apples can be confident that they'll get away with whatever they do.

The _system_ as a whole has congealed into conditions that are favorable to the "bad apples."

Yes, it's systemic.

<comment><USER3> That's some kind of systemic problem but is it systemic _racism_? If a white or Indian etc. was murdered would the police union stonewall any less?</comment></comment>


San Francisco is getting a smarter parking meter system - <AUTHOR> http://sfpark.org/how-it-works/

<comment><USER2> Demand pricing. It's "frequently" going to cost less. Now. But since everyone is going to get acclimated to variable pricing, you can bet that it's going to cost _a whole lot more_ in the near future.

This is neither here nor there, since street parking in SF is probably much too cheap now. But doublespeak is doublespeak.

<comment><USER3> Clearly the solution is to lease all the parking spaces to your friend's company for 99 years, and let _them_ sort it out.

<comment><USER2> Hey, at least the meters take credit cards now, right?

</comment></comment></comment><comment><USER4> I don't understand how this variable pricing thing is going to work. Will raising the price _really_ make people give up looking for parking and go home?

It seems to me that once you've gotten in your car and driven to your destination, you're pretty much committed to parking there. How high do the prices need to be in order to keep you from parking at that point?

And how many pieces will the meter be smashed into as a result of the rage that these prices induce?

<comment><USER5> I imagine they'll put a ceiling on the price, but no floor. But if not, at the margin people will choose other means to travel at busy parking times because they know -- at least after the first trip -- that they will be charged $50/hour on the fourth of July. Also, people may choose to leave the city more quickly if the parking price is high. If demand for parking remains consistently high, this may also make it more feasible to build larger parking structures or improve the ones that already exist. Also, the higher prevailing prices for streetside parking may bring other players into the game (like hotels or office buildings) that had before not seen the economic advantage to opening their parking to non-tenants.

It's not as though people only become economic participants in the parking market when they arrive; they make the choice to participate when they choose to leave the house and when they choose to stay in the city for four hours rather than two.

Regarding the smashed meter problem, it should be a simple matter to add cameras to the devices.

<comment><USER6> The ceiling, in this case, is $6/hour. The floor is $.25 per hour. Yep, in some areas at some times of day, parking that was formerly expensive (but lightly used) could become free.

</comment></comment></comment><comment><USER7> And of course the new smart system will enable parking enforcers to give you a ticket more quickly and efficiently as they will certainly have devices in their cars that indicate immediately when any meter in the neighborhood expires while a car is still parked there. I suspect this is the major motivation.

<comment><USER8> You make a _lot_ more money off parking tickets than you make off of parking meters.

<comment><USER9> Source?

<comment><USER8> San Francisco parking fine revenue is on the order of $100 million, annually: [http://articles.sfgate.com/2008-08-01/bay- area/17122003_1_me...](http://articles.sfgate.com/2008-08-01/bay- area/17122003_1_meter-violations-higher-fines-parking-operations)

Parking meter revenue for _three_ years doesn't match that: [http://articles.sfgate.com/2007-01-25/bay- area/17226881_1_me...](http://articles.sfgate.com/2007-01-25/bay- area/17226881_1_meter-revenue-parking-meters-collection-rates)

True, not all tickets are written for meters, but it's clearly in the city's revenue-earning interest to make it more difficult to legally park and write more tickets. And since a parking meter earns $55-65 with a ticket but only $2-3.50 for an hour of legitimate parking, an entire day or two of legitimate meter use earns the city exactly as much money as a single meter violation. Some municipalities--Seattle, as I recall--expressly prohibit paying a parking meter that isn't yours; the only reasonable rationale for this is to increase ticketing rates.

</comment></comment></comment></comment><comment><USER10> Mash live parking data against Google Maps? _Yes please._ I willingly hand over whatever increase in parking rates you want.

</comment><comment><USER11> There's more that's not being mentioned, and understandably so. San Francisco will reap huge rewards in parking ticket revenue. SFpark is so smart that it knows when a space is occupied and the meter has expired. Parking Enforcement officers don't have to drive/walk around looking for violations -- their handhelds will pinpoint them! Don't get me wrong, I am looking forward to seeing SFpark in action. I think it brings more good than harm.

I'm also in the parking (ticket) business, but on the other side of the coin: <http://parkzing.com>

<comment><USER12> Maybe I am alone in this line of thinking, but shouldn't people who are illegally parked get tickets? Ticketing illegal parking is a good thing. It's not in any way liberty-infringing or anything.

</comment></comment><comment><USER13> I know some folks at City gov, I would _love_ to city a public API for this. So I'm about to stick my oar in. I'll let you know how it goes.

</comment><comment><USER14> Meanwhile, here in Philadelphia, we recently upgraded from quarter-feeding meters to smartcard meters. Unfortunately, the smartcards spontaneously lose their value with worrying frequency, so everyone just uses quarters anyway.

</comment><comment><USER15> Supposedly there's going to be mobile phone apps that show you exactly where the nearest parking spaces are. That will be amazing.

Of course this system also allows them to ticket expired meters _much_ more efficiently.

</comment><comment><USER16> These new systems suck because there is never free time left on a spot when you find one. They automatically reset when the last car pulls away, increasing overall parking costs for consumers.

<comment><USER6> Sorry, in this case you are mistaken - the sensors in San Francisco will not be used for meter-zeroing. In fact, they can't be used for meter-zeroing - while they are fairly accurate, they are not accurate enough for this feature. Imagine if the meter was zeroed before you'd actually left!

</comment></comment><comment><USER17> I can't decide what I think of this. In general I almost never park in a metered space because I grew up thinking parking should be free and I'm quite happy to walk an extra fifteen minutes in order to avoid reaching into my pocket. This is why I rarely go into San Francisco except at night and on Sundays.

On second thoughts, they're probably going to use this as an excuse to extend metered hours to nights and Sundays, aren't they?

Car-unfriendliness is probably the worst thing about San Francisco. If it had a good public transport system it might be tolerable, but it doesn't.

<comment><USER18> "Parking should be free" is an interesting discussion point. Leaving out the issue of promoting turnover, it seems reasonable to me that a municipality should be able to charge rent for storage of private property (i.e. my car) on public property (i.e. the street).

On the other hand, I also grew up in an area with ample free parking, so I certainly understand the visceral annoyance. To me, the convenience of being able to pay with credit/debit cards (rather than having to hunt the seat cushions for loose change) might go a long way toward mitigating that effect, though.

<comment><USER19> Does San Francisco not have pay by phone parking meters?

We've had them in Vancouver for awhile now, and it's so handy (after you setup an account the first time). They text you 10 minutes before your meter expires and you can just call and add extra minutes if you're going to be longer than expected.

<http://vancouver.ca/engsvcs/parking/paybyphone.htm>

<comment><USER8> Parking tickets are far more lucrative than parking meters--it's actually against the interests of meter enforcement to do this.

</comment></comment></comment></comment><comment><USER20> This is big news for holders of disabled placards.

<comment><USER17> Why is that? Are they still going to be able to get free parking? Can they currently get free parking?

<comment><USER20> Sorry for not making it clear whether I even meant good or bad news. Under CA law they get free parking at meters as well as in (most) restricted-time zones. It seems like that would continue here, and now the city has the goal of upping the rates to always keep spaces open on every block.

</comment></comment></comment><comment><USER3> How exactly are the benefits going to cascade to pedestrians and cyclists?

<comment><USER21> Part of the hope is that it will reduce overall car traffic by shortening the amount of time people are just driving in circles (distractedly) looking for parking. Apparently this makes up a surprisingly big percentage of the time spent in cars in SF.

</comment></comment><comment><USER22> I can't wait to see the live data feed that comes out of this.

</comment><comment><USER23> This should have included *by late 2012.

</comment><comment><USER24> I worked out a system two years ago for doing something like this, but with the idea of networking all of the commercial parking lots in San Francisco together, and creating algorithms & equipment to allow for either instantaneous variable-rate pricing, or to suggest parking "deals" for lot managers to announce in order to try and keep their lots full.

In the end, I realized that this was price-fixing and that I would probably be sued for it. The government, however, is allowed to do things to the citizen that the citizen may not do.

</comment><comment><USER25> The demand-responsive pricing aspect is the most interesting:

>"SFpark will charge the lowest possible hourly rate to achieve the right level of availability in both garages and at metered spaces. This project is not about raising parking revenue; it's about making parking easier to find. SFpark is designed so each block and each garage maintains have about, an average, 20% availability."

</comment><comment><USER24> This from the municipality that had to put a network engineer in prison in order to get access to their DWDM equipment? Then again, parking is like a $125m per year profit center for San Francisco, so they're more likely to get parking collections right than, well, anything else.</comment>


How Getting Rejected by Founder Collective Helped Save Our Startup - <AUTHOR> http://viniciusvacanti.com/2012/03/26/how-getting-rejected-by-founder-collective-helped-save-our-startup/

<comment><USER2> Great post, but the title should be "how getting honest, qualified and constructive feedback made us rethink our idea." :-)

<comment><USER3> Honesty saves startups but kills headline-driven blog traffic.

</comment></comment><comment><USER4> From the post: "People think you need encouragement but what you really need is honest feedback."

It's really both. The feedback is necessary to force the founder to realize what challenges are ahead, but the encouragement is necessary to give the founder hope that they can be overcome.

<comment><AUTHOR> Completely agree. I always try to tell entrepreneurs that I believe in them but then give the critical feedback on their idea / process.</comment></comment>


A Practical Guide to Using Signed Ruby Gems - Part 1: Bundler - <AUTHOR> http://blog.meldium.com/home/2013/3/3/signed-rubygems-part

<comment><USER2> As a meantime thing, since getting gems properly signed is probably going to take a while, it might be nice if bundler could at least recognize if a gem downloaded after being added to the Gemfile.lock had changed. A hash of the .gem file or the git head sha and an alert if it doesn't match the lock's stored hash would go a long way to at least detecting that a breach may have happened.

Basically ssh's known_hosts for packages.

<comment><USER3> Or, more generally: sign gems with a _PGP public key_ (not a signing certificate); and then, while generating a Gemfile.lock, also store the key fingerprints for each gem in a "Gemfile.keys" or somesuch. Thereafter, disallow re-bundling if Gemfile.keys exists and any of the fingerprints don't match the new ones (and make sure to ping the keyserver to check key revocation, too.) When bundling fails, head out to Google to see if something happened (in other words, _pay manual attention_ ), and then, if it was just a revocation and they switched to a new key because of a breach or something, delete your Gemfile.keys and let it get regenerated.

But really now: why is everyone so intent on centralized CA-based signing, when you don't even know 99% of the time who made the thing in the first place, but only care that it's the same person who made the ones before it?

<comment><AUTHOR> One interesting thing I've learned about most rubygems keys is they don't have chains back to CAs - they tend to be self-signed, and the docs encourage this. In fact, AFAICT there aren't any default trusted CAs for rubygems (unlike, say, the list your browser or OS has) - every signer has to be trusted manually with `gem cert --add`. So you end up with a PGP-like trust model on top of X.509 certs.

I don't know exactly what this rationale was behind this model - I plan to explore this further in subsequent posts. I'm a relative neophyte to code signing - part of the reason I'm writing these posts is to teach myself how things work.

<comment><USER4> Basically because a proper X.509 implementation requires a CA to be in place first, so you have a place to submit a CSR, but there is no CA, so you're forced to self sign. I've written a rant on the topic here:

[http://www.rubygems-openpgp-ca.org/blog/gem- signing-x509-and...](http://www.rubygems-openpgp-ca.org/blog/gem- signing-x509-and-openpgp.html)

I've been trying to get people to sign with OpenPGP because that can be done __first __and then you can put an authentication system into place after the fact. You can't do this with X.509, if/when a CA comes into play all gems would need to be resigned and republished.

</comment></comment></comment></comment><comment><AUTHOR> The bundler_signature_check code that accompanies the article is available on Github: <https://github.com/bradleybuda/bundler_signature_check>

</comment><comment><USER5> Do other languages such as python, perl or lua etc have a signing facility ?

</comment><comment><USER5> So how do we sign our gems ?

<comment><USER6> RubyGems has a guide: <http://docs.rubygems.org/read/chapter/21>

<comment><USER7> This guide also talks a little more about the trust model behind it, which is interesting.

It sounds like it might be slightly out of date though, as it refers to the author as having just landed the patch, which happened 8 years ago.

</comment></comment></comment><comment><USER8> imo, the only way to make this work is going to be to force it, and boy are you going to make a lot of people very unhappy if that happens.

<comment><USER5> Why are people going to be unhappy? Users or creators ?

Will gem creation time significantly increase ? Will gem install time significantly increase ?</comment></comment>


The Little Manual of API Design (2008) [pdf] - <AUTHOR> http://www4.in.tum.de/~blanchet/api-design.pdf <comment><USER2> I've been thinking about this at a meta level and I can't get to reach any conclusion.

Think of a simple instruction: draw a line from (a,b) to (c,d).

How many ways can it be "encoded as an API"? we already have a gazillion forms of drawing: SVG, OpenGL, Postscript, Asymptote, PGF/Tikz, Canvas, and so on. Why?

Forget about existing line-drawing APIs. Which of these would you choose?

\- line(a,b,c,d)

\- Line (a,b) to (c,d)

\- draw-line (a,b) (c,d)

\- drawline

\- make-a-line

\- line-from-to

\- ...

\- ...

Not to mention placement of parentheses (C vs s-expression), curly braces or angle bracket. The list goes on.

I started reading Bertrand Russell's 'On Denoting' but I'm not really sure it'll help me out (although I haven't finished reading it yet).

At another level: once you've converted your vector graphics primitive to "pixel maps", that itself is no less of a language. So at a more fundamental level, it's really information represenation, not language.

I'm not sure where the problem is, language vs computable-form vs information- representation.

Not to mention metalinguistics. Because API is not just one layer on top of your program. You build an API/language layer as a scaffolding, to use it to build a higher level API/language layer. And apparently its turtles all the way up and all the way down.

It's all very confusing

<comment><USER3> Apropos of nothing much, back when I was coding primarily in Objective-C (incidentally, for cross-platform Linux and Windows, but not anything Apple) the form of the function call would give another much more expressive option. I'd write something like this:

      [drawline  from: A
                   to: B];

Obviously, some people hate it.

<comment><USER4> Objective-C syntax aside, keyword arguments are great for readability and maintainability.

</comment></comment></comment><comment><USER5> > Because HTML forces us to repeat the name of the tag in the close tag, it > encourages us to write things like:

       the goto label statement

What sort of demonic possession bullshit going on here? Who is "encouraged" to do such thing?

<comment><USER6> You are, presumably, already a developer, so you already understand nesting. Perhaps a better example that a beginner could find quite reasonable after learning about start and end tags:

       Underlined. Bold and underlined. Bold only.

Why shouldn't that work?

<comment><USER7> That's not allowed because parsing that kind of nesting requires a context sensitive parser, which is much more expensive computationally than context free parsers.

<comment><USER8> I understand that, you understand that, and your parent commenter probably understands that, but the point is that a user of HTML should not have to understand it.

<comment><USER9> IRC formatting codes (not standard, but popularized by mIRC and thus implemented by most clients) are also toggles instead of begin-end pairs, so they allow this. If I remember correctly, old text processors like WordStar also implemented formatting as toggles.

</comment></comment></comment></comment></comment><comment><USER10> Related to section 3.7: you should try to create as much builtin functionality as possible (ideally, all of it...) using the mechanism(s) provided for 3rd party extensions. This can give everybody confidence that the extension mechanism is useful and complete; if library source code is provided, it also provides a good stock of example extensions.

</comment><comment><USER11> some good advice, some doubtful advice.

One advice in this pdf is that on designing first before implementing. I think iterative cycles of design / implement / use / design /implement use yield better results.

<comment><USER12> Iterative cycles take advantage of the regularity of change. APIs shouldn't change once public, hence the emphasis on Big Upfront Design. However, change still needs to happen so versioning comes into play.

Personally, when it comes to APIs, you can tell those that have been designed upfront rather than iteratively; they are generally better IMHO.

<comment><USER13> The API that appears to be well-designed up front was probably preceded by many not as great APIs either done by the same designers, or that could at least be learnt from. That is still quite iterative, just in the long term sense. Real waterfalls don't exist.

If you have an API that does something well known, find and learn from existing APIs that do that. If not, then he prepared for lots of trial and error, scenarios you didn't think of, and so on. It might make sense to put out a "worse is better" API first so the learning and feedback loops can start.

</comment></comment></comment><comment><USER14> Seen some of these around... what I've been craving for is a little pdf of web api design.

</comment><comment><USER15> Something that I've found extremely valuable with API design for public facing APIs is use readme driven development. I think it complements a lot of the points brought up in the PDF .</comment>