Hell Sucks – Impressions From the Only War We've Got (1968) - <AUTHOR> http://classics.esquire.com/hell-sucks/ <comment><USER2> Americans got their ass kicked in Vientam; that's why they can never get over it. Instead they have been supporting dictators, nazi affiliated parties (see Ukraine) and islamist extremists who destroy 2000+ years of civilizations (see Syria). Then they talk about democracy as if it's part of their culture. Democracy was never a part of America. Capitalism is: Let's make a million dollars no matter who dies. So much hypocrisy prevalent in American culture is disgusting.

<comment><USER3> Still not got over the fall of the soviet union have we "comrade".

Actually in purely military terms the USA didn't get beaten on the field TET was a disaster for the VC not that the NVA minded that much.

<comment><USER4> Well, Tet showed that the USG had either consistently lied or was consistently misinformed about the actual strength of the North Vietnamese forces, so it shook public confidence in Washington; the US casualties were far higher than confident military forecasts; and the American public found the US airpower tactics horrifying and the wanton brutality of ARVN "allies" reprehensible. (North Vietnamese forces were no less brutal, they just didn't have embedded reporters in their units.)

In many ways, the Tet Offensive just reinforced the lessons of Ia Drang, from half a decade prior: US forces could use vertical envelopment, precision artillery and CAS to do a hell of a number on North Vietnamese units (though I Corps was almost completely cut off logistically by NVA activity, forcing a major airlift to keep operations going); but the Viet Cong/NLF forces could, operating autonomously in the countryside and even in cities (as seen by the NLF siege of the Saigon AMEMB), still inflict significant casualties on US forces by using ambushes, traps and rush-to-close engagement tactics to neutralize US technology.

Arguably, had the US "held the line" instead of engaging in theatre force reductions, then perhaps the North Vietnamese threat could have been contained, and perhaps even rolled back -- but at the cost of decades of combat, massive American casualties, the utter desolation of most of Vietnam, and domestic unrest in CONUS. And, even then, the ineffective, delegitmized and corrupt South Vietnamese military and government would have faced decades more of revolutionary violence that it was unequipped to face militarily, socially or politically. Saigon had as good a chance of long-term survival as Rhodesia or French Algeria did, and the US was simply wasting youth and treasure trying to keep the Communists out.

<comment><USER3> I thought TET was mostly VC and the USA held back in built up area's instead of deploying Berlin or Stalingrad style tactics.

<comment><USER4> Depends on the location; there were slightly more PAVN battalions in the field than VC, and some on-paper VC units were actually reflagged NVA (e.g., the 808th battalion). Actions in Saigon and other southern battles were with infiltrated Viet Cong, but Hue was mostly a PAVN action with VC support.

There was a _lot_ of MOUT-style urban fighting (5 major cities and 36 regional capitals were targets of the Northern forces, plus around 70 smaller towns and various military bases like Long Binh and Bien Hoa near Saigon), but most of it was relatively short, and US forces took advantage of airmobile capabilities and reasonably good control of major roads to move forces quickly and decisively. Hue was the infamous exception, running for (IIRC) some 25 days of grinding, brutal urban combat with soldiers, Marines and South Vietnamese units clashing with the largest concentration of PAVN forces.

After Tet, the North figured out that dispersing their forces was a more effective method of confronting the US (again, IIRC, I think the US suffered more casualties from ambushes and booby traps than conventional assaults in the years after Tet), though they didn't entirely abandon conventional engagements (the 29th PAVN's defense of Hill 937, or "Hamburger Hill," against a determined 101st ABN attack is an example). Even during the war in Cambodia, NVA forces chose to conduct fighting withdrawals, luring South Vietnamese forces far past their logistical limits, and simply relocating their own logistics bases deeper in the country. It wasn't until the disaster of Lam Son 719, when NVA forces stopped the ARVN offensive in Laos, that the North Vietnamese fought a standing battle.</comment></comment></comment></comment></comment>


C# Brainteasers - <AUTHOR> http://www.yoda.arachsys.com/csharp/teasers.html?0 <comment><USER2> John Skeet (the author) has an impressive array of knowledge. Anyone working with C# coudld benefit from reading through his site.

(I just learnt something from #1. I assumed inerhited members were treated as first class members of the class. Apparently not!)

<comment><USER3> The first one surprised me as well. It's not like that in Java or in C++. The others are harmless because people either know or at least know that they don't know and look it up if necessary.

</comment></comment><comment><USER4> How about this one:

int i = 1; Object.ReferenceEquals(i, i);

What does it return?

<comment><USER2> It's going to box them into objects, which will cause it to return false.

      object i = 0; //object, so we will cause no boxing
      Object.ReferenceEquals(i, i);//now refering to the same objects, returns true;

</comment></comment><comment><USER5> Two of the six relate to overloading. The detailed mechanics of overloading in any given language is often overlooked even by people with many years of experience, because it both involves the interplay of several different features and often ends up being underspecified, so reliant on implementation quirks.

Some things that affect overload resolution:

* Scoping rules, providing the set of methods to be chosen from. C# generally only chooses a set of methods all declared at a particular level of derivation to mitigate the fragile base class problem. The principle is that if an ancestor introduces a method, it shouldn't change the overload resolution that was already in effect in descendants. There are other niggles to scoping to consider generally, such as the interactions between visibility rules. For example, can you see privates on x in C::SomeMethod(C x), even though the type of x might actually be derived? See also, Koenig lookup:

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

* Conversion rules. Most languages have built-in implicit conversions, and C# also includes user-defined conversions. Obviously overloads that don't involve a conversion should be preferred to those that do, but how do you measure the "weight" of a conversion? Then there are things like Variants in languages that support them.

* Inference rules. Languages with generics can often infer type arguments from argument types, by matching them up with the parameter types to fill in the missing type variables. But in situations where there is more than one parameter governed by the same type parameter, the compiler has to either make hard choices, or arbitrary choices, or give up.

The Java language uses a simple concept which is worth keeping in mind when thinking about resolution: a method M1 is more specific than method M2 if values of the parameter types of M1 could be passed to M2 without compile-time error. The idea is that the most specific method of all applicable methods is chosen, but if there isn't any single most specific method, then there's a compile-time error.

The language whose overloading I've delved into most deeply is Delphi. In the course of maintaining it I've had to fiddle with many of its semantics to iron out bugs and enable specific scenarios. The backward compatibility constraints prevent using a (relatively) simple approach like Java's. I've come instead to think of overload resolution in a different manner:

* Every kind of argument type should be defined so that it it can form a partial order over potential parameter types. For any given pair of parameter types, the argument type should be able to indicate that neither is compatible, one is preferred to the other, or both are equally compatible.

* For a given argument list, the parameter list that best matches it is that list which is better or equal than any other list for every argument / parameter position, and is not incompatible in any place. If there is no single best match, then the resolution is ambiguous.

With this kind of approach, combined with much testing and experimentation, it's possible to elucidate the de facto overload resolution rules that a given compiler implements, and rewrite them both in the form of a specification and a reimplementation. It's not as nice as the principles-based approach that Java uses, but it ends up more practical in the case of older languages with a single dominant implementation (cf Delphi), and its exhaustive approach should also find any counter-intuitive niggles in the resolution mechanism.

<comment><USER6> There's another design approach, taken by Eiffel - not allowing overloading at all. Bertrand Meyer's arguments are that it's of relatively little use, compared to the cost (i.e. the kind of complexity you're describing), that it can get in the way of multiple inheritance and that genericity is a better tool for the sort of thing overloading is often used for. There's a section in OOSC about it (then again, there's a section in OOSC about more or less everything).</comment></comment>


China's gamble for global supremacy in era of Trump - <AUTHOR> http://www.bbc.com/news/world-asia-china-38754047 <comment><USER2> i thought we were in a "multipolar" world. is it really possible that any country will be globally supreme?</comment>


Stop Writing Classes - grey-area https://www.youtube.com/watch?v=o9pEzgHorH0

<comment><AUTHOR> Why do you bother us with that? Just use a closure in lisp! Fuck! This is a problem that has been solved for 50 years!</comment>


Academic publishing is archaic - <AUTHOR> http://www.daniel-lemire.com/blog/archives/2010/06/10/academic-publishing-is-archaic/ <comment><USER2> The article is lacking in details but I think his point is true. Maybe the solution isn't to evolve journals, but to replace them entirely. In the age of the WWW, why is academic information still distributed behind walled gardens?

<comment><USER3> _In the age of the WWW, why is academic information still distributed behind walled gardens?_

As a grad student in English, let me answer from my perspective: peer-review and bullshit filters.

The first is important because it acts as a signal to other faculty members and schools that you're at least producing something competent enough to have convinced another person in your discipline to publish you. I can't judge, say, an economist or historian's work particularly well because I don't have enough background too. But if they've published a lot of peer reviewed articles, I can at least say that others who can understand their field get it.

(Note to those of you who are about to point out all the problems with peer review: I agree. But the solution to the problems might be worse than the problems.)

