Google fixes a problem with AMP, lets you view and share publisher's own links - <AUTHOR> https://techcrunch.com/2017/02/06/google-fixes-a-big-problem-with-amp-now-lets-you-view-and-share-publishers-own-links/ <comment><USER2> "It also has under development a Web Share API that would allow AMP viewers to pull the original URL into the native sharing flow on the platform, instead of the AMP Viewer URL."

Holy Moly, this is a huge amount of rigamarole just to support a degraded experience that helps ONE company do ONE thing in order to make further lock- in and profits in ONE way. It's hard to believe that any company would ever invest this amount of technical effort on a flawed product offering -- unless of course, it was one company with enough damned vertical integration to make it possibly worth their while.

<comment><USER3> > _a degraded experience_

I like AMP over publishers' own formats, which I have to put into Reader mode to make, well, pleasantly readable. I don't like AMP's implications. But I don't think your rendering is fair.

<comment><USER4> AMP is not the problem - the AMP cache is pure evil and if it wasn't for Google forcing it on people through their SERPs there would be no reason for Google to add it or have to work around it...

I want to visit publishers own sites and not weird walled Google land.

<comment><USER5> You present no real argument rather than calling it pure evil. It loads fast, ads and analytics go where they're supposed to, and now the URL issue is mostly gone too.

For users, it's basically seamless benefit with no draw backs.

For developers, yes it takes effort but a lot of it is done for you, and you also inherit this huge cache, which you call evil but in reality, costs quite a lot of money and you're getting for free.

It's easy to call something "evil" and completely dismiss all the huge benefits of a technology, but I'd like to hear what exactly are the remaining issue.

The AMP team has done their best to one by one address anything that has come up.

<comment><USER6> The complete forking of HTML for primarily google search traffic will do more harm than good.

HTML is already fast. Google could've used search rankings to factor in site speed and forced many sites to become much faster in a few months, instead of now requiring more resources to maintain an alternative version just for them. Also 90% of the ads on the web are served by Google's own Doubleclick for Publishers, one of the slowest ad servers available.

<comment><USER7> yes good luck with that if you have had to work with any site on the internet it can be a Sisyphean task to get trivial changes made on many sites.

<comment><USER6> Search rankings and the resulting traffic are a priority, changes would be made quickly. AMP pages were rolled out within weeks as well, but all that time and effort could've been spent on making the universal HTML page much better.

<comment><USER7> Lol you haven't worked with may real sites in the wild around 80% of the ones I have worked with need the CTO to tell the developers to pull their socks up or your all on a PIP

<comment><USER6> What? What are "real sites"? I'm in the adtech industry and know execs and devs at all the top publishers. Revenue/traffic issues are at the top of the list. They don't sit around doing nothing all day.

Regardless, resources are always constrained and working on AMP means not working on the standard (mobile) HTML version.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> >However, there has been some misunderstanding about how AMP works. One widely circulated blog post written back in October claimed Google was stealing traffic from publishers via its AMP pages.

I am really happy to see this change, as the author of said blog post :)

> But that wasn't true. Google does display the AMP URL in the search results, > which serves up the page content from Google's cache, but the traffic > remains the publisher's, and the content is served from the publisher's > site.

So which one is it? Does it server content from Google cache or from publisher's site ;)

Link to the original blog post: [https://www.alexkras.com/google-may-be- stealing-your-mobile-...](https://www.alexkras.com/google-may-be-stealing- your-mobile-traffic/)

<comment><USER9> They are confusing two different meanings of traffic: \- Advertising: where is the user coming from \- Networking: where is the data being served from

So my guess is that people were worried that Google would steal the advertising traffic and, therefore, revenue.

<comment><USER10> So if I have AMP on my site and a user clicks an AMP link, does my web server record a hit? That's what I care about, since I use traffic stats to negotiate deals with sponsors. I don't run third-party (even Google) ads on my site, it's all native "sponsored content", so making sure traffic is recording correctly is pretty important to me.

The first question I hear when I start a conversation about a sponsorship is "how many hits did you have last month" and the second question is usually "how many hits do your sponsored posts usually get?". I need to be able to answer those questions, and prove it too.

<comment><USER5> The server itself doesn't (you don't get extra load), but analytics is forwarded to you. So you can still get the numbers you need to convince the higher ups, just not directly from your server logs.

<comment><USER11> At first my distaste for AMP has been as a user: broken inertial scrolling, wasted space, and broken links.

But as I learn about it AMP becomes even more distasteful. Waiting for an intermediary to forward analytics to you is horrific.

What's going on at Google these days? Everything about AMP sounds like a bald- faced attempt to destroy the web. At every point there are horribly unjustified architectural decisions that hurt the web but also help Google.

<comment><USER12> The decisions are justified (although years late) but you either didn't read them or don't agree with them.

</comment></comment></comment></comment></comment></comment><comment><USER13> So, I still need to take an extra step to view the original link and then click again to visit it. Why not just make the entire top banner a clickable link to the source article? My browser already shows the title of the page separately.

The whole AMP / SERP interaction is such a headache. They already insist on us having structured page content to source previews from, the last thing I want to do is write more quasi-semantic markup that just repeats what my original source code already states. Get out of my way Google.

<comment><USER12> Why do you want to visit the original page? It looks the same or worse than the AMP version that already loaded.

<comment><USER14> To share the original link, to read more posts by the author, to visit the publication's home page to see what else they publish, to use their comments section which is not yet supported by AMP...

<comment><USER5> Do you share links before visiting the article? With this change, it seems like sharing the link will be the same amount of clicks.

Same goes for reading more about the author. How often do you do that, and do you do it before you even read the article?

For visiting the homepage, almost every AMP page I go to these days as a big logo at the top linking to their (real) homepage, so there's 0 difference for the user.

The only valid one is comment section. I just tried a few articles, and they seem to have a button which redirects to the real website. I think that's a fair compromise. Honestly most article sites do this anyway, load the comments after a click.

<comment><USER15> > Do you share links before visiting the article? With this change, it seems > like sharing the link will be the same amount of clicks.

Before today, here's what it looked like:

Real web: 1\. Click on Google search result 2\. Read article 3\. Click share and get real URL

AMP: 1\. Click on Google search result 2\. Read article 3\. Click share and realize that you're on an AMP page which is broken for anything other than mobile web browsers 4\. Either go back to the search results to find the non- AMP URL or navigate to the publisher's site and use site search find the real URL 5\. Share the real URL

As of today, Google has made this a little faster but it's still an extra step: 4\. Click on the small link icon in the header to display the real URL 5\. Share the real URL

That's still considerably worse than the standard web experience. The only reason anyone is defending this is because it's associated with Google.

</comment></comment></comment></comment></comment><comment><USER16> _" One widely circulated blog post written back in October claimed Google was stealing traffic from publishers via its AMP pages. But that wasn't true."_

I suspect the writer didn't really look into what the publishers were saying. AMP shoved a UI element at the top of your content that, when you interact with it, goes back to Google.

End users already know how to use a back button. So, adding another one, without being clear about what it was, would certainly create more traffic to google, and fewer "second pageviews" of your content/site. Google knows that the top portion of the page is the most valuable.

</comment><comment><USER17> AMP is really ridiculous. I tried a top article from mobile.nytimes.com via AMP (google link) and direct link. The AMP version takes more than 3 times longer to render above the fold with a 3g regular throttling and cold caches, while the direct link was done in <2s. Chrome doesn't even record enough frames to show when the above the fold content is visible. With warm caches the render performance difference is roughly the same. Wasn't AMP ment to help with that? Superior client side rendering and top notch caching?

<comment><USER18> Are you using an adblocker? If so, does the adblocker successfully block ads for both the AMP and non-AMP page?

<comment> angry-hacker If you whitelist Google, it does not block ads.

</comment></comment></comment><comment><USER19> So basically they just add a button on the already obnoxious banner on top of the page?

This article also claims that the speedup is partly due to loading the content in a hidden iframe on the search results page. So it's potentially using more data in order to be perceived faster?

<comment><USER20> Only data in the first viewport is loaded during pre-rendering phase.

<comment><USER21> are you saying that google proxies and loads data based on the screen resolution of the client? that's actually pretty awesome.

<comment><USER22> AMP requires to include some JS and to use the Google AMP cache. Essentially, your content runs in a web app largely controlled by Google.

</comment></comment></comment></comment><comment><USER23> Let me introduce CASUVP -- Cooperatively Ad-stripped universally viewable pages. It's a concept, there's no implementation yet.

Basically, it's a version of the web where users cooperatively clean up web pages from ads and other unwanted material (e.g. scrollbar-hijacking, user- tracking), so that only the plain text with minimal markup of the article, and images remain.

The cleaned-up pages are distributed by torrent or by IPFS, and there is a consensus algorithm to make sure that pages are not tampered with (e.g. by content distributors).

Browser plugins help users view and seed the material.

Now if only people pick up this idea and implement it...

</comment><comment><USER24> Nothing really changes. The URL in the bar is still from the cache.

<comment><USER14> Exactly, all they did was add a link underneath the "..." menu to see the canonical URL. Apparently, the whole justification for the Cache is that smaller websites don't have CDNs or developer resources or something?

> For a small site, however, that doesn't manage its own DNS entries, doesn't > have engineering resources to push content through complicated APIs, or > can't pay for content delivery networks, a lot of these technologies are > inaccessible.

