How DRM can hurt sales (Steve Bellovin) - <AUTHOR> http://www.cs.columbia.edu/~smb/blog//2010-07/2010-07-15.html

<comment><USER2> Tired, anecdotal comments like this offer absolutely nothing new to the DRM/piracy debate and don't really belong on HN.

We need experimental, quantitative evidence, with a data set large and broad enough that we have a good reason to dismiss many of the variables as irrelevant.

<comment><USER3> The plural of "anecdote" is "anecdotes", not "data".

( Source: <http://news.ycombinator.com/item?id=246716> )

</comment></comment><comment><USER4> Well one thing is clear. If you put DRM onto your product then I, for one, will not buy it.

<comment><USER5> Ditto. I avoided buying DRM'ed CDs, use only public domain e-books, etc.

</comment></comment><comment><USER6> Well, I know from experience that even small time producers of digital goods want some form of DRM, whether they know it or not. A common question I get from my BitBuffet.com customers is "How do I know they won't share the file on their website? Can't we lock it or something?".

I never really know what the best answer is for this; I try the diplomatic "There certainly are technologies for this, but they are especially annoying to your paying customers and the tech isn't foolproof" but I really doubt there is enough demand in most cases to warrant an effort on combating piracy. It is difficult to convince them otherwise when its their hard work.

<comment><USER5> > Well, I know from experience that even small time producers of digital goods > want some form of DRM

Not all of them; only those who didn't yet understand that DRM won't help sales (on the contrary, for small players it certainly hurts much more than it helps).

</comment></comment><comment><USER7> This is terrific.

I'm going to send it to every author that chose not to publish with us b/c our marketplace is DRM-free (and the reasons he enumerates is exactly why we're DRM-free as a matter of policy).

<comment><USER3> Are you talking books, or software?

I don't think any of the e-readers lock a book to a specific device.</comment></comment>


Cato Comments on TSA Body Scanners - <AUTHOR> http://www.cato.org/blog/cato-comments-tsa-nude-body-scanner-policy <comment><USER2> The stated dose of radiation from the original X-Ray based TSA scanners has a banana equivalent of somewhere between 1/2 a banana and 4 bananas.

The UCSF letter of concern about the penetrative depth of the radiation (here, weirdly, deeper penetration is better) was refuted by the scanner's inventor, who said the doctors confused two different metrics (radiation dose metrics, which were deep, and imaging depth, which was as designed shallow). But even if you believe the UCSF letter; what banana multiple are we talking about here? A 10x error in the amount of radiation the original backscatter machines generated would still work out to just tens of bananas.

Moreover, the flight itself totally dominates the radiation cost of an airline trip. NYC to LA is 10's of microsieverts; multiple hundreds of bananas.

The problem with backscatter machines isn't that they're unhealthy, and people shouldn't twist science into knots to make political points. Be careful about cheering for our side using a tactic that can easily be used against us in the future.

The problem with the machine is that they're strip searches, and administrative strip searches are unreasonable.

<comment><USER3> Different radiation sources aren't casually comparable as "banana multiples" or by counting (or linearly multiplying) sieverts.

In particular, the radiation from the decay of potassium in bananas is different particles, wavelengths, and energy than that of X-Rays, so using "banana equivalents" to talk about X-Rays is obfuscatory oversimplification.

<comment><USER2> I'm always happy to accept an argument that casts doubt on XKCD comics, so let's stipulate you're right about the banana comparison. But the comparison to the flight itself isn't similarly specious. The point of both comparisons is that the amount of radiation we're talking about is very, very low.