The second reason: if I'm writing an article or researching something, I don't have time to wade through tons of bullshit. I want to get at stuff that I can use. Peer review probably gets rid of some useful stuff and lets in plenty of crap, but it's a useful rough pass.

Who coordinates peer review and publishing and getting referees and all the rest of this scut work? Editors. They also get some of their journals' budgets from publishers. Publishers are now monsters that control hundreds or thousands of journals. They demand walled gardens and high payments. This situation is unfair and dumb, but it is, and until you have a way to replace the institutional authority and money of publishers, you get walled gardens. This is a battle being (slowly!) fought (see Ars Technica for the latest salvo: [http://arstechnica.com/science/news/2010/06/california- libra...](http://arstechnica.com/science/news/2010/06/california-libraries- gearing-up-for-fight-against-nature.ars) ).

<comment><USER2> Great points. But newspapers have value over op-eds and blogs because they are peer-reviewed and bullshit filtered, yet the model is still dying. Granted academia is somewhat different because so much more weight is put into credibility.

But can't there be an alternative? I could see maybe a combination of collaborative filtering with something like the PageRank algorithm applied to the citation graph as an alternative to peer-review. It might not be quite as effective, but it would certainly provide a lot of benefits. Particularly decentralized authority and the distribution of academic work to the masses.

I'd imagine the issues are less technical, and more cultural; academics would probably be hesitant to publish to a "journal" that substitutes peer review with semi-automated processes for historic reasons.