[https://developers.googleblog.com/2017/02/whats-in-amp- url.h...](https://developers.googleblog.com/2017/02/whats-in-amp-url.html)

However, I work for a publisher that delivers almost all our assets through a CDN, over https, etc... we don't really need our pages to be served through the AMP Cache, we could support users visiting the AMP version of our articles on our site, and hopefully get more second-page visits. I don't get it, who is AMP really for, big publishers or small publishers? If I am already a performance-minded developer, I don't need any of the things AMP provides, but I am forced to implement it for the magic google juice.

<comment><USER9> > I don't get it, who is AMP really for, big publishers or small publishers?

For the users. When looking at search results on mobile I usually go for the AMP ones, regular results take way too long to load.

<comment><USER25> Really ? I avoid them like the plague. I switched to DDG just to be rid of them. I want the full webpage, not some gimped mobile version.

<comment><USER9> And if most users are like you, I'm sure Google's internal metrics will show that and they will discontinue the format.

But I'd be willing to bet that most users are like me, but I have no data besides the fact the Google seems to be doubling down on it.

<comment><USER26> Most users started to AdBlock. That's why amp is there. Everything else is people falling for propaganda explanations.

<comment><USER27> There's nothing preventing adblock from working on amp pages. Amp is currently a mobile only thing, and most users on mobile are not blocking ads.

I don't know where this myth comes from that amp is all about blocking adblockers: amp pages require a markup that specifically tags ads as ads and prevents running scripts after page load. The only two adblock-defeating techniques are to disguise your ads as content, and re-insert them after page load, both of which are rendered impossible by the amp spec.

<comment><USER28> > Amp is currently a mobile only thing, and most users on mobile are not > blocking ads.

Most users anywhere are not blocking ads, adblocking by its nature as a non- default option and something you have to know how to do will most likely never be the thing that "most users do".

However, the idea that people on mobile do not block ads is just false: [https://pagefair.com/blog/2017/adblockreport/](https://pagefair.com/blog/2017/adblockreport/)

Worldwide, there are almost 150m more mobile adblock users than desktop adblock users. The trend of only blocking ads on your desktop is largely a North American phenomenon.

I can't speak to whether or not AMP is designed to try and stem this tide or not, but I can say without a doubt that mobile adblock is exploding, especially when considering the worldwide market, and that publishers are probably very nervous about this.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> I like the TechCrunch title better ("Google fixes a big problem with AMP"). "Google fixes problem with AMP" makes it sound like there's only one problem with AMP.

</comment><comment><USER30> AMP was so annoying, I had to switch to Bind on my smartphone, despite inferior results.

AMP header takes 10% of screen and it doesn't disappear when you scroll down

No comments section on AMP versions or on Reddit comments are not expendable

Hard to get real URL to bookmark or share

Request desktop option is completely broken on news.google.com

</comment><comment><USER31> Seems like it may be better to link to the Google blog post on this?

[https://developers.googleblog.com/2017/02/whats-in-amp- url.h...](https://developers.googleblog.com/2017/02/whats-in-amp-url.html)

</comment><comment><USER32> This entire AMP project is already workaround after workaround, but this gets even worse.

All that would have been required to solve these problems would have been a simple standard for lightweight pages that anyone could implement, and a better ranking for any complying page.

Google could offer the cache optionally, or sites could do their own stuff.

Then, the entire rendering and preload problems could have been improved with a simple JS api to allow for exactly that.

Then none of the rest would have had to be solved, we'd get none of Google's increased dominance over the web, and we wouldn't have to put up with thousands of AMP pages loading slower than normal pages (because they bundle fucktons of useless JS) for the sake of improving the loadtimes of a handful of sites.

<comment><USER33> > All that would have been required to solve these problems would have been a > simple standard for lightweight pages that anyone could implement

FWIW that's exactly what AMP is. It's not a W3C standard, but a standard nonetheless: [https://www.ampproject.org/docs/get_started/create/basic_mar...](https://www.ampproject.org/docs/get_started/create/basic_markup)

<comment><USER34> AMP is not a standard. It is a Google product with developer documentation, but that documentation does not make it a standard any moreso that Twitter having an API makes _it_ a standard.

AMP allows your websites to rank better / more prominently within Google and Bing, but it comes at the cost of ceding control of markup itself to Google. A truly open standard would not have hard dependencies on a single for-profit corporation.

</comment></comment></comment><comment><USER35> I would love to know what is really going on here.

I'm admittedly not very technical, but like a prisoner scratching tally marks on the wall each day, I try to keep up on the latest "how tech companies are fucking us over" news of the moment, even though I can't do anything about it.

Google is pushing AMP on pages in their search results today. Fine, implemented it like idiots. Happens.

But I would not be surprised if in the near future Google comes out with "AMS" "Accelerated Mobile Sites", and forces entire websites into this madness.

I get it, "fast, efficient" is always the story. Monopolistic nerves, quasi- TLA control fetishes, and an old-fashioned internet land-grab is the rumor. But that is too simple for this much trouble and expense. A few years ago Google was dealing with SPDY, QUIC, HTTP2, and talking about "fast, efficient" but you know something felt fishy there too and there was a back-room-dealy vibe with more to the story.

Anywho, while I would love to know what's going on and I have some guesses, I don't really care anymore. Google is wasting everyone's time with these games. So...

Why doesn;t Google just get on with it and host the entire internet? [1]

For free.

Please correct me but Google is already cacheing the internet.

Offering to just host the world will allow them to implement whatever bullshit protocols they were going to do anyway. It would kill off most competitor risk from AWS and whatever Microsoft came out with 9 years late. They can afford it. And they have the space (yottabtye my ass).

That's it Google. Just bend us over and host the internet.

[1] ok not the entire internet, 99% of it. Doubt they would host the porn for free.

</comment><comment><USER36> All AMP needs to do is add an "X" to the top right corner and if it's clicked ask the user if they want to opt-out of AMP.

Either way, the user get sent to the "native" version of the URL they requested when they click the URL.

</comment><comment><USER37> AMP's v0 is 188K of JavaScript.

Google's standard analytics.js is currently 28K. If you're running AMP, the AMP compliant version of the same thing, is 64K. Neither of these block rendering and both of these run largely in the background, yet making it AMP compliant more than doubles whatever code it requires.

AMP will make progress when I can use it without actually introducing bloat.

</comment><comment><USER38> as an end-user, I was suspicious of AMP because it changed the websites slightly and didn't let me share the URL.

now I see there are legal (intellectual property) reasons why that is wrong as well.

</comment><comment><USER39> tl;dr: it took a little more than _two decades_ to give us the incredible power of HTML5, CSS3 and modern JavaScript; it took countless hours for the W3C to define the standards, and years of browser wars to get this far with compliance. But Google wants us to abandon them in favor of its thing (because, you know, some websites actually suck). Now, _fixed_...

</comment><comment><USER40> In other news, mobile Chrome 57 Beta on Android brought ability to change search engines as you visit appropriate sites (same as on desktop).

Switched to Duckduckgo.

</comment><comment><USER41> Ha! I complained about this exact problem here a month ago. I'm taking full credit. :)

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

<comment><USER20> Thanks for the feedback! I did, however, announce this change 2 months ago :) [https://twitter.com/cramforce/status/794585395056939009](https://twitter.com/cramforce/status/794585395056939009)

</comment></comment><comment><USER42> Even the famous Podesta e-mail hack was made possible thanks to the... Google AMP page server policies!

See the picture(1) here:

[https://motherboard-images.vice.com/content- images/contentim...](https://motherboard-images.vice.com/content- images/contentimage/38680/1476913065736588.png)

Unless you knew that google.com made their main domain redirect to anything(!) to provide amp, you'd really believe that the click was going to end up on the google.com servers, the place where your login data for Google services really is. Instead, google.com was used as the least expected redirector of them all.

It was known among the security people:

[http://seclists.org/bugtraq/2016/Apr/70](http://seclists.org/bugtraq/2016/Apr/70)

But google at that time kept it being a fully invisible redirector. Their explanation then: they "do not consider open redirects to be a security issue." They also wrote: "we generally hold that a small number of properly monitored redirectors offers fairly clear benefits and poses very little practical risk." Benefits for whom but Google? And what was proper then in this Podesta redirect?

It seems they now finally changed the handling of the redirection, adding "The previous page is sending you to ..." instead of doing it invisibly. It took the Podesta e-mail hack, possibly changing who's gotten to be a US president, and some time to go by for them to add that change.

That's the untold story of who, how, and for which goals influenced the election (Google, Amp, as the unexpected effect of the profit goals of spreading amp as much as possible).

Apparently the aide of Podesta later claimed to have made a typo: "When the phishing email first arrived, Podesta referred it to a number of aides. An aide named Charles Delavan replied, "This is a legitimate email"" "Delavan says he had meant to write "illegitimate email," and simply mistyped." Or maybe it really looked legitimate to him at that moment: the server behind the link was obviously google.com. Who didn't carefully follow what Google did with amp couldn't possibly guess that the main google.com domain just became an invisible redirector thanks to amp.

\----

1) The picture is from the following article:

[https://motherboard.vice.com/en_us/article/how-hackers- broke...](https://motherboard.vice.com/en_us/article/how-hackers-broke-into- john-podesta-and-colin-powells-gmail-accounts)

<comment><USER43> What's also amazing is that this specific Google vulnerability was disclosed to Google and discussed on this website before that leak.

<comment><USER42> I know that as I saw the link and "parsed it" in my head I've concluded "but it _obviously_ goes to google.com", the real place where also I log myself in. Later, I couldn't have believed my eyes as I've typed such an address in the browser and ended elsewhere, wherever, I had to use curl to convince me that, yes, google.com/amp just invisibly redirected to the site and the page of the rest of the url, whatever the rest was.

</comment></comment></comment><comment><USER44> "URLs and origins represent, to some extent, trust and ownership of content. When you're reading a New York Times article, a quick glimpse at the URL gives you a level of trust that what you're reading represents the voice of the New York Times. Attribution, brand, and ownership are clear."

Oh, Google suddenly acknowledges the value of real URL for the user...

</comment><comment><USER45> Publishers just need to not opt-in to AMP. There's really no benefit for them anyhow.

<comment> TD-Linux AMP pages are prioritized in search results.

</comment></comment><comment><USER46> ios scrolling seems a little better now, but maybe I'm just getting used to it?

<comment><USER20> WebKit bug to follow on scrolling inertia being different for overflowed elements from the main scroller [https://bugs.webkit.org/show_bug.cgi?id=162499](https://bugs.webkit.org/show_bug.cgi?id=162499)

</comment></comment><comment><USER47> best way to fix amp is to........ get rid of it. Stupid annoying feature, couldn't figure out an easy way to disable it, now I am using duckduckgo.

</comment><comment><USER48> How hard is to build a simple HTML5 website with little CSS3 and little to no (vanilla) Javascript. You know a website can be very tiny and fast. Yet people who don't know need Google to market them AMP "technology" to do the same but lock them in, and get full access to analytics data.

</comment><comment><USER49> I don't see AMP making it. The invasiveness is classic Google. Up there with Google Plus.

</comment><comment><USER50> AMP needs to die

</comment><comment><USER51> AMP is literally the most user-unfriendly thing I have seen on the internet in years. It's like an exaggerated example of an aggressively awful UX antipattern.

It's what finally caused me to switch to DuckDuckGo on my phone. Sucks that the results aren't nearly as topical as Google's for most searches.</comment>


Civil War Project Shows Pros and Cons of Crowdsourcing - <AUTHOR> http://chronicle.com/blogs/wiredcampus/civil-war-project-shows-pros-and-cons-of-crowdsourcing/31749?sid=wc&utm_source=wc&utm_medium=en

<comment><USER2> "So far, staff members are spending more time checking the work of volunteers than they would have taken to do the transcriptions themselves, according to Mr. Prickman."

I find this hard to believe. You can eliminate the obviously wrong ones instantly. Just delete them. I feel a compelling need to know why they are wrong, too, but it just doesn't matter. (The picture given is a great example.)

The rest, give a cursory glance and file it as provisionally okay. Shouldn't take more than a few seconds to verify each one this way. Certainly less time than typing it out, and MUCH less time than trying to decipher the whole thing perfectly.

Then, either run a second and third round of crowdsourcing and use computers to determine the differences, or sit down and read them individually. (Or crowdsource that!) It will still have taken less time that typing it.</comment>


Ask HN: Examples of great documentation? - <AUTHOR> I searched HN on how to write great documentation. This is something I want to get better at. A top link I found was this:
https://jacobian.org/writing/great-documentation/
Is it still relevant?
It's a bit old and some of the links showing examples of great documentation are broken.
Please share examples that you deem as great documentation. <comment><USER2> The Django documentation _model_ is explained here: [https://www.divio.com/en/blog/documentation/](https://www.divio.com/en/blog/documentation/)

Better than just an example in that explains _why_ docs are good. But Django docs are good example.</comment>


How we know the oldest person who ever lived wasn't faking her age - <AUTHOR> https://www.theverge.com/2019/1/9/18174435/oldest-person-alive-woman-age-jeanne-calment-controversy-longevity-mortality-statistics <comment><USER2> As with whales, people have annual layers of earwax that build up and can be counted - the physical evidence in this specific case came from the disgusting and rather fragrant forensic evidence based on core samples taken from the ear.</comment>


How one man took on Wall Street and won - <AUTHOR> http://www.bbc.com/news/business-36544970 <comment><USER2> A recent discussion of IEX: [https://news.ycombinator.com/item?id=11926312](https://news.ycombinator.com/item?id=11926312)

</comment><comment><USER3> The book Flash Boys talks about the entire story.</comment>


Show HN: Galio – Free and Open Source React Native Framework - <AUTHOR> https://github.com/galio-org/galio <comment><USER2> Looks really nice. Which component is the line graph you have on the website?

</comment><comment><USER3> It's pretty cool. Will use it for the next project!</comment>


Web 2.0 is all about the money - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?file=/c/a/2007/04/18/BUG4NPAB4N1.DTL&type=tech <comment><USER2> Like Web 1.0 wasn't, and like all business the world over isn't?</comment>


2006 VW Presentation showed how to evade emissions tests - <AUTHOR> http://www.nytimes.com/2016/04/27/business/international/vw-presentation-in-06-showed-how-to-foil-emissions-tests.html <comment><USER2> This was posted yesterday: [https://news.ycombinator.com/item?id=11576173](https://news.ycombinator.com/item?id=11576173)</comment>


Microsoft Drops Another Windows 10 Update - <AUTHOR> http://techurb.com/another-windows-10-update-by-microsoft/

<comment><AUTHOR> This package contains all previously released fixes.</comment>


Steve Wozniak Recounts His Efforts to Engineer the Apple II Floppy Disk System - <AUTHOR> https://paleotronic.com/2018/05/19/steve-wozniak-talks-disk/ <comment><USER2> If I recall correctly, Steven Levy's book "Hackers: Heroes of the Computer Revolution" also covered some of this story.

Woz was intimidated by disk controllers because he didn't know much about them, other than they were big complicated things. So starting with his own ignorance as a fresh slate, he ended up with something better than his former employer HP had in their products.

Sometimes (Sometimes! Not always!) not knowing better can be helpful.

<comment><USER3> Being genius helps with that.

<comment><USER4> I feel like "genius" is almost always an ex post facto label that's doled out to make us feel better about our own lack of ambition. That person did something really wild and interesting? Clearly they're a genius, so why even bother striving for anything quite so good?

Same with the recent Steve Jobs threads. Or any thread featuring prominent programmers or founders.

I think immediately reaching for the "genius defense" (whether deserved or not) does far more harm than good.

<comment><USER5> You're right.

Exceptional labels are often used to abdicate responsibility of the mediocre for their own mediocrity.

It's easier to label someone as special than it is to admit you didn't put in the time they did, or that your fear of failure prevents you from trying.

This particular Woz story doesn't scream of "genius" to me.

It screams of curiosity and confidence, a fearlessness, of a young and foolhardy geek swimming in opportunity and it enabled him to discover some interesting, innovative things.

The part where his (probably senior) hardware dept. colleague trolled him into completely ripping apart his work and redoing it all for cosmetic reasons with a single sentence saying "Steve, you mean you're going to go with less than perfect?" had me laughing heartily, and caused me to reflect on the times similar things had been done to me early in my career.

</comment></comment></comment></comment><comment><USER6> People implemented some pretty crazy disk read/write routines on top of this for copy protection... I find it super interesting. [https://www.bigmessowires.com/2015/08/27/apple-ii-copy- prote...](https://www.bigmessowires.com/2015/08/27/apple-ii-copy-protection/)

</comment><comment><USER7> This is explained in detail in woz's autobiography. I read it all in one sitting. Great book all around, and as an added bonus, I got to meet woz the next day after reading his bio, completely by chance. Weird.

<comment><USER8> Note to self: read Scarlett Johanssen's autobiography all in one day

<comment><USER9> Cargo cult at its finest :-)

</comment></comment></comment><comment><USER10> It is always great to read stories about obsolete technologies and how people put lot of effort, thinking and energy into solving the roadblocks. This provides a great prospective of history and how things evolved over time which kids these days might have zero idea about.

<comment><USER11> It's not only historical. Stories like this show how good engineers work through a problem. There is a lot to learn there.

<comment><USER12> Well, it's interesting on the human and historical side, especially the part that it was all self-taught, but on the technical side, it's not clear from this interview that he's using GCR and how ([https://en.wikipedia.org/wiki/Group_coded_recording#Apple](https://en.wikipedia.org/wiki/Group_coded_recording#Apple)) and that e.g. Commodore had a more efficient scheme that allowed a whole 170KB per side, at the same density.

</comment></comment></comment><comment><USER13> Since it has not been posted yet, the open sourced Apple ][ source code (the 16-bit read/write) from Paul Laughton and Steve Wozniak and Randy Wigginton and some technical design docs can be viewed.

[http://www.computerhistory.org/atchm/apple-ii-dos-source- cod...](http://www.computerhistory.org/atchm/apple-ii-dos-source-code/)

</comment><comment><USER14> Coincidentally, I've been looking into ways to transfer a bunch of data off of Apple IIe old floppies (assuming there's still data to be transferred on the media) and I came across this:

[http://adtpro.com/](http://adtpro.com/)

</comment><comment><USER15> Woz is always interesting to listen to. He seems really humble and yet not afraid to try anything. Really inspiring.

</comment><comment><USER16> Am I missing the "play audio" link or did people read this and found it easy to understand. To me, the transcribed rambling makes it a terrible read...

<comment><USER17> I couldn't disagree more. The raw transcribed text made me feel immersed in the storytelling.

</comment></comment><comment><USER11> I love stories like this. True engineering porn.

<comment><USER13> And if you haven't read jwz's classic, you are in for a treat (text formatting, possible HN custom diatribe aside)

[https://www.jwz.org/blog/2002/11/engineering- pornography/](https://www.jwz.org/blog/2002/11/engineering-pornography/)

<comment><USER18> JWZ hates HN. Here's a derefered link:

[http://www.dereferer.org/?https%3A%2F%2Fwww%2Ejwz%2Eorg%2Fbl...](http://www.dereferer.org/?https%3A%2F%2Fwww%2Ejwz%2Eorg%2Fblog%2F2002%2F11%2Fengineering%2Dpornography%2F)

<comment><USER19> This (redirect) still sends referrer to www.dereferer.org. The user also has to lookup and visit two sites instead of one.

Do browsers today not allow users to set the referrer?

Google and countless web businesses prefix urls and act as "dereferers" so they can collect referers instead of the target websites. There is no shortage of "derefered" links on the www.

A "dereferer" may be useful for a _website owner_ , but is it useful to a user? The "defererer" can track the external sites its users visit, creating a log of users' www browsing, but how does that benefit the user?

For the _user_ , this is sharing far more information with the "dereferer" than with any individual target site.

Is the "Referer" header truly necessary for the user? It is not even spelled correctly.

I have been using the www with target url set as referer instead of referring url for decades with almost zero problems.

The times when a site demands a certain referer are so few and far between that I cannot remember the last time it happened.

<comment><USER18> The link was only to hide the referer header from JWZ because he chooses to show a very crude image to HN readers. That's all.

<comment><USER19> [https://wiki.mozilla.org/Security/Referrer](https://wiki.mozilla.org/Security/Referrer)

about:config network.http.referer.spoofSource

</comment></comment></comment></comment></comment></comment><comment><USER20> remember the thread about silent computers ? [https://news.ycombinator.com/item?id=17075489](https://news.ycombinator.com/item?id=17075489)

very timely with the chapter on floppy tracks and heads.

I never read anything so detailed about woz work. Usually it's all average apple fan or journalist reverence. But I really love the way he makes that extra step to use the hardware almost fully.

</comment><comment><USER21> > The important things in life are the ones you remember with emotion and fun > smiles.

Woz is really special guy.

> I opened up the little box with a screwdriver, and there were some dip > switches, and I switched them to another position, and didn't get billed for > the movie.

But that was still kind of a dick move, Woz.

<comment><USER22> Well if the new setting pointed at an empty room instead of an occupied room... No way to know now, I guess. I like to think he pointed it at an empty or non-existent room.

<comment><USER23> At a conference, probably no empty rooms.

</comment></comment></comment><comment><USER24> Does anyone have audio of the different sounds of drives he describes? Such a fascinating article.

<comment><USER25> I don't have audio recordings but 30 years later I can still hear the sound of my Apple ][ floppy drive re-homing itself, which was a scary sound.

The track-to-track sound he's describing was very pleasant though.

<comment><USER26> Instead of having some kind of switch or sensor to know when the read head was at track 0, the stepper motor just banged the head repeatedly against the metal stop until it was sure things were in alignment. This was that "chukchukchukchuk" sound you heard.

I remember playing around with the delays in that routine to make the head move at different frequencies. With a little bit of playing around you could make the drive play music.

<comment><USER27> _With a little bit of playing around you could make the drive play music._

That's basically the same thing you had to do to make the Apple play music anyway -- do a LDA to a certain address with various timings to toggle the 1 bit speaker. Amazingly enough, you could do legible text to speech with it -- [https://en.wikipedia.org/wiki/Software_Automatic_Mouth](https://en.wikipedia.org/wiki/Software_Automatic_Mouth)

<comment><USER26> Absolutely true....although I'm not sure the Disk ][ head was meant to be vibrated at 400 Hz like a paper cone speaker was. =)

</comment></comment></comment></comment></comment><comment><USER13> Another must read is jl's interview of Wozniak for Founders at Work.

[http://www.foundersatwork.com/steve- wozniak.html](http://www.foundersatwork.com/steve-wozniak.html)

</comment><comment><USER28> "I had never studied nor been near hardware or software."

I don't understand this sentence. Steve Wozniak is saying that he's never been near hardware or software??

<comment><USER29> I think he's referring to hardware and software specific to disk drives.</comment></comment>


Show HN: Docker-reload, rebuild and restart docker container on changed files - <AUTHOR> https://github.com/azylman/docker-reload

<comment><USER2> I would point out you can map a directory to a running container and just have the process reload the files, instead of having to rebuild the entire container. Rebuilding the container can be a long process.</comment>


Ruby on Rails guides - <AUTHOR> http://guides.rails.info/ <comment><USER2> There's also a work in progress on the new wiki: <http://newwiki.rubyonrails.org/>

</comment><comment><USER3> I don't want to bash Rails but that site is having load issues. Probably nothing to do with Rails but that doesn't do much for advocacy.

<comment><USER4> Especially since those are just static HTML files.

</comment></comment><comment><USER5> It certainly looks a lot better than the old site.</comment>


How HN Helped Manpacks Take Off - <AUTHOR> http://mixergy.com/manpacks-ken-johnson-interview/

<comment><USER2> I posted this on HN. I'm always interested in how messages spread, so here's the breakdown AFAIK:

1\. manpacks guys make the product.

2\. post facebook ad

3\. my brother see fb ad(nice targeting?)

4\. bro shares link with me on gtalk

5\. i post on HN

6\. <lots more coverage?>

7\. profit???

The real thanks should goto my brother Shadab!

Here's our original chat between me and my bro from March 8(he works in advertising so I thought he was doing a campaign for them):

12:46 AM Shadab: [http://manpacks.com/?utm_source=facebook&utm_medium=cpc&...](http://manpacks.com/?utm_source=facebook&utm_medium=cpc&utm_campaign=what2&utm_content=intel2)

LOL

12:47 AM me: LOL!

doing campaign for tht?

Shadab: clicked on FB ad

hahahahahaha

What I'd like to know from them is what other marketing ideas they tried?

How much did they spend on FB?

How did they go about targeting?

How are they scaling sales now(all WOM)?

I'm yet to watch the interview so I'm sure they've answered some of that there!

</comment><comment><USER3> I am not that excited by Manpacks, and I hate shopping. It's the typical web startup. Web 2.0 design. A few famous brands. Lots of logos from "traditional media".

Then you look at the product and it's nearly twice as expensive as Amazon, if you are willing to get 6 pairs of underwear at once. So who does this target? People who are too poor to afford 12 socks at once? Not compelling. Amazon is trusted and less expensive. Where is the value add?

<comment><USER4> _Where is the value add?_

Not having to think about it, click any buttons, do anything, remember anything, etc. Buying socks and underwear is one of those tasks that's very, very easy to perpetually put off until tomorrow.

<comment><USER3> And then you pay Amazon $6 for same-day shipping and get a crate of underwear all at once.

</comment></comment></comment><comment><USER5> I'd like to see something like manpacks, but with food (not pizza-style junkfood crap, but something good and healthy like you would cook at home if you were inclined to cook).

<comment><USER6> www.graze.com is doing snack subscriptions over in the UK. Haven't found a similar service in the US yet.

<comment><USER7> It's a great idea, and the snacks they send are varied and interesting. But they're really not "meals", and it's far too easy to scarf an entire box.

I found myself eating normally PLUS whatever they sent, which kinda defeated the purpose for me.

(Their website is stunningly good, though)

</comment></comment></comment><comment><USER8> Interesting that HN now has enough reach that mainstream media mine it for new stories. From the transcript --

Andrew: How about that "Inc." article? There was an article in "Inc." which announced Manpacks, and then it asked other entrepreneurs to give feedback and suggestions for Manpacks. How did you guys get that article written about you?

Ken: The editor reached out to us in March. He said they would be interested in doing an article on Manpacks. Would you be interested in an interview? I said, of course.

Andrew: Okay. Was this after the Hacker News hit?

Ken: Yes. It was maybe a week and a half after.

Andrew: That's so interesting. By the way, I found that other reporters will look at Hacker News and come up with stories. And then those stories end up just kind of growing and growing and feeding on each other.

</comment><comment><USER9> My 3rd manpack will ship this weekend. Found via HN.

<comment><USER10> I'm a customer too, thanks to zaidf.

<comment><USER2> Tiny correction: so it was the facebook ad which my brother saw which then made it to me; not springwise as you guys credit in the interview :)

</comment></comment></comment><comment><USER11> I think this is a great idea. I'm only 1/2 through the interview, but it seems like it's inspired by things Amazon Fresh, etc.

What does <demographic> hate to do? Shop for food, shop for boring types of clothes.

</comment><comment><USER12> Currently, <http://www.google.co.uk/images?q=manpack> shows luggable military radios. Wonder how long that will take to change.</comment>


Grand Theft Auto IV Makes $600m. Lead Actor Makes $100k! Ridiculous... - <AUTHOR> http://ryanspoon.com/blog/2008/05/21/grand-theft-auto-iv-makes-600m-niko-bellics-actor-makes-100k/ <comment><USER2> They made a conscious decision to not go after mainstream Hollywood talent this time. They needed it for credibility and marketing in the past but at this point the GTAIV marketing machine did just fine without Samuel J Jackson or Ray Liotta doing voices. Talented voice actors are a _much_ better deal than A-list Hollywood talent for voice acting. The real shame is that voice actors are so underpaid by the market. Billy West, who voices Fry and many more on Futurama, has talked about this in various forms of media.

<comment><USER3> Great point... The roles are VERY different:

In film, the voice actor is often used for marketing (ie Jack Black in Panda kung-fu film)

In TV, they tend to really drive the show (Family Guy, Futurama, etc)

In video games, it's a complete non-factor unless you're John Madden.

</comment></comment><comment><AUTHOR> This guy is completely delusional... people would play the game if my little sister did the voice overs.

</comment><comment><USER4> _hen they're making hundreds of millions of dollars, and we don't see any of it. I don't blame Rockstar. I blame our union for not having the agreements in place to protect the creative people who drive the sales of these games._

I wonder if he realizes what would happen if their union actually tried to enforce such an agreement. The video game industry, unlike the film and TV industries, can easily walk away from using union talent at all.

</comment><comment><USER5> He got exactly the amount of money he requested. $100K is a lot of money considering that there are thousands of others that would have done the same work for a fraction of that.

</comment><comment><USER2> [http://www.nytimes.com/2008/05/21/arts/television/21gta.html...](http://www.nytimes.com/2008/05/21/arts/television/21gta.html?_r=2&partner=rssuserland&emc=rss&oref=slogin&oref=slogin)

<comment><USER2> This guy is going to be a Screen Actor's Guild hero; his career is set.</comment></comment>


The Private Market's Reality Distortion Field - <AUTHOR> http://www.sandhilleast.net/blog.html

<comment><USER2> You don't know till the party's over if you'll get a hangover.

In other words, no one knows for sure if it's a bubble. It may just be that this is a new mode for startup growth and expansion, one in which VCs don't have as much market power as they used to. Or it could be a bubble and it will pop and things will revert to the older mode.

Also, false analogy alert - just because Pandora is down doesn't mean Uber or airbnb also should be down. He should make that case on the numbers.

</comment><comment><USER3> > If you are a VC I would focus on the earlier stages where there is much less > competition for deals and as a result valuations have not gotten unruly.

If the premise was true, I'm not even sure how this could be good advice. It sounds like more investors would end up reducing their liquidity by tying up their money in a bunch of glorified small businesses.

</comment><comment><USER4> The author should understand that the market cap of a public equity where there is no option to negotiate terms is not equivalent to the market cap of a private company where the investors can negotiate terms.

If you are investing $10m at a $100m valuation in a private company and you get a 1x liquidation preference, that is not the same as buying 10% of a public company for $10m.

If the private company that you invested in with a liquidation preference is acquired at $50m, you still made money on your investment. If you invest in a public company with a $100m valuation that falls to $50m, you lose 50%.

The distortion field is in the terms, and a professional investor should know that. I would be very concerned if I were one of his LPs.

</comment><comment><USER5> The one glaringly obvious issue I see in this post is comparing ms, fb and Google % increase at different # years after they had gone public. Who is to say that: Ms has already reached peak, Google is somewhere in between and fb is just getting started?

</comment><comment><USER6> By "private" market, does the article mean the the one that has a government created banking cartel printing a $1T a year and dumping it into it's capital markets (aka QE)?</comment>


Ask HN: Is there a way to do this in Google Apps email? If not there should be - <AUTHOR>

I want to be able to link all of the dozens of email addresses in one place. Is there a way to add some sort of dropdown to the interface to quickly change between emails?
If not, I see it working as follows:
1. You link your email addresses and verify each of them by loggin in. firstname.lastname@example.com, firstname.lastname@example.com, email@example.com.
2. On the email, you now have a drop down box. With all the emails and number of new messages for each.

     firstname.lastname@example.com(3)
     email@example.com(1)
     firstname.lastname@example.com(0)
     Link another account
 3. When you select an email account, it seamlessly switches from one account to another.
Something like this is necessary, I have way too many emails and its next to impossible to check them. Yeah I do the ghetto thing and forward them to a single account, but this way would be way more organized. <comment><USER2> I do something similar, maybe it will help.

Go to Settings->Accounts and Imports

There you can configure other POP3 enabled mail systems and retrieve mail as well as send email as if it were from that system.

In that way google (and the gmail repository) becomes your single mail interface. I have five email addresses (the limit for free gmail) configured this way including work email, home email, other domains etc.,

</comment><comment><USER3> I think what you're looking for is this: [http://mail.google.com/support/bin/answer.py?hl=en&ctx=m...](http://mail.google.com/support/bin/answer.py?hl=en&ctx=mail&answer=22370)

I have that set up myself for several addresses; all it does is send email through a given email address' SMTP servers. It does NOT retrieve emails for you. Specifically, this prevents Gmail from adding the SMTP headers to signify "On Behalf of" on the receiver's view of your email.

Gmail provides retrieval through a separate feature, although I think it kind of sucks due to a time delay (instant gratification and all that...) so I use the "ghetto" method of forwarding too.

</comment><comment><USER4> How I do it: settings > accounts > get mail from other accounts > add a mail account you own

Then select: label incoming messages, archive incoming messages, and Yes, i want to be able to send mail as _x_.

To read messages from another account, click its label. To send mail as another account, click the From dropdown.

</comment><comment><USER5> Very similar functionality with a Greasemonkey script:

Review: [http://lifehacker.com/343881/quickly-switch-google- accounts-...](http://lifehacker.com/343881/quickly-switch-google-accounts- with-the-google-account-multi+login)

Script Page: <http://userscripts.org/scripts/show/16341>

</comment><comment><USER6> I do something similar with labels and filters.

I basically setup multiple email addresses in my Apps email account, then create a Label for each one.

Then setup filters to check the 'to:' and 'from:' fields for a given email address, and apply the label.

Now your 'Labels' sidebar acts as that drop-down that you wanted.

</comment><comment><USER7> Try <http://www.longfocus.com/firefox/gmanager/>

<comment><AUTHOR> that seems out of date, here found the updated version: <https://addons.mozilla.org/en-US/firefox/addon/1320>

</comment></comment><comment><USER8> try <http://mailplaneapp.com/> supports unlimited gmail accounts</comment>


Tech worker visas face uncertain future under Trump, Sessions - <AUTHOR> http://www.reuters.com/article/us-trump-immigration-analysis-idUSKBN13G0J7 <comment><USER2> tl;dr: The usual silly speculations and misstatements about Trump's position on H-1B visas, but if they're right about Sessions (and why should I believe that?), the position of both is "Intel yes, Infosys no".

Which will suck for the bodyshops and those employed by them, but if the changes follow their position, it'll be as OK as it ever was for those getting one after getting a degree here, and the actual procurement of serious, real, albeit still "indentured", talent won't stop.

Although they might get less underpaid, Sessions had a provision in his 2015 bill that they'd go to the companies offering the highest salaries, instead of being allocated by lottery. That would be interesting, although I can see lots of problems unless that's adjusted for the local cost of living, fortunately the Federal government already has mechanisms it can tap to do that.</comment>


Ask YC: what could be done better - next time - <AUTHOR>

Sorry for yet another summer 2008 thread here's a quote from my rejection email.
We realize this process is fraught with error. It's practically certain that groups we rejected will go on to create successful startups.  If you do, we'd appreciate it if you'd send us an email telling us about it; we want to learn from our mistakes.
what do you think could be done better?
I'm not sure if this is too much to ask but to be able to review our applications, and perhaps have a spot for yc to have left comments. I'd like to know if it was something other than the obvious solo founder black mark.
Also and additional comments box in the application would be nice. I had a few things to say that didn't really fit in anywhere else. <comment><USER2> I wonder if it would be possible to get some basic quantitative feedback from YC to get a clearer idea about the strong and the weak points of an application, e.g. a rating from 1 to 5 for criteria like quality and potential of idea, fittingness of the founders, progress of the project, potential and risk of business model, etc. you name it. Risk for YC would be that people try to optimize their application against the criteria and distort somehow the competition.

</comment><comment><AUTHOR> I should also note that I'm looking for more review because as I said in the other thread. I believe in self improvement, I of course wonder if it was just the solo founder thing, or if there was maybe something else. If there were other things I'd like to know so I don't repeat my mistakes, I can only avoid mistakes in the future if I know what they were.

Hindsight is only 20/20 if you have enough data.

In this case I am guessing it is my late application, and the fact that I am a solo founder. Having a demo would help too.

</comment><comment><USER3> Maybe they are getting too busy, too successful? Not a bad problem for them to have - but difficult for us vagabonds.

</comment><comment><USER4> Previous rejection letters had a bit more detail; hope this helps:

        We're sorry to say we couldn't accept your proposal for funding.
        Please don't take it personally, because most of the proposals we
        rejected, we rejected for reasons having nothing to do with the
        quality of the applicants.  For example, we were very reluctant to
        accept proposals with only one founder, because we think starting
        a startup is too much work for one person.  We also had a higher
        threshold for applicants who were still in school, groups where one
        or more members planned to keep their current jobs, and groups that
        couldn't all move to California.  We rejected a lot of proposals simply
        because we couldn't understand them, or didn't understand the problem
        domain well enough to judge them, or because the project seemed too
        big to start on only three months of funding.  Sometimes we even
        rejected good ideas, because another group proposed the same idea
        and seemed further along.

<comment><AUTHOR> "because another group proposed the same idea and seemed further along."

That'd be nice to know. Especially since one might want to join that group ;).

<comment><USER5> This time around pg set up conversations between some of the prior founders and some of the applicants--to get a better feel for the teams, and to give them a chance to ask any questions about YC they had (including what to expect in the interview and how to best present their case--and maybe even who to pitch to, since sometimes pg is not going to like your idea, but rtm or tlb might if you pitch it right, and pg takes their advice seriously).

I was amused to find that one of the groups (one of the best we talked to, actually) was planning to work on the same area as our new product from a slightly different angle--I don't think they were entirely aware of how closely the functionality of their proposed product matched what we're about to launch until I told them). It's not at all unlikely that we'll contact them in a few months when we begin hiring (because them having written no code, and us having functional code in private beta with real paying customers, we do seem further along--but they did seem like a smart team, and if YC doesn't accept them, we might have a good place for them on ours).

I thought it was interesting, anyway. And since I've frequently stated that the single best thing about Y Combinator is spending a lot of time with the other teams, anything that provides more connectivity between founders is a win for everyone.

<comment><USER4> > _because them having written no code_

I'm curious as to how it was determined they were one of the best when they hadn't written anything yet. It seems a lot of proposals with code and demos got declined (not even looked at in some cases) but in this case a proposal with no code, which has essentially already been funded and done by your group... gets an invite?

<comment><USER5> Prior work, though admittedly in unrelated fields.

I don't know if they got an invite--we talked to them before any decision was made. But if they don't have a demo before the interview, I strongly suspect they won't get in--our pitch was not well-received by pg, and only the strength of our demo brought rtm and tlb around to an appreciation of the difficulty of the problems we're solving. And, we have yet to prove that this is a lucrative market--we know it is, but YC can't be blamed for not knowing it yet, since we've had no exit and growth is steady rather than explosive.

But, YC will fund groups that are working on the same problem domain, but not usually in the same round. Since we're a year in the past, I'm sure they wouldn't turn a team down based on where we are.</comment></comment></comment></comment></comment>


Has the Spam War Been Won? - <AUTHOR> http://cacm.acm.org/blogs/blog-cacm/78121-has-the-spam-war-been-won/fulltext

<comment><USER2> Unfortunately I think spam must still work, or spammers would have stopped sending it. They're pretty pragmatic. It wouldn't take more than a couple months of making no money before they switched to some other racket.

<comment><USER3> Sure, but I think the salient point here is this: we've gotten good enough at filtering spam that looking through your email inbox is no longer a major headache. That's how I frame the war on spam, anyway, and in that sense I'd say we're definitely winning. Maybe not won, but winning.

<comment><USER2> I worry that while this is true for us GMail users, it may not be true for everyone.

Plus GMail is a bit strict. I still get lots of false positives.

<comment><USER4> I think the problem is "solved" for non-GMail users, too.

Nowadays, setting up a good spam-protected mail server isn't very sophisticated anymore.

In our company, I'm running a plain Exim mail server with a SpamAssassin in almost default configuration and some standard RBLs. Although I have a quite burned email address, I'm getting just around 5 spam emails per day and false positives are rare (less than 1 per month, I guess).

</comment></comment></comment></comment><comment><USER5> I still receive too much spam. Still relying on Thunderbird.

I wonder if Thunderbird's filter has been improved at all lately. Some possible improvements come to mind. For example it could take into consideration who is already in my address book. If somebody sends me an email with only an image and no text, and that someone is not in my address book, it seems safe to consider it spam.

It should also remember whom I actually sent mails to, and filter all "Unknown Recipient" mails that I never triggered.

Also, how can emails with "VIAGRA" in the subject pass by the spam filter? It must have had thousands of opportunities to learn that VIAGRA in emails equals spam.

Guess I should go find Thunderbird's bug tracker.

<comment><USER6> Viagra != Spam. Ask a pharmacist. And I'm not making that up. Yesterday a pharmacist's son told me of his father's spam filtering woes.

<comment><USER5> I took care to write "VIAGRA in emails equals spam", to exclude the case of real Viagra as being sold in pharmacies. Of course I didn't add "in emails to me".

</comment></comment></comment><comment><USER7> If it's been won and I still receive tons of spam does that mean it has been won by the spammers?

<comment><USER8> I hear you. Running different filters on each of three accounts and still received 200 spam that got through in one day.

</comment></comment><comment><USER9> My spam counts for the last couple days (that spamassassin caught), working backward from today:

554, 481, 489, 901, 1192, 932

So the last couple days have been good, but it's been running about 1K per day for as long as I can remember.

We have about 55 accounts on this machine. Let's assume most legit mail doesn't bounce (i.e. human mistakes and misspellings are rare). Grepping for "user unknown" in the mail log gives about 100,000 matches per day.

In short, the bastards are still hard at work.

</comment><comment><USER10> I think it's far from won. While we work on better ways to detect spam and faster reactive methods. Spammers are doing the same. Writing better virus, testing better social engineering techniques. It's still very profitable.

"Analysis reveals a surge in spam levels in February to 89.4 percent, an increase of 5.5 percent since January mostly due to an increase in spam emanating from the Grum and Rustock botnets. Over the past year, Grum has experienced relatively little change in spam volumes, but from February 5, Grum's output increased by 51 percent making it responsible for 26 percent of all spam, up from its usual 17 percent. <http://www.messagelabs.com/resources/press/45666>

</comment><comment><USER11> A pretty poor article, considering it's from an acm.org blog. It's 2010, and his blog post is based only on two studies, one from 2005 and the other from 2008. To explain the two years for which he has no information, he quotes "his personal experience".

Just a few days ago we read here on HN how _one_ nigerian spammer was netting 40M… (<http://news.ycombinator.com/item?id=1174235>). And as it was said in other comments, if spammers are still sending spam, there has to be a reason.

</comment><comment><USER6> The "I don't see spam in my inbox" argument misses the real great cost of spam: false positives. Beating spam actually makes the problem worse because the better filters are the more spammers spam, and the more spam there is in my spam folder the harder it is to find false positives.

</comment><comment><USER12> Aside from your squeaky clean inboxes there is another front in the spam war - the botnets in which your, your relatives, friends, and colleagues' infected computers may be participating unknowingly - and in this aspect the situation is worse than ever.

<comment> loup-vaillant There is a very easy solution for that: make the ISP block the outbound SMTP port. This will force spammers to use web-mail, where the mail provider is better armed to detect spammy accounts. Unfortunately, this would (and does) tend to centralize the internet further, which is not acceptable.

</comment></comment><comment><USER13> I know most people can't use it due to needing email to be instant, but at least for my personal mail I've found greylisting to work wonders.

What it does is tell the sender that it is busy/something is wrong and to call back later. It then makes a note of this. When the person calls back it will then accept the mail and add the address to a whitelist.

This works because most spammers don't use a rfc complaint mail server and don't care to call back. It is cheaper to just move onto the next target.

<comment><USER5> I use it and it helped somewhat, but spam still gets through. Also, it can at best be a temporary solution. It wouldn't be that hard for spammers to upgrade their mail servers. Meanwhile, I have to live with a delay in receiving emails caused by greylisting.

</comment></comment><comment><USER14> If not won, the advancing spam offensive has at least been held in check and reduced to a trench warfare activity.</comment>


An Improved Liberal, Accurate Regex Pattern for Matching URLs - <AUTHOR> http://daringfireball.net/2010/07/improved_regex_for_matching_urls

<comment><USER2> This is the point at which it's worth learning _actual_ parsing tools, rather than just winging it with REs. REs are fine for tokenizing, but cannot handle recursion, and quickly become clumsy for patterns made of distinct sub- elements.

Once you sink deeper into that turing tarpit, you end up with monstrosities like this (<http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html>), a RE for matching valid email addresses.

<comment><USER3> Except the whole point of this thing, as clearly explained in the article, is for everyone with access to a regexp implementation to be able to reuse the same few-line regexp, as a drop-in replacement that works better than the the shitty regexps they currently use to recognize URLs. (Examples of currently bad matchers that might benefit from this code: hacker news's, gmail's)

When they get a tiny bit clumsy, but before they get so clumsy that adding a bunch of parsing machinery is really worth the trouble, regexps are still the best solution.

* * *

Markdown, on the other hand, John Gruber's more famous project, would be much improved (especially for people interested in extending it) by having its specification written in terms of a real grammar.

<comment><USER2> The article mentions that doing it better would require lots of nonstandard extensions, but not that it's struggling in the first place because it's the wrong tool for the job. If more developers realized the limitations of using just REs for these tasks, languages would be better integrated with actual parsing tools.

I think that tools like LPEG (<http://www.inf.puc- rio.br/~roberto/lpeg/lpeg.html>) are a step in the right direction - it's a small Lua library* which provides a PEG-based parsing library. It's very powerful, but also scales down to use as a more efficient, more expressive PCRE replacement. There are various trade-offs in using PEGs rather than LALR(1), LL(1), etc., but the integration with the rest of the language is very good. It _feels_ like using a better form of REs, rather than "adding a bunch of parsing machinery".

* Though nothing about its design is Lua-specific. There's a paper which explains its underlying mechanism, and it's just a small C library (2258 loc for v. 0.9) - porting it wouldn't be that difficult.

I agree with you about an actual markdown grammar, though it's useful enough that I have a hard time complaining. (I particularly like Discount (<http://www.pell.portland.or.us/~orc/Code/discount/>).)

</comment></comment></comment><comment><USER4> Why bother matching balanced parens? just match everything until nonencoded space.

These are valid urls, no?

      example.com/(
      example.com/dkjflkj)sdkfj(/.
      example.com/.
      example.com//////:
      example.com/anycharacters_in_any_order_as_long_as_certain_ones_are_encoded

There's no way to tell if trailing punctuation is part of valid url or not. You can assume trailing punc is not and chop it off. Which should be correct 99.999 of the time. Similar with surrounding braces,brackets,parens. If you see one at start assume the one at end is not part of url.

<comment><USER5> Ironically that solution doesn't work for lots of wikipedia links that end in a paren.

<comment><USER6> There's actually a lot of Wikipedia articles that end with punctuation, which I get bitten by at HN relatively frequently. For example, there are a bunch of Supreme Court cases involving companies that end with an "L.L.C.", "Inc." or "Co.", like: <http://en.wikipedia.org/wiki/Riegel_v._Medtronic,_Inc>.

</comment></comment></comment><comment><USER7> What's the purpose of matching "www.", "www1.", "www2." … "www999."? For purposes of this regex, wouldn't the domain matching that follows be sufficient?

<comment><USER8> referring to

[http://daringfireball.net/misc/2010/07/url-matching-regex- te...](http://daringfireball.net/misc/2010/07/url-matching-regex-test- data.text)

you can see he wants to match things like www.example.com, but not filename.txt

So www. can introduce a url also.

</comment></comment><comment><USER9> But what about my .mueseum domains?</comment>


Show HN: SNEBU -- Simple Network Backup Utility - <AUTHOR> http://www.snebu.com

<comment><AUTHOR> This is my first major open source project. I would appreciate any feedback on the setup on Github (is there features I'm mis-using or not aware of, etc).

Basically, this is a backup tool that is one step better than rsync-based backups (has a database[sqlplus] based backup catalog, supports compression, etc), without the complexity the bigger backup solutions.

</comment><comment><USER2> You should lead with a feature matrix comparing SNEBU to rsync because you really need to differentiate yourself from rsync, which has been the standard for 15 years.

Everyone writes some kind of recursive backup tool, just like everybody writes their own templating system and TODO list manager. Set yourself apart.

<comment><AUTHOR> Thanks for your feedback. Do you think this tool has potential (in other words, does the world need yet another backup tool)? Essentially, I'm trying to position this as a slight step up from rsync/hardlinks backups (such as rsnapshot, etc), in that it has a backup catalog database, and compressed backup files (also file-level deduplication if you are backing up multiple servers). Yet it is simpler to setup and use then the heavy-weight backup utilities (Amanda, Bacula, commercial solutions, etc).

<comment><USER3> The other feature that should be worth touting is that you don't need to install anything special on the source repository.

I think it has potential. The problem space is complex enough that many different solutions can exist. For example, at my current job we ended up creating our own backup system that would let us easily sneakernet old copies of the data to our offsite location.

For what it's worth, some other open source backup tools that are similar are rdiff-backup and obnam. I've been meaning to make a page like [http://en.wikipedia.org/wiki/Comparison_of_online_backup_ser...](http://en.wikipedia.org/wiki/Comparison_of_online_backup_services) but for open source solutions.</comment></comment></comment>


Typeform Data Breach - <AUTHOR> Just received this email from the Typeform founders:
<comment></comment><comment></comment><comment>-----
Hello,
My name is David Okuniev, and along with my co-founder and joint-CEO, Robert Muñoz, we're writing to inform you that a data security incident has occurred within the Typeform platform.The incident compromised some of our customer data, and some data from your respondents.
On June 27, 2018, our engineering team discovered that an unknown third party gained access to our server and downloaded certain information, including some of the data your respondents provided via Typeform.  We responded immediately and closed the source of entry. Our engineers are closely monitoring our platform, and we've found no evidence of any recurrence of the incident.
To date, our investigation has revealed that your account was compromised. Only some of the data provided by your respondents prior to May 3, 2018 was affected.
As a data collection company and service provider, maintaining the security and privacy of our customers' data is our top priority. As part of our rapid response to this incident, our team took a variety of measures to ensure the ongoing security of your data. Because each customer's typeforms are different, the data downloaded during this incident will vary by customer. You may want to communicate with your respondents to inform them of this incident. Please see the Q&A below for more info about this.
In addition to the steps taken to date, our team have launched a comprehensive review of our system security to identify ways we can further increase our security measures to prevent future incidents. After the review, our system will be more secure than ever before.
We take security matters seriously, and we sincerely regret that this incident occurred.
</comment><comment></comment><comment></comment><comment>-----
I guess this is just to be expected at this point. </comment><comment><USER2> As a researcher at a startup, I have to rely on 3rd party tools at least to some extent to collect information (like surveys, screeners, etc). Luckily the data I collect isn't super sensitive, but my guess is that most small companies are collecting names, phone numbers, and email at least and storing them in a 3rd party platform. I imagine most small companies rely on 3rd parties like Google, Airtable, Salesforce, etc. to store at least some data about users. But I don't want to rely on these insecure 3rd parties to store this data. Maybe an opportunity for SaaS to move into a different direction where there's a front-end portal but actually don't store your data? Most small companies don't have developer resources to make secure surveys in- house.

</comment><comment><USER3> Last time I use Typeform. Can't trust them for anything except some hobbyist forms.

Also - they haven't published this anywhere online

</comment><comment><USER4> Got the same. This is huge.</comment>


Hey, Steve -- you broke the Internet - <AUTHOR> http://www.mathewingram.com/work/2008/01/15/hey-steve-you-broke-the-internet/

<comment><USER2> I'm not sure if this is supposed to be ironic or not, but I got an "Error establishing connection with database" error when I tried loading the page the first time.

It works ok now though.</comment>


AI-Powered Drone Mimics Cars and Bikes to Navigate Through City Streets - <AUTHOR> https://spectrum.ieee.org/automaton/robotics/drones/ai-powered-drone-mimics-cars-and-bikes-to-navigate-through-city-streets <comment><AUTHOR> Website for the project [1] with links to the code on github and the collision dataset.

[1] [http://rpg.ifi.uzh.ch/dronet.html](http://rpg.ifi.uzh.ch/dronet.html)</comment>


Physicists Solve the Mystery of Interleaved Phone Books - <AUTHOR> http://www.technologyreview.com/view/540621/physicists-solve-the-mystery-of-interleaved-phone-books/

<comment><USER2> I'm kinda of surprised that this hadn't already been shown/confirmed/etc. ?</comment>


Really Big Numbers (2015) - <AUTHOR> https://mathenchant.wordpress.com/2015/12/17/really-big-numbers/ <comment><USER2> "Already 7 inside a heptagon is much, much bigger than Graham's number." Did I completely misunderstand that the polygon series is pretty much the Steinhaus- Moser polygons? Because Graham's Number is way out beyond what can be compactly expressed in those.

</comment><comment><USER3> Just to add, I really enjoyed Scott Aaronson's essay on this topic: [https://www.scottaaronson.com/writings/bignumbers.html](https://www.scottaaronson.com/writings/bignumbers.html)

</comment><comment><USER4> Wait But Why has an excellent piece on Graham's number: [https://waitbutwhy.com/2014/11/1000000-grahams- number.html](https://waitbutwhy.com/2014/11/1000000-grahams-number.html)

</comment><comment><USER5> A page on large numbers is good if it eventually points to Harvey Friedman's work.

<comment><USER6> Link?</comment></comment>


Tell HN: Losing my mind - <AUTHOR> 300 hours a month <comment><USER2> Doing what?

300 hours / mth approx equals 14 hour working days. That's not unusual. But if you are feeling burnt out, then take a break or change jobs. There's a big world out there!

</comment><comment><USER3> ?!?!?!?!?!? Over What ?!?!?!?!?!?

</comment><comment><USER4> Slip out the back, Jack.

</comment><comment><USER5> ...?

</comment><comment><USER6> Don't like your job? Quit.</comment>


Invest in real companies using Bitcoin [Coming soon] - <AUTHOR> http://www.caldwellhamilton.com/

<comment><USER2> Is this the same person?

[https://in.news.yahoo.com/photos/bitcoin-enthusiast-mike- cal...](https://in.news.yahoo.com/photos/bitcoin-enthusiast-mike- caldwell-39-coins-pictured-office-photo-231250005.html)

<comment><AUTHOR> No, not the same person.</comment></comment>


Amazon Dash Button's Wireless Audio Configuration - <AUTHOR> http://www.blog.jay-greco.com/wp/?p=116 <comment><USER2> It doesn't work with android because of the wide variety of speakers and microphones on android vs the very few for ios. Many android phones can't even emit or record ultrasound.

<comment><USER3> I wonder why they didn't just fall back to audible sound. WiFi is okay, but having to manually connect to the button's access point is fiddly, and disconnects you from the real network.

Another solution is Electric Imp's BlinkUp, which encodes the WiFi information in flashing light from the screen. Patented.

<comment><USER2> [http://arstechnica.com/uncategorized/2003/09/2886-2/](http://arstechnica.com/uncategorized/2003/09/2886-2/)

"Eight weeks later, the first public demonstration was given to the class by using a simple ping packet. With a blinding 2bps speed, the class sat patiently as the packet was received in roughly 140 seconds. "

That's why. Sound is a pretty slow wavelength. Low end is 60hz, lets call it 600hz tones in this bongo (I don't actually know). However ultra sound is at 20 kHz and above. Eg 33 times faster. 33x the data. Eg 140 seconds now takes 4.25 seconds. Lets assume the bongo was 10 too long. Now we're down to 14 seconds in audible and .42 seconds in ultrasound.

you can see the benefit.

and that's without actually doing a real data rate calculation becuase I don't have a good number on how many waveforms you have to have on sound to pick up a real signal. Somthing somthing nyquest criterion somthing somthing.

</comment></comment></comment><comment> brian-armstrong If anyone wants to play with an audio modem which can run ASK (PSK and QAM too!) then try [https://github.com/quiet](https://github.com/quiet) which has Android and JS bindings

End shameless plug :)

</comment><comment><USER4> I'd be interested to know how much potential advertising data is collected via these microphones.

Previous discussion: [https://news.ycombinator.com/item?id=10562207](https://news.ycombinator.com/item?id=10562207)

<comment><USER5> For these? Probably none. Their batteries would be depleted very quickly if they were listening to the microphone more than at just setup.

<comment><USER4> Ah, very good point.

<comment><USER6> But of course, as technology matures, advertisers will go out of their way to make use of it. That's one thing you can count on.

</comment></comment></comment></comment><comment><USER7> Should Amazon have encrypted this transmission in some way or is the volume low enough that a plain text transmission of the wifi password not pose a threat?

<comment><USER8> This is definitely a valid concern if the plaintext transmission can be recorded and played back and still be valid. Hopefully they've built-in some kind of short expiration timestamp. That said, the speaker output from your phone in your home isn't going so far that anyone else could pick it up without being in your home at the time that you're configuring it.

</comment></comment><comment><USER9> Now the question is if there is a exploit in the rom and by crafting your own audio you can make the device much more interesting.

<comment><USER10> The easier, hacker way is to intercept the traffic with a proxy: [https://medium.com/@edwardbenson/how-i-hacked- amazon-s-5-wif...](https://medium.com/@edwardbenson/how-i-hacked- amazon-s-5-wifi-button-to-track-baby-data-794214b0bdd8)

<comment><USER6> > Dash buttons are turned off most of the time to preserve the battery inside. > They only turn on when you push them. And that means they have to re-connect > to your Wifi network every time they are pushed. That's easy to detect.

How do they know for sure? Perhaps they also connect every month for a (status) update or for statistics, but this hacker just missed that.

I wouldn't use these buttons to launch any missiles :)

<comment><USER8> Curious if anyone knows how the Dash buttons handle when your wifi password has changed since their last successful connect.

<comment><USER11> I believe you have to use the mobile app to go through the Dash set up procedure again if you change your local AP (or get a new one, etc.)

</comment></comment></comment></comment></comment><comment><USER12> I thought this was really cool, and you don't even need a Dash button to repeat it (just the app). I threw a mic on my desk and recorded the output real quick, and sure enough, it's pretty easy to see the waveform. I was going to post the wav file, but without knowing a bit more about how the Dash links to my Amazon account, I'm a bit hesitant.

I'm going to have a run at reproducing this in Python. Should be fun!

</comment><comment><USER13> incredible work, jay! I like how you described everything.

I think it's going to be interesting when the Amazon dash buttons end up playing a role in next big DDOS...

</comment><comment><USER14> I wonder how many tens of thousands of people have now unknowingly installed internet-connected microphones in their kitchens, garages, laundry rooms, and bathrooms.

<comment><USER10> Well the Dash button has very little on-board storage, so it can't save much voice. It also has a very limited battery, so it turns itself off unless the button is pushed, and when the button is pushed it's only on long enough to send a command to Amazon (not long enough to send saved voice data).

People complaining about things they didn't take five seconds to understand is how FUD gets spread. Please don't contribute to this nonsense.

<comment><USER15> I don't think this qualifies as FUD, nor misinformation. If this is FUD, then all of DefCon is also. This is simply pointing out the onboard capabilities of a device people are indeed installing in their homes. Clearly this is a microphone-enabled wifi-enabled device. State actors use passive bugs [1] with vastly fewer internal capabilities, so I think it's foolish to discount the possibility that it could be misused. Especially when it's so readily available.

Given the use of passive bugs, it's pretty obvious that zero onboard storage is required for a listening device to be useful to those with resources to collect the information real-time. It's healthy to understand the inherent trade-offs you're making by installing such a device, and make sure you can monitor its usage appropriately if you choose to keep one in a place you presume is reasonably private.

[1] [https://en.m.wikipedia.org/wiki/The_Thing_(listening_device)](https://en.m.wikipedia.org/wiki/The_Thing_\(listening_device\))

<comment><USER16> The battery is the limitation here. Sure maybe you record for a day or two even but it simply can't last longer than that.

<comment><USER10> A Cortex M3 on a single AAA battery can only last a few hours without sleeping. 3.3 volts at 200-300 mA with a 1200 mAh battery doesn't provide much wiggle room.</comment></comment></comment></comment></comment>


Show HN: An intuitive API client for SEC filings - <AUTHOR> https://github.com/filingsdb/filingsdb-python <comment><USER2> I thought this was an API client for an SEC API. But it's an API client library for a third-party service.

The site with the API docs is blocking my residential IP address (in China): "What happened? This website is using a security service to protect itself from online attacks."</comment>


Wall-sized portraits of your own DNA - <AUTHOR> http://www.walyou.com/blog/2008/08/17/dna-model-art-projects/

<comment><AUTHOR> I chose a link I thought gave a better overview, but this is the actual site selling the portraits: <http://www.dna11.com/gallery_portraits.asp></comment>


Webmail firms probe login 'leak' - <AUTHOR> http://www.bbc.co.uk/news/technology-36204531 <comment><AUTHOR> From the article:

 _It said the cybercriminal had initially asked for 50 roubles (75 cents; 52 pence) in exchange for the list, but eventually gave a copy away without charge after Hold 's staff posted favourable comments about him in a forum._</comment>


Why Boston's Hospitals Were Ready - <AUTHOR> http://www.newyorker.com/online/blogs/newsdesk/2013/04/why-bostons-hospitals-were-ready.html

<comment><USER2> In Tampa, we run annual mass casualty drills. One part is a field exercise where fire rescue practice triage and transportation of a large number of patients. They usually use high school students, often with makeup for their injuries. I've been at a few of those and it's pretty creepy to see a mock disaster like that at the airport or in a sports arena.

They also simultaneously have an exercises with all of the local hospitals and other medical facilities. They all run their disaster plans and practice triage, reporting available surgical beds / trauma units, etc. The bigger hospitals actually handle some of the mock patients from the scene, but even small day surgery facilities take part in at least a paper exercise, since they could be tremendously useful in a real event.

Here's a decent news report about last year's drill here: [http://www.abcactionnews.com/dpp/news/health/hospital- staff-...](http://www.abcactionnews.com/dpp/news/health/hospital-staff- prepares-for-worst-case-scenario-during-republican-national-convention-rnc)

</comment><comment><USER3> Much the same happened when the Joplin, MO tornado hit a couple of years ago, e.g. [http://stormdoctor.blogspot.com/2011/06/first-response- mode-...](http://stormdoctor.blogspot.com/2011/06/first-response-mode- may-22-2011-joplin.html) (warning, a front line account with some ugly events and outcomes) and many more stories.

E.g. at the other end of the scale, at the opposite end of tow is the local college with has a nursing program ... and for some inexplicable reason every bed in every room is fully functional once you remove the training dummy (12 to 20 or so). A pharmacist and some junior associates shows up from fairly far south of the city and set up a pharmacy. It was discovered that dental chairs for that training program were rather good for setting bones. Etc.

Or something closer to home: there's a state association of structural engineers, which had a plan for this sort of thing, and marshalled over a hundred to get the not so destroyed buildings graded in a very short time (as in "safe" to "stay out").</comment>


Single-file cross-platform C/C++ headers implementing self-contained libraries - <AUTHOR> https://github.com/RandyGaul/cute_headers <comment><USER2> I write C for a living but i'm not terribly experienced.

I was wondering is there a reason C and C++ code favours comments over descriptive names? I'm almost certain i'm not making this up, but go into any random file here and look at the names. Structs will have members called p with a comment saying "position". It seems very silly.

<comment><USER3> > Structs will have members called p with a comment saying "position". It > seems very silly.

It does not seem silly to me. Coming from mathematics, single-letter variable names are the only acceptable possibility, especially in numerical code. I tend to read contiguous letters in a formula as products.

Besides, descriptive variable names violate the principle of "don't repeat yourself". It is better to describe the variable only once, in a comment next to its declaration, instead of several times.

Programmers should understand that not everybody who programs has a background in computer science, and certainly the traditional conventions of computer science are not universal and not generally reasonable. Many of us have a scientific background, where descriptive variable names are silly. We do not want our numbers to have _meaning_ , that's the whole point of abstraction. Thus, they are named x, y, z, and so on.

<comment><USER4> Assuming you have been writing code with single letter variables for long enough, try opening a medium to large sized project you wrote a few years ago and no longer use or maintain. See if you still understand your own code.

Descriptive variables are about maintainability. And when it comes to the latter, the guiding principle is:

> Always code as if the guy who ends up maintaining your code will be a > violent psychopath who knows where you live.

^ [https://stackoverflow.com/q/876089/417194](https://stackoverflow.com/q/876089/417194)

<comment><USER5> I have had success using long names to good effect in non-mathematical code, but in mathematical code, I have never gotten them to work very well.

I've tried many times over the years, but I just never seem to be able to squeeze all the relevant information into the names without making them excessively long, and even then I usually find upon rediscovery that I have omitted an important detail. Mathematics seems to thrive on a kaleidoscopic abundance of subtle but important variations on similar themes and this really frustrates the ability to encode information in the names. Also, the necessity of building an abstract-mathematical mental picture separate from the code obviates the need. The value proposition of verbose naming conventions entirely falls apart under these conditions, and once it does, the benefits of concision rule the day.

</comment></comment></comment></comment><comment><USER6> It's a sad truth of the state of C/C++ build systems that header-only and single-file libraries (which take very long to compile) are so sought after.

<comment><USER7> I highly recommend you give Bazel a look if you haven't. I'm coming from a biased perspective, since I work at Google where we have a nice build setup. But, I like Bazel so much I use it and hack on it in spare time.

There's really only two things that bother me:

\- Windows support is alright but it's a bit weird and wants some Unixy stuff to exist. It's being worked on in small bits but it could be better. If you don't care about this you'll have a good time likely.

\- Sadly it isn't widely used outside of Google, so you're mostly on your own. The only upshot is that the Starlark language makes it really easy to compose BUILD files, so I don't find it too difficult to manage a few BUILD files for things like SDL2. Unlike a lot of other build systems, like CMake for example, it would be much less hassle to consume other Bazel projects directly, since it's designed to work that way, so if it ever did gain widespread adoption it would be a really nice solution.

There's definitely some things that would turn off the average user. Like the BUILD files, in order to be predictable, contain dependency information, which either needs to be updated by hand or tools (you can guess which is preferred.) On the other hand, builds are very predictable, and it works such that you can easily express dependencies across different programming languages and even autogenerated code from another target.

Nothing is perfect, but I find Bazel is super nice for C/C++ compared to the alternatives I've used. It's a different way of approaching the problem of building software, one that I've found very novel despite the shortcomings. I'm worried it's too easy to miss what makes it special behind some of the turnoffs people initially hit.

<comment><USER8> How does this solve the build time problem the parent post was lamenting?

I've looked a little bit at bazel but haven't spent long on it. It seems to really, really want you to do things in its specific googly way ( that seems to stem from monorepo style and always knowing the exact build path and never needing to distribute to users) which is hard if e.g. trying to to convert an existing project that doesn't perfectly fit (us: combined C++/Python with some legacy fortran generation)

Or a project that has external dependencies currently being chain-built but isn't itself built with bazel (e.g. most the planet) - we don't all have dedicated build teams to accurately and bug free reproduce other libraries build procedure (also getting away from a buggy reproduced build is part of my system rewrite intention).

I seem to remember the documentation also had the usual problem that the easy examples were well documented but hard to tell how to do anything more complex, but maybe I didn't dig enough. CMake has a similarish problem except the problem is finding more modern ways of doing things that don't suck (I'm aware of all the talks about this, many of them are big on ambition but low on details, and usually just teach transient dependencies).

<comment><USER8> Ignore the first sentence, I think I misread what you were specifically commenting on for that.

</comment></comment></comment></comment><comment><USER9> These are kinda misleading - "single-file" is a technically accurate term, but if you think that implies that you can just #include them, it's not that (i.e. not what is normally called "header-only"). It's basically a header and implementation combined into a single file, with the implementation part #ifdef'd. So you need manually instantiate that implementation in one of your existing translation units, or add a new one specifically for that purpose. At that point, I don't see how this is preferable to just having an .h/.cpp as usual, and zipping it for distribution purposes.

<comment><USER10> less messing with build systems.

<comment><USER11> You could still #include the .cpp file even if they were seperate files. You wouldn't even need the define.

</comment></comment></comment><comment><USER12> [https://github.com/nothings/stb](https://github.com/nothings/stb) is another set of good header only libraries.

(I'm not the author and don't know them, I'm just a happy user.)

</comment><comment><USER13> Don't C++ 20 modules solve this problem?</comment>