Show HN: Arxiv Vanity – Read academic papers from Arxiv as responsive web pages - <AUTHOR> https://www.arxiv-vanity.com/ <comment><AUTHOR> We were frustrated by the experience of reading machine learning papers on screens (particularly phones/tablets). There are lots of good tools for authoring HTML papers (Distill, Authorea, etc) but nothing that deals with the vast number of PDF papers that already exist.

So, we built Arxiv Vanity: a site that renders Arxiv papers as web pages. It's still pretty janky, but for the papers that do render correctly, the experience is so much better than reading a PDF. For example:

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

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

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

The source for the LaTeX to HTML renderer is on GitHub[0]. It's built on Pandoc[1] and Distill.pub's template[2].

[0] [https://github.com/arxiv-vanity/engrafo](https://github.com/arxiv- vanity/engrafo)

[1] [https://pandoc.org](https://pandoc.org)

[2] [https://github.com/distillpub/template](https://github.com/distillpub/template)

<comment><USER2> I'm not sure I understand. Well, I understand what you're doing but I'm not sure why you'd dislike PDF.

PDF has the great benefit of rendering the same on every system. With very few exceptions, PDF will look exactly the same on every system and will print the same on every system.

HTML doesn't really have that same benefit.

Don't get me wrong, I think your service is a great idea for those who would like HTML formatted results, but I'm not understanding the complaint about PDF.

Could you expand on why you don't like PDF?

<comment><USER3> IMO, Reading two-column papers on an iPhone (through PDF) is a real pain -- IMO the format relies on you using your eyes to jump from bottom left to top right, rather than having to scroll from the very bottom to the very top (diagonally). Same problem even exists for single-column styles -- you need to zoom in so much that you have to scroll horizontally as well as vertically.

The need to scroll doesn't exist on a large screen or on a piece of A4, but on smaller devices like mobile phones or even tablets, it's annoying. Having a responsive page means you can scroll vertically as you read, rather than having to make a big jumps (or constant horizontal scrolls) that can really break the flow.

<comment><USER2> I wonder if that's a personal thing? Over the past year, I've been trying to join the mobile revolution - sort of. The majority of my browsing is now done on a tablet.

I read quite a few PDFs and don't actually have any complaints. I am not _personally_ seeing any readability issues and don't mind consuming PDFs at all.

That said, I think I now understand your complaint. Thanks! I just don't _personally_ have any trouble with it. I use multiple tablets, of varied sizes, and I've had good experiences with all of the devices. While some PDFs are horribly formatted, I find that the device choice doesn't help that and it's a design choice from the author.

But, again, thanks for helping me understand.

<comment><USER4> > The majority of my browsing is now done on a tablet.

Reading PDFs on a tablet isn't too bad because of large screen real estate.

Reading PDFs on a small mobile phone requires me to zoom in to make the font big enough for me to read, and then I have to scroll right to read, and left and down to move to a new section of the column.

Try reading a PDF on a smaller device than a tablet. I'm sure you'll be able to see what we mean.

</comment></comment></comment></comment></comment><comment><USER5> This is really cool and has a lot of potential. Academic papers are dense and heavily cross-referenced, so experimenting with new display formats that do more to help the reader could make researchers a lot more productive. For example, citation tooltips are a big time saver compared to cross-referencing the bibliography. However, it's also beneficial for every paper to look the same because this makes skimming easier. To get both innovation and consistency is to develop tools, like Arxiv Vanity, that automatically transform the source document. This example makes me hopeful that we'll someday have similar tools for the commercial publishers' papers.

As for immediate tweaks, I tentatively suggest making the text 100% black (like the original PDF) instead of rgba(0, 0, 0, 0.8). The higher contrast will help those of us with less-than-great eyes.

</comment><comment><USER6> This is amazing. I hope you'll keep working on it. There's always a long tail of details that need taking care of when trying to cover a large corpus, and ploughing through successive 80%'s is (as you are no doubt acutely aware) serious grunt work. But you've made a fabulous start, so I hope you find the stamina to do it!

<comment><AUTHOR> Yeah, even building upon Pandoc's LaTeX parsing, 3 months of grunt work got us this 20% working. Over the next 12 months we'll get the other 80% working. :)

</comment></comment><comment><USER7> A big challenge is to get references working correctly. LaTeXML is quite good at converting latex documents to html [1], including references such as Theorem 2.1, equation (8.1) etc.

For instance, the paper [2] appears to be quite readable on mobile, and clicking/tapping on a reference such as (8.1) leads you to equation (8.1) as you would expect.

The auto-generation of Arxiv-Vanity is really nice, maybe it would be easy to add the LatexML output too?

[1]: [http://www.albany.edu/~hammond/demos/Html5/arXiv/lxmlexample...](http://www.albany.edu/~hammond/demos/Html5/arXiv/lxmlexamples.html)

[2]: [http://www.albany.edu/~hammond/demos/Html5/arXiv/LaTeXML/110...](http://www.albany.edu/~hammond/demos/Html5/arXiv/LaTeXML/1108.5305.html#S8.E1)

</comment><comment><USER8> This is an awesome tool. Thanks!

Only issue I've run into so far is that cross-references to theorem numbers don't seem to always work correctly, e.g. you'll see a lot of "Theorem ?" in [https://www.arxiv-vanity.com/papers/1607.06711/](https://www.arxiv- vanity.com/papers/1607.06711/).

<comment><AUTHOR> Ah, looks like we don't support theorems. You can track it here: [https://github.com/arxiv-vanity/engrafo/issues/157](https://github.com/arxiv- vanity/engrafo/issues/157)

Thanks!

</comment></comment><comment><USER9> It failed on all three papers I tried it on. [https://arxiv.org/abs/1710.05313](https://arxiv.org/abs/1710.05313) [https://arxiv.org/abs/1710.06689](https://arxiv.org/abs/1710.06689) [https://arxiv.org/abs/1710.07508](https://arxiv.org/abs/1710.07508)

<comment><AUTHOR> We haven't implemented many of the LaTeX packages used in papers that aren't machine learning papers yet - sorry. :(

</comment></comment><comment><USER10> This looks really cool. (The program had some issues with the bibliography and with custom layout, but other than that, was great.)

It would be nice if an option to output MathML existed.

(Why MathML?

In brief, it allows treating Maths as a first-class citizen on the web.

For instance, with MathML the reader can choose what font the equations will be rendered in — if you prefer STIX or Latin Modern Math, then you can specify it with CSS, and the browser will correctly render it. With the mash of spans within spans that arXiv-vanity uses, you couldn't change the font, as then the pre-calculated spacings would be wrong. (Alternatively, the publisher could easily offer several styles, without having to re-render everything, just by changing the CSS.)

Arguably, client-side MathJax offers the same flexibility as MathML, but it's much, much slower, while rendering MathML in firefox is as fast as rendering standard, static HTML.

Another application of MathML is embedding it in SVGs for beautiful graphs.

MathML can also be pasted into other applications that support it, such as Thunderbird and Mathematica. )

</comment><comment><USER11> This is awesome! I was literally rolling my eyes this morning about trying to read an arXiv paper on my phone.

<comment><USER12> shameless plug: give [https://docushow.com](https://docushow.com) a try!

</comment></comment><comment><USER13> Great work.

I've also been working on a similar open-source project "Sharead".

[https://github.com/strin/sharead](https://github.com/strin/sharead)

It has a chrome extension that uploads Arxiv papers, and you can manage papers with tags.

It also automatically converts pdf to HTML using a library called pdf2html:

[https://github.com/coolwanglu/pdf2htmlEX](https://github.com/coolwanglu/pdf2htmlEX)

</comment><comment><USER14> Looks like it's failing to process some standard tex commands (e.g. \textup) as well as some user defined macros. See the many display errors in [https://www.arxiv-vanity.com/papers/1710.07406/](https://www.arxiv- vanity.com/papers/1710.07406/)

Of course, it goes without saying that I want this.

</comment><comment><USER15> When the render fails, why are you redirecting to the pdf file intead of redirecting to the abstract? E.g. here (link stolen from another comment in this page) [https://www.arxiv- vanity.com/papers/1608.04012/](https://www.arxiv- vanity.com/papers/1608.04012/)

</comment><comment><USER16> Noob question but how far does Calibre take pdf to epub conversion? I've been really interested in learning more about the epub file format and was greatly intrigued to discover it extends xhtml and is essentially a zip folder if I've gathered that much correctly.

</comment><comment><USER17> Unfortunately it's failing on first things I tried with a not-so-helpful error message:

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

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

Also a lot of MathJax failures (maybe Latex variables names?) [https://www.arxiv-vanity.com/papers/1709.09439/](https://www.arxiv- vanity.com/papers/1709.09439/)

<comment><AUTHOR> Those problems are normally Pandoc parsing errors. Considering it's open source, perhaps we should print the error message so people can actually help fix it...

The MathJax failures are either things that MathJax doesn't support, or use of \DeclareMathOperator which we haven't added support for yet.

Edit: Added a more useful error message. :) [https://www.arxiv- vanity.com/papers/1608.04012/](https://www.arxiv- vanity.com/papers/1608.04012/)

</comment></comment><comment><USER18> Thank you thank you thank you! I detest the reader-hostile PDF (and WTF? why would you write something and then make it inconvenient to read???)

Unfortunately, among its sins, PDF discards a lot of the presentation semantics (headers, footnotes etc). Congrats on doing a credible job trying to reconstruct some of that! It's a tough, thankless job.

I was horrified when Adobe introduced PDF and indeed it has turned out at least as badly as I had feared.

<comment><USER19> I believe it's reconstructed from the Latex source, which is how every paper is submitted to the ArXiv. Not to diminish this site but I'm guessing that generating HTML from Latex is a lot easier than doing it from PDF format.

<comment><USER18> Thanks. Soon I suppose we'll be able to run a LaTeX->TeX rendering system compiled to web assembly!

</comment></comment></comment><comment><USER20> This is awesome ! Going on my home screen now. Love the design. Maybe you could ask Arxiv to have a button on their site that would direct it so that it opens on your site .

</comment><comment><USER21> This is so good. I do prefer the HTML over PDF in this scenario.

</comment><comment><USER22> Not really my use case as I read PDF papers on an iPad Pro 12.9 inch, which is just fine, but very neat work!

I tried it on this one: [https://www.arxiv- vanity.com/papers/1702.03277/](https://www.arxiv- vanity.com/papers/1702.03277/)

Some commands don't work (\textsl, \rotatebox, ...) and the thank you footnote is incorporated into the title, but otherwise very readable!

</comment><comment><USER23> This is so much awesome. Thanks for building this.

</comment><comment><USER24> Nice! PDF is the worst format I can think of to present papers. Especially for reading on mobile this will be of great help.

<comment><USER25> PDF is the only format that will preserve the typographical details that are important in many technical papers; it also avoids the relatively bad rendering created by the browsers.

PDF is usually bad, of course, on small screens, unless the publisher makes special versions.

<comment><USER26> Another useful thing is ability to put comments/annotations - I'm reading on iPad, and annotate quite a lot

</comment></comment></comment><comment><USER27> Definitely useful in certain situations. Can't comment on how well the conversion works (yet) but I can see how this might be useful to a lot of people.

Me? I still mostly prefer reading physical academic papers because of needing to flip back and forth for re-reading (clarification) and adding personal notes/graphs/calculations.

Good job guys.

</comment><comment><USER28> Tried three papers: "Could not find Arxiv ID in that URL. Are you sure it's an arxiv.org URL?" Why, yes, I copied-and-pasted directly from the browser tab showing the Arxiv URL.

Tried a couple other papers: "This paper failed to render. Take a look at the original PDF instead."

So...with what probability does this actually work?

<comment><AUTHOR> What Arxiv URLs were you trying?

LaTeX is really tricky to parse, which is why you're seeing those "failed to render" errors. Judging from our logs, it works about ~80% of the time. That's up a lot from plain Pandoc though - it could render hardly anything from Arxiv.

<comment><USER28> I tried some more and still got the "are you sure this is a valid URL?" e.g., [https://arxiv.org/abs/gr-qc/0702106](https://arxiv.org/abs/gr-qc/0702106)

Tried [https://arxiv.org/abs/1511.06343](https://arxiv.org/abs/1511.06343) and a couple others and got the "failed to render."

Tried cloning engrafo, then installing docker, then building engrafo, then my disk was filling up and decided I'm done with this for now.

</comment></comment></comment><comment><USER29> Sad to see that it doesn't render the figures properly for this paper: [https://www.arxiv-vanity.com/papers/1701.03757v1/](https://www.arxiv- vanity.com/papers/1701.03757v1/)

I hope this can be made to work reliably. I generally prefer web pages to pdfs.

<comment><AUTHOR> LaTeX is hard, but we'll keep at it! That issue is being tracked here: [https://github.com/arxiv-vanity/engrafo/issues/12](https://github.com/arxiv- vanity/engrafo/issues/12)

</comment></comment><comment><USER30> For bitmap based PDFs it would be possible to segment the document into words and images (just bounding boxes, not OCR), then "reflow" them to a different page size, by allocating less words per row.

Does anyone know if this kind of PDF reader exists? Such a PDF reflow reader would work on scanned old books.

<comment><USER31> I'm working on it, email me for early access.

</comment></comment><comment><USER32> Hallejuhah, we need to force academics and people who go around touting "whitepapers" to be ripped out of the proprietary PDF era of terrible UX/readability and into modern readable web documents. This is definitely the way to do it, this is brilliant!

<comment><USER2> FWIW, PDF is an open standard. There exist both open and proprietary readers and creators. It has been an open standard for nearly a decade.

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

</comment></comment><comment><USER33> I would pay at least 10$ for an app that made an aesthetically-pleasing HTML flow of any pdf document I'm looking at. At least. And I can't imagine I'd be the only one. So much of my reading is on-screen now, and PDFs do kind of suck for two column reading.

<comment><USER31> What kind of pricing schema would you prefer for this? Monthly or one time payment?

<comment><USER33> It definitely feels like a one time payment, since my mental model for it would be "pdf reader." Also, since I'm accustomed to SaaS in my business dealings, but detest it in the private consumer space, and this would appeal to me as a consumer; my business documents are already mostly PowerPoints, with the occasional word doc.

</comment></comment></comment><comment><USER34> If you're on Android or an ereader and frequently read two-column PDFs, consider using Koreader: [https://github.com/koreader/koreader](https://github.com/koreader/koreader)

</comment><comment><USER35> This is a superb idea! Still not working on some of the papers I read, but hopefully it will soon.

I would love to see a bookmarklet that lets me hop from an arxiv page straight to Arxiv Vanity.

Also, the manicure emoji for the favicon was a great choice!

</comment><comment><USER36> Great tool for mobile! Have to say I'm too used to PDFs on my laptop, although I can see this replacing it. Two suggestions-

1\. Center the text to the screen 2\. Justify the text

(I'm not sure how difficult these are though)

</comment><comment><USER31> Really like this! I'm working on something similar, a generic PDF to HTML converter that enables reflowing of documents on a mobile device.

Any recommendations for HTML templates other than the distill.pub one?

</comment><comment><USER37> Great job!

Personally, I prefer the PDF versions, but this could be very useful on a phone.

</comment><comment><USER38> Awesome thank you so much :) The GAN paper somehow feels more readable :D

</comment><comment><USER39> Thanks! This is useful.

I always have trouble reading papers on Kindle, as the screen is small. panning and zooming are also painful as the device is slow.

I kinda hope papers can be turned into single column (more kindle friendly.)

</comment><comment><USER40> You might add a contact link so people can easily get in touch. The first- listed personal homepage is kind of insane with all the flashing colors, and it contains dead links (e.g., your Twitter).

<comment><AUTHOR> Yeah, that's a good point. Andreas's site is a bit out of date. I've made them link to more useful places. Thanks!

</comment></comment><comment><USER41> I've a large collection of scientific papers and interesting publications all in PDF format, and I've never had a problem reading a PDF document.

</comment><comment><USER42> Now, if this can be integrated with arXiv-sanity.com

</comment><comment><USER43> So I tried this on a couple of papers I need to read: awesome awesome awesome awesome. Would upvote a thousand times if I could. Awesome.

</comment><comment><USER44> Looks cool although the first paper I tried it on other than the examples didn't work :( Looking forward to seeing this improve!

</comment><comment><USER45> Please make the References section hyperlinked so clicking on a reference takes you to the paper.

<comment><AUTHOR> So much this. This is one of the main reasons I wanted to build this.

[https://github.com/arxiv-vanity/engrafo/issues/127](https://github.com/arxiv- vanity/engrafo/issues/127)

<comment><USER45> It's also one of the main reasons Larry built Google.

</comment></comment></comment><comment><USER46> An excellent project, though maybe Sakura CSS would be a lighter alternative to distill...

</comment><comment><USER47> It will be great if I can bookmark the position where I quit reading a paper.

</comment><comment><USER48> Looks great! Would be even better if the references are urls to other papers.

</comment><comment><USER49> That looks great! Well done!

</comment><comment><USER30> Narrow column would be easier. Full screen width is not best practice.

</comment><comment><USER50> Somebody please, PLEASE do this for Project Gutenburg.

<comment><USER31> I just visited Project Gutenberg and tried opening a few books. There seems to be a HTML option, what did you mean?

<comment><USER50> They are inconsistently formatted, and the default formatting usually takes up the whole page width, making it hard to actually read.

I guess I could probably solve this with a custom stylesheet, though.

</comment></comment></comment><comment><USER51> Really neat!! Thanks for sharing :)

</comment><comment><USER52> I love this, thank you so much!

</comment><comment><USER53> This will save so many trees.

</comment><comment><USER54> Why "Vanity"?

<comment><AUTHOR> A bit of wordplay on our favourite Arxiv tool. :) [http://arxiv- sanity.com/](http://arxiv-sanity.com/)

</comment></comment><comment><USER55> fuck that's cool

</comment><comment><USER56> This site is nice even for mobile!

Shameless plug: I made an Android app for arXiv if anyone wants something simple to search articles on mobile. Graduating soon so if you try and enjoy it, any positive (but honest) views help the looming job search ;)

[https://play.google.com/store/apps/details?id=xyz.imaginatri...](https://play.google.com/store/apps/details?id=xyz.imaginatrix.synapse)

<comment><USER57> Also this one:

[https://f-droid.org/packages/com.commonsware.android.arXiv/](https://f-droid.org/packages/com.commonsware.android.arXiv/)

</comment></comment><comment><USER58> I have to admit I am not impressed. My first paper, which I tried to render, does not work properly; references are removed and rendered poorly, figures are misplaced and tables incomplete. Given that not all arXiv papers are under a permissive license and _you do not have permission to do this_ , I would much prefer if you at least made sure that arxiv-vanity rendered papers do not show up in search results, e.g. by offering a suitable robots.txt and with a bigger link to the author-endorsed version of the paper.

Edit to clarify: If people want to use or develop a broken sort-of-PDF viewer, that's fine. However, if someone searches for a paper of mine, I would like them to only find the version where I at least had a chance to see that it renders correctly and is complete. In particular, I do not want to be "responsible" for broken rendering on random third-party websites. This website actually operating illegally does not make me more inclined to support it.

<comment><AUTHOR> This is fair. If somebody stumbles across this thinking it is how you intended it to be displayed, I can understand you'd be unhappy. We should make it clearer that we're just a conversion tool, not a source.

If you want us to remove your paper and just point at the PDF, we're happy to do so. My email's in my profile if you don't want to post the broken render here!

<comment><USER58> Thank you for your reply. Ideally I'd prefer for you to respect the license associated to each paper and only re-compile and re-host if the license actually allows you to do that (i.e. CC0, CC-BY, CC-BY-SA and maybe CC-BY-NC- SA, depending on whether you think you act commercially).

I also don't want to keep tabs on every arXiv rehoster and inform them manually by e-mail every time a new paper goes up.

May I ask why this was not done together with the arXiv itself? I.e. have the infrastructure run there, let authors check the HTML render at the same time as the PDF render and then, if the author thinks they look ok, have them show directly on the abstracts page? This would even avoid all your license problems, as the arXiv already has the corresponding license!

</comment></comment></comment><comment><USER59> Very cool idea! Thank you.

</comment><comment><USER60> Very cool. Downloading PDF's has always bothered me and this is a fantastic and easy way to view papers, esp while commuting.

A Native android or iOS tablet app would be neat to track your papers etc.

<comment><USER61> I'm surprised there doesn't exist a more responsive/reactive PDF viewer. It seems like that would be easier than converting the document.

<comment><USER60> You mean like some embed like Scribd? I've never really liked that sort of stuff, always works wonky for me. Text is great.

</comment></comment></comment><comment><USER62> Why PDFs in the first place? They're hard to write, hard to format, hard to generate, and they do no good at all to anyone.

HTML is better read, smaller, faster, has more formatting options, and can have all contained in a single file.

Seriously, stop creating PDFs.

<comment><USER63> Why the hate for PDFs, I can see why you would not want to communicate dynamic content with them, sure. But for academic papers, which are usually static text and equations and maybe some plots, PDFs do exactly what you want: At least in principle they look the same on every system. If I want to email them to somebody, store a copy, read them offline on a reader etc. I have to deal with one single file, in a format that just works on many readers. What am I gonna do when I typeset a paper with webtechnology ... fire up a local server to display some inline math in my html page .. no thank you.

I agree that maybe layouting based on physical paper is maybe not ultimately necessary, but it gives the reader a familiar structure. The way the advertised web site is transferring the papers into a long scrolling list of text ... I find it rather disorienting and unstructured. Text that is split up into "pages" (whatever size they are in the end) somehow helps break up the reading flow.

In the end it remains to be shown that the gain from having academic papers not typeset in PDF outweighs the hassle of having to deal with non- standardized ways of rendering properly formatted text on websites (thinks like MathJax etc. do not support everything that is available in full LaTeX etc.).

<comment><USER62> Thank you for your response. I understand your points and will rethink my hate for PDFs.

What I don't understand is why I got at least 2 downvotes. These days I'm getting downvotes for every opinion I express on HN. It's very annoying.

<comment><USER64> Your question "Why PDFs in the first place?" was answered in bfirsh's comment ([https://news.ycombinator.com/item?id=15534583](https://news.ycombinator.com/item?id=15534583)).

But anyway, in the context of the discussion about this webpage/project, it's not relevant to ask why these PDFs exist. They do, and the scientific community is nowhere near a transition away from them. So bfirsh is trying to find a solution to consume those existing PDFs.

So think as not getting downvoted for expressing your opinion, but more for not contributing to the discussion about this particular project.</comment></comment></comment></comment>


Netflix streaming on boxee.tv - <AUTHOR> http://blog.boxee.tv/2008/12/04/boxee/

<comment><USER2> I was about to buy a Roku last night, but with this I'm definitely getting an Apple TV.</comment>


Ask HN: What's the best way to learn about testing/TDD? - <AUTHOR> Hi, I am learning web development for the last 5 months (mostly Javascript). I am fairly good (for a junior dev) at the language and the technologies I focused (React), so I started to look for a job as junior web developer.
But I noticed that lack of knowledge and practice in testing is hurting my chances. I was assuming that it would be something I would better learn in practice as part of an experienced team in a professional environment and that it was ok for a junior dev not knowing much about it. I changed my mind, so...
What online resources are great as an introduction to testing? <comment><USER2> Just remember that automated tests only prove that the tests pass; they don't prove that your product works. You still need some amount of manual testing.

What automated tests do, though, is make it significantly easier to test. You will find bugs faster, and dramatically shorten the amount of manual testing that you need to do.

IMO, the best way to learn TDD is via experience. You need to work with a team that's willing to support a junior engineer. From a senior engineer's perspective, the amount of handholding that some junior developers need through writing decent unit tests is quite time consuming.

Thus, if I were you, I'd just be selective about who I work for. I'd look for a team that's willing to be patient while I learn, and that has enough senior developers that I can learn by following a good example. A team that wants a lot of experience in this or that is probably not able to allow you the time needed to learn.

<comment><USER3> > Just remember that automated tests only prove that the tests pass; they > don't prove that your product works.

Doesn't this show that either your test case is not product requirements based or the design is not aligned with the product requirements?

<comment><USER4> It's true, but making sure that the tests perfectly cover the product requirements, and making sure that the specified product requirements actually match the expectations of the product are both barely solvable problems for any sufficiently complex product.

Trying to keep pace with most markets, it's hard for software developers to maintain detailed enough requirements to even hope to ever achieve exhaustive automated testing.

</comment></comment></comment><comment><USER5> Working Effectively with Unit Tests by Jay Fields[1] is a great book on the subject. There's tons of books out there that are also good, but this is one I like to recommend as a starting point.

Another thing I'll do a lot of times when I'm trying to figure out how to test a weird situation is try to think of another API that works similarly and look to see if it has any tests that are instructive. And I habitually go through OSS projects I use to look at their tests and see what techniques I might not know about. This is really useful when you're picking up a new language or paradigm (e.g. when I started using functional languages over the OO languages I was used to.)

The basic thing you need to remember about testing is the AAA approach[2]: Arrange (setup); Act(do the thing you're testing); Assert (measure the outcome to make sure it is what you were expecting). Just about everything you read on testing at a lower level is going to come down to that procedure. There's additional techniques like fuzz testing and property testing, but they're not common. At a junior level I'd just expect you to have a basic understanding of AAA and how to apply it to common situations with the toolkit of your choice (e.g. for a javascript dev, maybe jest).

When you think about it, you already test your software, as you write it—its just that instead of writing down the steps in a way that your test framework can use, you're doing it manually. So really you just need to learn how to write down what you're doing in the browser (or whatever your interface is). Further refinement of that process is to use break your software up into pieces that can be more easily tested on their own.

I really just meant to post the first link, but testing is one of those areas that's near and dear to my heart, so my apologies for the rambling :)

[1] [https://www.amazon.com/Working-Effectively-Unit-Tests- Fields...](https://www.amazon.com/Working-Effectively-Unit-Tests-Fields- ebook/dp/B00QS2HXUO/ref=sr_1_1?ie=UTF8&qid=1493390286&sr=8-1&keywords=working+effectively+with+unit+tests)

[2] [http://wiki.c2.com/?ArrangeActAssert](http://wiki.c2.com/?ArrangeActAssert)

<comment><AUTHOR> I'm glad you rambled! :)

Your comment was very useful in itself aside from the link. Thanks!

</comment></comment><comment><USER6> Obey the Testing Goat ([http://www.obeythetestinggoat.com/](http://www.obeythetestinggoat.com/)) will take you through creating a small web app (python/django) using test driven development. The language choice may not match up with what you're using, but the concepts are useful across many domains. This book made a huge impact in how I think about writing tests, and in turn how I think about writing code.

</comment><comment><USER7> I do not pretend to be any kind of expert, but on our team we needed to teach people a little bit about TDD as it related to Angular using Typescript with and intro to bundling and a whole slew of other things, so I made a video series that covers synch and async fundamentals inside of that framework using Jasmine: [https://www.youtube.com/playlist?list=PLr4KpsL6BPn0dzn84zjmx...](https://www.youtube.com/playlist?list=PLr4KpsL6BPn0dzn84zjmx2XMnIzFQg9FW)

There are tons of really good books out there on the subject from Packt too. React using Jest isn't super widely filmed, but has good docs. If you do become a master, create a video series and help the next guy out. =) Happy coding!

</comment><comment><USER8> On the flipside of alexdrans, I suggest looking into using Airbnb's Enzyme[0] for React and Facebook's Jest[1] for testing React components.

[0]: [https://github.com/airbnb/enzyme](https://github.com/airbnb/enzyme)

[1]: [https://github.com/facebook/jest](https://github.com/facebook/jest)

</comment><comment><USER9> Beware that TDD is not testing. TDD is a development process which involves some form of testing, but you can do development and testing without doing TDD.

TDD is all the hype these days, but there are some who are very skeptical about it. For a good discussion, see this: [https://www.infoq.com/interviews/coplien-martin- tdd](https://www.infoq.com/interviews/coplien-martin-tdd)

Since you are junior all this won't probably matter all that much to you - just wanted to make sure you don't put an = sign between these two terms accidentally.

<comment><USER2> I find it's best to avoid being dogmatic about any particular approach. Process doesn't ship software.

That being said, I really like my automated tests.

</comment></comment><comment><USER10> This book covers a ton of testing methods [https://cs.gmu.edu/~offutt/softwaretest/](https://cs.gmu.edu/~offutt/softwaretest/)

The authors have recorded lectures too [https://cs.gmu.edu/~offutt/softwaretest/videos/](https://cs.gmu.edu/~offutt/softwaretest/videos/) plus open course slides and assignments [http://cs.gmu.edu/~offutt/classes/737/schedule.html](http://cs.gmu.edu/~offutt/classes/737/schedule.html)

</comment><comment><USER11> I'd recommend checking out James Shore's Javascript TDD site: [https://www.letscodejavascript.com/](https://www.letscodejavascript.com/)

<comment><USER12> Shore charges $24.95 a month--but you could probably get the core of what you need within a month or two, and for that it's well worth it. I believe there's also a 7-day trial.

Find someone to pair with, particularly someone who's done a bit of TDD before. It'll be a lot quicker to work through.

At some point, as another poster suggested, read some of the debate on TDD. But learn it first, and from those who have succeeded with it in a professional capacity--so you can be better educated about where its value lies. It's a valuable tool, but no tool solves all problems. (While I currently teach/pair with devs on TDD, I spent at least 5 years doing TDD on professional, "real" systems.)

</comment></comment><comment><USER13> Hey soneca,

I'm in the process of writing a course about JavaScript testing so it's good timing. I write a lot of unit and integration tests for our large codebase here at the BBC in the UK. We've got 3 Node + Express applications plus React for the UI for the 2 user facing applications. The other one is an API but it's got solid tests as it has does some complicated logic for redirecting users and updating sessions and tokens.

I'd love to get you on the mailing list for when I launch it and then you can fire me some questions via email. I'd love to help you get that job!

[http://www.marclittlemore.com/courses/javascript-testing- mad...](http://www.marclittlemore.com/courses/javascript-testing-made-easy/)

Cheers, Marc

<comment><AUTHOR> done! Good luck with the course!

<comment><USER13> Thanks! You should have got an email so you can reply to me. Let me know any questions and I'll get back to you today.

I worked in the videogames industry for nearly 20 years and they didn't do much unit/integration testing but I've immersed myself in learning about testing JS for the past 4 years since I switched industries. Hardest thing is knowing what to test I always found.

I'm happy to do some 1-on-1 with you to help.

</comment></comment></comment><comment><USER14> I read Kent Beck's book on the topic a long time ago and concluded, at the time, that it was bullshit. It just seemed ridiculous.

(I got to tell him this anecdote about a year ago. He was amused).

Much later I joined Pivotal Labs, hoping to see what the fuss was about, and got taught TDD by sitting next to people who are good at it. People who will go to enormous lengths to create automated testing from the outside in. It felt uncomfortable and unnatural at first. But now it seems obvious.

My advice is: seek out a mentor. Anyone who can sit with you for a few hours.

</comment><comment><USER15> Sorry I can't contribute more, this needs to be a quick message; but I recommend that you take a look at substack/tape⁰ for testing in JS; browser and server side. It forces you to write 'simple' tests; the likes of Mocha give you too much fluff, and use globals (i.e. magic).

[0] [https://github.com/substack/tape](https://github.com/substack/tape)

</comment><comment><USER16> A TDD-specific observation, and not really an "introduction"...

I love TDD because it makes me feel more comfortable as a programmer. The cycle of "write a test, test fails, write code, test passes, write another test" helps keep me centered. I know what I'm supposed to be doing at that moment, and don't get lost.

I don't think I write faster, and I may not write more bug-free. But I sure feel better with TDD.

<comment><USER17> >> I don't think I write faster, and I may not write more bug-free. But I sure feel better with TDD.

False sense of achievement maybe ? You write more code, because you also simultaneously write tests. But, have you ever noticed that, while your tests are great, your design sucks ? To me TDD is more a distraction than a tool for helping me think first before coding. I see tests only as a mandatory bureaucratic paperwork that needs to be done at the end of design process. Don't get me wrong, I think tests are a must, but only for ONE reason, to prevent software regressions. TDD for me is very pointless if not a dangerous practice.

<comment><USER16> Why is it a false sense of achievement? When I do TDD, I have demonstrably working code. What doesn't give me a sense of achievement is writing a ton of code with no evidence that it works or is bug-free.

Heck, even before coding, I like using Cucumber as a form to think about code behavior and responsibilities. I don't really enjoy fully automated Cucumber in practice, but the format is terrific.

If all you see tests for is "mandatory bureaucratic paperwork", maybe you should be concerned about overconfidence in your ability to do flawless design and implementation. Writing tests is one of the best tools I've found for making sure I actually understand what it is I'm trying to do (and if what I'm trying to do is actually wrong).

<comment><USER17> Sorry for late reply.

>> If all you see tests for is "mandatory bureaucratic paperwork", maybe you should be concerned about overconfidence in your ability to do flawless design and implementation.

I don't buy into the idea that TDD or any kind of testing methodollogy gives you confidence to do good design or in any way helps you make good design decisions.

>> When I do TDD, I have demonstrably working code. What doesn't give me a sense of achievement is writing a ton of code with no evidence that it works or is bug-free

False sense of program correctness right there ;) Are you telling me that by doing example based testing, you are 100% bug free ? Your tests must be humongous.

>> Writing tests is one of the best tools I've found for making sure I actually understand what it is I'm trying to do (and if what I'm trying to do is actually wrong).

Pen and paper for some and more code for others.

</comment></comment></comment></comment><comment><USER18> One hard part of learning testing is getting the testing framework set up for your langauge/toolset. One way to approach this is to follow a tutorial that introduces tests. A year ago, I would have suggested [https://teropa.info/blog/2015/09/10/full-stack-redux- tutoria...](https://teropa.info/blog/2015/09/10/full-stack-redux- tutorial.html), but react/js moves so fast that perhaps this is out-of-date.

</comment><comment><USER19> Anyone have online resources for testing C/C++ software? The resources I find online always seem to not cover much.

<comment><USER12> no online resources that I'd recommend, but I like the book Modern C++ With Test-Driven Development. (I'm a bit biased on this though...)

</comment></comment><comment><USER20> In the same vein, are there any open source projects that need unit tests? I've searched github for "Unit Test/Testing" but came up with mostly abandoned/old/very small projects.

I'd like to practice writing tests but would prefer if they didn't go to waste, or at least added value to something else.

<comment><USER21> I am a maintainer of PouchDB - [https://github.com/pouchdb/pouchdb/](https://github.com/pouchdb/pouchdb/), I probably spend more time working on the tests than any other part of PouchDB. We have a large test suite but still plenty of room to work on improving. If you were looking to work on testing then would be happy to give some guidance.

</comment></comment><comment><USER22> There was an recent article about testing in JavaScript that looked really promising: [https://medium.com/powtoon-engineering/a-complete-guide- to-t...](https://medium.com/powtoon-engineering/a-complete-guide-to-testing- javascript-in-2017-a217b4cd5a2a)

</comment><comment><USER23> Neal Ford on test driven design... [https://www.safaribooksonline.com/library/view/neal-ford- on/...](https://www.safaribooksonline.com/library/view/neal-ford- on/9781449314439/oreillyvideos843141.html)

</comment><comment><USER24> Sorry not suggesting online resource. But ensure you are using watch like feature so that the execution of tests is automated. This really made TDD smoother for me. Node ex: something like: `"test": "mocha --watch"` in your package.json.

</comment><comment><USER25> the Classic seasons of Destroy All Software: [https://www.destroyallsoftware.com/screencasts](https://www.destroyallsoftware.com/screencasts)

</comment><comment><USER26> For testing engineered systems, find someone where extreme reliability is paramount and for whom testing comes naturally so it's their life's work.

Then listen to them.</comment>


WakeMate Warns Users Of Major Safety Issue - <AUTHOR> http://techcrunch.com/2010/12/31/wakemate-usb-fire

<comment><USER2> "...isn't specific about what the exact problem is..."

I would presume it saying "the power brick is defective" is a really, really good specification about what the exact problem is with regard to a "safety issue." TechCrunch also labels it as "USB Charger" (which makes me think of just a regular USB cable) when in the email it says the "USB charger brick." What I REALLY hate is that TC never, ever goes back and fixes grammatical errors/typos/misleading statements when it screws up an article, it just adds an "update" at the bottom of the article. Have they not heard of TL;DR?

At least the notice email was well written.

<comment><USER3> ``I would presume it saying "the power brick is defective" is a really, really good specification about what the exact problem is with regard to a "safety issue."''

I'm suspicious of this explanation. The brick might be defective, but it's the responsibility of the charger to shut down the charge cycle if there's something wrong with the input. Most lithium-ion chargers include an on-die thermistor for this reason. I wonder if the WakeMate folks found one that didn't and also didn't populate an external thermistor to save space or cost.

<comment><USER4> Sounds like someone wasn't practicing defensive electrical engineering (is that a thing? I think it should be a thing).

</comment></comment></comment><comment><USER5> original discussion: <http://news.ycombinator.com/item?id=2054847>

<comment><USER6> _original_ discussion: <http://news.ycombinator.com/item?id=2030226>

=/

</comment></comment><comment><USER7> At what point does the wake mate management team get fired for all the screw ups they've caused? It's amazing how many customer issues they've had developing this product. Sure, the concept might be great but the team in charge just seem to be in over their heads.

</comment><comment><USER8> The first thing I thought when I read the headline: zombies.</comment>


Homomorphic Evaluation of the AES Circuit - <AUTHOR> https://github.com/shaih/HElib/issues/20#issuecomment-68373909

<comment><USER2> Would it be possible to add some kind of hardware acceleration for homomorphic encryption, to lower that encryption time by another 10x+?</comment>


How do you validate B2B startup ideas? - <AUTHOR> Suppose you find an inefficiency with your company's software development process. You think of a product idea to solve this problem. Before starting a company, what is the best process for validating the idea, making sure other companies have the same problem?
What stakeholders at other companies do you need to talk to and what's the best approach to gain their cooperation to discuss your ideas?
Please respond if you've successfully done this before. Thanks. <comment><USER2> During such an early stage, I would do it in an "inofficial capacity" \- do you have friends at other companies who work in a similar role as you? I would reach out to them and gauge their reaction, from "sounds like a neat idea" to "oh my god, I literally spend 1 hour a day on this and I've been looking for a solution to this since forever. I (or my boss) would pay for this in a heartbeat!". I've found "The Mom Test" by Rob Fitzpatrick to be great for guiding you along this process step by step. When asking friends, there's the risk of running into something called "interviewer bias", where they will rate your idea more positively simply because they like you (and would have dismissed it if some random stranger had proposed the same idea), so that's something to watch out for if you go down this route. Good luck!

<comment><AUTHOR> Thank you. I like your mindset. Email me anytime sidjain at gmail</comment></comment>


Ask HN: I have a webpage now but how do I convert?  - <AUTHOR>

Hello, I have a page http://www.safeb4sorry.com and I am trying to figure out if the page is set up to convert or how could I make conversions better.
The main goal of the website is to create leads for my company.
Any help would be much appreciated. <comment><USER2> The only reliable way to consistently improve conversion rates is A/B testing. Take two (or more) options, put both of them up redirecting a percentage of your traffic to each, and measure how they perform. Then iterate.

Don't neglect marketing, including SEO, paid marketing, guerrilla marketing, and more. It doesn't matter if your conversion rate is 100% if you only get 1 visitor a day.

</comment><comment><USER3> <http://www.safeb4sorry.com>

</comment><comment><AUTHOR> Where can I find information on A/B Testing?

Thanks,</comment>


Show HN: Glot.io – an open source pastebin with runnable snippets and API - <AUTHOR> https://glot.io/

<comment><USER2> I've been using this service for a while already, mostly for demoing answers on StackOverflow and/or testing out new languages without having to install anything locally. Although the site is very handy, I find some of its design choices a bit peculiar.

1\. Saving after editing someone elses snippet (effectively creating a fork/clone)

> I can run the code after I change it, but I can't save it? This is what I > miss most from other "pastebins".

2\. Save indicator

> I don't see any indicator of whether or not the snippet has been > edited/saved.

3\. Secret snippets

> Why can only logged in users store "secret" snippets? Secret snippets are > still accessible by anyone with the URL, so why shouldn't an anonymous user > be able to save them? I'd imagine a concept of "private" snippets would make > more sense to restrict for logged in users.

4\. Code language versioning

> Currently, there is only one version, "latest" of each language available > (except Python, JavaScript and PHP). I assume the version support lists will > improve eventually, but it would be nice to know what this "latest" refers > to, and a bit more accurate versioning in general.

5\. No URL immediately visible after saving a snippet

> OK, I need to grab it from the address bar, but this may not be immediately > obvious for everyone.

6\. Username

> What is it used for? I can't log in using my username, and in the "Snippets" > table, I'm listed with my name instead of my username.

7\. E-mail address

> I can't change it?

Other than that, props on creating, providing and maintaining a great service!

</comment><comment><USER3> I wish I had known about this earlier. Usually when I want to show someone a snippet of code I'll use a GitHub gist, but it's certainly much nicer for the recipient to be able to run / edit the code.

</comment><comment><USER4> This looks like great stuff, you did all this by your self?</comment>


Offer HN : Is there anything I can make for you? - <AUTHOR>

Hi!
I'm taking a week off from my regular work. I wish to utilize this time to make something useful and learn something new in the process.
Is there anything I can make for you? You don't need to pay anything. Ideally, I wouldn't like it to be a regular CRUD app.
I am comfortable working in HTML, CSS, JavaScript, C, Python, PHP, Django, Flask, CodeIgniter but I am ready to learn and do it in any technology if feasible.
My email is in my profile. <comment><USER2> I won't tell you what to do, but I'd like to point out some things you might want to learn:

D - <http://dlang.org/> Vibe.D - <http://vibed.org/> Diet templates - <http://vibed.org/templates>

Haskell - <http://www.haskell.org/haskellwiki/Haskell>

nodejs - <http://nodejs.org/> coffeescript - <http://coffeescript.org/>

emacs - <http://www.gnu.org/software/emacs/>

</comment><comment><USER3> We need a change made to some open source software we use, but it would be Objective-C/iOS coding. Interested?

<comment><USER4> Just out of curiosity what change to what open source software were you looking for?

<comment><USER3> We're looking to make a change to Baker (<https://github.com/simbul/baker>) an open source tool for publishing books and magazines on the iPad. Its a hybrid app, so it allows people to create their magazine or book in HTML/CSS and then wraps it up into an app. Its pretty sweet actually, the people behind it do a really great job. The limitation we're trying to get around is that you can only include one issue (or book) inside your app binary, and any additional ones need to be downloaded at a later date. We'd like to be able to include multiple issues of our magazine up front, since the issues are small and it will save us the cost of setting up a server (at least for a bit). Plus the user won't have to be connected to the internet to get more issues, which is a nice feature of people are traveling, on a plane, etc.

</comment></comment></comment><comment><USER5> Sudo make me a sandwich

<comment><USER6> User is not in the sudoers file. This incident will be reported.</comment></comment>


Cracking Age of Empires III over shader quality settings - <AUTHOR> https://email@example.com/cracking-age-of-empires-iii-over-shader-quality-settings-7f729528cf1d <comment><USER2> A pretty awesome adventure to get it working!

I admire the perseverance.

<comment><USER3> I liked the snarky and opinionated comments about random stuff.

I've done this once or twice for older games too, but nothing that involved. One game would crash, I think it was powerslide, whenever I finished a certain map. From the assembly it looked like it tried to call a method on an object that was null, and instead of trying to properly fix this or at least adding a null check, I just removed that call entirely. I expected that this would break something in a funny way, but at least I'd then know what that object/call was for. But the game just seemed to work flawlessly, nothing seemed to be missing or broken. One of the few memorable times where something was actually easier than thought.

</comment></comment><comment><USER4> great hack and really enjoyed the tone / thought it hilarious. "thousands of words by someone who gives a shit" is my favorite internet genre. still _plenty_ of room there, though... :`(</comment>


What I learned from a hacker attack - <AUTHOR> http://www.grobmeier.de/5-things-learned-hacker-attack-18082012.html

<comment><USER2> I'd argue this response was insufficient. I've always been taught that a clean wipe is the response to your box being rooted.

At step 3 one should be thinking "I now know nothing about this box, what's installed? What's modified?" You can't know if its been modified or rooted.

While I'm certain its possible to replace software in the system piece by piece until you trust it again, but that's much harder than what I would say is your only option:

Wipe the disk, put a a new install on it and restore your sites from backups.

<comment><USER3> This article is about some webspace on presumably some kind of shared hosting account being compromised. Not a box being rooted. No doubt scripts in his account run with very limited privileges.

If hosting companies wiped a server every time one of their customers sites got owned the servers would hardly be online at all.

<comment><AUTHOR> You are right, this was just a shared hosting package from 1&1\. Nothing I have root access to. Nothing I can do. I thought it was clear when I wrote the provider shut me out from my webspace.

</comment></comment></comment><comment><USER4> Calling the guys who hacked you "script kids" and "idiots" is just childish. You failed to take basic security measures and got fucked over by people who know better than you. The bigger idiot here is the one who was hacked.

<comment><AUTHOR> No it's not. I call everybody an idiot who breaks into another server to post spam. No matter what his reasons are it is just an idiots behavior. Script kids - why not calling em like that? Taking scripts from a random website and using them is what I call a script kid.

Anyway, I have already mentioned in my post that I was an idiot to forget about the installation. Sure, and that is what I have learned about: not to forget again.

That said, hacking is non acceptable no matter what mistakes the owner of a website has done. I really have no respect for such people.

</comment></comment><comment><USER5> TL;DR do your sysadmin job.</comment>


On Being Martian: Mars is a place, but it is also an idea. - <AUTHOR> http://bigthink.com/experts-corner/on-being-martian

<comment><USER2> Society needs a strong motivator in order to pursue such endeavors.

Take Columbus era exploration. It was started by "the crazy ones" who took ships out to the farthest extents of the oceans to see what's out there, simply satisfying their curiosity. It was fueled by wealth (literally, these were funded expeditions!) and the goal was to reach faraway lands and bring back gold, spices, and what not.

A lot of amazing work gets done when you have two competing giants. Sports teams are the typical example, where two cities and their respective teams train and fight hard in order to beat their others. The Moon and the Cold War is a more productive example. Most, if not all, space technology was funded with the purpose of achieving a military strength over the enemy.

What's going to be the Martian story? I imagine Elon Musk is one of those "crazy ones" who will get to Mars purely out of curiosity and ideals to become the first known multiplanetary species. For any of your terraforming and colonizations dreams to come true, one Elon Musk is not enough. It takes an entire society to band together to do so, requiring us to reprioritize our budget and focus all of our resources on colonization.

The best thing would be to invent an alien attack. Fear is a strong motivator. It will likely accelerate 50-year research projects into a 5-year schedule.

A more realistic and albeit less exciting route would be to discover rich mineral deposits of rare earths.</comment>


Certificate Transparency: a bird's-eye view - <AUTHOR> https://emilymstark.com/2020/07/20/certificate-transparency-a-birds-eye-view.html <comment><USER2> Most of this is beyond my understanding of TLS, but the first time I read about CT my first thought was, "So Google is pushing a technology that would let them know about every new HTTPS domain on the Internet?"

Am I right to be suspicious about Google's motivations here? It may very well also be the case that CT also improves security, but part of me feels...dirty, knowing that I can't opt out of this mechanism that sends data straight to Google about any new HTTPS domain I set up, so they can start indexing it. Is this just the cost of improving trust?

<comment><USER3> First of all, as I understand it anyone can access it, not just google. Secondly, if you don't want to be indexed by Google, there are better ways to do that (like a robots.txt). Finally, I suspect Google would be more interested in using this as a tool to figure out which sites not to index, because they have fishy (or phishy) certs, than trying to find obscure domains that have slipped under their radar.

<comment><USER2> I know there are mechanisms to customize Google's crawler on a domain. That's not what I'm objecting to, I'm objecting to the loss of control over my data.

</comment></comment></comment><comment><USER4> Certstream[0] is pretty cool. An great way to monitor for phishing domains[1]

[0] [https://certstream.calidog.io/](https://certstream.calidog.io/)

[1] [https://github.com/x0rz/phishing_catcher](https://github.com/x0rz/phishing_catcher) [https://blog.0day.rocks/catching-phishing-using- certstream-9...](https://blog.0day.rocks/catching-phishing-using- certstream-97177f0d499a)

</comment><comment><USER5> Good general summary, but it misses some big issues with revocation checking.

OCSP servers are notoriously unreliable - and with the increasing use of tls I don't see that improving - and that required open failure for TLS connections in browsers. That kind of defeats the purpose of revocation checks as someone can kill the OCSP connection and browsers will have to continue. Even when EV certs were a thing OCSP responders had a tendency to go down.

The really big problem though is privacy - revocation checks require transmitting every server name you are accessing, and secure DNS (if it existed) would not be sufficient to hide where you are navigating.

CT "solves" this by at least requiring an SCT so we know that in principle any cert we do encounter has been posted somewhere where effected individuals can see a misissuance. This obviously doesn't stop misissuance, it just makes it visible and allows us to determine whether CAs have verification flaws, etc. It also doesn't do anything about revocation checking as that is still dependent on OCSP, so has the aforementioned problems. Part of the move to short term certificates is to reduce the need for revocation checks as the lifetime of threat is much more restricted, so someone has to repeatedly compromise a CA to maintain an attack.

One other mechanism browsers have is certificate kill lists, which came into existence following the CNNIC and Symantec misissuances - essentially in the event of high profile/major site misissuance vendors can post a more or less immediate "don't trust these certs" list that is fast and robust vs. OCSP.

</comment><comment><USER6> Fantastic summary. For anyone wanting to search CT logs, Sectigo operates [https://crt.sh/](https://crt.sh/) for that. For instance here are all non- expired certificates containing a twitter subdomain: [https://crt.sh/?Identity=%25.twitter.com&exclude=expired](https://crt.sh/?Identity=%25.twitter.com&exclude=expired)

edit: s/Digicert/Sectigo - thanks jaas

<comment><USER7> It's interesting that CT effectively publishes all of your HTTPS endpoints. Using your example, it's possible to see a bunch of twitter hosts it might be hard to find otherwise. This effect of CT has been surprisingly uncontroversial, in contrast to DNSSEC where enumeration concerns have probably delayed adoption:

[https://www.cloudflare.com/dns/dnssec/dnssec-complexities- an...](https://www.cloudflare.com/dns/dnssec/dnssec-complexities-and- considerations/)

I suppose you can get around enumeration concerns with CT by using a wildcard cert. It's always seemed odd to me to worry about information in a public database like DNS being retrievable on bulk anyway - that approach is just security by obscurity.

<comment><USER8> But not everyone uses wildcard certs so enumeration is a problem. Also lots of people use certs with internal hostnames on public servers (they shouldn't but it does make some things easier and not everyone is aware of the security issues). When CT first came out I remember running searches for some of our client's domains and being easily able to identify Exchange servers, RDP servers, etc along with the corresponding internal hostnames which makes it easy to identify potential targets for attack.

Obscurity does have a role to play in security - leaving your front door unlocked is unlikely to be a problem but if you publish that information in a publicly searchable database then you are making yourself a target</comment></comment></comment>


Gen X Hits Another Bump in the Road - <AUTHOR> http://blogs.hbr.org/erickson/2012/04/gen_x_hits_another_bump_in_the_1.html <comment><USER2> I've never understood why people think houses should appreciate in value. Houses don't get "nicer" as they get older.

Now, I understand that a neighborhood can become more desirable, or the land where the house is becomes more constrained, but that doesn't apply to every house. I feel like most of America (outside the cities) has plenty of room.

I guess that's partly why the housing bubble collapsed? It was based on feelings or something?

<comment><USER3> It collapsed because it was a bubble being pumped up by the Federal Reserve and its' "easy money" market manipulations. That is the flawed logic of a Keynesian system, that you can plan and manipulate a world economy. You can't, and thus we ride the roller coaster of boom and bust. It's been happening as long as the unaccountable Federal Reserve has been calling the shots.

</comment></comment><comment><USER4> I find it hard to sympathize with the tone of this article. Seriously how can anyone feel bad for being born in that wonderful time. Didn't we all live through huge transformative things like the internet (GenX/Y remembers how boring the world was before that), don't we live in the most technologically advanced environment ever? What does it matter if there are less payroll jobs, or more loans when in total we produce more; financial indicators have different meaning in different contexts. That doesn't mean people receive less education, healthcare, leasure time and other things that make people happy less than before! Hell, i wish i 'd been born ten years later, not earlier!

The growing income inequality is an issue, i give you that, and the rise of new economies has brought the West to an uncomfortable position, but hey, here's something to work toward fixing.

And i know that it's silly, but whenever i hear whiners like that, i can't help but think "grow a pair".

</comment><comment><USER5> The author appears to either not know how old Gen-Xer's are, or is smoking crack. We entered the job market during the 90's boom, so we were much better employed in our early careers compared to today's grads. We've never had jobs that had pensions, and have been told our entire lives to save for retirement, so we won't "lose" our pensions. The housing boom/bust affected all ages. And we're not quite old enough to suffer from recession-induced early retirement. Nor are we currently retiring and moving our savings into fixed-income investments with historically low rates. I'd say Gen-X has done well in the Great Recession, comparatively.

EDIT: I reread the article replacing "Gen-X" with "youngin's", and it makes a lot more sense. Also, we were the last generation that could reasonably work their way through college without loans.

</comment><comment><USER6> Can somebody tell me who is considered "Gen X"? I thought I was, as a kid, but I believe I might even be too young.

Kurt Cobain was in Generation X, right? I was 11 when he died. Where does that put me? What about my 5 year old?

The whole idea of distinct "generations" seems wacky to me, but it sure does appeal to journalists.

<comment><USER7> _The whole idea of distinct "generations" seems wacky to me, but it sure does appeal to journalists._

People like to be _part of a group_. It's warm and comfortable. To not be part of a greater collective, part of something more powerful than their own individual beings, can be terrifying and lonely.

Journalists surely understand this; they tap into this inner fear, this inner desire of ours, when they generalize and talk in terms of distinct groups rather than in terms of individuals, even though surely none of us are so uniform that we truly belong to any such _group_ as defined by any journalist anywhere.</comment></comment>


Data Driven Analysis: /tmp on tmpfs - <AUTHOR> https://insights.ubuntu.com/2016/01/20/data-driven-analysis-tmp-on-tmpfs/ <comment><USER2> I know the Gentoo init scripts clean /tmp by default on each boot anyway. My developer laptop now has 32GB of ram and 32GB of swap (which my OS rarely uses), so there's no good reason not to do this.

Edit: one thing I did run into, back when I was trying to deploy DC/OS on DigitalOcean:

[http://penguindreams.org/blog/installing-mesosphere-dcos- on-...](http://penguindreams.org/blog/installing-mesosphere-dcos-on-small- digital-ocean-droplets/)

If you scroll down to "startup issues," you'll see that by default, /tmpfs is given half of the size of your total available memory. For starting DC/OS on really small DO nodes (it is a memory hog), it would simply fail due to running out of tmp space.</comment>


Casual sex arranged through social media leading to "perfect storm" of STDs - <AUTHOR> http://www.ri.gov/press/view/24889

<comment><AUTHOR> Some context from RT:

[http://rt.com/usa/263405-sex-apps-blamed- disease/](http://rt.com/usa/263405-sex-apps-blamed-disease/)</comment>


Record number of Americans dump U.S. passports - <AUTHOR> http://money.cnn.com/2016/02/08/news/americans-citizenship-renunciation/ <comment><USER2> 4,279 out of ~319,000,000 may be a "record number", but its so small as to be negligible.

<comment><USER3> Yes, as absolute numbers. But how many of those are "high net worth" individuals, who may (or may not) contribute considerably more in taxes each year than the average tax payer? I believe, "Is there an exodus of people with access to large amounts of capital", is the real question with various long- term implications.

<comment><USER4> It's also worth noting that more and more American students are moving to Europe for free university and staying for the jobs. It wouldn't surprise me at all if this demographic begins to explain the increase in the US exodus, at least partially. Student debt can be a scary thing.

[http://www.nbcnews.com/news/world/why-american-students- are-...](http://www.nbcnews.com/news/world/why-american-students-are-flocking- germany-staying-n515961)

<comment><USER5> In looking at recent history, it's well worth remembering all of the Americans who emigrated to Canada and Europe to avoid the Vietnam draft. Many stayed.

It's very unlikely that the uptick in expatriation is due to a recent increase in the number of US students enrolled overseas. It takes 6-8 years of residency to get German citizenship, and while I don't know the details for Germany, in Sweden that excludes residency as a student.

<comment><USER6> > It takes 6-8 years of residency to get German citizenship

That doesn't sound any slower than the US - it'll probably take me around 8 years of post-student residency to become a US citizen (3 on H1-B, then 5 on a green card - and bear in mind it's much faster for me than for someone born in India or China, who face massively backlogged green card quotas).

A lot of people fixate on citizenship, but permanent residency is 99% as good as citizenship. Ask any green card holder, they'll tell you the real challenge is getting the green card. The subsequent 5 year wait for US citizenship is gravy by comparison.

<comment><USER5> We're talking about expatriation. It's difficult to live as a stateless person. You really want to have citizenship in another country before giving up US citizenship.

While permanent residency might be a possible substitute, the lack of any citizenship will likely make it more difficult to travel to another country, and there may be legal problems should you have a child as a stateless mother.

<comment><USER6> True, assuming you're not a dual citizen to start off. Some of the Americans moving to Europe might already have a European citizenship by descent (although not necessarily of the country they end up settling in).

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> "tired of dealing with complicated tax paperwork headache" really? This your spin on the only other country besides Ethopia which does double taxation on its citizens? Shame on CNN

<comment><USER8> There's no double-taxation, since you can 100% deduct any foreign taxes paid. I paid no U.S. tax in the years I lived in Denmark for this reason; I wasn't double-taxed. Since the U.S. has one of the lower federal tax rates of developed countries, and expats don't have to pay state or local taxes, really only people who live in tax havens end up having to pay U.S. taxes (by raw number, I would guess the largest number are expat oil-company employees living in one of the low-tax gulf states). So it mainly boils down to a tax headache, which is significant. I didn't pay any U.S. tax, but I had to file a whole bunch of documents.

<comment><USER9> > you can 100% deduct any foreign taxes paid.

That's not correct, actually. It's 100% up to some number that's fairly high for a European salary.

And like you say, it's a big hassle.

<comment><USER8> Are you thinking of the Foreign Earned Income Exclusion? That one lets you exclude foreign income up to $100k from even being computed for U.S. income purposes. But the Foreign Tax Credit, which lets you take a 1-for-1 credit of foreign taxes actually paid against U.S. taxes owed, has no maximum. The distinction only really matters if you're in a country which has lower taxes than your U.S. federal tax rate. If, like me, you're in a country with higher taxes, the Foreign Tax Credit completely wipes out your U.S. tax liability with no maximum.

<comment><USER9> Ah, right. See, it's not all that simple, and like you write elsewhere, you need a competent accountant.

For instance, part of the US-Italy tax treaty says that as a US person working as an independent contractor in Italy, I needed to pay into Social Security rather than the Italian equivalent. I'm not sure I would have figured that one out on my own.

<comment><USER5> Same here. My US accountant told me about the paperwork I needed to get to tell the IRS that I was covered under the US/Sweden totalization agreement for Social Security.

Ha! And [https://www.ssa.gov/international/agreements_overview.html#&...](https://www.ssa.gov/international/agreements_overview.html#&a0=5) has a special exception _just for Italy_ :

> Italian Agreement An Exception

> The agreement with Italy represents a departure from other U.S. agreements > in that it does not include a detached-worker rule. As in other agreements, > its basic coverage criterion is the territoriality rule. Coverage for > expatriate workers, however, is based principally on the worker's > nationality. If a U.S. citizen who is employed or self-employed in Italy > would be covered by U.S. Social Security absent the agreement, he or she > will remain covered under the U.S. program and be exempt from Italian > coverage and contributions.

</comment></comment></comment></comment></comment></comment><comment><USER10> Renouncing your U.S. citizenship for tax reasons technically makes you ineligible to enter the United States for any other reason. It is potentially a cause for denial on any class of visa.

I wonder how many of these ex-pats realize that they may never be able to visit again...

<comment><USER11> Note to self: if I renounce my US citizenship, do NOT check the box saying "I'm doing this for tax reasons".

Seriously, this is apparently real law, but according to a "citation needed" bit in wikipedia, has never been enforced.

> The 1996 law included a provision to bar entry to any individual "who > officially renounces United States citizenship and who is determined by the > Attorney General to have renounced United States citizenship for the purpose > of avoiding taxation by the United States."[47] There is no known case of > this provision, known as the Reed Amendment, having ever been > enforced.[citation needed]

</comment></comment><comment><USER12> I don't understand one thing about us tax law. US corporations avoid paying taxes by using forieng subsidiaries where as Americans are still taxed despite the fact that they are not even living in the US.

</comment><comment><USER13> This article is posted every single year without fail[1], the number of people giving up passports is absolutely inconsequential. This number is further minimized since the US has one of the lowest tax rates to begin with, so the vast majority of dual-citizens owe 0 in additional tax.

[1] - [https://www.google.com/#q=site:https:%2F%2Fnews.ycombinator....](https://www.google.com/#q=site:https:%2F%2Fnews.ycombinator.com%2F+americans+passport)

I'm not sure what the benefit to these repeated articles is.. Anti-tax fervor? Some country-specific PR?

<comment><USER10> In 2015, they completed the phase-in of new reporting requirements for ex- pats. Some of which are quite onerous.

Among other things, you will need special banking services in your new home country, because foreign banks do not necessarily make FACTA reports for all accounts. Some won't even open accounts for Americans.

<comment><USER14> Additionally the fee to renounce is now $2,350 which is almost 5x what it was before.

<comment><USER15> I think $2,350 is the least of anyone's concern when renouncing their citizenship, particularly if they're wealthy. There are massive exit taxes if you follow the letter of the law.

</comment></comment></comment></comment><comment><USER16> God, that graph with the disappearing data is annoying.

"Hey guys, what's a great way to show time-series, numerical data in a concise and easy to understand way?"

"How about a movie, Bob?"

</comment><comment><USER17> The conjecture by CNN that it is primarily about taxes is not only unfounded but absurd.

Far more Americans immigrate to feel freer, safer, better protected, for a higher quality of life or for a richer culture. Anecdotally, I alone know four Americans who permanently immigrated to Europe. None for tax reasons.

<comment><USER18> I'd say it's conjecture that "far more Americans immigrate to feel freer, safer, better protected".

Where's that source? Where are they going that's "freer" and "safer". I'm not saying there aren't areas that are more free, however the hell you define that. There might even be safer places, although that's a ridiculous generalization of the United States. It's all relative to your race, religion, location, economic situation. That sounds absurd.

<comment><USER9> The homicide rate in the US is certainly higher than many places in Europe:

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

That wasn't the chief reason I lived there though.

The health care system in the US is a godawful mess.

OTOH, the US is a pretty wealthy place with lots of good stuff going on. I'm sure everyone has their own reasons.

<comment><USER18> The homicide rate is higher than Europe, if that's really the gold standard for you. As you know, the US is a pretty big place. We don't get a lot of murders out here in Montana.

Healthcare's a pain, sure.

Still there's no evidence that any meaningful amount of people are leaving for the bastion of freedom that is Europe, which I find laughable. Ask an Arab around Paris how safe they feel.

<comment><USER9> > We don't get a lot of murders out here in Montana.

Actually, statistically speaking, you do. The rate is 3.6 [https://en.wikipedia.org/wiki/List_of_U.S._states_by_homicid...](https://en.wikipedia.org/wiki/List_of_U.S._states_by_homicide_rate) for Montana, as compared to Italy at 0.9, Germany and Spain at 0.8.

All things considered, I doubt anyone moves to Europe for that reason alone, as there are plenty of places in the US where the numbers are fairly low.

<comment><USER18> My individual state has 2.7 more murders per 100,000 people than Germany and suddenly I "statistically speaking" have a lot of murders in my state?

We interpret statistics differently.

<comment><USER5> The homicide rate in Montana is 4.5x higher than Germany. How is that not "a lot of murders" by comparison?

Or, rather, what does "a lot of murders" mean to you?

<comment><USER18> Here we go again with trying to make the number seem bigger.

It's 3 murders per 100,000 people. No, that isn't a lot to me. I'm completely fine and feel safe knowing I have a 0.000036 percent chance of being murdered next year.

<comment><USER5> What does "a lot of murders" mean to you?

<comment><USER5> Without an answer, I'll go back to your "Ask an Arab around Paris how safe they feel".

The 2012 homicide rate in Paris is 1.8 / 100,000, according to the "Homicide counts and rates in the most populous city, time series 2005-2012" spreadsheet available from linked from [http://www.unodc.org/gsh/en/data.html](http://www.unodc.org/gsh/en/data.html) . The total count was 41, so an overall population of 2.2 million.

To confirm, [https://en.wikipedia.org/wiki/Demographics_of_Paris](https://en.wikipedia.org/wiki/Demographics_of_Paris) says "The city of Paris (also called the Commune or Department of Paris) had a population of 2,241,346 people within its administrative city limits as of January 1, 2014".

It's hard to know the ethic breakdown of everyone who was murdered. That last URL says there are 436,576 immigrants in the city of Paris. I'll assume 2/3rds of those are Arabs, based on the '2011 Census Paris Region; Country/territory of birth' chart from that page, and assume that there are no non-Arab homicides. This is, of course, going to give a very high number compared to the actual number:

That gives a homicide rate of 41 / (436576*2/3) = 14/100,000, compared to Montana's 3.6.

This absurd number is still less than 4x of homicide rate in Montana.

Under your logic, an Arab in Paris should not feel unsafe due to threat of being murdered.

Why should we think that Montana is safer for you than Paris is for an Arab?

<comment><USER18> You seem to be under the impression "safety" is defined by per capita murder rates. Which, as you frequently point out, is 3.

3.

This isn't going anywhere, right? Let's just wrap it up.

<comment><USER5> You implied they were somehow connected. We're trying to make sense of what you wrote.

<comment><USER18> No, my implication was not to connect Montana and a Parisian of Arab descent. The implication is that safety is a feeling and relative. There's context to it, your upbringing, your race, your economic status, the amount of attention your mother gave you, whatever.

I'm not interested in coming to some conclusion that X is safer than Y. So far you're the only one I've seen struggling to understand this.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> I'll speak up since I'm an American living over seas and I feel like several of the comments currently ranking highly on the page either miss the point or make factually inaccurate statements. Note that if they miss the point, it's very unlikely that they choose to miss the point. More likely they have been misinformed by poorly constructed articles like this one.

I was born in the US but have been living and making most of my income over seas for five years. I'm actually relocating back to the US in two weeks (yey, welcome back :D). On the one hand I'm sad to leave the place that I currently live since, for me, it's better in nearly every way than most US cities. It's cleaner, I've lived well without a car, walked/cycled significantly more and I've visited nearly every crevice of this city and never felt unsafe due to a combination of cultural and legal differences. I pay slightly higher taxes than I would in the states. On the other hand, I'm very excited about having less paper work to do for a few years.

That's all context for my view: For me, it's not about the amount of money I pay in taxes. I'd call myself upper middle class so far as income goes and I've not had to pay US tax for the past five years. I will have to this year because of some options that I exercises but generally I'm happy to pay US tax.

The burden, the thing that's made me consider renouncing, is the reporting. Let's start with the basics, I have to do my taxes in two places. This involves finding an accountant both in the US and over seas who is capable of doing taxes for someone who is a special type of tax resident. Every accountant will say that they are competent but I have found their claims mostly unfounded. One can pay someone who specializes but that always involves paying a significant premium.

In addition to doing taxes in two places I also have to fill out a separate form listing all assets worth > $10k and in which I have >= 50% ownership. This includes bank accounts, houses and any other investments. This is particularly onerous when one marries to a non-US resident. Suddenly the US government knows a lot about them. Do they have any bank accounts with more that $10k in them? Do they own any property? Any investments? Because if they do, by most countries standard you probably suddenly own 50% of it.

On top of all of that, as of 2015 I also have to ensure that my bank does a specific type of reporting. I'm lucky in that where I am Americans are numerous enough to make this worthwhile for the banks but this is not the case everywhere. Some banks in foreign countries have started refusing US customers.

Comparing the number of people renouncing citizenship to the total population of the US misses the point. It's better to compare against the number of americans living and working over seas. From a quick search around the internet the number of expats looks to be ~7M. It's still a very small fraction and not something that I expect law makers to pay attention to. The reason I think this comparison makes sense is because it is worthwhile to consider whether or not we want to keep connections to our diaspora. The issue from a governance perspective doesn't seem to be a loss of tax revenue but instead a non-reversible export of talent. In a flat world I have doubts about the US's ability to maintain expertise in all of the area that will fuel future economies. That being the case, I think it would be good for the US to make it simple and straightforward for Americans to go to other places where they can become experts and return home for further work.

I don't expect the US's policy to change. In fact, if the number of people renouncing continues growing more rapid I wouldn't be surprised to see the US use more aggressive rent seeking measures. This seems obvious given recent additions to the reporting requirements placed on expats and higher fees associated with renouncing.

</comment><comment><USER20> "But it's illegal to give up U.S. status to dodge paying a tax bill -- and doing so doesn't mean authorities won't come looking for back taxes." .. how exactly would that be pursued?

<comment><USER21> the process of renouncing citizenship involves proving you're up to date on your taxes.

</comment></comment><comment><USER22> The US sets a record for issuing passports every year. Logically, the number not renewed ("dumped") would be higher every year.

<comment><USER23> This is talking about giving up your citizenship, not about passport renewal.

<comment><USER22> See first comment.

</comment></comment></comment><comment><USER20> META: can someone please explain HN's upvote algorithm ?New account, 3 points and frontpage. Earlier one of HN staff said that accounts that posted high- ranking content got upvoted faster. Now I'm wondering if the upvotes are weighted by who gives them?

<comment><USER24> Yes, they are.

<comment><USER25> Source?

</comment></comment></comment><comment><USER26> I'm looking at moving to the US in the near future, and some of the implications of the tax system are pretty startling.

For example, I have contributed to a small retirement plan which grows tax free here in the UK, and the US/UK tax treaty ensures that it will continue to grow tax-free once I've moved. So far, so good. However, there is a body of professional opinion stating that such plans count as a "foreign grantor trust" under US law, which has specific reporting requirements that the plan itself is required to comply with, and I am penalised if it fails to do so. The penalty scale starts at $10,000 and goes up from there.

Of course, this body of opinion is being pushed by tax advisors who have a vested interest in both making things as complicated as possible, and who are inclined to a conservative view of the law given their responsibilities to their clients. The IRS hasn't clearly stated one way or another whether UK pension plans are subject to this reporting -- but have specifically exempted the Canadian equivalent.

This is just one frustration of several: becoming a US resident will force me to close some of my financial accounts with institutions which want to avoid FATCA hassles, I'll be limited in which investment choices I can make, and when I eventually take my pension benefits the US will claim tax on the tax- free lump the UK provides if I'm still a resident or have taken citizenship.

For those who have emigrated permanently -- or who acquired US citizenship at birth without ever living there -- I can well understand why even those without significant income or assets would want to renounce their citizenship.</comment>


In Health IT, think like a doctor and start with the ABCs - <AUTHOR> http://listrunner.tumblr.com/post/91967606965/in-health-it-think-like-a-doctor-and-start-with-the

<comment><USER2> i'd argue "think like a patient" and be scrappy, tenacious, seek dozens of opinions from different schools of thought and be laser focused on a tangible (business value or human health) outcome.... not IT concepts at all

security - do you know how many unencrypted phi emails i get from clinic staff despite all the expensive encrypted email and secure web tools? dozens a day. want to know where your doc really keeps your "shadow" emr record? not in epic - dropbox or google docs if you are lucky - a paper print out with handwritten notes behind their closet door most likely.

integration - even if you wanted to integrate with epic/allscripts/ge you need to sign contracts and pay through the nose --- just try licensing HL7 or FDB --- and even after you do, guess what - the clinician prints the record to pdf and emails it to their google account so now you have forked copies of the data anyway. oh and it gets stale really quick. and is anyone actually checking the accuracy of those meds in the epic record? especially when it forces the user to select a dosage even when the patient has no clue?

scalabilty - getting docs in an OR to agree on a simple thing is like herding cats...let alone departments...let alone campus leadership...let alone systemwide initiatives...state IHEs...fed registries...oh my! look at IHEs...10+ years of Frameworks(tm) and the best candidate i see is SMTP based...yep, email. definitely scalable! so i concede that argument (though i guess i would say that anything that is not email or maybe simple web pages is doomed to small scale use regardless of architecture)

so on the positive side, my suggestions from 8 years in healhtcare it markets: deliver value first, tech afterwards. streamline something, save time or money, save lives, substitute actions for inactivity, show data and peer review empirical evidence...and above all... let the data speak for itself.

(it also doesnt hurt to have deep pockets and a 10 year time horizon either)

your results may vary

<comment><USER3> very good points! i'm moving back into this field again. would you be available for a thought exchange?</comment></comment>


Desktop applications with Node.js - <AUTHOR> http://www.debuggerstepthrough.com/2014/10/desktop-applications-with-nodejs-as-if.html

<comment><USER2> The article discussed Node Webkit [1] but Atom Shell [2], upon which the Atom editor is built, is a similar technology also worth considering.

I find this approach to desktop apps quite intriguing, but I wonder if the underlying dependencies (Node.js, Chrome) are a bit risky from the perspective of adopting this platform for a LOB application (as opposed to say a WinForms/WPF approach, the concern about the future of that notwithstanding).

[1] [https://github.com/rogerwang/node- webkit](https://github.com/rogerwang/node-webkit) [2] [https://github.com/atom/atom-shell](https://github.com/atom/atom-shell)

</comment><comment><USER3> (Ex) Dev of Popcorn Time here: Node-Webkit is tremendously useful for cross- platform development. I couldn't imagine building an application that works the exact same on Mac, Linux and Windows without it (Note that OS-specific bugs in Popcorn Time are extremely rare). It really is a wonderful project

<comment><USER4> Reminds me of friends using XUL for the same purpose of years ago.

</comment></comment><comment><USER5> tl;dr: Node-webkit exists</comment>


Show HN: Upvoted Stories - <AUTHOR> https://news.ycombinator.com/upvoted?id=hammock <comment><AUTHOR> Seems to be new, check it out here- upvoted stories and comments.

[https://news.ycombinator.com/upvoted?id={USERNAME}](https://news.ycombinator.com/upvoted?id={USERNAME})

[https://news.ycombinator.com/upvoted?id={USERNAME}&comments=...](https://news.ycombinator.com/upvoted?id={USERNAME}&comments=t)

<comment><USER2> It was called _saved stories_ until recently. I think the elves have been busy in the Hacker News codebase.

As an aside, the spirit of "Show HN" is for things that the submitter has created and which other users can play with or try out.

</comment></comment><comment><USER3> > Can't display that.

Probably a good thing. Do you want you're entire upvote history public?</comment>


Moving to Marin Co :) Can't get high-speed Internet :( - <AUTHOR>

I'm moving to Marin Co. from the East Coast next week and the house is about a mile from the highway. Comcast and won't service it and Verizon says it's too far for DSL. Am I stuck with celular service or are there other options in the area? <comment><USER2> I am not sure why you have a ":)" next to "moving to Marin". I've lived there for two months after having moved there from the East Coast. I've hated every minute of it, _and_ I had high-speed Internet.

<comment><AUTHOR> Different strokes. I've been away from the Bay Area for a decade and I can't wait to get back to my native land.

</comment></comment><comment><USER3> I live in Marin. It seems very strange Comcast won't service it. Are you living on the docs?

Check out: <http://sonic.net/>

<comment><AUTHOR> Sort of. A house out in the wetlands.

I even went for Comcast business to get them out for a site-survey, but they won't do it, and it seems sonic is tied to the telcos, so that's a no-go as well.

</comment></comment><comment><USER4> If it has a good view of some civilization I bet there are some point to point wireless internet providers in the area.

</comment><comment><USER5> Pics? I'm curious what your surroundings look like.

<comment><AUTHOR> I'd live there without ANY internet if I had to - <http://imgur.com/a/blPyd>

<comment><USER5> Very cool. What are you doing there work wise? I've wanted to move west for a while and a few months ago I took a work vacation in Prescott, Arizona for a month and a half.</comment></comment></comment>


CIA's Declassified 1941 Simple Sabotage Field Manual - <AUTHOR> https://www.cia.gov/news-information/blog/2019/the-art-of-simple-sabotage.html <comment><USER2> I've a feeling that I've encountered this before on HN, but it's a pleasure to revisit it. Consider, from the intro:

> The potential saboteur should discover what types of faulty decisions and > non-cooperation are _normally_ found in his kind of work and should then > devise his sabotage so as to enlarge that "margin for error".

Also:

> Be pleasant to inefficient workers; give them undeserved promotions. > Discriminate against efficient workers; complain unjustly about their work. > When possible, refer all matters to committees for "further study and > consideration". Attempt to make the committees as large and bureaucratic as > possible.

For so long I thought that I'd been witnessing poor (middle) management. It seems that I had been observing deviously skilled saboteurs.

Excellent stuff.</comment>


Magnetic Rope observed for the first time between Saturn and the Sun - <AUTHOR> https://www.ucl.ac.uk/mathematical-physical-sciences/maps-news-publication/saturn-sun-magnetic-rope <comment><USER2> I didn't know about this phenomenon. I assume these are weak and transient, but I still had to wonder if they could have any utility for propulsion around the solar system. Could you electromagnetically "grab" such a thing?</comment>


The definitive list of what everyone likes on Facebook - <AUTHOR> http://www.theverge.com/2016/2/1/10872792/facebook-interests-ranked-preferred-audience-size <comment><USER2> Am I the only one who was expecting a -404 error?</comment>


Lenovo IdeaPad U1 Hybrid: laptop screen detaches into multitouch slate - <AUTHOR> http://www.engadget.com/2010/01/05/lenovo-ideapad-u1-hybrid-hands-on-and-impressions/

<comment><USER2> That's sort of similar to what I would build if I were in charge of the Apple iTablet project.

A light-weight ~13 inch screen with a built in stand that you could use as a wireless second screen for your macbook (/pro).

When the laptop was turned off or out of range it would retain access to a cache of your e-mails and some of your media. Throw in wifi, a web browser and a note pad and you get a useful accessory rather than a stand alone pointless gadget.</comment>


Fake Facts on Twitter - <AUTHOR> http://www.schneier.com/blog/archives/2009/04/fake_facts_on_t.html <comment><USER2> This is a very interesting example of a concern that Schneier has long had about "semantic attacks" on the Web. Since I started participating on Usenet in 1994, and even before that on commercial online services since 1992, I have noticed that some participants are quite willing to poison discussion of contentious policy issues with made-up "facts." That's why I think it is a good idea, here on HN and everyone online where people discuss important issues, to check facts and ask for sources or further details for any "fact" that seems striking.

<comment><USER3> I find HN is pretty good about finding sources and backing up facts. Commenters here will call you out if you say something they can show is false and I like that.

</comment></comment><comment><USER4> Important observation, from the post he's referring to:

"But second, be careful of what you read and believe on Twitter. I think some of the leeway granted to InTheStimulus is _based on the soundbite nature of the site; people can get away with no citations_ , which is less likely than with a conventional blog." (emphasis mine)

Something that reinforces ones' worldview tends to be less likely to get questioned than something that contradicts it, and a complete lack of evidence can get overlooked: After all, it's _obviously_ true.

<comment><USER2> _Something that reinforces ones' worldview tends to be less likely to get questioned than something that contradicts it_

Yes, confirmation bias

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

afflicts most discussion, and especially most online discussion. Agreeing with another reply above, I greatly appreciate it when anyone on HN asks follow-up questions to another reply, to check facts and sources.

</comment></comment><comment><USER5> This has the feel of the Sokal Affair about it. The guy should have announced that it was a hoax over the wire, but the goal is basically the same. Put something together that has the same appearance as what you're trying to satirize, but include some critical flaw, and see if anyone notices.

I wonder if we'll end up seeing any of these in mainstream reporting; that would be quite the thing.

</comment><comment><USER6> The internet has made agitprop more efficient along with everything else. Social media is by definition a large group of civilians on a coffee break. Anyone with an agenda and a certain twist of mind can cause large disturbances... when I bring this up to people in abstract they don't really get it. Maybe this example will help.

</comment><comment><USER7> Wow, it looks like they even scrubbed this from search.twitter.com...? I didn't look hard, though.

</comment><comment><USER8> I am keen to see how long the twitter search as it is today seems to be relevant before it gets spammed enough and a tweet-rank algorithm needs to be used rather than a purely realtime algorithm.

</comment><comment><USER3> Spreading false information to prove that you can spread false information is morally corrupt.

<comment><USER9> If only Jonathan Swift were here to laugh at you in person.

<http://en.wikipedia.org/wiki/A_Modest_Proposal></comment></comment>