</comment></comment></comment><comment><USER3> The problem is that problems in academic publishing are well-known (I wrote about them from the humanities viewpoint here: <http://jseliger.com/2009/07/30/careers-and-careerism1> ), but the equilibrium appears to be fairly stable -- even though everyone knows academic publishing needs to change, no individual has a sufficient amount of power on their own to change. So we get gridlock.

</comment><comment><USER4> from my perspective outside academia the main benefits I see to the traditional academic publishing system is in crackpot filtering, terminology standardization, and explicitly citing research dependencies and prior related work.</comment>


The Strip Clubs of Instagram. Going digital may be better for dancers - tren-hard https://www.nytimes.com/2020/04/10/style/justin-laboy-instagram-strip-clubs-live.html <comment><AUTHOR> Not sure how you can operate a 'strip' club on a platform where nudity is banned.

<comment><USER2> By making a new handle every day, apparently.

</comment></comment><comment><USER3> The weird thing is that camshows are a long established industry, so running them through a physical strip club is extremely skeuomorphic.

</comment><comment><USER4> Yep Tinder only works if you're genetically gifted. The other side sees a picture of you and in some milliseconds their brain decides, left or right.

Works for some people, for some people it's a trap "nobody really likes me?" and goes downhill from there. Tinder can be very shallow.

</comment><comment><USER5> Please Say Sike - coming from an old Magic City Patron (Atlanta)

</comment><comment><USER6> Does anyone have tips for blocking content like this on Instagram? There seem to be limited content controls on Instagram.

</comment><comment><USER7> I wish I could see what this looks like, I'm having trouble imagining how it all works.

<comment><USER8> Here's a PG-13 recorded session from "Quarantine Radio" with rapper Megan Thee Stallion:

[https://twitter.com/theestallionhq/status/124405594211680256...](https://twitter.com/theestallionhq/status/1244055942116802561)

<comment><USER7> Oh thank you! I love seeing how people use technology in new and unintended ways.</comment></comment></comment>


Show HN: We Made a Google for Business Where You're the Customer Not the Product - <AUTHOR> https://stabre.com <comment><AUTHOR> Hi everyone - I'm Stan, one of the founders!

Very excited to finally show Stabre.com to the world. We've been working on it for what feels like, and probably is - ages.

Stabre is a new search engine for business that gives you full control over the way you search and -find- companies. Our goal is to fix / remedy / address all the pains and friction you experience with traditional, consumer oriented, search engines.

The way we do this can be summed up in one word: Control.

We've introduced half a dozen new search methods, implemented search curation through up/down voting and everything else we could think of that gives you as much control over the search results as possible.

Right now Stabre is meant for business users / usage and allows you to find businesses worldwide, in complete freedom. But it's awesome to just explore the (business) world with as well :-)

Would love to hear your feedback, thoughts and questions!</comment>


Why you think your phone is vibrating when it is not - <AUTHOR> http://www.bbc.com/future/story/20130701-why-you-feel-phantom-phone-calls

<comment><USER2> > _" The second option is to shift your bias so that you are more or less > likely to conclude "it's ringing", regardless of whether it really is."_

The author implies that this is entirely a conscious choice. Can it really be? Is our semi-conscious ability to filter and detect really stronger than our evolved nature?

At any rate, if I could turn up the risk of feeling a phantom vibration while also increasing the probability I'll notice my phone vibrating, I would. I hate missing calls. I'm actually surprised by the cited study that it's within our control at all.

</comment><comment><USER3> I read -- in another piece, somewhere else, a long time ago -- a speculation that the human brain is a pattern-recognition machine which is hard-wired with a bias toward false positives.

Which can be evolutionarily explained -- if you think you see a large predator moving through tall grass, but it's just the wind, you pay the small cost of excess caution to stay hidden or fleeting exertion to run away as fast as possible -- but a false negative (failing to perceive the moving grass as a predator) is a much more costly mistake (resulting in being killed and eaten). So over time the survival advantage of a false-positive-favoring brain makes it more common.

And this also explains the fact that certain aspects of religion -- attribution of natural phenomena to the action of unseen intelligent being(s) -- occur in most, if not all, human cultures. The attribution to intelligent agency, where no such link actually exists, is a false positive in pattern recognition terms.

I'd appreciate it if someone could tell me where I found this idea, as I neglected to note the source at the time.

</comment><comment><USER4> I never keep my phone in my pocket if I don't have to. The second I sit down somewhere, the phone's on a table or somewhere not near ... my crotch.

This has completely eliminated the phantom vibrations I used to have (apparently reduced the psychological "connection" I had)</comment>


Tract: A Hugo theme for ambitious documentation projects - <AUTHOR> https://lucperkins.dev/blog/introducing-tract <comment><USER2> > Anyone who knows me well (in the tech industry at least) knows that I'm a > major Hugo bigot

"Bigot" is likely not the word you are looking for here - it generally has the connotation of someone who looks down or discriminates against those they consider lesser, e.g. racists or sexists. Maybe "champion" or "fanatic"?

<comment><USER3> or zealot!

<comment><USER4> Yeah I agree, I think they are looking for zealot. Sounds similar but different connotation.

</comment></comment></comment><comment><USER5> Here's Classy Docs for Gatsbyjs - a pure react based static site generator.

Remember, you need to write JavaScript anyway..it's probably far more productive to go all the way.

[https://greglobinski.github.io/gatsby-starter-kit- docs/class...](https://greglobinski.github.io/gatsby-starter-kit-docs/classy- docs-starter/)

<comment><USER6> I strongly disagree with this view. "You use JS anyway" is not a single valid reason to adopt React. Use it when you build interactive web applications (because that's what it was developed for), or if your site uses heavy content-changing animations commonly used in SPAs. Documentations, on the other site, are neither of that. At least this is what I expect: I am searching for information because I have to solve a problem, not to look at nice animations or give the docs page a thumb up.

<comment><USER5> you are mistaken here.

Gatsbyjs is not a dynamic application. It is a React-based framework to generate static sites. Pretty much exactly like Hugo - except that Hugo uses Go templating and Gatsbyjs uses React.

If you open the link i gave, it would solve the problem you needed to solve (and also get nice animations if you are so inclined).

The other advantage is that in the future if you want to build a dynamic application, you can continue where you left off. You dont have to rewrite in another framework. Its React all the way down.

<comment><USER6> Thanks for the clarification. Based on the Gatsby website itself and the docs it seemed that the websites generated with it also use React for the site itself. Apparently this is not the case. Still, the argument that one should better not bet on heavy frameworks for simple documentation is kinda valid, even if not applicable for the given use case.

</comment></comment></comment></comment><comment><USER7> I like it, but would you consider toning the color scheme a little down? Or maybe be a bit more sparing with color? The massive field of bright pink smacked me in the eyes when I opened it up. A good documentation theme should get out of the way so the reader can focus on the text rather than the colors.

<comment><AUTHOR> That color is mostly a placeholder, and in the actual theme you'll be able to change the color scheme in the site configuration (without needing to touch CSS).

I agree that aesthetics are absolutely CRUCIAL and this will be a MAJOR focus of the project.

You can see this in action here: [https://github.com/tract-docs/tract- docs.dev/blob/master/con...](https://github.com/tract-docs/tract- docs.dev/blob/master/config.toml#L11-L13).

<comment><USER8> "whatever looks like readthedocs" is good in my world.

<comment><AUTHOR> I personally find RTD far too drab for my tastes but to each their own. If it works for you, run with it!

</comment></comment></comment></comment><comment><USER9> One dependency:

Anchor.js — Provides nice clickable/linkable anchors for Markdown content

Almost 6K minified to do something that the browser can do natively?... I know I've been out of frontend for almost three years but I'm still confused :D

<comment><USER10> The browser does it natively if you hand code it into every page and every sub heading. What the tool does is allow you to insert the script into any page and it will automatically create anchors for all the sub headings. This saves tons of time because you don't have to do it manually (i.e. by inserting IDs in every H1, H2, etc.)

<comment><USER9> I mean sure, if you were writing the website by hand. But every markdown processor I've used is able to derive these from headlines. And everything you can do in JavaScript you can also do when generating the page in the first place if it's just a one time modifications of the page.

<comment><AUTHOR> Markdown parsers can auto-generate IDs for headers but they don't create a nice icon next when you hover over the header. That's what Anchor.js is for. For an example, see this page: [https://kubernetescommunitydays.org/organizing](https://kubernetescommunitydays.org/organizing).

<comment><USER9> I know these, but there's also CSS so I don't understand why this needs JS..

<comment><AUTHOR> If you know of an all-CSS solution, I'm all ears

</comment></comment></comment></comment></comment></comment><comment><USER11> Related: for anybody looking for [another] great tool to create a documentation website, take a look at Antora[1]. It uses the Asciidoc/Asciidoctor toolchain.

[1]: antora.org

<comment><USER12> It also seems to support combining multiple Git repos to generate everything into one site which seems cool.

</comment></comment><comment><USER13> I just configured VuePress ( [https://vuepress.vuejs.org/](https://vuepress.vuejs.org/) ) for our frontend project docs at work. Having statically built docs is great and having the ability to document your Vue code with Vue-enabled markdown is a great bonus.

<comment><AUTHOR> Yep. Love the static approach. I haven't yet a use case for a React/Vue static generator but a lot of really powerful stuff is being built.

</comment></comment><comment><USER14> I love Hugo. My personal blog and my tech blog are both built with Hugo, with an extremely simple AWS deployment pipeline. I've been looking for a great documentation theme , but I haven't found one to my liking yet (closest is maybe hugo-theme-book or hugo-theme-docuapi). If v0.1 is out by end of 2019 I'd love to test drive it for a project I'm planning out early 2020.

<comment><AUTHOR> Sweet! Definitely stay tuned!

</comment></comment><comment><USER15> An example of a (somewhat) similar type of static documentation site theme, but for Jekyll, is a project I've been participating in[0]. Born primarily as a side effect of putting online the projects from Ribose Open, it's somewhat idiosyncratic and (ironically) lacking its own site, but we're getting there. It's being actively dogdfooded[1].

[0] [https://github.com/riboseinc/jekyll-theme-open- project](https://github.com/riboseinc/jekyll-theme-open-project)

[1] See, for example, [https://www.rnpgp.com/](https://www.rnpgp.com/)

<comment><AUTHOR> Nice work! Very cool project. Love to see it.

</comment></comment><comment><USER16> This is an excellent idea. My workplaces have often used github or confluence for documentation, but they're slow, and offer limited customisation. Static site generators make a lot of sense for this use case.

<comment><AUTHOR> Definitely. Confluence is fine for some use cases, but personally I'm strongly in favor of a version-controlled approach.

</comment></comment><comment><USER17> The line width (number of characters per line) is way too long. You should aim for 50-60 characters per line in a column for maximum legibility.

See (for example) this: [https://practicaltypography.com/line- length.html](https://practicaltypography.com/line-length.html)

<comment><USER18> I've seen this rule stated in various ways, but it seems to always be a fixed value, which presumably is derived specifically for the information-density of the English language. Is there a resource on what this number should be for other languages with different information densities? (I can't imagine that you should have 60 characters of Chinese per line, for example.)

<comment><USER17> That's a great question. I don't know the answer, but I'm sure similar resources exist in languages with non-Roman writing systems.

</comment></comment></comment><comment><USER19> My goto tool for documentation these days is mkdocs with material theme [https://squidfunk.github.io/mkdocs- material/](https://squidfunk.github.io/mkdocs-material/)

</comment><comment><USER20> Docsy doesn't break keyboard scrolling in Qutebrowser. Tract does not work for me at all. Also, while I'm sure it's configurable, the neon pink is burning my eyes in a dark room and constrasts terribly with bright white.

<comment><AUTHOR> Could you say more about this? What exactly is broken about the experience in Tract? I have never heard of Qutebrowser.

<comment> The-Compiler You can see what's probably the same issue in Firefox/Chromium as well: You can't scroll e.g. [https://tract-docs.dev/docs/getting- started/](https://tract-docs.dev/docs/getting-started/) with the keyboard without first clicking into the page.

<comment><AUTHOR> Okay, I believe I've fixed this.

<comment><USER21> Doesn't seem fixed to me. Also, it's impossible to fix it in the current structure without JavaScript, because you need to either move the caret into the desired scrolling element (`getSelection().collapse(document.querySelector('.main'))`), or focus it (`document.querySelector('.main').focus()`, also requiring tabindex=-1 or similar on the element). From the presence of tabindex=1 on .main, I'm guessing you tried that one.

For a documentation thing like this, I'd generally recommend avoiding a separate scrolling pane for the primary content, but rather arranging so that it can use the document's scrolling element. This gets the scrollbar in the place people generally expect it in web things, and makes it work regardless of whether the JS loads.

<comment><AUTHOR> Do you by chance have an article or some info you could share on this? I'm way out of my depth here.

<comment><USER21> I don't know of any good articles about the trade-offs of the various approaches, but I've started writing one myself. (I'm drafting a series on the intricacies of various UI patterns and their implementations, and this was actually already on my list.) Email me if you'd like me to drop you a line when I publish it (being realistic, expect to wait weeks for it).

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> Noticed on mobile when you click the menu button there is no way to return to the page.

<comment><AUTHOR> Yes, I'm working on the navigation. Tract is currently pre-alpha and this will improve by leaps and bounds in the next few weeks.

</comment></comment><comment><USER23> That looks really nice! Recently had to create documentation for Prism OS ([https://prismos.dev/docs](https://prismos.dev/docs)) and I decided to use docusaurus since it seemed like the quickest way with sane defaults but it ended up taking way longer to setup everything before I could focus on writing the documentation. Is there a easy to use platform to quickly spin up documentation pages without coding ? That would also be really helpful since non technical support or content writing staff could then also contribute

</comment><comment><USER24> A while ago I looked into all Hugo solutions for documentation and have to say this looks very clean and simple!

I'm still looking for something that let me define a top-root level index for documentation of several products (much like [https://learn.adafruit.com/](https://learn.adafruit.com/)) but found none (also Jekyll-based). I rolled my own based on Hugo but my CSS-formatting and HTML-generating skills are those from a firmware developer :)

</comment><comment><USER25> Thanks, I have been looking for a good HUGO theme for documentation.

</comment><comment><USER26> I am not familiar with Hugo but I watch out for documentation stuff.

How hard would it be for a casual user to add some search capabilities ? IMO, that's a key point to have.

<comment><AUTHOR> Not so easy for a casual user. Building a nice interactive dropdown search widget (or something of the sort) requires solid JS chops and you need to know your way around Hugo to generate a search index. But others have done it and there are some good tutorials out there, so by all means give it a shot!

</comment></comment><comment><USER27> I'm looking for something a bit more powerful than the Wiki bundled with GitLab (which uses Gollum). I started with MkDocs but moved it over to GitLab Wiki because I thought the instant feedback. I now have mixed feelings.

I've used Hugo in the past for a few sites, but the amount of boilerplate required, even though minimal, is a bit of a hurdle for an internal wiki.

Has anyone been here? Suggestions?

<comment><USER28> I've been using [mdBook]([https://github.com/rust- lang/mdBook](https://github.com/rust-lang/mdBook)) for my wiki/documentation needs lately.

It's great, the directory structure is straightforward and even supports search (through lunr.js) out of the box.

</comment></comment><comment><USER29> We've started using mdbook [1] at work for our docs. It has search, it's customizable, and if you really need HTML in places you can do that inside your markdown to get the best of both worlds.

[1] [https://github.com/rust-lang/mdBook](https://github.com/rust-lang/mdBook)

</comment><comment><USER30> The article made me discover Docsy: [https://www.docsy.dev/](https://www.docsy.dev/)

For some reason the author dismissed it, but I personally find the project quite nice!

<comment><AUTHOR> I'm just not a fan of the aesthetic and it isn't as feature rich as I plan on making Tract. But if Docsy works for you, I fully support that!

</comment></comment><comment><USER8> How convenient -- because DocuAPI has been refusing to work for me all week.

</comment><comment><USER31> Thank you for your post, I like the theme and the idea of static generator creating the documentation.

How could anyone include search in these static sites? Is there any theme that could provide such functionality?

<comment><USER22> Fuse.js works great and is client-side. Hugo can generate the necessary JSON outputs and there is documentation on how to set it up on their website. Please let me know if you come across anything better.

<comment><AUTHOR> Nice! I hadn't seen Fuse but it looks like a great option. I've used lunr.js on other projects and liked it but always open to explore new things.

</comment></comment></comment><comment><USER32> For more Hugo themes, you can check out [https://uicard.io](https://uicard.io)

They have incredible themes

</comment><comment><USER33> Looks fantastic. I already use Hugo for some other things. I'll keep an eye on this for documentation in some future projects.

</comment><comment><USER34> a. this looks awesome

b. if you're looking for a copy button for code blocks, I've seen it done (and done it myself) with some vanilla js.

c. the more vanilla js the better.

d. can you make code blocks have tabs for different languages?

e. this is awesome (did I mention that already).

f. I will find an excuse to use this.

g. I use ddg for my site search, but Google custom search works too, and is a bit easier to work with.

<comment><AUTHOR> Do you know of any particularly good libs for copy buttons, code tabs, and the like? I've seen a few out there but they seem pretty subpar to me.

</comment></comment><comment><USER35> Nice! How does this compare with docusaurus?

<comment><AUTHOR> Docusaurus is a very nice tool but in my extensive experience React-based static site generators really suffer when building large sites, much like Jekyll does. I've worked on projects with well over 1,000 pages and Docusaurus, VuePress, and others simply don't have access to the jet engine that is well engineered Go. But if it works for you, run with it!

<comment><USER12> Someone mentioned mdBook, that thing is written in Rust and is amazingly fast even for huge sites.

[https://github.com/rust-lang/mdBook](https://github.com/rust-lang/mdBook)</comment></comment></comment>


Ask HN: Can you recommend advanced books on CSS? - <AUTHOR> Hello HN!<p>was wondering if you could recommend up-to-date books, similar material on CSS which go over best practices, advanced topics. For some reason they are hard to find. Thanks! <comment><USER3> CSS is an art in a very literal sense. Once you know the basic technique a book won't help you as much as seeing examples in the wild and trying to reverse engineer them. To learn the nitty-gritty nuts and bolts of CSS, try reading the CSS-Tricks blog and digging into the documentation on MDN.

Finally, to truly master CSS, learn the art of brevity. Most stylesheets I see are terribly bloated and over specified. Always ask, "Can I do this in fewer declarations? Do I really need all of these constraints? Is there a single style that will work smoothly across all sizes without media queries?"

Learn that, and you won't need a book.

<comment><AUTHOR> Thanks for the tips! Already had been trying to understand css tricks - <USER2> always looking for more relevant information in one place - a book.

</comment></comment><comment><USER4> I think you're better off reading the box model spec.

<comment><AUTHOR> Thanks for the answer. I will check it - never thought of doing that!

</comment></comment><comment><USER5> You might try: [https://abookapart.com/](https://abookapart.com/)

I read their _Responsive Web Design_ title a while back and found it helpful and concise.

I see there's a CSS3 title written by the founder of Dribbble, for example, and updated in 2015.

This stuff changes so quickly, it may also be better to follow online, as others have suggested.

</comment><comment><USER6> Eric Meyer wrote _CSS: The Definitive Guide_. The current edition {4th} was released section by section. It can be found here:

[http://www.oreilly.com/pub/au/52](http://www.oreilly.com/pub/au/52)

</comment><comment><USER7> CSS Mastery is a good one - [https://www.amazon.com/CSS-Mastery-Advanced- Standards-Soluti...](https://www.amazon.com/CSS-Mastery-Advanced-Standards- Solutions/dp/1430223979)

<comment><AUTHOR> Thanks - will check it out. Although from a quick glimpse at the reviews it seems a little bit outdated.

</comment></comment><comment><USER8> One of my favorite books is Lea Verou's CSS Secrets [0].

[0] [http://shop.oreilly.com/product/0636920031123.do](http://shop.oreilly.com/product/0636920031123.do)

<comment><AUTHOR> Looks really good. Thanks!

</comment></comment><comment><USER9> Not a book necessarily but I really like this css reference:

[http://tympanus.net/codrops/css_reference/](http://tympanus.net/codrops/css_reference/)

<comment><AUTHOR> Looks really good. Thank you!

</comment></comment><comment><USER10> Check out smacss [https://smacss.com](https://smacss.com)

<comment><AUTHOR> Will check it out - thanks</comment></comment>


Is Microsoft Building an Xbox 360 Successor? - <AUTHOR> http://www.pcmag.com/article2/0,2817,2381703,00.asp <comment><USER2> This is kind of a silly title.

Of course Microsoft is working on the XBox 360 successor.

In other news Sony is working on a PlayStation 3 successor and Nintendo is working on the Wii's successor.

They just may not be announced for a couple of years.</comment>


Wendelstein 7-X: Second round of experimentation started - <AUTHOR> http://www.ipp.mpg.de/4254576/08_17?1505116080 <comment><AUTHOR> TL;DR:

\- the 2nd stage with passive graphite divertor tiles ready to fire up plasma tests again

\- now temperatures of 70m centigrade for the ions possible, vs. 10m for the 1st stage tests

\- operation of up to 10 sec next

\- 3rd stage planned for 2 years after is supposed to prove operation for up to 30 sec</comment>


Jean Sammet, co-creator of COBOL, has died - <AUTHOR> https://www.nytimes.com/2017/06/04/technology/obituary-jean-sammet-software-designer-cobol.html <comment><USER5> I've been watching a TV called "Halt and Catch Fire", about the early PC industry in the 1980's. I've enjoyed it very much, but sometimes I feel like the writers sacrifice historical plausibility to create strong female leads for a contemporary audience.

Ironically, so many of the GIANTS of computing's earliest days were female. Even at the rank-and-file level, women made up an astonishing number of early programmers. If you talk to retirement age people in our field, you'll find that mainframe developers were commonly female all through the 1960's and 1970's. It wasn't until the PC revolution that the field shifted to become more exclusively male.

I wonder when we'll see writers and TV/film producers start to explore that period of history? I'm sure there are some amazing stories that could be told. The crazy thing is, even if you just presented the field as-is without any embellishment, most people would assume that you were re-writing history in the name of political correctness. Most of the general public (hell, most young professionals in our field) just has no idea about this.

<comment><USER6> My mother was a programmer in the mid to late 60s, a job at which she met my father — at the time married with four children. They were married in September 1969, a month before my brother was born.

I doubt that my siblings and I are the only 40-something children of two programmers, but I suspect that there are fewer 30-somethings that can say the same thing

<comment><USER7> probably not the only ones but the first I hear of, you and your brothers also programmers ?

<comment><USER6> My older brother is an IT manager, I'm a Principal Engineer at Amazon, my sister has worked variously in real estate, finance, and education.

Of my four half-brothers, I believe that two work in the industry (we're not close). One certainly wrote a book on X programming before I even knew what X was!

<comment><USER7> fantastic ;-)

</comment></comment></comment></comment></comment><comment><USER8> Dijkstra said it best in 1975: [https://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/E...](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD498.html)

And before you get angry at me, answer this simple question: have you actually ever used COBOL? I spent a year of my life translating a COBOL mess into Delphi. It was horrible - the code I was working with had no functions (unless you think of a module defined in an entire file as a function), global scope on variables, and tons of ugly COBOL boilerplate, as dictated by the language.

And it's no surprise that COBOL was a historical dead-end. Unlike FORTRAN and Lisp, it begat nothing.

That's why I'm hard-pressed to venerate anyone that had anything to do with perpetuating that mess.

<comment><USER9> >Unlike FORTRAN and Lisp, it begat nothing.

Which programming language was begat by FORTRAN? The ALGOL family seems rather independent to me.

Both FORTRAN and COBOL had the misfortune to be created before structured programming. Others, like FORTH and LISP were lucky that they are flexible enough to easily add new programming conventions.

You could probably say that modern report generators were begat by COBOL to some degree (even though FORTRAN had formatted output too)

It seems programming languages designed to be "easy to use" suffer from lots of people writing really terrible code with it. Excel or VB have similar issues.

<comment><USER10> Since Fortran had a large amount of existing code soon after it was invented, the standards committee has always tended to add new features to Fortran after other languages had already tried them out and perhaps discovered pitfalls.

From my experience working on compilers, the thing Fortran begat the most was advanced compiler optimization algorithms, which then trickled down into C and C++.

<comment><USER9> That's true for COBOL too.

FORTRAN compilers were great for loop optimizations, but not clear if it pioneered much else worthwhile.

<comment><USER11> FORTRAN pioneered expressions which were used in addition to statements. This was huge. Modern languages are still expanding on the idea of programming with expressions (especially functional languages).

</comment></comment></comment></comment></comment><comment><USER12> Her work on the History of Programming Languages conference is enlightening. Good reading if you can get a hold of it.

[http://research.ihost.com/hopl/HOPL-I.html](http://research.ihost.com/hopl/HOPL-I.html)

<comment><USER13> _Good reading if you can get a hold of it._

Many public library systems have inter-library loan arrangements with universities. This is a great way to get access to research works like the HOPL proceedings.

(I live in Montgomery County Maryland and just checked to see if I can get them via my local public library branch. Yup.)

</comment></comment><comment><USER14> She had a large impact on modern business. My own mother works in IT and writes COBOL for a living.

Thanks for your contribution, Mrs. Sammet

</comment><comment><USER15> I guess it says something sad about my prejudices that I saw the name "Jean" and assumed it was a man's name. I forgot that the field was so much more inclusive of women back then.

<comment><USER16> I would assume "Jean" to be a woman and "Gene" to be a man.

<comment><USER15> I was thinking French. I kept seeing notable programmers with female-sounding names like Jan and then realizing it was a non-Anglophonic man's name that's spelled like an English woman's name.

</comment></comment></comment><comment><USER17> Cobol's legacy lives as PL/SQL, ABAP, and other enterprise data handling languages. While everybody is quick to point that this is not "real programming", they required astonishing amounts of engineering efforts to make things work.

I would love to see a decent, modernized COBOL -- the same way they have modernized Fortran, so it is now a pretty decent numerical computing language. It would be a great hit.

<comment><USER18> COBOL has been "modernized" quite a few times, but the syntax still looks pretty archaic, most likely to avoid breaking too much existing code. I'm sure backward compatibility is of paramount importance for it.

I saw that there's a version that compiles to .NET bytecode, so you could conceivably write an XBox game in COBOL.

<comment><USER19> Visual COBOL:

[https://www.microfocus.com/products/visual- cobol/](https://www.microfocus.com/products/visual-cobol/)

Compiles to native code, JVM bytecode, or MSIL (.NET).

</comment></comment></comment><comment><USER20> Previous discussion:

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

</comment><comment><USER21> Although Ms. Sammet's passing has been previously discussed here on HN, this new NYT article provides a different and somewhat more colorful perspective on the life of this remarkable woman. Worth a read.

</comment><comment><USER22> Her book "Programming Languages: History and Fundamentals" is not available as an eBook and is out of print and costs over $100 used on Amazon. Would be great if there was a cheaper way to read it.

<comment><USER21> Coincidentally I had bought this book from abebooks.com just a couple weeks before Ms. Sammet's passing. I looked again just now, and there are a few copies available for less than $100. However, the prices seem rather higher than they were when I bought my copy.

</comment></comment><comment><USER23> She proposed natural language programming over 50 years ago. [http://dl.acm.org/citation.cfm?id=365274](http://dl.acm.org/citation.cfm?id=365274)

There still hasn't been a whole lot of progress, although there have been some research projects and some closed source applications like Inform7 and WolframAlpha.

<comment><USER24> _although there have been some research projects and some closed source applications like Inform7 and WolframAlpha._

Just as an FYI, Inform7[1] is - according to Wikipedia anyway - <USER2> under the Artistic License[2].

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

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

<comment><USER25> The most interesting part that translates the natural language Inform 7 code to the more traditional Inform 6 code has not been open sourced. Graham Nelson talked about wanting to release the code as literate programs[1]. Currently the status of the publishable release for the ni compiler component is "as of April 2009, about two-thirds done"[2].

[1]: [http://inform7.com/sources/inweb/](http://inform7.com/sources/inweb/) [2]: [http://inform7.com/sources/webs/](http://inform7.com/sources/webs/)

<comment><USER24> _Currently the status of the publishable release for the ni compiler component is "as of April 2009, about two-thirds done"_

Blimey. :-( Here's hoping it sees the light of day at some point!

</comment></comment></comment></comment><comment><USER26> Black-bar worthy?

</comment><comment><USER27> Jean Sammet- Your contribution to Software Industry will always be remembered. I really love Cobol. We developers salute to you. RIP Sr. Vice President - <USER4> [https://www.globaliim.com/32-it-management- certificates/gene...](https://www.globaliim.com/32-it-management- certificates/general-management/ngiimic-chandresh-jain/) www.sc-digital- engineering.com

</comment><comment><USER28> Janet your contribution to Software Industry will always be remembered. I really love Cobol. We developers salute to you. RIP Sr. Vice President - <USER4> GIIM [https://www.globaliim.com/32-it-management- certificates/gene...](https://www.globaliim.com/32-it-management- certificates/general-management/ngiimic-chandresh-jain/) www.sc-digital- engineering.com

</comment><comment><USER29> COBOL was a foundation language in CS101 30 years ago and it was outdated then. There were jobs in legacy COBOL. Probably still are. It sucked but not as hard as RPG II.

</comment><comment><USER30> DISPLAY SPACES UPON CRT.

</comment><comment><USER31> No black bar? There's billions of lines of COBOL throughout the world. BILLIONS!

</comment><comment><USER32> HN should have a black bar in honor of this.

<comment><USER33> She passed away May 21, which is 2 weeks ago, so this is not exactly news I am afraid.

</comment></comment><comment><USER34> To like COBOL, you need to posess a particular kind of rigid corporate mindset. I wonder whether it's fathers/mothers had the mentioned physic structure, or it was a fruit of 50's salaryman mental subjugation. No offense ment.

<comment><USER35> Or was it a product of the computers at the time?

Here's a 1959 computer, donated to a school in 1965. This was filmed in 1969. One of the children wrote a language - minigol - so the younger children didn't have to use assembler.

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

Just turning the machine on requires coordination between several people using intercom.

<comment><USER36> Thank you for the video! It was interesting to see the binary adding exercise!

</comment></comment></comment><comment><USER8> "I think that, like species, languages will form evolutionary trees, with dead-ends branching off all over. We can see this happening already. Cobol, for all its sometime popularity, does not seem to have any intellectual descendants. It is an evolutionary dead-end-- a Neanderthal language."

[http://www.paulgraham.com/hundred.html](http://www.paulgraham.com/hundred.html)

<comment><USER37> What is this point of this quote? I downvoted this comment because it does not contribute to the discussion. A common tactic is to post a quote, wait for people to refute the most common/charitable interpretation of the quote's meaning in the context of discussion, then to reply with "that's not what I meant" and end it satisfied.

So tell us, what is the point of bringing up this quote?

<comment><USER38> Poster isn't biting on this request. Somewhat ironically the quote is sourced from an article about a disfavored language arguing why cobol should be a disfavored language.

Engineering is subject still to styles and fads, I guess the quote is just furthering that general mentality. COBOL isn't "cool" whatever that should mean.

</comment></comment></comment><comment><USER39> Fred Brooks on COBOL - [https://cycle-gap.blogspot.in/2009/08/fred-brooks-on- cobols-...](https://cycle-gap.blogspot.in/2009/08/fred-brooks-on-cobols- success.html)</comment>


Dependabot is now free - <AUTHOR> https://nimbleindustries.io/2019/05/26/dependabot-is-now-free-and-its-amazing/ <comment><USER2> For anyone wanting this functionality directly in the editor and is working with npm / vs code i've found this extension to be great [https://marketplace.visualstudio.com/items?itemName=pflanner...](https://marketplace.visualstudio.com/items?itemName=pflannery.vscode- versionlens)

( no affiliation just a happy user )

</comment><comment><USER3> recent (4 days ago) discussion of the aquisition: [https://news.ycombinator.com/item?id=19989631](https://news.ycombinator.com/item?id=19989631)

</comment><comment><USER4> I've been using Dependabot (for free) for my Rust projects for the last months, it really is nice.

</comment><comment><USER5> Excellent marketing! I checked out the author's product, Statusgator, and signed up for a $30/mo plan. It aggregates statuspages of all the vendors we use, and pings our slack channel. Super useful!

</comment><comment><USER6> What's the difference vs Greenkeeper?

<comment><AUTHOR> Greenkeeper seems to only support NPM, whereas Dependabot supports NPM, RubyGems, a bunch of other languages.

<comment><USER6> Ah I see, thank you!

</comment></comment></comment><comment><USER7> [https://renovatebot.com/](https://renovatebot.com/) is open source and supports more dependency management systems

</comment><comment><USER8> > "Microsoft, the richest public company in the world"

Not even the top 15 [1], they are 16th.

[1] [https://www.forbes.com/global2000](https://www.forbes.com/global2000)

<comment><USER9> I'm sure what they had heard was "highest valued" and drew some incorrect assumptions regarding what that means. But according to your link, they're not even highest there, beaten slightly by Apple.

</comment></comment><comment><USER10> [https://github.com/sanemat/tachikoma](https://github.com/sanemat/tachikoma)

</comment><comment><USER11> I don't understand why we need these tools when we use semver? The semver range should be flexible enough to handle the nonbreaking changes. You definitely don't want a bot updating breaking changes of dependencies automatically, unless you like breaking things. That's the kind of thing that should require manual intervention for.

<comment><USER12> As someone who has been using depenabot for my rust projects for about 6 months now, I appreciate having it attempt to upgrade past breaking changes. Not all breaking changes break everyone. When they do break, I appreciate knowing a new version is available for me to upgrade to so I don't fall behind. Probably the riskiest case is behavior-breaking (rather than API) and your tests don't happen to cover that case but dependabot helps by gathering changelist info that I first review.

This is on top of the benefits of upgrading pinned-but-compatible versions which someone else covered.

</comment></comment><comment><USER13> I wish we could do away with the clickbait nonsense headline editorializing.

<comment><USER14> Anyone who'll say something is amazing without saying what it is is trying to game you.

<comment><USER15> Your insight is amazing

</comment></comment></comment><comment><USER16> _Setup and installation is simple: a quick sign up with GitHub OAuth was all that was required, along with a grant to read and write code in our repositories._

Why does it need permissions to read and write code? If it's a public repository, anyone can read. It shouldn't be modifying code. At best it should be submitting patch requests.

Giving Microsoft write permission on open source code is dangerous. They might decide that they need to inject "telemetry". As they've done to non-Microsoft applications on Windows.

<comment><USER17> When it creates a PR it creates a branch which requires write. Maybe it could offer the option to create a fork instead, but that would add awkwardness and friction just to satisfy a very small set of overly paranoid users. If you don't trust GitHub not to modify your code why are you using GitHub as a host in the first place.</comment></comment>


Ask HN: Fundraising when you don't know anyone? - <AUTHOR> Scenario: you're not in the Valley, or if you are, you just don't know any investors, and neither do any of your immediate first connections on LinkedIn or FB or real life for that matter.
And you're raising a seed round, e.g. to bring a prototype to production, handle early sales, expand the team, etc.
What do you do? Apply for incubators and accelerators to build your network? Cold contact VC firms? Something else?
Curious to hear your thoughts, and experiences if you've been in this situation. <comment><USER2> I guess that first off, I'd caution you to question whether you truly need a seed round. Investors tend to respond best when you're referred to them by someone they trust. If this is a major hurdle, you might find yourself working with some highly inexperienced investors or ones with bad reputations. From experience, I can promise you that it's a hell of a lot easier to bootstrap than to deal with a problem investor.

That said, try asking the question in a different way. How would you find customers if you didn't know anyone? Ultimately, that's your goal - you're trying to sell equity in your company.

I've always had good luck meeting important people. I say 'good luck' because I'm not sure that my method is actually any good. This literally might just be luck! However, some tactics I've used (with success) include:

1.) Contacting everyone I have worked with/for in the past five years, arrange a coffee/beer and ask them for help. Former bosses have always been particularly helpful (for me).

2.) AVOID meetups like the plague. In my experience, meetups are the best way to fill my calendar with utterly useless meetings.

3.) Talk to former professors. This worked wonders for me, but I have a business degree. Business professors are interesting people. Generally not terribly successful in business, they're armed with massive credentials and remarkably strong networks. I'm not sure how well this advice works in other fields.

</comment><comment><USER3> Ignore the fact that investors lie to themselves and everyone else about how they actually choose which companies to invest in.

If you want help from Silicon Valley investors, you must have either: 1) a rapidly growing business (traction) 2) been accepted into a "top school" (pedigree)

#1 You can do yourself by bootstrapping. It's very hard but many have succeeded.

#2 This is just special access, and you would know how to access it if you had it.

</comment><comment><USER4> Where are you based?</comment>


Larry Ellison's View of the Cloud  - <AUTHOR> http://www.readwriteweb.com/cloud/2012/10/larry-ellison-has-some-strange-ideas-about-cloud-computing.php

<comment><AUTHOR> "Ellison paid lip service to the value of cloud computing's utility model, which lets IT execs buy computing power just like they buy electrical power, but the Oracle Private Cloud is more like paying the electric company to put a power plant in your office building."

I think this shows a gross misunderstanding in tech media's idea of the "cloud". The idea of the private cloud is setting up your own distributed cluster with shared memory easily. They make it sound like Oracle's private cloud is self-defeating and complicated with the power plant analogy.

Maybe some companies can't store their private data in "the cloud", but would like the flexibility of adding nodes to their own private "cloud" as easily as they could with Amazon cloud for example.</comment>


Built for Speed: Custom Parser for Regex at Scale - <AUTHOR> https://blog.scalyr.com/2018/08/custom-regex-parser/ <comment><USER2> Hmm has anybody used e.g., llvm to do regex -> ir -> native code? I found a 2008 presentation about llvm's "regcomp", but didn't immediately turn up any benchmarks; anyway, surely the state of the art moved since 10 years ago. Even so, a bullet point said llvm "could even vectorize common [regex] idoms" [http://llvm.org/pubs/2008-10-04-ACAT-LLVM- Intro.pdf](http://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.pdf)</comment>


Hulu is customizing ads - <AUTHOR> http://www.dannyok.com/2010/05/hulu-is-starting-to-get-it/

<comment><USER2> Good for Hulu. They've always had mismatched ads for their target audience (the ads on the shows I watch are rarely aimed at my demographic, and have sometimes been laughably off-target).

What would be really killer for them is if they integrated Facebook. They should offer something along the lines of additional content or earlier access to episodes for people who become fans of Hulu on facebook or something. Almost zero cost to the user in return for a small bonus, and Hulu gets tons of demographic information.

Most HN readers probably wouldn't go for this, but I think the average person would.</comment>


Who Benefits from the Tiny House Revolution - <AUTHOR> https://www.buzzfeed.com/doree/who-is-the-tiny-house-revolution-for?utm_term=.xjaVX2QqZ#.wxOKYRNJL <comment><USER2> I'm planning my TH, feel free to ask any questions!

</comment><comment><USER3> RV sales?</comment>


Tea Sachets Exist - <AUTHOR> http://www.marco.org/2013/11/03/tea-sachets

<comment><USER2> If I was so restless that I thought rinsing a teapot was appalling, I wouldn't think I needed any more caffeine.</comment>


Choosing between AWS and Azure?  Make a data-driven decsion - <AUTHOR> https://turbonomic.com/resources/choosing-between-aws-and-azure-webinar/ <comment><USER2> The whole question of Cloud A vs Cloud B vs on-prem is exactly why I think containerization and the use of Docker and Docker orchestration makes these questions somewhat irrelevant because you can deploy the same containers to both clouds (as well as on-prem), even at the same time. At that point you can A/B test to determine if one is objectively better than the other or simply set up one as the DR/failover location for the other.</comment>


Projected costs of single-payer healthcare financing in the United States - <AUTHOR> https://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.1003013 <comment><AUTHOR> >>> We identified 22 credible economic models of the cost of single-payer financing in the US, from a variety of government, business consultant, and academic organizations. We found that 19 (86%) predict net savings in the first year of operations, with a range from 7% higher net cost to 15% lower net cost. Increases in cost due to improved insurance coverage and thus higher utilization were 2% to 19%. Savings from simplified payment administration at insurers and providers, drug cost reductions, and other mechanisms ranged from 3% to 27%. The largest net savings were for plans with reductions in drug costs. Net savings accumulate over time at an estimated 1.4% per year. Of note, we excluded 2 widely publicized studies [20,24], both of which found net costs, on the grounds that these studies made assumptions that included private insurance intermediaries (i.e., not a single-payer) or lacked technical detail for evaluation.

>>> These analyses suggest that single-payer can save money, even in year 1, incorporating a wide range of assumptions about potential savings. More aggressive measures to realize cost reductions are projected to yield greater net savings. This implies that concerns about health system cost growth with single-payer may be misplaced, though costs to government are likely to grow as tax-based financing replaces private insurance premiums and out-of-pocket spending.</comment>


Oh the things Vim could teach Silicon Valley's code slingers - <AUTHOR> https://www.theregister.co.uk/2017/01/24/boring_vim_beats_exciting_browsers/ <comment><USER2> I'm not really on the same page as the author, the reason being: This model works well for Vim, because its basic principles are sound and compose well. You can build pretty much anything on top of that while still scaling pretty nicely - but also in this regard, there has been progress (multitasking, to name it). Ironically, this holds true even though Vimscript is generally agreed upon as not being an ideal scripting language - in which regard it shares some similarities to javascript ;-)

If you look at browsers however, things are different. We've only started getting rid of plugins like Flash. HTML 4 is not the standard I'd like to be stuck with. HTTP<2.0 is terrible for various usecases (some argue even HTTP/2.0 isn't that much of an improvement). And so on and so forth. The web is basically "hacks all the way down" (yes, things like asm.js are not necessarily correcting that ;-) ).

So, I personally am rather glad that we're not stuck with "ye olde ways". If we could learn something from Vim, it would be the way it's built on sound principles - but that's hard to achieve with organically grown systems like the web.

<comment><USER3> I think the author is talking more about UI changes than these core things that need updating.</comment></comment>


Ask HN: A potential investor in my startup asked me to sign an NDA. Should I? - <AUTHOR> On HN there is plenty of posts suggesting startuppers not to ask investors to sign NDAs... but what to do when the other thing happens, when is actually the investor who is asking you to sign a "mutual" NDA?
# background: - We've previously developed a prototype of a web technology which has attracted the attention of an investor
- In a meeting with the investor they have informed us of a market opportunity, a specific niche, where our product could be adapted
- Parts of the conversation had sensible information and they anticipated that we would have to sign an NDA, however, once they told us the information, there wasn't (almost) anything that isn't already public information. What they are putting on the table is a good intro to the specific niche: basically they have the client whom would buy our product
- we've analysed the market and the requirements and presented them with the final ideas of the project to develop, some where based on our technology, some where other business opportunities that the investor hadn't thought of and that we could build.
- now, once the presentation is done, they are asking to sign a "mutual" NDA (which "seems" mild enough), in order to keep talking about the rest of the project.
# My concerns: 1- there's many things about the investor that make it an undesirable partner (some parts are good, but most are bad)
2- Because the market opportunity is real, very very big, and largely untapped, we maybe still want to pursue it, and we still would like to honour the "introduction" to the opportunity done by the potential investor
3- We are afraid that this NDA could be wrongly leveraged in the future, if we end up pursuing and reaching this market.
Here's a pastebin of the generic mutual NDA http://pastebin.com/e2ZUU5qj
Any suggestions? I'm only afraid that this could be a liability for future developments of our product if it somehow overlaps the market opportunity they introduced us to. thanks <comment><USER2> I'm a former lawyer and currently a VC. I really can't imagine a situation where I'd ask a company to sign an NDA in connection with a potential investment. If the information isn't confidential I'd just tell them. If it was it probably isn't mine to share (something we know from a portfolio company, for example).

So it's weird. It's also a red flag that the investor either doesn't really know what its doing, or that they're willing to share confidential information that they shouldn't, or that they are litigious and like to corner people via a NDA and apply leverage.

I'd walk away unless they are your only funding option. And if they are your only funding option you probably have issues with the startup or product that need to be addressed anyway.

<comment><USER3> Listen to this advice. If you need the money, and it's your only source, you have to do what you have to do. This smells all kinds of wrong; and probably won't lead to money or money you'd want.

<comment><USER4> marrington is also the founder of TechCrunch, so he's likely heard about all the subsequent drama that usually follows.

Drama is something that startups need to avoid at all costs. Its an energy drain that isn't worth the money.

</comment></comment></comment><comment><USER5> What _confidential_ material is the _investor_ providing you that you are afraid you might have to disclose in the future?

NDAs don't prevent you from disclosing your own confidential data. It prevents you from disclosing someone else's confidential data.

Basically the only thing you're looking for in the NDA is that only explicitly identified as confidential material is covered, for how long, and who can you tell.

It sounds like you might be confusing non-compete with NDA. An NDA can't prevent you from entering a market because a market is not confidential by definition.

<comment><USER6> I agree with this overall, one caveat I would add.

If the investor is introducing you to a portfolio company and disclosing data that you would not otherwise be able to obtain solely so you may enter into a developing market and/or sell to his/her other portfolio companies creating said market, it is potentially not as cut and dry. It is the place I would think only an attorney would be able to really answer with some authority.

Either way, I still stick to if you already feel the investor isn't a net positive then you should walk away. Just remember, you can be 100% in the right, still get sued and have to prove your way out of it. Do you have the cash to deal with that? Is the investors market that lucrative it would be worth a potential risk there? My guess is no.

</comment></comment><comment><USER6> _there 's many things about the investor that make it an undesirable partner_

I think you already answered your own question. Never work with an investor unless you feel there is a solid and mutual relationship that is worth having. If you already have this feeling, politely say thanks but no thanks, otherwise you will be tied to them and likely have a rough parting later.

</comment><comment><USER7> You need to ask a lawyer these types of things, not an online comment board.

In the Army, we had people we called "Barracks Lawyers" who thought they knew everything about the UCMJ (military law) but just ended up screwing a lot of good soldiers with their bad guidance. The moral of the story is that you are likely to get a lot of bad advice here from non-legal types, so be wary of that. YOU are taking all the risk with this decision, not the commenters on this post.

An hour with a qualified attorney now could potentially save you a year of bankrupting litigation later on. This is not the proper venue for seeking advice on a serious legal matter.

<comment><AUTHOR> Thank you for your concern. We are aware of that and fully share your perspective. I was just checking with the community if there was a precedent or if it can be common practice. Also, we might be on the look for an attorney and this could be a good place to start looking

</comment></comment><comment><USER8> Some observations about the generic NDA at the pastebin link --- I'm a lawyer, but not _your_ lawyer, so don't rely on this as a substitute for legal advice; YMMV:

Section 1: The exclusion of information independently developed by the receiving party from the definition of confidential information can be tricky. A receiving party that wants to rely on that exclusion must gamble that a judge or jury will believe that the receiving party really did _independently_ develop the information. That's not always a given.

Section 1: The list of exclusions at the end is missing another common exclusion, namely "disclosed to a third party by the disclosing party without confidentiality obligations comparable to those of this Agreement."

Section 2: The receiving party's right to disclose to third parties is _really_ broad, much broader than some people would be comfortable with.

Section 2: If the receiving party discloses confidential information to a third party, and the third party misuses it, then the receiving party is liable for that misuse, even if the receiving party was innocent.

Section 3: This clause contains a "best efforts" requirement, which is vague and therefore potentially dangerous. (Self-cite: See the notes linked at [http://www.commondraft.org/#BestEffortsDefn.](http://www.commondraft.org/#BestEffortsDefn.))

Section 5: Be sure you're comfortable with the time periods for protected disclosure (two years) and protection of the disclosed confidential information (seven years).

Section 6: The return-or-destruction requirement can be a pain; technically it requires purging of emails, backups, etc. Consider a carve-out such as that in [http://www.commondraft.org/#ConfInfoReturnRqmt](http://www.commondraft.org/#ConfInfoReturnRqmt): _" Specimens of Confidential Information need not be returned or destroyed to the extent that they are not reasonably capable of being readily located and segregated without undue burden or expense — for example, Confidential Information contained in email correspondence or electronic back-up systems."_

Section 10: Any litigation must be in the specified location; that could make things expensive for the party not in that location.

Further general information and commentary (another self-cite): [http://www.oncontracts.com/confidential- information/](http://www.oncontracts.com/confidential-information/)

<comment><AUTHOR> Thanks for your detailed feedback. again, as I said up top, "investor" might not be the right term, I think they want to be "business partners" and create a new-co...I'm not sure, and sorry for the confusion

My concerns are mainly on Section 2 and 9. 2- Since the NDA never defines who is the disclosing or receiving party, nor what information has been given by one to the other, can they eventually pursue legal action and only then trying to demonstrate that it was them who provided the information (very difficult for them anyways)

9- This is basically saying that they or us can do whatever we want with that information, right? If this is the case, what would be the point of the NDA anyways?

<comment><USER8> > _9- This is basically saying that they or us can do whatever we want with > that information, right?_

That's not how I read the second sentence of section 9, which appears to be a conventional "don't blame us if you use this information and hurt yourself" clause.

That said, the exception at the end of the second sentence is not ideally worded.

</comment></comment></comment><comment><USER9> Never sign such sweeping NDAs like this. I've had jobs try to get me to sign such and I won't sign them in a direct hire scenario either. As it is written if you talk about an idea with them and think of something good in the process, they could claim that you cannot leave them and pursue that idea on your own.

Also beware the "this negates all previous agreements". Anything they have said to you so far would be nullified by this agreement. This is, imo, a trick to try to escape from previous claims of what is acceptable.

</comment><comment><USER10> > In a meeting with the investor they have informed us of a market > opportunity, a specific niche, where our product could be adapted

So what? Anyone can come up with ideas of market opportunity.

> there's many things about the investor that make it an undesirable partner > (some parts are good, but most are bad)

As others have said on this thread: trust your gut! It's simple, really.

> We are afraid that this NDA could be wrongly leveraged in the future, if we > end up pursuing and reaching this market.

Exactly, because you already don't trust this investor. Your gut tells you they are wrong for your idea, and your gut is telling you they'll hurt you in the long run.

I think what's really going on is this "investor" doesn't really have solid leads (maybe just some emails, maybe just some casual contacts at some companies). They will bring no value to your idea. As they have no value, they go for old-fashioned contracts to attach themselves to whatever newbie entrepreneur will trust them.

Good luck! :-)

</comment><comment><USER11> _1- there 's many things about the investor that make it an undesirable partner (some parts are good, but most are bad)_

Trust your gut and politely turn them down. Continue to stay cordial with them.

</comment><comment><USER12> NDAs are very difficult to enforce, which makes them almost useless, and which indicates that the people who ask you to sign them don't know what they're doing.

If the investor is a large strategic, an NDA may be a simple formality required by their legal department, which you'll need to sign for them to discuss strategy with you.

If you don't trust someone, you shouldn't share with them information that requires an NDA. If, in addition to that, you fear that a signed agreement would be wrongly leveraged, then I would suggest not doing further business with them.

If you do sign the agreement, then you should try to minimize the legal costs you could incur due to a breach of the agreement. This will probably involve making arbitration the sole legal remedy. These clauses can be added to your contract:

[http://pastebin.com/1YardRRu](http://pastebin.com/1YardRRu)

</comment><comment><USER13> NDAs are not valid for any information available publicly so if this is accurate : _there wasn 't (almost) anything that isn't already public information._ then only the part covered in the 'almost' exception there is actually covered by the NDA (always useful to document the other sources of information though, should a lawyer come knocking).

That said, if you have a bad feeling about these guys then walk away. That is always solid advice.

</comment><comment> awinter-py Try and trade a verbal promise to be respectful of the sensitive information in exchange for a hint. A little more information can help you to turn this down with 0 regrets.

Also, bear in mind that large companies (not naming any names) will use NDAs for sharing future plans outside the firm. If they need to reveal a product launch to retain an important client, boom, client signs an NDA. So one likely read of this situation is that your investor has an inside track on partnering with a big web company on a feature launch. You'll be the flagship app on IBM Watson for long-haul trucking (or whatever).

Try and tack on clauses (1) limiting the term to 6 months, (2) preventing the NDA from encroaching on your documented existing plans for market growth (minor modification to clause 6).

I'm not a lawyer, this isn't legal advice.

</comment><comment><USER14> Don't touch it.

Any decent investor would give the intro to the other company in any case if they thought there was mutual benefit to both parties.

I'm assuming the investor is not a regular tech investor given their behaviour, but if you really want the intro you can always say you'd be happy to take the intro after they've invested in you (i.e. at which point they'd be included in the upside anyway). But you might want to think twice about including an inexperienced (or possibly shady) investor in your round.

</comment><comment><USER15> 1.Investing is not just a monetary transaction. 2.Is he trying to evaluate, how despirate/aspiring you are by just asking you to sign NDA (verbally) 3\. When you say, one of potential investors, you are not in dearth of investors, without knowing what is the market opportunity (percieved or real) its hard to say if you should go ahead. 4\. I won't do it.

</comment><comment><USER16> 1) Get a good lawyer who is paid to have your back and understands your situation.

2) Listen to their professional advice.

There are times it makes sense to cut back. This is not one of them.

</comment><comment><USER17> Walk away.

Your bad feelings are 110% of that decision--the NDA and potential for its misuse are icing on that cake.

</comment><comment><USER18> No. If you have any reservations at all (and it looks like you do) tell them no.

</comment><comment><USER19> Background: 25+ years in startups, numerous financing rounds, more pitches than I could possibly remember

My perspective: Even the best investor- the one you're in love with that seems like a match made in heaven has a good chance of really hurting your company. In my experience the two causes of startup failure are bad decisions forced by investors, often involving forcing a co-founder out, or fights between the cofounders- often a result of an investor trying to force a bad decision on the company.

I would not take money from an investor who has identified "another client" with a specific niche, and this is even assuming they are desirable.

The reason: You're already going to know they are going to expect you to cater to their client and tailor your product just for that client.

Add onto that "many things that make it an undesirable partner".... walk away.

IF you're investable there are many choices. If this is your only choice- you'd be better focusing on what makes this your only choice and fixing that, than taking this money.

</comment><comment><USER20> The advice here is terrible and the opposite of what it should be. I've seen tons of startups screw this up and wreck great opportunities. Yes, you need a lawyer to review the contract, but you should just sign it and move along if the lawyer says it looks ok. Mutual NDAs are standard fair in the business world, especially from an established company.

<comment><USER21> The problem here is confusing something that might be "standard fair in the business world" with something that is very much out of market in the startup investor world.

If OP is entertaining a commercial relationship with an established, larger company -- and there might be an investment component alongside that (a "strategic" investor) -- then it generally makes sense to play normal commercial relationship rules. And one of those is that a BigCo generally gets what it wants in terms of NDAs, within reason, before it opens up.

But if OP's investor purports to be a "real" investor (financial and serial) then there are serious yellow/red flags.

(A "real" investor is one who is financially motivated but also has interest in doing several deals in the community into the future -- hence, they have a reputation to protect and they will tend to hew closer to market norms.)

From the VC perspective, if I had a good customer lead (in my portfolio or otherwise) for a new application of an unfunded startup's technology, I would unhesitatingly make the intro. It benefits me several ways: 1. it may help the customer; 2. seeing how the customer responds is extra diligence information to help me form an investment perspective; 3. if it works out, I am viewed favorably by the startup and more likely to have my term sheet accepted going forward. (This is not speculation; in fact, I am a VC and we do this sort of thing all the time.)

It would be a strange situation, indeed, where I would feel the need to forgo those benefits because of needing an NDA.

(Now, if it's the end customer who wants the NDA, then the normal "commercial relationship" rules, above, apply.)

</comment></comment><comment><USER22> Don't. The concerns about "an undesirable partner" will explode in your hand. Also it's the kind of move that could scare other investors. Money is nice but the wrong money is deadly. Please wait for the right money.

</comment><comment><USER23> No, just walk. Now that you know there is a client, go find the client yourself if you really want to pursue it. Most likely, it will be a waste of time and distraction to what you are trying to build anyway

</comment><comment><AUTHOR> Thank you all for your replies which I'll go on an study further. I'm honoured you all took the part of your busy schedule to suggest us what to do.

From all your answers I feel that I might have mistaken the term "investor": we are not sure but we think they are going to ask to create a new-co, rather than investing money and getting shares of the company. They plan to access funds from other investors or grants. Though we are not sure. In this case they are probably more a "business partner"

</comment><comment><USER24> I would ordinarily suggest steering clear of an odd situation like this but if the money's good, the downside seems limited since I can't see any reason for you to need/want to disclose information they provide to you. It doesn't sound like you are entering a "non-compete". Obviously, talk to a lawyer.

</comment><comment><USER25> Another option is to stall as best you can to see if there is any reason to sign the thing at the last minute. Some times delaying a decision can give you much better results.

Also - ask your gut. What do you believe is true about this situation if you do sign the agreement - be specific.

</comment><comment><USER26> So they can revoke your client at will? Kind of a non-compete? "Upon the request of the disclosing party or upon termination of this Agreement, whichever is sooner, the receiving party shall cease use of Proprietary Information received from the other party"

</comment><comment><USER27> Don't sign it

If they are still open to investing, don't have them lead the round

</comment><comment><USER28> i'd guess the investor is the sort of company with standard policies and practices that include signing of NDAs for even potentially sensitive information to protect themselves in a paranoid way. lots of people 'just doing their jobs' will ask you to sign an NDA without much thought about what it might mean.

never attribute to malice, that which is more simply explained as incompetence.

if its not that sort of company, negotiate it away... although it sounds to me like you aren't keen anyway.

</comment><comment><USER29> Make sure the NDA is symmetrical.

Make sure you know where the other guy lives.

Make sure the other guy doesn't have a history of barratry.

</comment><comment><USER30> Ask your lawyer ,that's the only suggestion you should be listening to here.Really.

</comment><comment><USER31> do you see any upside in entering into this agreement? sounds like you already know the answer to your question but to be safe have a lawyer review and see what downsides could come along with being party to this agreement.

</comment><comment><USER32> You should probably consult with a lawyer.

<comment><USER33> Exactly. How is this NDA "mutual" if your side has had zero input into the document?

Pay a lawyer to have it reviewed/edited, or dump it outright.

<comment> awinter-py It's mutual in that both parties are agreeing to respect each other's CI.

<comment><USER33> Signing a unilaterally-written document is not "mutual", no matter how the other party wants to label it. Sure, the text inside says "we won't divulge each other's IP", but that's only one part of the agreement. Are the penalties equal? Are you forfeiting venue or agreeing to arbitration in a default?

If you do sign it without legal review, that's just foolish.

<comment><USER21> There are two senses of the term "mutual" being conflated here.

Grandparent is correct that as a term of art, a "mutual" NDA is one that puts non-disclosure obligations onto both parties.

Parent is perhaps usefully pointing out that the agreement is likely not "mutual," meaning entirely symmetric and evenly weighted between the parties. A fair argument, but confusing to folks who are working out NDA terminology 101.

Still, though, you'd call it a "mutual" NDA to distinguish it from a one-way NDA.

</comment></comment></comment></comment></comment><comment><USER16> Get a professional lawyer who is paid to have your back.

</comment><comment><USER34> RUN</comment>


Demand Harvesting - <AUTHOR> http://startup-marketing.com/demand-harvesting-the-easiest-driver-for-startups/

<comment><AUTHOR> I'm wondering whether it would be possible, with access to Google search data, to statistically find areas ripe for demand harvesting (eg. people search for X and can't find it).</comment>


Show HN: Search for Levi's Jeans Using Body Measurements - <AUTHOR> https://www.tryfitfirst.com/fit-tool <comment><USER2> Reminds me of [https://www.bestgoodthings.com](https://www.bestgoodthings.com)

<comment><AUTHOR> That's our old domain!

</comment></comment><comment><USER3> Doesn't cover larger waist sizes.

Edit: doesn't seem to handle anything over 49" waist measurements.

<comment><AUTHOR> That's right: we don't handle plus size or big and tall lines yet, but we're planning on adding them presently. We had to measure a subset of the jeans by hand to get the initial dataset, and unfortunately the larger sizes aren't carried in brick and mortar stores (plus they aren't based on the proportions of the smaller version of the same line, so they aren't just "sized up" from the data we took).</comment></comment>