(Fun thread on the RadSafe list about banana dose equivalents: [http://health.phys.iit.edu/archives/2011-March/031410.html](http://health.phys.iit.edu/archives/2011-March/031410.html))

<comment><USER3> Just because a lot of the cosmic radiation during the flight is also 'X-Rays' also doesn't mean the exposure is equatable by a simple multiplier in tissue effects.

The specific energy, delivery, and timing could all be worse or better. Given non-linear effects like hormesis, the scanners (or flight) might even be good, at some levels, then turn bad.

It ought to be studied, with the actual devices in real-world scenarios, and to the same level of scrutiny of medical radiation devices -- which have themselves killed people when misunderstood or misprogrammed. Instead, the TSA's use seems rushed through a different less-accountable process, with a bunch of hand-waving "this is kinda like that" reassurances.

</comment></comment></comment></comment><comment><AUTHOR> The key point:

 _TSA's nude body scanning policies probably cause more deaths than they prevent. For this reason, we recommend in our comment that the TSA suspend the current policies, commence a new rulemaking, and implement a rational policy resulting from an examination of all issues on the public record._

</comment><comment><USER4> >The last day to comment on the proposed rules is Monday, June 24th. You can submit your comments until then.

Cato's 50 page comment. If you want any ideas. [http://www.cato.org/sites/cato.org/files/wp- content/uploads/...](http://www.cato.org/sites/cato.org/files/wp- content/uploads/cato_tsa_comments.pdf)

</comment><comment><AUTHOR> Also, remember that the deadline is Monday for comments on regulations.gov for the TSA scanners -- [http://tsacomments.net](http://tsacomments.net) has more

</comment><comment><USER5> From an interview I did in 2010, no bananas:

[http://news.cnet.com/8301-31921_3-20022541-281.html](http://news.cnet.com/8301-31921_3-20022541-281.html)

The administration's defense of the controversial machines, which use X-rays to perform what critics have dubbed naked strip searches, has "many misconceptions, and we will write a careful answer pointing out their errors," said John Sedat, a UCSF professor of biochemistry and biophysics and member of the National Academy of Sciences...

Their letter to Holdren said "it appears that real independent safety data do not exist." In addition, the authors say: "There has not been sufficient review of the intermediate and long-term effects of radiation exposure associated with airport scanners. There is good reason to believe that these scanners will increase the risk of cancer to children and other vulnerable populations."

</comment><comment><USER6> I particularly liked how Cato kept calling it a "nude body scanner", and how the TSA would lie, cheat, steal and beat it's momma to keep the "nude body scanners" around.

Way to make it seem like the TSA has a nude body scan porno problem, Cato. Love that sort of thing.</comment>


Red Programming Language: 0.6.1: Reactive Programming - <AUTHOR> http://www.red-lang.org/2016/06/061-reactive-programming.html <comment><USER2> "The reactive model we use is known as object-oriented reactive programming (using a 'push' model), which is both simple to understand and close to spreadsheet's model (i.e. Excel formulas)."

That they've managed to make this work in the language as a whole and not just the GUI is quite wonderful!

</comment><comment><USER3> Reactive programming is an elegant and powerful feature for a modern language. Great achievement ! The idea to make it available also in non-graphical apps is very interesting.

</comment><comment><USER4> wonderful tool!</comment>


Fear of a Capitalist Planet - <AUTHOR> https://www.jacobinmag.com/2015/04/aliens-extraterrestrials-active-seti/

<comment><USER2> It's as equally likely that there are 'helpful', 'angelic' aliens out there who would share their knowledge with us and springboard humanity into an era of peace and prosperity.

Wait... what is that equally likely to?

That there are aliens out there hellbent on destruction that take joy to glassing planets with plasma blasts ala Halo Reach (Trivia: The Earth's crust can be glassed like what happens in Halo Reach)

The argument to NOT CONTACT E.T is because of the latter - not the former. It's risk aversion. While the former sounds wonderful, the latter... well the latter kind of sucks. Why should we risk exterminating our very existence to contact aliens on the hope that they are friendly, or at least non-hostile?

Even if the Earth was a wonderful planet where Communism had a realistic chance of working (and not conflicting with human behaviors) - that wouldn't make peaceful aliens any more or less likely than destructive aliens.

As much as I support "Communist ideas" of equality of work and distribution, they fall apart on a city-level due to human nature of self-interest and self- survival. Let alone a country or global level. It's simply not realistic.

Communism doesn't work because it needs a power to enforce it. That power will become self-serving and work in its self-interest over time. It corrupts itself and creates class-wars between the general population and the enforcers, leading to revolutions. Typically bloody.

See:

[http://i.imgur.com/bv1BgHp.jpg](http://i.imgur.com/bv1BgHp.jpg)</comment>


Cloud-Storage Ruling for Microsoft Helps Criminals, Not Privacy - <AUTHOR> http://www.bloomberg.com/view/articles/2016-07-15/cloud-storage-ruling-for-microsoft-helps-criminals-not-privacy <comment><USER2> Oh yes, because Child Pornography, Drugs, and Terrorism[tm], all the data should be voluntarily handled to US government.</comment>


Ask YC: Does anyone know of a bank whose online account doesn't suck? - <AUTHOR>

I've used multiple online accounts for managing bank accounts and credit cards.  They are all so terribly confusing and unusable.
Some assign me a completely (random) numeric user id.  Occasionally, the website goes through a revamp, and it seems like it always turns out worse than it was before.  Some attempt to allow me to link multiple accounts (e.g. checking, savings, etc.) from the same bank into one login, but that feature never works for me.
Am I just using the wrong banks?  Or are they all like that? <comment><USER2> Barclays in the UK is reasonable. They have a stupid long number as a "membership" number, but you can retrieve that online with a few personal details I can remember.

The security is then a password (select 2 letters using drop downs) and pin with an optional 'calculator' based using your debit card (not helpful if you don't have it with you though).

Once inside the features are good. Repeat payments are simple. Paying to a new provider who is a business is pretty easy with their search function. The statements are alright although I wish the display options were a bit better, and included a search for specific transactions. It would also be good if they made more than 3mo of statements available (like, DB sharding, hello!).

Finally while they do export to a few formats that have allowed me to update iBank on my Mac I wish it were possible to have something automagic that didn't require me to login in by hand at all. Possibly that breaks banking regulations in the UK, though.

</comment><comment><USER3> ING's ok, I guess online-only banks should be more on top of it. USAA also, you can even deposit checks by scanning them. (The last remnant of a system that should have died decades ago!)

</comment><comment><USER4> In my experience they're all pretty mediocre. Of the banks I use, Discover has the best website. Its not overly bloated, and they make it easy to file customer service requests online.

I think that Citibank has an extremely confusing site, and Capitalone is not much better.

My local bank has a halfway decent interface, but it has a very dated look and does not have very many features. Sadly, the lack of design beats out most of the other bank's over complicated designs.

</comment><comment><USER5> Chase is fine. You can link all your accounts and Chase credit cards in one login, set up automatic payments and transfers between accounts, and get all your statements as PDFs. The main screen is a bit confusing and poorly- designed especially when you have lots of accounts, but otherwise it is pretty functional.

</comment><comment><USER6> Wachovia's online account manager isn't bad. It's not flashy, but it shows transactions and can do ebillpay.

</comment><comment><USER7> I switched from BOA to Sovereign recently and I've been pretty happy with their online banking so far. However, I don't really use it for super intensive tasks (paying bills, etc).

</comment><comment><USER8> I use USAA and it's by far the best online bank in terms of the website features, customer service, and account features.

</comment><comment><USER9> everbank is mostly ok, you can even link up accounts from other banks.</comment>


Detailed Map of the Roman Empire At Its Height in 211 AD - <AUTHOR> http://brilliantmaps.com/roman-empire-211/ <comment><AUTHOR> The main site has other interesting maps : [http://brilliantmaps.com](http://brilliantmaps.com)

</comment><comment><USER2> This looks good. Please email firstname.lastname@example.com so we can send you a repost invite, if you like. (This is an experiment we've been working on. We do it when we notice good submissions that fell through the cracks.)</comment>


Homoiconicity isn't the point - <AUTHOR> http://calculist.org/blog/2012/04/17/homoiconicity-isnt-the-point/ <comment><USER2> S-Expressions are a syntax for data. READ reads an s-expression and creates a data representation: lists, symbols, numbers, strings, vectors, characters, ...

This data then can also be used to encode programs. There are two ways to create these programs: read them and construct them.

The main execution entry point in Lisp is EVAL, the evaluator. It takes a Lisp data structure as source - not strings, not streams, not a data structure created by a parser for the language Lisp.

Thus the point of Lisp is that it uses Lisp data structures as representation of source code. This source code can be read, can be constructed and can be printed.

        CL-USER 15 > (setf expression (list '+ 3 4))
        (+ 3 4)

        CL-USER 16 > (setf expression (append expression '(5 6)))
        (+ 3 4 5 6)

        CL-USER 17 > (setf expression (list '* expression expression 5))
        (* (+ 3 4 5 6) (+ 3 4 5 6) 5)

        CL-USER 18 > (eval expression)
        1620

The evaluator was first in Lisp. Macros came a few years later.

The initial idea was the evaluator and programming with symbolic expressions. Using Lisp itself to transform symbolic expressions as used in macros, is just one application of these ideas. These expressions can not only represent Lisp code, but also logic expressions on mathematical formulas. Thus the idea of symbolic expressions of Lisp code made macro expansion natural - similar as it was used to for example to computer algebra algorithms: integration and differentiation of mathematical expressions, represented as Lisp data.</comment>


Stripe Partnership - <AUTHOR> http://www.bealocalhero.co.uk <comment><AUTHOR> I hear that one of Stripes cofounders hangs around here - thought I'd take a dive and see if I could get in touch from an unconventional channel

Hi Stripe,

We have recently launched a UK platform that allows independent businesses to sell commission free vouchers to their local community during the COVID19 lockdown. This provides the businesses with the cash flow boost that they need and allows the local community to support their favourite independents.

We went live 10 days ago and have 30 independent businesses selling vouchers through our platform and another 70 stores in the process of setting up their account. We are using Stripe as our only accepted payment method.

We do not charge a platform fee, nor take any commission on sales, so do not currently monetise our site. As it stands, the only cost to the businesses is the Stripe payment processing fee.

I was wondering if you would be interested in partnering, and amongst exploring other opportunities, waive your merchant fee during the COVID19 lockdown.

The majority of businesses registering on our site are new to e-commerce and are creating a new Stripe account during their registration. Waiving your fee will strengthen our value proposition and allow us to scale even quicker, resulting in more Stripe registrations during this period. Our voucher management system also handles the administration of the redemption process. This creates a high level of stickiness to our platform and to Stripe. Although we are solely offering vouchers at the moment, our platform has the functionality to provide a wide range of services to these businesses, both as a booking platform and community orientated multi-vendor retail website. During the voucher redemption period (post lockdown) we plan to introduce these features and help these businesses transition to e-commerce.

Our website is www.bealocalhero.co.uk

Get in touch at email@example.com if you want to partner or have any questions.</comment>


It's Time to Make Video Games Safe for Children - <AUTHOR> https://www.nytimes.com/2018/11/12/opinion/video-games-esports-streaming-trolls.html <comment><AUTHOR> TL;DR: opinion piece suggesting that video games should be rated based on the amount of trolling that happens on their platforms.</comment>


How Did Dropbox Scale To 175M Users? A Former Engineer Details The Early Days - <AUTHOR> http://techcrunch.com/2013/07/11/how-did-dropbox-scale-to-175m-users-a-former-engineer-details-the-early-days/

<comment><USER2> This article is horribly written, seemingly by someone with no actual programming experience or knowledge, or even a basic command of English grammar.

I mean, this passage reads like timecube (up until the very end where it becomes somewhat more cogent):

      Out of this came some learning such as, in terms of app
      specific metrics such as ease and 'fooplroofness'. Plus,
      it emerged that "most graphs are useless". Instead they
      built dashboards to analyze the performance; they always
      put lefts on values (like failed log-ins etc); and they
      kept some slack such as: extra queries were memcached, and
      delayed optimization of SQL queries.

<comment><USER3> Either that or TechCrunch is closing in on the Turing Test.

</comment></comment><comment><USER4> From the comments, a link to Rajiv's technical writeup:

[http://eranki.tumblr.com/post/27076431887/scaling-lessons- le...](http://eranki.tumblr.com/post/27076431887/scaling-lessons-learned-at- dropbox-part-1)

which covers some of the points in the TC article.

<comment><USER5>
      My only suggestion for choosing technology would be to pick
      lightweight things that are known to work and see a lot of
      use outside your company, or else be prepared to become the
      "primary contributor" to the project.

This should be put on a header for anyone considering the sexy new thing to come out, be it Node.js, MongoDB or the bazillion JS frameworks etc... Not saying you should avoid these altogether; just be prepared to iron your own wrinkles if you ever intend to become popular.

</comment></comment><comment><USER6> I think "replace the hard drive" is a terrible way to say it, since a hard drive (or SSD or SD or whatever) is exactly what you need to be able to use Dropbox.

<comment><USER7> In the long-term, I think you may look back at the 'replace the hard drive' statement as on par with Bill Gates 'a computer in every home'.

If all of your apps save directly to Dropbox your 'hard-drive' and thumb-drive are no longer important, and in that way they are 'replacing' the hard-drive, even if not in technical terms, the sentiment is correct.

<comment><USER8> _In the long-term, I think you may look back at the 'replace the hard drive' statement as on par with Bill Gates 'a computer in every home'._

That's not possible, since your local storage will always be faster than a networked one.

<comment><USER9> Always? Hard drives don't transfer at multi-gigabit speeds. Networks do.

<comment><USER10> Err, no. The SATA 3.0 spec is 6.0 Gb/s. Most NIC's might run 1Gb/s locally, but once you hit the WAN you're probably talking about 10 or 100Mbit.

Network storage has always been slower than local, and until we get 10Gb to the home, will continue to be so.

<comment><USER9> Hard drives can't saturate SATA. And many millions of people already have gigabit service. That's roughly as fast as most hard drives.

</comment></comment></comment></comment></comment></comment><comment><USER11> I don't know what the big deal is scaling up. I have worked in a couple of "big scale" apps and it's really simple principles. At the end of the day, it's all about caching, powerful machines, caching, normal coding skillz, caching. And oh did I mention caching?

I honestly don't think it's that big a deal to 'scale'. Programs like early wolf3d impress me more, much much more. And of course, things like the recent quine relay leave me demoralized.

<comment><USER12> Dropbox does about 1 billion file updates pr. day across millions and millions of active users, petabytes of data and millions of devices. I think it's very ignorant to think that their problem is just solved by using powerful machines and caching...

<comment><USER11> Ok. So can you give me a few pointers on topics to read up on how they might scale up? Everything I have read in this field is all about - more machines, split data into several machines aka sharing for nice map reduce queries etc.

Genuine question not snarky. I have even read yahoo's fast website tricks - it's all really hacks and tricks, nothing mind blowing.

What I mean is given some extra time most people can figure things out by some googling and trial and error. This is unlike wolf 3d. Unless you spend considerable time understaning math and graphics you cannot do it.

<comment><USER13> DropBox can't just easily Google an answer like you would with a Wordpress blog. Their bottleneck wouldn't be web based, so how they load their javascript or if they use image spriting is basically irrelevant.

Scaling a website with exponential growth is very difficult. Fix one problem, two more pop up. It never ends. Oops just spent 50k on SSD's to find out it was a load balancer issue.

<comment><USER11> Please Bbe specific. I have never seen any real life load balancing code. We just used elb, it was mostly configuration. Drop box uses was AFAIK.

</comment></comment></comment></comment></comment><comment><USER14> From [https://www.dropbox.com/help/14/en](https://www.dropbox.com/help/14/en) "Dropbox's performance may start to decline when you store above 300,000 files."

From personal experience replace "start to decline" with "not work at all." I don't have much faith in Dropbox's growth if they can't fix this.

<comment><USER15> I think you are mistaken. Dropbox's growth will not be materially affected by an edge case like this. I doubt even one in a hundred people would want to store hundreds of thousands of files in their Dropbox.

<comment><USER3> If their long-term goal is to become the filesystem for all your devices, then I think you're mistaken. However, I'm sure Dropbox will be able to resolve this issue before it becomes more commonplace.

</comment></comment></comment><comment><USER16> Here's a link to the actual talk: [http://www.ustream.tv/recorded/35654239](http://www.ustream.tv/recorded/35654239)

</comment><comment> brown9-2 Can anyone explain what this means?

 _they always put lefts on values (like failed log-ins etc)_

<comment><USER17> left = y axis</comment></comment>


The Long Term Stock Exchange - <AUTHOR> https://ltse.com/ <comment><USER2> It's hard to find much information on the website about what exactly the LTSE does. The website seems to imply that in addition to being an exchange it will sell (give?) tools to listed companies.

Wikipedia gives some more details:

[https://en.wikipedia.org/wiki/Long- Term_Stock_Exchange](https://en.wikipedia.org/wiki/Long-Term_Stock_Exchange)

> The new exchange imposes additonal rules on listed companies and their > investors, besides the rules required by law and traditional exchanges. > Because these additional rules are imposed by an exchange, they can be > enforced by existing mechanisms at the U. S. Securities and Exchange > Commission.

> In an earlier SEC filing, LTSE said that its corporate governance rules > might include: increased voting rights for shareholders who hold company > stock for long periods of time, restrictions on offering short-term > incentives to executives, disclosure of impact of any stock buybacks, and > requiring companies to have a board-level long-term product and strategy > committee.

</comment><comment><USER3> The tools look really good: [https://ltse.com/tools](https://ltse.com/tools)

</comment><comment><USER4> They should outline the cost upfront including attorneys, filing, outside auditing and other regulatory fees.</comment>


How to program independent games (Johnathan Blow of Braid fame) - <AUTHOR> http://the-witness.net/news/2011/06/how-to-program-independent-games/ <comment><USER2> I was writing the first lines of code for a game prototype while listening to this. I looked at the code I was writing, and promptly put it aside -- I was coming up with a nice advanced, performance implementation of dynamic octrees to represent the voxels my world is based on ... but why do I need that, before anything runs at all? Sure, I will need it in the future (although not the super, super optimized version until well into the future), but I should have this running before moving forward. I'm glad I watched this, and saved myself some pain initially.

<comment><USER3> I made an iPhone game (tower defense) where everything used std:vectors until I ran into performance problems. And lo and behold they could all be solved with using data structures for which the necessary operations where less expensive. The changes were quite easy to make since the containers use a common interface.

The real gotcha is that the vast majority of containers are still vectors, since the operations on them didn't show up in profiling. So I guess yeah create some gameplay and optimize your bottlenecks not your lack of Data structure fun.

<comment><USER4> I'm curious: what optimized or special-purpose containers did you replace your std::vectors with?

A co-worker once joked that "real world" programs have only two container types: hash tables and arrays.

<comment><USER3> In the most important case it was sets. There was a collision detection routine that took up too much time because checking membership for vectors is not constant time. The sets/vectors were very small though, low double digits, but once you do stuff 30 times per second for a couple a hundred objects it can get slow. (only on the iPhone though, in the simulator everything was good)

For the general world representation I used a static grid, as the object size was very homogenous, so a quad tree would have been overkill.

</comment></comment></comment></comment><comment><USER5> I liked a lot of Johnathan's ideas about writing simple code.

One idea that I don't think fits for the type of system I develop is the idea of preferring huge blocks code over function calls (around 30:00). He counters the benefit that the function name documents the chunk of code it encloses, but an even bigger benefit, in my opinion, is that the function signature documents the function's inputs and outputs. If you avoid global variables then you know when you modify a function exactly what information you have access to and exactly what information the function produces. This makes changing the function much easier.

He says he's talking about thousands of lines of code that always get executed in serial, so it doesn't sound like my code is very similar to the code he's talking about. I also expect that code I write gets read and modified much more often than the code he's talking about.

<comment><USER6> A lot of game code is actually "data" code, so the large functions come about naturally because so many assumptions and special-cases are made that you don't have anything resembling a CS-style algorithm, just a blob of "integrated assets" - and so the only route for further progress is a new syntax tailored towards the particular methods of integration being addressed.

That said, a new syntax can work, if it's the right one.

</comment></comment><comment><USER7> Braid is a wonderful game, for anybody who hasn't played it. Probably one of my top 3 favorites of all time. I really enjoyed this talk, the bit about optimizing for _years of my life per program implementation (life)_ was great.

<comment><USER8> If Braid is in your top three, I'm curious: what other games do you really like?

<comment><USER9> Braid is in my top three alongside Ico/Shadow of the Colossus and Civilization IV.

<comment><USER10> I'm sorry, but I do believe that the size of your top 3 is in fact... 4 :)

(I really rate SOTC, but never really got on with Ico. Not the same game at all!)

<comment><USER11> Actually he only says it is beside those other games, and not explicitly that they are in the top 3 too :P

</comment></comment></comment></comment></comment><comment><USER12> I remember this one...

...it sure is interesting, especially that soak test or whatever that looks for leaks. So is the "preserving life time" idea, really. Although a lot of this, as the article points out is just for independent games.

I felt the hating on academic papers was a bit over the top, although it's possible his claims could be a little bit accurate. Anyone know more on this?

</comment><comment><USER13> _"... that the thing is playable and that people will want it, all of which are much more difficult than to making the right decision about where to sell something"_ (At 49:06)

 _Make something people want_ is not just for startups.

</comment><comment><USER14> Thanks for sharing this excellent talk. As a grad student and someone who wants to be an indie developer, this really resonates with me. I also enjoyed the _years of my life per program implementation_ idea.

</comment><comment><USER15> "Is not like a Don Quixote type of technical problem"

Loved that phrase! All the way at the end. All in all I really enjoyed this talk.</comment>


A Tutorial on Deep Learning Part 2: Autoencoders, CNNs and RNNs [pdf] - <AUTHOR> http://www-cs.stanford.edu/~quocle/tutorial2.pdf <comment><USER2> These are really good notes - very well organized.</comment>


Ask HN: Should Freelance Programmers/Consultants Pay a Referral fee? - <AUTHOR>

Hi HN, I've been doing freelance programming and web development for a few years now, and for the first time my pipeline of future work seems to be running dry.<p>What are some good ways to find new clients?  Would it be worth paying a referral fee?  How much is typical?  Would it be worth offering such a fee to recruiters? <comment><USER2> Start by reaching out to your past and existing clients and tell them that you're looking for referrals.

Assuming you've done good work, you'll get a contact and a built-in recommendation.

<comment><AUTHOR> That's good advice. I guess it can't hurt to try.

</comment></comment><comment><USER3> Do you do PHP? I've had loads of interest in my services as a freelance PHP developer but don't have the time to take them on.

<comment><AUTHOR> I sent you an email from your website but I never heard back.

<comment><USER3> Sorry, been unwell. Replied just now.</comment></comment></comment>


The real cause of the financial crisis -- An MIT Blackjack Team perspective - <AUTHOR> http://semyondukach.blogspot.com/2009/01/real-cause-of-financial-crisis.html <comment><USER2> This makes it clearer than any Taleb article I've read that black swans aren't just an external danger to investments; they're invited, even mandated, by the very structure of the market. I hope someone can come up with a better solution, though; I can't see money management being outlawed in anything less than a zombie apocalypse.

</comment><comment><USER3> Another interesting article about this on theoildrum..

<http://europe.theoildrum.com/node/5260>

<comment><USER4> What do you know about the merits of this article? I had never heard of LEAP/E2020 before. They have some strong opinions on the near future:

"According to LEAP/E2020, if this alternative to the currently collapsing system has not been initiated by this summer 2009, proving that there is another solution than the « every man for himself » approach, today's international system will not survive this summer."

<comment><USER3> > What do you know about the merits of this article?

Personally, not much actually - I hadn't heard of them either. However, I find the site to be addictive reading and the generally positive comment sections add weight to the articles.

I am convinced however that our current monetary system is fundamentally broken..

<http://www.theoildrum.com/node/4611>

</comment></comment></comment><comment><USER5> Actually a lot of fund managers invest in their own fund, many heavily. A lot of fund investors look for that.

</comment><comment><USER6> How did this get added again ?!

<comment><USER7> Different URL. Here's the original posting: <http://news.ycombinator.com/item?id=433456>

It points at semyon.com, which now redirects to blogspot.

Definitely worth reading if you missed it the first time!</comment></comment>


Node v7.5.0 Released - <AUTHOR> https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V7.md#7.5.0 <comment><USER2> Just wanted to leave a comment about the ChangeLog which is a list of commits. It would be nice if they sat down for a day (or two) to write down proper release notes that made reference to various commits and outlined exactly what is changing, like if there are backwards compatibility issues or if there are very important bugs solved.

The changelog here looks like a git log :/ I mean, I can do better on my own projects (and have been trying to do so with node-oauth-libre) but for a major project it would be nicer if it had nice release notes.

<comment><USER3> I actually like these release notes? The commits are an extra, and messages are always clearly worded, in my humble opinion.

I guess the commit list is the first thing that pops out when skimming, but it's less important than the notable changes.

'Notable changes' is more akin to the release notes I think you want.

As for breaking changes, Node.js follows semver. A major version lists breaking changes more clearly.

</comment></comment><comment><USER4> There is a lot to like about Node. I had a look a couple of years ago but lack of a definitive library to handle callback hell put me off. How is the situation these days?

<comment><USER5> You have a number of ways of keeping a handle on async code now.

1\. Native ES6 promises will cover most of your basic needs. See [https://developer.mozilla.org/en/docs/Web/JavaScript/Referen...](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise). In fact, unless you have very specific needs not covered by native promises, you shouldn't drop a third party library into your project.

2\. For more advanced operations on promises, use Bluebird. See [http://bluebirdjs.com](http://bluebirdjs.com) and [http://bluebirdjs.com/docs/api- reference.html](http://bluebirdjs.com/docs/api-reference.html). It has a ton of features built on top of native ES6 promises. If you're using an older version of Node, it also acts as a polyfill. It can also make it easy to work with libraries that only expose a callback-based interface. So yeah, Bluebird is the shit.

3\. co is a generator-based control flow library that can make your async code look more like synchronous code. It's pretty cool, but I haven't personally used it in a project, nor do I know of anyone else who uses it. It builds on top of promises and generators, and isn't very hard to understand under the hood. See [https://github.com/tj/co](https://github.com/tj/co). I wouldn't recommend it, but it might be something to play with because ...

4\. ... async/await is coming to JavaScript! At a very high level, this pair of keywords is syntax sugar for what co already does as a library. This is the final stage in the evolution of taming callback hell in JavaScript, and it builds on top of everything that has come before (promises and generators). Here's a tutorial: [https://blog.risingstack.com/async-await-node- js-7-nightly/](https://blog.risingstack.com/async-await-node-js-7-nightly/)

<comment><USER6> My understanding was that Node didn't support native ES6, is that no longer the case? Or are you talking about using a transpiler?

<comment><USER7> Node has supported all of ES6 except modules since 6.0.

<comment><USER6> Ah, this explains it. I tried to use an import statement a couple days ago and it failed, so I assumed it still wasn't supporting ES6. Good to know!

</comment></comment></comment></comment></comment><comment><USER8> > Use system CAs instead of using bundled ones

Does this make the npmrc config for cafile redundant now in my MITM environment? The amount of projects that just can't handle the CA or worse, a proxy setting, is very irritating.

Will we not have to make a separate config for every app that also bundles node (e.g. vscode) or anything that uses node to get a file (vue-cli, node- pre-gyp, etc)?

<comment><USER9> I recently left a job that has a proxy. I would estimate the my time spent there working on proxy related issues to be more than 2 months over the 5 years I was there. Is it too unreasonable to evaluate the cost of these proxies beyond the maintenance cost?

</comment></comment><comment><USER10> It's a shame the v8 5.5 backport ([https://github.com/nodejs/node/pull/11029](https://github.com/nodejs/node/pull/11029)) didn't make it in but it looks like it won't be long.

<comment><USER11> Can't wait... need me some async await without babel.

<comment><USER12> In 7.2.x, you could do async await with just a --harmony flag.

<comment><USER13> I might be mistaken but I believe there were some major performance issues with the older async/await implementation.

<comment><USER14> Indeed, a memory leak: [https://github.com/nodejs/node/issues/9339](https://github.com/nodejs/node/issues/9339) / [https://bugs.chromium.org/p/v8/issues/detail?id=5582](https://bugs.chromium.org/p/v8/issues/detail?id=5582)

</comment></comment></comment></comment></comment><comment><USER15> I don't keep up with node end ES version compliance but is there a scheduled release that'll target all ES6 features?

<comment><USER16> I don't think so. They try as hard as possible. A lot of it is directly related to V8. In Node.JS v8.0.0 nightly they currently support 70% of the ES2015 spec without flags.

You can check the progress here: [http://node.green/](http://node.green/)

<comment><USER17> According to the site:

Node.js ES2015 Support is at 99% for v8.0.0 nightly.

Node.js ES2017 Support is at 74% for v8.0.0 nightly.

<comment><USER16> Oh right I totally missed that the header changes as you scroll !

<comment><USER18> Wow, me neither. The discoverability there is pretty poor... if the header was just augmented with a dropdown, that would be great :)

</comment></comment></comment></comment></comment><comment><USER19> AWS Lambda is so far behind......

<comment><USER20> I don't understand

<comment><USER21> "AWS Lambda supports the following runtime versions: Node.js – v4.3.2"

[http://docs.aws.amazon.com/lambda/latest/dg/current- supporte...](http://docs.aws.amazon.com/lambda/latest/dg/current-supported- versions.html)

<comment><USER22> To be fair, 4.3.2 the current LTS version, but would ideally be migrated prior to April.

[https://github.com/nodejs/LTS](https://github.com/nodejs/LTS)

<comment><USER23> Isn't node v6 the current LTS version? I think each even major version is LTS, and 6 is the latest one of those.

<comment><USER24> There is an overlap. Both V4 and V6 are currently LTS until April.

</comment></comment></comment></comment></comment></comment><comment><USER25> Are there plans to add coroutines support ?</comment>


Show HN: Microtasks - <AUTHOR> https://utask.org?utm_source=show_hn <comment><USER2> from their page:

>taking a designer's mockup screenshot and building a fully functional React app with clean HTML/CSS– $120

build an entire product... for $120. assuming 1 full work day to complete (which is sort of unreasonable depending on the complexity of the app) this would be $15/hour. so minimum wage. Why not work at burger king instead?

> taking a designer's mockup screenshot and building a fully functional Vue > app clean HTML/CSS and a Google Sheets API integration– $185

again, build their entire product PLUS integrate it into google sheets... for $185. hmmmmm...

> writing scrapers to organize data and then build an interface to make it > searchable by location– $200

custom scrapers for whatever page your getting the data from, and a custom interface to get the data... for $200.

so these are really low prices for full projects, which leads me to believe that only non-american programmers will actually use this site because these projects are literally offering to pay less than minimum wage here. which, based on my experience on other similar sites, will lead to a large rate of fraud, payment problems, and code that straight up doesn't work.

good luck.

<comment><USER3> > $15/hour. so minimum wage.

$15/hour is significantly above the locally-applicable minimum wage in most of the US. It's even a little above it in San Francisco.

<comment><USER2> this is the one thing that you focused on in my post?

15/hour is still ridiculously low compared to other software dev work.

<comment><AUTHOR> > taking a designer's mockup screenshot and building a fully functional Vue > app clean HTML/CSS and a Google Sheets API integration– $185

* Screenshot to CSS: 30 minutes

* Google Sheets API to clean JSON structure: 30 minutes

* Vue app: 30 minutes

\</comment></comment></comment></comment><comment></comment><comment></comment><comment></comment><comment>-----

Total time: 1.5h

Effective hourly rate: 123.33

Let's same I'm a 10x programmer, but you're a 1x programmer and it takes you 15 hours. Then your effective hourly rate would be 12.33. I think the flat fee rewards programmers who are more efficient than others.

I've been part of organizations where slow developers make just as much as the so-called rockstars. In what world is that fair? I'm not ranting about "slow and methodical" engineers who do everything super-correctly; I'm referring to "Wally", the character from Dilbert.

I have a bit of a moral agenda with this project, as well. There's no reason that slow programmers should be denied work, but they should not be compensated at the same clip as fast programmers. Great developers often go into management if they want to make more money. This dynamic punishes developers for getting "good" and drains the programming market of its best talent.

<comment><USER2> Why would enough 10x programmers waste their time on these low paying projects to make it a viable site?

Maybe one or two, sure, when they need a quick couple hundred, but not consistently. Which means if I'm looking for someone to do my projects, it's going to be fulfilled by someone who is expecting low pay, which means, on average, their not going to be a 10x programmer.

I just don't see this being proper valuations for the example projects. They are too low, which makes me question the finished results' quality.

<comment><AUTHOR> I understand that you think it won't work for you. That's why we have the system of no payment until your work is complete.

The supply/demand economics are such that enough programmers are available to bang out work in exchange for quick cash.

Honestly, have you ever posted a question on Stack Overflow in a popular category? People can't wait to post answers.. _for free_. Programmers love to show off their talent and smarts.

Now, imagine that they were being paid. And with Code For Cash, they are. They get money as well as ego shoutouts in Slack, etc. It's almost as if it's like Stack Overflow's reputation system, but backed by cash as well as ego :P

<comment><USER4> Though actual gamification, as well as Stack Overflow and Github integration could be useful here.

There might be a role for a go-to programmer for a specific type of task, or somebody that would be really good at delegating to a specific sub-team, this could even be extended to Scrum-as-a-service as has been tried by a couple of companies now.

This could be built up organically based on reputation and completion of a specific type of task or using experience using a specific technology.

It would also be neat to be able to pick up a more complete task like building an app to spec and then sub-task out the HTML and/or CSS to somebody with more UX talent but less application development skills (not everybody is or should be a full-stack developer.)

I personally know a few people that are killer at UX/UI and barely competent in JQuery, so I would love to hand one of them the task of building a React component from a scaffold with all it's CSS goodness, or taking some that I built and constructing a well-ordered page around them.

</comment></comment></comment></comment><comment><AUTHOR> Over the past few months, I've been leveraging the Code For Cash community as my own personal freelancer pool. This has provided a huge boost in my freelance consulting (software dev) business: it's like I have an armada of individual contributors that I can delegate tasks to, on-demand.

Some example microtasks I did:

$120– translate designer's mockup image into react+html+css app ([https://utask.org/img/microtask1.png](https://utask.org/img/microtask1.png))

$200– take links to websites with VC funds name, and build a webapp to make them searchable by location so you can find venture capital funds near you ([https://codefor.cash/vc_firms_list](https://codefor.cash/vc_firms_list))

So now, I present to the community, for your consumption: Microtasks!

</comment><comment><USER5> As a programmer that works alone and by myself, I would sometimes like to outsource parts of my work, and there are indeed very modularized parts that could be outsourced like that, but I'm very very afraid of the quality of the code that will come back from something like that.

Also, even if the code is of good quality, maybe it has lots of boilerplate I dislike, or is written in a style too different from mine.

<comment><AUTHOR> Hey, thanks for the feedback. The style of the code that I get back is almost always different from mine. However, it tends to be modular and functional; i.e., I can spend ~5 minutes integrating it as a feature instead of a few uninterrupted hours. So it's a trade off.

</comment></comment><comment><USER6> The micro appealed to me but the typical projects showcased on the home do not look like micro to me, as others have already pointed out. How do you assess the real level of complexity of a project in order to determine its price ? Is it all on the customer side ? Nothing mean, I am just curious tbh.

<comment><AUTHOR> Hey, so I've been programming (as a hobbyist and a professional) for 20 years. The key thing to note is that all of these are things that don't require access to an existing codebase. All these projects could be done within 4 hours by someone talented and reasonably experienced. Combine that with the fact that we take care of finding the clients and offering same day payment, I think it's a fair deal.

>How do you assess the real level of complexity of a project in order to determine its price ?

One thing I should mention is, as I said, I'm a super experienced programmer [1], so I analyze each project and do the work of dissecting into what needs to be done. I provide links to helpful APIs and help provide suggestions of ways to tackle the problem.

So once I know what needs to be done, I do a bottom up estimate of how long it would take for me to do each microtask. I then multiply each time estimate by the market hourly converted rate for a San Francisco Silicon Valley startup software engineer and sum. I put that bid into the Slack channel, and if someone good takes it, that's that, but if nobody bites, I raise it by ~$15 every so often.

There are 400+ people in Slack currently, and at any given time there's 20+ experienced developers online. Tasks are usually snatched up pretty quickly. The bottleneck in the system currently isn't experienced devs, but qualified businesses and entrepreneurs.

[1] But not a truly great one, like Ada Lovelace, Adam D'Angelo or John Carmack.

<comment><USER4> Examples of one of these microtasks might appeal to both potential developers and business clients. As it is, there is little on your website to explain what it even is, other than a CTA to push me to the next step.

This could also be a useful evaluation/interview tool where the microtasks represent real-world problems, versus the pages of FizzBuzzing and stripped- down tasks currently in vogue.

That said, this personally seems useful to me as I'm working on a scripting/templating language that should vastly simplify fulfilment of these non-codebase dependent tasks, and this gives me a new way of thinking about that.

</comment></comment></comment><comment><USER7> In my opinion this only serves to proletarianization of programmers.

<comment><USER3> Programmers _are_ , generally, proletarian (wage laborers). This certainly recognizes that fact, but doesn't serve to advance it.

<comment><AUTHOR> There's no reason that slow programmers should be denied work, but they should not be compensated at the same clip as fast programmers. Great developers often go into management if they want to make more money. The current market dynamic punishes developers for getting "good" and drains the programming market of its best talent.

</comment></comment></comment><comment><USER5> Good idea, but the network effect is hard to overcome.

Could it be made into a "solve my programming problem" kind of marketplace? I think there is none of this out there.

<comment><AUTHOR> Regarding network effect... I actually have that problem solved. 12 months ago, I coauthored a book called _Software Engineer 's Guide to Freelance Consulting_ which has been a bestseller on the Amazon marketplace. I started cultivating a Slack channel of developers. My next step was to write scrapers/crawlers of ~50 freelance programming job boards in order to keep the developers in the channel happy. And I have also tested advertising campaigns, and they're successful in attracting developers to sign up and complete their profiles. So if we need to scale the developer side of the market, that's a solved problem for now.

But I just haven't found the acquisition channel for the people who post the tasks. Perhaps I should focus on marketing to developers rather than middle managers..</comment></comment>


University of Cambridge conducts largest-ever password study - <AUTHOR> http://www.slashgear.com/university-of-cambridge-conducts-largest-ever-password-study-01231298/

<comment><USER2> TFA is derived from this article: [http://venturebeat.com/2012/06/01/when-it- comes-to-passwords...](http://venturebeat.com/2012/06/01/when-it-comes-to- passwords-we-are-idiots/)

Original paper: [http://www.cl.cam.ac.uk/~jcb82/doc/B12-IEEESP- analyzing_70M_...](http://www.cl.cam.ac.uk/~jcb82/doc/B12-IEEESP- analyzing_70M_anonymized_passwords.pdf)</comment>


Ask HN: What startup idea would you create if you were in 20 years ago? - <AUTHOR>

I live in a country where internet penetration is low on a desktop, but growing in mobile. We have plenty of internet services for social, amusement, classifieds. We have almost any alternative to western services.
But most of them are failing. facebook? yes we have, but with 10-20K users probably, not active, most of the users are using russian social networks. google? yes we have, very small audience (probably 3-5K/day). groupon? yes we had, all of them shut down.
Only amusement services like local-youtube, local-4chan has some audience (60-80K users/day) and only one monopolistic classified service which has 80-100K users/day with >1M views.
If you were in my place and you have experience which you have gained in your country or in tech bubble somewhere in 2000s, what kind of service would you create?
Info. population >25M, internet penetration is growing, but trust to internet services are very low. <comment><USER2> > trust to internet services are very low

What could you do that doesn't require "trusting" the internet? This may be the key to any project you might consider. You may want to look for ideas from the time periods when Internet was not trusted in US and Western World (pre-2000).

I will guess anything related to e-commerce or whatever requires direct money exchange between the user and internet will be out. That leaves you with information products or ideas that enable deal initiation online but facilitating transactions offline. The business model most likely will be based on advertising and sponsorships.

How is the understanding of English for people using Internet in Uzbekistan and/or younger generation who is most likely to use Internet in near future? If not, you may consider information products in the relevant language other than English.

What type of things and activities people are addicted to in your country? Could you make some of those things or activities more accessible through Internet to addicted people?

* News

* Reviews of Products & Services

* Event Listings

* Digital version of popular 'offline' games

* Gambling, horse racing info, etc.

Similarly, you could look at some of the B2B activities that require low or no "trust".

</comment><comment><USER3> I'm going to assume you talk about Kyrgyzstan, simply because I've traveled there. I will also assume you're a junior developer with very little cash to invest.

Lots of services won't work because they require a working payment system (credit cards). 20 years ago we started with payment via SMS or the phone bill or calling an expensive phone number for small transactions because not enough people had credit cards.

Party photos: hire somebody or go yourself to parties and take photos, give out a "secret" code. Those with the code can view the photos of that day, everybody else needs to pay (or another time limit). Become the best "party of last night" website. You might get invited to more parties, sponsorships, free drinks. It will also attract competition.

Ride sharing like [http://www.blablacar.com/](http://www.blablacar.com/). I'm sure the classified website already have a category where you can offer or search for rides. But you can create a better service with a map, user ratings and pre-payment.

Online dermatologist. Actually that idea is quite new. Users take photos of their skin a doctor (you need to work with one) tells them if it's ok (for example: just wash more) or if they need a creme or if they urgently need to see a doctor. I've read a large percentage is users with sexual transmittable deceases and thus the photos are their private parts. The users are too afraid or live too far away from a doctor. But they are willing to pay. I think I've read $40. It's also good business for the doctor. [https://us.klara.com/](https://us.klara.com/), [http://medcitynews.com/2014/05/dermatologists-virtual- visit-...](http://medcitynews.com/2014/05/dermatologists-virtual-visit- startup-secures-2-9m-expand-states/), [http://skinaccess.com/](http://skinaccess.com/)

<comment><AUTHOR> I am talking about Uzbekistan, which has more population than Kyrgyztan (30M vs 5M). Financially, Uzbekistan is growing in every aspect, except mind share of people for internet services. Yes, I am junior in web development, mostly programmed for systems and embedded, I can invest my own time 3-6month of working.

We have payment system via sms (takes from credit card) or offline (go and pay service, lots of them almost in any corner). But it is difficult to make people to pay for web service. they may pay in the future but currently people immediately look for free alternatives or they don't have trust in web service and they don't pay.

Ride sharing service failed (I guess 2-3 years ago)

The biggest problem with internet services here is mind share of people. When they have need for buying or finding, people usually don't use internet for this, pick up the phone and call to friend to find out whether they have people who do this kind of service in their contacts.

</comment></comment><comment><USER4> I was going to say Craigslist, where you do something simple and sticky and just be content to make a living, but it sounds like the monopolistic classified service already covers it.

The key is that it has to be something with a local bent.

<comment><USER5> I second that. Craiglist is very easy to build and useful for a local market and new market.

Yelp for your country may be another good idea. Though it does take some time for people to get used to it.

You can also try other location-based application. As a local market, a lot of the SV companies do not have a strong hold there yet so copying the companies that are location-focused is your best bet.</comment></comment>


This Tiny Computer is the Size of a USB Flash Drive - <AUTHOR> http://dsc.discovery.com/gear-gadgets/this-tiny-computer-is-the-size-of-a-usb-flash-drive.html

<comment><USER2> Not new and still over priced compared to the PiMyth?</comment>


18 Year-Old Exploits 911 iPhone Bug, Faces 20 Years in Prison [pdf] - <AUTHOR> https://staging.mcso.org/Multimedia/PressRelease/911%20Cyber%20Attack.pdf <comment><USER2> Damn that's pretty dumb. He basically DDOSed their telephone system by not allowing it to hangup.

A shame though because he's only 18 and 20 years sound pretty excessive for such first offense when you're that young, especially for such an inquisitive mind.</comment>


Build Your Own Z80 Computer - <AUTHOR> http://www.flickr.com/photos/mrbill/159064314/

<comment><USER2> I build a kit form of the ZX-81 back in the early 80's. It was a terrific machine for me at the time. Now I think these chips are still sold into traffic lights.

Who else here remembers their Z80 opcodes? I remember C8 Return of Zero, and just plain old return, C9. Been a whole though...

These days a single line of PHP would bring the Z80 to its knees...

</comment><comment><USER3> The one command I remember was the most powerful command of the Z80:

LDIR (LoaD Increment Repeat)...aka Block Move in 1 instruction.

The IX, IY registers with index registers were cool too.

I'm showing my age...I was 12 when I was hacking Z80 assembly on my TRS-80

</comment><comment><USER4> Steve Ciarcia is the man - I still remember reading a BYTE article he wrote showing how to build your own 80286 computer using some VLSI chipset (this was in the mid-late 80s). By build, I mean schematics, soldering, etc.

</comment><comment><USER5> did i miss something, or is this just a picture of a book?

<comment><USER6> It teased me as well. No instructions, just a discussion of getting rights to freely reproduce the book.</comment></comment>


AMP: the missing controversy - <AUTHOR> https://ferdychristant.com/amp-the-missing-controversy-3b424031047 <comment><USER2> We were discussing with the AMP project tech lead over on GitHub trying to suss out details about governance and the like, and it's even scarier than we thought when it came to AMP4Email: Gmail is implementing AMP in email "the way they want to", and AMP Project is just deciding whether or not they want to support it/publish a 'standard'.

I strongly recommend this for reading: [https://github.com/ampproject/amphtml/issues/13597](https://github.com/ampproject/amphtml/issues/13597) (locked, sadly) and the original AMP4Email issue has a fair bit as well: [https://github.com/ampproject/amphtml/issues/13457](https://github.com/ampproject/amphtml/issues/13457) (only for discussion of email).

Unfortunately, there are lots of people talking about how bad AMP is, and why, but nobody yet has suggested how we do anything to stop it.

<comment><USER3> I think the best thing to do is just be the kind of online citizen you want to see. It may be small but it is something you can do yourself.

I will be looking for a way to move my online identity away from Google to something I control more directly. I am also going to try replacing my social media activity with email. The web is already decentralized, we just need to use it.

<comment><USER4> I closed my G Suite account today because of Google's announcement of AMP for Email. Luckily I didn't have a huge Google presence in the first place beyond email which is easily IMAPed over to another server. Takeout allowed me to extract the rest: my docs as ODF, YouTube subs as RSS and contacts as ICS.

If anyone's interested I wrote up my investigation into potential replacement mail services: [http://www.robinwhittleton.com/2018/02/18/dropping-g- suite/](http://www.robinwhittleton.com/2018/02/18/dropping-g-suite/) . In the end I went with Runbox, will see how they perform but I'm happy so far.

<comment><USER5> > In the end I went with Runbox, will see how they perform but I'm happy so > far.

I tried Runbox back in 2013 after a fair amount of research and they looked great. After signing up, they sent a confirmation email with all my account info with user-name and password in clear text. I cancelled immediately after seeing this, but I wonder if they are still doing it?

I ended up switching to Fastmail, which I still use and highly recommend.

<comment><USER4> I didn't get that this time at least. It's worth pointing out that while that's not great, if they send the password before encrypting it for saving in the database and only send it internally to their own mail server then there's little security risk. But it's not best practise as it trains users to expect it from other sites.

</comment></comment></comment></comment></comment><comment><USER6> > If Google would have a genuine interest in speeding up the whole web on > mobile, it could simply preload resources of non-AMP pages as well.

... but they've been doing exactly that for ages. Originally with link rel=prefetch, and later with ever more elaborate schemes which I think culminated with this: [https://plus.google.com/+IlyaGrigorik/posts/ahSpGgohSDo](https://plus.google.com/+IlyaGrigorik/posts/ahSpGgohSDo)

But prefetching based on giving hints to the browser has a bunch of problems. The most obvious one is the one hinted at here: you can have either something ineffective, or something that's effective but complex and not supported across all browsers.

> Not doing this is a strong hint that another agenda is at work, to say the > least.

The sinister agenda of wanting things to actually work well.

<comment><USER7> Yes, exactly. They (Google, others) cannot instantly load arbitrary websites because those sites would have access to the google.com domain in an unsafe manner. That is why AMP is "different" than other HTML. It is a safe way to allow Google, Twitter, Bing, Yahoo Japan and others to cache pages and preload/prerender them in the background before the user clicks.

<comment><USER8> If Google had genuine interest in just speeding up page loads after search they would let the client prefetch the page (amp or not) straight from the original domain instead of their own cdn.

<comment><USER7> That would mean the third party website would get traffic without the user having clicked on a link, creating a privacy issue.

</comment></comment></comment></comment><comment><USER9> There's an IETF proposal for certificate-signed web content (Web Packages) which can be rendered offline. The browser address bar will no longer show the URL of the web server (e.g. Google AMP), it will show the authenticated origin of the Web Package.

2017 IETF proposal by Google: [https://tools.ietf.org/html/draft-yasskin- webpackage-use-cas...](https://tools.ietf.org/html/draft-yasskin-webpackage- use-cases-00)

2018 Chrome demo at AMP event: [https://youtube.com/watch?&t=9m03s&v=pr5cIRruBsc](https://youtube.com/watch?&t=9m03s&v=pr5cIRruBsc)

There may be overlap in goals with W3C Web Publications, which is working to converge EPUB and Web: [https://w3c.github.io/wpub/](https://w3c.github.io/wpub/)

</comment><comment><USER10> You can add a controversy to the new controversy presented in the article, because even that conditional speed improvement only happens if you ignore the rest of the environment. Meaning, it will be significant if the user is arriving from google search and only focused on browsing.

If the user has GPS consuming 3G data, or some other app they care about, and only did a quick google search to confirm something, now the GPS or other app data will be severely limited while the browser download all that crap about some 20 different sites the user will never ever visit.

I personally disable preloading on everything, because waiting 3s for a page to show up is a very fine tradeoff to control what my device is downloading and when.

<comment><USER11> How does one deactivate the amp preloading?

<comment><USER2> Use a different search engine.

<comment><USER4> Or use encrypted.google.com (for the time being at least). Although I'd definitely recommend using a different search engine as a general rule of thumb.

</comment></comment></comment></comment><comment><USER12> Only thing I can't figure out is why is anyone buying into it in the first place?

Has the publishers not learned anything from Facebook taking their content and readers hostage? Sure, it gives you traffic boost in the beginning, but sooner or later it will force you to play by their rules and generate content _for them_.

<comment><USER13> If I had a choice between going out of business sooner (not using AMP) or going out of business later (getting screwed by AMP one day), I'd choose later.

</comment></comment><comment><USER14> I see AMP as a marketing opportunity for a cheap SEO. If more visitors come to my client's or boss's website and get familiar with it, it's a win situation for me as the programmer/maintainer of the said website.

More users don't equal increased ad revenue with AMP. If ads are not a thing you are selling, you are probably losing free attention if you aren't already exploiting AMP.

</comment><comment><USER15> Cache is part of AMP spec. What author seems to refer to is only a 2/3 of AMP spec - Subset of HTML and JS library.

Since the beginning AMP team was clear that AMP is not very useful without cache.

I do agree with all of the concerns raised, but wanted to point this out as to not get sidestepped from the main discussion.

[https://www.alexkras.com/i-had-lunch-with-google-amp- team/](https://www.alexkras.com/i-had-lunch-with-google-amp-team/) [https://www.ampproject.org/learn/overview/](https://www.ampproject.org/learn/overview/)

<comment><USER16> > Since the beginning AMP team was clear that AMP is not very useful without > cache.

I don't see that at all. Even just calling it a "specification" is misleading in the worst ways. You don't need a spec for caching. Nor do you need a spec to tell you that you shouldn't include a ton of CSS and JS. Nor was it ever the plan of Google to actually see others implement this spec.

<comment><USER17> Actually, the IETF would often issue BCPs to go along with RFCs, because people do need to be told the right way to deploy things in the presence of foot-guns.

</comment></comment></comment><comment><USER18> AMP is one of a long series of Google's efforts to ensure the web remains competitive with walled gardens and native platforms. Chrome (with the V8 engine), NaCl, SPDY, QUIC, PWA, Dart, Certificate Transparency ... the list goes on and on. Some have succeeded (SPDY became HTTP/2) and some have failed (Dart, NaCl), but it has been consistent at least.

Standards cannot become a strait-jacket. In many cases (such as HTTP/2) the standards have come much after the concept was proven. Though Dart and NaCl failed, they triggered improvements in Javascript and also led to WebAssembly.

AMP was created as a response to Facebook's Instant Articles. If anyone supports the open web, then it is hard to see how things become better if the web stays stuck as more content moves into walled gardens, or the web remains unusable on mobile phones in large parts of the world.

Maybe there is no controversy, because there is no need for one.

<comment><USER19> AMP is not open web though. It's Google's own walled garden under the guise of an open web.

<comment><USER18> As a javascript library it is pretty much as open as React or any other javascript platform.

It is the caching where the discussion lies - effectively Google is providing a CDN for AMP pages and I agree this needs some improvements. But these should in the realm of technical discussions rather than looking for conspiracies.

<comment><USER19> AMP is designed by Google, and implemented almost exclusively by Google. It is also used in the most popular search engine in a way that makes AMP feel like it's fast.

Meanwhile:

\- it's not fast without Google's overpowered cache/CDN (that no one has a chance to replicate)

\- it's not even valid HTML

\- it's entire design and development is governed exclusively by Google, with no external input, and all external input is discarded and discouraged. See top comment: [https://news.ycombinator.com/item?id=16455593](https://news.ycombinator.com/item?id=16455593)

The fact that it lives on GitHub doesn't make it open.

<comment><USER20> >it's not fast without Google's overpowered cache/CDN (that no one has a chance to replicate)

[https://amp.cloudflare.com/](https://amp.cloudflare.com/)

[https://blogs.bing.com/search/September-2016/bing-app- joins-...](https://blogs.bing.com/search/September-2016/bing-app-joins-the- amp-open-source-effort)

>it's not even valid HTML

Custom elements are in the WebComponents spec, which is "valid HTML".

[https://www.webcomponents.org/introduction#custom- elements](https://www.webcomponents.org/introduction#custom-elements)

<comment><USER19> > Links to other implementations

1\. Google dominates search. So other caches are basically irrelevant

2\. To create a competing cache you need to make sure Google's search uses that cache _and_ that your cache is big, fast, and powerful enough to pre- render AMP pages on Google scale

Which comes back to the original problem: AMP is not fast until someone caches and pre-renders it.

> Custom elements are in the WebComponents spec, which is "valid HTML".

Will all of you "opponents" please read the article you comment on?

Since you can't, here is the six paragraph:

> AMP makes up its own standards that break with what is considered valid > HTML. Case in point, have a look at how the AMP project's homepage, which > itself is an AMP page, produces over a 100 validation errors

You can check it yourself.

<comment><USER20> >Google dominates search. So other caches are basically irrelevant

Then why did you ask to see other caches? You're moving the goalposts.

>produces over a 100 validation errors

By a validator that doesn't understand HTML5. Try your browser - it's a far more advanced version of the validator. You'll find it understands amp pages just fine.

<comment><USER19> > Then why did you ask to see other caches? You're moving the goalposts.

No goalposts have been moved.

Once again. Slowly:

\---- quote -----

AMP is designed by Google, and implemented almost exclusively by Google. It is also used in the most popular search engine in a way that makes AMP feel like it's fast.

Meanwhile: \- it's not fast without Google's overpowered cache/CDN (that no one has a chance to replicate)

\- it's not even valid HTML

\---- end quote ----

You _cannot_ replicate Google's cache for the following reasons:

\- Google's search is dominant.

\- Google's search uses and will use Google's own AMP cache.

\- Google's own AMP cache relies on Google's infrastructure.

Even if you create an AMP-compliant cache:

\- Google will not use it.

\- It's highly unlikely that you will be able to match its power and speed.

How is AMP open and fast again?

> By a validator that doesn't understand HTML5. Try your browser

Nope. The browser is able to render AMP pages just because the browsers have historically tried to make the best out of shitty HTML.

Let's start from the top.

Do you know that this is invalid HTML 5?

        <html :lightning emoji:>

HTML5 living standard sections 4.1.1 and 3.2.6.

Do you know that this is invalid HTML 5?

        <script async custom-element="amp-carousel" src="">

HTML5 living standard sections 4.12.1 and 3.2.6.

Do you know that this is invalid HTML5?

        <head>
           <style amp-boilerplate></style>
        </head>

HTML5 living standard sections 4.2.6 and 3.2.6.

Shall I continue?

You see, in order to know that it's enough to just stop drinking in Google's propaganda and actually look at what the web has to offer, and how all of this stuff works.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Side note, install this extension to make medium pages readable by removing the useless top and bottom bars: [https://github.com/thebaer/MMRA](https://github.com/thebaer/MMRA)

<comment><USER22> Better yet, use reader mode in firefox/safari. Or stop visiting medium until they stop these user hostile practices.

<comment><USER21> Too many are using Medium. This recent HN posted link for example: [https://blog.jupyter.org/jupyterlab-is-ready-for- users-5a6f0...](https://blog.jupyter.org/jupyterlab-is-ready-for- users-5a6f039b8906)

My protest is to talk about this issue in this HN thread, and to just install the extension so that the sites start to "just work".

</comment></comment></comment><comment><USER23> As an aside, I truly dislike lazy loading. If it's really that important to perceived page speed, isn't it something that the _browsers_ should be implementing, rather than everyone and his brother breaking HTML and require full JavaScript execution in order to display images?

<comment><USER24> Blink may get built-in support for lazy loaded images: [https://groups.google.com/a/chromium.org/d/msg/blink- dev/czm...](https://groups.google.com/a/chromium.org/d/msg/blink- dev/czmmZUd4Vww/1-H6j-zdAwAJ)

I'm not excited about it. I can't remember a single time a page with lazy- loaded images felt _snappier_. It seems very dependent on latency to the host serving the images. Most pages also don't account for content shifting when images haven't loaded yet.

</comment></comment><comment><USER25> Where can I find a good explanation of what "AMP Email" and the controversy surrounding it are? I was hoping this article would detail it because I've seen buzz about it recently

<comment><USER19> The top comment has the links: [https://news.ycombinator.com/item?id=16455593](https://news.ycombinator.com/item?id=16455593)

</comment></comment><comment><USER26> >The term "open source" is meaningless if the thing that is open source is harmful.

A note on "harmful" as an adjective: It depends on the speaker.

any open source project aiming to bypass the Great Firewall of China is "harmful", according to the Communist Party.

</comment><comment><USER27> "Something only Google is capable of, because it is the only entity in the world controlling the most important information portal: search."

How is Google the only search engine? A different one is literally a click away. This just doesn't pass as an argument.

<comment><USER28> I have a website. How can I get all my visitors from a search engine other than google with "literally a click"?

I can't. 95% of my visitors will come from Google. As result, I'll have to accept whatever demands Google makes.

</comment></comment><comment><USER29> Would it be possible to use amp just for your landing pages from google, and take advantage of instant loading, and then, from within the amp served page, surreptitiously move to you own preload accelerated site ?

</comment><comment><USER30> Google can't "simply preload resources of non-AMP pages". Using a CDN means they can get more consistent load times and avoid the inevitable privacy concerns that come with loading 3rd party content the user may never actually click on.

<comment><USER31> Chrome has been prefetching & prerendering links since 2013. IE11 has also been prefetching & prerendering as well since 2013 ( [https://blogs.msdn.microsoft.com/ie/2013/12/04/getting-to- th...](https://blogs.msdn.microsoft.com/ie/2013/12/04/getting-to-the-content- you-want-faster-in-ie11/) )

So it's not only possible to do, they've literally been doing it for 5 years now.

Firefox doesn't appear to do prerendering, but it will happily prefetch as well and has since Firefox 23.

AMP's cap on file sizes and other limitations helps these relatively ancient prefetching & prerendering work _better_ , but you don't need AMP to get preloading. Not at all.

<comment><USER16> > Firefox doesn't appear to do prerendering, but it will happily prefetch as > well and has since Firefox 23.

Don't know, if it's necessarily "happily" in the case of Firefox. It's hardly optional, if you want to compete at all in terms of speed with browsers that are doing the full prerendering. And they are aware of the implications, which is why they're not doing it fully.</comment></comment></comment>


Why Your Favorite Sites Are Suddenly Asking for Money - <AUTHOR> http://www.cracked.com/blog/why-your-favorite-sites-are-suddenly-asking-money/ <comment><AUTHOR> David Wong has some interesting things to say about why online publishers are increasingly looking beyond ads to support their businesses. The means vary, but include pay-walls (used by such worthies as the Economist and the New York Times) and donations, often facilitated by Patreon or IndieGoGo. The publishers are doing this because ads pay a lot less than they used to. The move to smaller screens has shrunk the screen real estate and ad-blockers are increasingly common. Smaller ads viewed by fewer people means less money to the publisher; it's that simple.

Personally, I welcome this change. Ads have grown incredibly intrusive in recent years. I didn't mind static ads so much, but modern ads with sound and motion are incredibly annoying. If paying for our content is what it takes to get rid of them, that's just great. We'll need to sort out exactly how to pay for content, but once upon a time we managed to pay for books, newspapers, magazines, and newsletters just fine. We can do something similar online.

The world I see us heading towards is one where professionally produced content gets paid for up front by membership. These sites typically offer some free samples, but the good stuff is for pay. Free content remains available because some people just can't help but commit commentary or make art, and others use free content as advertising for their businesses. Between them lies a semi-pro layer where content producers get a little bit of money from their consumers, but not enough to live on, either through donations or ads.

<comment><USER2> > once upon a time we managed to pay for books, newspapers, magazines, and > newsletters just fine. We can do something similar online.

Even those paid-for newspapers, magazines, and newsletters had advertising in them. The subscription cost still didn't reflect the full economic value the publisher was capturing per reader. So in that sense, we still weren't fully paying for content even in those times.

And one thing with online subscriptions is that people, once subscribed, expect all other forms of compensation to disappear (ads, analytics/metadata- derived revenue, etc). So the publisher either needs the subscription to be high enough to reflect the full economic value of the reader (something that didn't even happen before) or still contain secondary revenue sources somehow or another but in a way that's subtle or hidden enough for paid subscribers to not complain about them.

<comment><AUTHOR> Oh, sure, there were ads in newspapers and magazines. But I see a world of difference between even full-page static ads in newspapers and pop-up full- video ads with sound online. The latter is much more distracting. As consumers, we have lost a lot of ground on that front. To be fair, we also have access to a lot more content.

</comment></comment></comment><comment><USER3> The amount of value we've come to expect for zero cost on the internet is pretty incredible when you think about it. The move to monetize users beyond just throwing ads up makes a lot of sense with click rates sitting at 0.05%. Even freemium web platforms are struggling to get paid conversion rates in the range of 2 to 4 percent of total users.

<comment><USER4> 1\. Zero cost to build and host the site, produce content, and market it?

2\. Display ads aren't meant to be clicked, they're meant to be seen. CTR is irrelevant. Publishers are paid by impressions, not clicks.

</comment></comment><comment><USER5> > Crucial internet resource Snopes.com is raising money on GoFundMe to keep > going.

Isn't that a bad example of this? that is more of a case of their income being not given to them by the company running their ads hosting et al?

[https://www.savesnopes.com/faq/](https://www.savesnopes.com/faq/) says they are profitable (when not fighting themselves), contrary to this article</comment>


Ask HN: How do you stop overthinking? - <AUTHOR> I feel like as programmers, so much of our life is in the conscious realm. But when it comes to identifying what makes happy or sad, and more importantly, recognizing our feelings of happiness or sadness, we must look to the subconscious. And our conscious mind clouds our awareness of how we're feeling. <comment><USER2> Try meditation. It is literally meant to quiet ego-based thinking. Maybe it will help you approach problems with clarity after.

For me, the concepts "feedback loop from hell" and "expecting a positive is a negative" from the book "The Subtle Art of Not Giving a F*ck" were gamechangers.

<comment><AUTHOR> Hmm - I've tried meditating for 5 or 10 minutes with limited success. Is meditating for more than that qualitatively different?

<comment><USER2> Def. not an expert and from what I gathered, it's a lifelong effort. But for me, it takes a few min just to concentrate on the breath and remind myself to observe my thoughts, emotions as separate from my self-awareness. So maybe try extending your sessions to 20-30 min before/after sleeping?

</comment></comment></comment><comment><USER3> Writing things out on paper allows me to better evaluate my thoughts. I find it less overwhelming when I can visually see things rather than everything floating in my head.</comment>


My Mohawk and Being the SpeakerText CEO  - <AUTHOR> http://www.metamorphblog.com/2010/06/my-mohawk-and-being-the-speakertext-ceo-.html

<comment><USER2> People almost always act first, then rationalize later. Whenever someone gives a profound argument for their behavior, it's rationalization rather than reality almost 100% of the time.

Thus when someone claims that their mohawk and f-bombs are part of a calculated persona, you can almost always be sure that that was originally just the way that person was, then came the rationalization that it's a calculated move to achieve some goal, which in turn reinforced and exaggerated the original behavior.

The upshot is, if he worked at McDonald's rather than his own startup, he'd probably still have a mohawk and drop f-bombs. He's just a mohawk wearing, f-bomb dropping kinda guy.

(That's not meant to be judgmental.)

<comment><USER3> I'd say that what he meant was not that he started using swear words and grew a mohawk to implement a calculated persona, but that he allowed those parts of his personality to bleed over into his professional life as a conscious decision.

</comment></comment><comment><USER4> What's the big deal?

Calling yourself a CEO in a company of that size is pretty pretentious. Maybe being pretentious part of his well planned out strategy?

This _might_ be interesting if it was a CEO of a company that was worthy of having a CEO. Probably not.

<comment><USER5> People seem to automatically respond to titles. c.f. my latest blog post: [http://www.zacharyburt.com/2010/06/the-science-of- compliance...](http://www.zacharyburt.com/2010/06/the-science-of-compliance/)

</comment></comment><comment><USER3> I have 5/8th inch stretched ears, and a bold, black tattoos on my forearms: [http://sphotos.ak.fbcdn.net/photos-ak- sf2p/v184/59/117/14200...](http://sphotos.ak.fbcdn.net/photos-ak- sf2p/v184/59/117/14200296/n14200296_35330111_5837.jpg)

If anything, they helped secure my investment. For a few months after he invested, one of my investors kept talking about how much he loved that I was a scrappy young guy who did what he wanted and wouldn't take shit from people, yet listened to advice.

I'd agree with Matt, it's all about the public persona you want to have.

<comment><AUTHOR> I love hearing shit like this.

</comment></comment><comment><USER6> I was going to put cornrows in my hair and one of my cofounders basically forbid it (I'm not black). He was right, I would have looked like a ass.</comment>