Show HN: Emauth.io – Free service for Slack-style passwordless login links - <AUTHOR> https://emauth.io/ <comment><USER2> I think Slack has an extra step where it sends some token from the browser that opened the link to the Slack app. This way just opening the link is not enough. Links can be opened by the controller of the email even if they didn't make the original request. Links can also be opened by something scanning the email before the user sees them. Neither of these potentially malicious use- cases are covered by emauth.io.

<comment> vi-mode Out of curiosity: Which email service is opening links itself? Yes, they scan attachments or check for domains known being malicious but opening links??

<comment><USER3> If you don't visit the link, you only have the url to go by. If you visit the link, you can analyze the contents of the page as well.

<comment><AUTHOR> So what happens when an email scanner opens a Slack link?

</comment></comment></comment></comment><comment><USER4> Congratulations on allowing `"$(curl [https://steve.fi/)"](https://steve.fi/\)") <firstname.lastname@example.com>` as an email address, and not getting exploited!

(I've seen too many systems in the past where they shell out to the command- line for delivering email, I had to try it!)

<comment><AUTHOR> Ha thanks. That's scary. Fortunately I learned at least that much in my security class.

</comment></comment><comment><USER5> Why does this need to be a service? I wrote a Django library to do this, all you need is the ability to send email:

[https://github.com/skorokithakis/django- tokenauth](https://github.com/skorokithakis/django-tokenauth)

<comment><AUTHOR> I don't see it as a winner-takes-all market. If someone is using django they probably _should_ use your library.

<comment><USER5> Sure, but why is it a service as opposed to a library? What is the advantage of a service for this? It seems to me it's just so the author can get paid, which is fair, but that's not a selling point that appeals to me, the user.

<comment><AUTHOR> > Sure, but why is it a service as opposed to a library?

In what language? Sometimes a service is nothing more than a library where HTTP is the ABI.

</comment></comment></comment></comment><comment><USER6> I really love the idea of this - lightweight auth is desperately needed in the web ecosystem (Auth0 is close, but a bit too complicated and bloated).

Would be great if the service returned something like a JWT or just a signed copy of the email address verified (potentially with an expiry date). That way you can use the token itself as authentication without making network calls on the backend to verify it on each call. Not saying this is necessarily production-grade security, but could suffice for small projects where ease-of- use is more important than token revocability.

<comment><AUTHOR> Thanks for the feedback. I totally agree about simple auth.

emauth is intended to be very barebones. On it's own it really doesn't do much. You still need to have some sort of session management on your server. What emauth saves you from is having to worry about generating/storing passwords.

Returning a JWT is an interesting idea. Can you explain more what that would look like? Obviously anything that involves consulting emauth.io for every request isn't going to work. But maybe there would be a simple way for emauth to delegate token verification to your server.

<comment><USER7> Jwt are usually signed with a private key, and the corresponding public key you need for verification is static/fetchable for dog-and-world.

Not sure why he wants you to implement another oauth server though, there are several quite good (i.e. keycloak) around at this point.

<comment><AUTHOR> Oh that makes sense. Idk, I think that's actually a good deal simpler than oauth. With a single request you get a token that says emauth.io verifies that at X time the owner of this token had control over Y email address. Anyone can then use emauth.io's public key to verify the claim. This makes the "email whitelist" use case trivial to implement on the server. You just have to have expiration logic.

<comment><USER7> I don't see how. There are libraries to interface with these oauth solutions so you basically just send them to the corresponding server and wait for them to come back with their token , which you'll verify with said library... You're done

<comment><AUTHOR> Do you have an example of such a library/service?

<comment><USER7> I should probably point out that I'm talking about an authentication framework which includes sessions etc. I just can't see any other way for jwts granted by your service to be useful.

If it sounded like your service already exists as an open source solution with libraries for every language... I don't believe it does, it at least I don't know about it.

You could actually implement it with a module in keycloak, but you'd need to write the code yourself. Though it shouldn't be too hard

[https://www.keycloak.org/](https://www.keycloak.org/)

[https://www.keycloak.org/downloads.html](https://www.keycloak.org/downloads.html)

There are community libraries for other languages as well.

And lots of code example for custom authentication flows like

[https://github.com/stianst/keycloak- experimental/tree/master...](https://github.com/stianst/keycloak- experimental/tree/master/magic-link)

And an example implementing the auth flow with libraries for a webservice [https://github.com/houmie/sso/blob/master/src/app.py](https://github.com/houmie/sso/blob/master/src/app.py)

(I'm unrelated to all links, just got them from quick Google searches)

<comment><AUTHOR> A way it would be useful without sessions is if you have a webapp that loads a list of email addresses on startup. For each request that comes in, it checks if the request has an emauth JWT (maybe passed in a Emauth-Token header). If it does, it verifies the sig, then checks the contained email address against the whitelist. If it matches the request goes through.

<comment><USER7> Yeah, but how would you log a user out? Delete the local token? And if someone got access to the token, your account will be owned forever with no way to revoke the access. Unless you auto expire them... Now you need a flow to refresh the tokens....

If you implement jwt, you will need sessions and all other features authentication servers have... It would be way easier to implement a custom authentication flows mimicking your email auth than recreating everything else.

I think your service is good as is and introducing jwt to it would be a net- negative

But I'm just a random person from the internet, do whatever you feel like doing ;)

<comment><AUTHOR> Sorry, I didn't notice you had responded. I think maybe you're reading too much into adding JWTs to emauth.io. It simply provides another source of information, ie that as of a certain time, emauth.io verifies that the holder of this token had control over the email address. Implementations can do whatever they want with that information, depending on their threat model. And since previously the API was returning a fairly redundant text response (status code already tells you whether verification was successful), returning the JWT doesn't interfere with the previous functionality.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment> vi-mode Nice that somebody is finally offering this as an service. But the service is full of deal-breakers (for me at least):

> Any given email address can only be verified a certain number of times each > month.

How many times?

> If you subscribe to emauth pro for $4/month, you can make 512 verifications > per month

512 verifications for $4/month is a big ask. Auth0 and Firebase have bigger free tiers, not 100% sure though.

> If you need more verifications than this (for example if you want to use > emauth for a public app with many users), please contact sales at sales ...

Before you start enterprise sales, some options which are bigger than 512 would be great and I am also not sure if this type of smaller service would justify any enterprise sales. However, let us know if anyone contacted you for some enterprise-y deals.

> Also, in order to protect the email sender reputation for emauth, we > aggressively blacklist ip addresses that repeatedly make requests to invalid > email addresses.

Makes sense but how long are these IP blacklisted? How many requests are required to blacklist an IP? Btw, this won't help OPs email reputation, just few dozens of bounces are required to get your domain on many blacklists. How did other people solved this problem? How did Medium worked around this problem in its early days?

Biggest problem though:

Integrating something like your service is easy but building processes around creates a light lock-in and getting the stuff out again is some work. Looking at your landing page which I like because it's light and subtle, it still gives the feeling that it's hobby project and nobody knows if you are still on the market next month or next year.

Smaller problem:

No custom domain possible (or is it?), so customer might miss that your email belongs to my service.

<comment><AUTHOR> Thanks for the feedback

>> Any given email address can only be verified a certain number of times each month.

> How many times?

Currently 10. It's a mostly arbitrary number intended to be enough for adding simple authentication to things like family photo albums, where infrequent logins and longlived tokens are more acceptable.

>> If you subscribe to emauth pro for $4/month, you can make 512 verifications per month

> 512 verifications for $4/month is a big ask. Auth0 and Firebase have bigger > free tiers, not 100% sure though.

512 is a complete shot in the dark. The unfortunate truth is there's no way to get a feel for a good number until you measure usage and/or get feedback. And no one is going to give you feedback until you hit the front page so...

>> If you need more verifications than this (for example if you want to use emauth for a public app with many users), please contact sales at sales ...

> Before you start enterprise sales, some options which are bigger than 512 > would be great and I am also not sure if this type of smaller service would > justify any enterprise sales. However, let us know if anyone contacted you > for some enterprise-y deals.

Don't disagree. But I have no data to make tiering decisions from and wanted to have at least some paid option right away.

>> Also, in order to protect the email sender reputation for emauth, we aggressively blacklist ip addresses that repeatedly make requests to invalid email addresses.

> Btw, this won't help OPs email reputation, just few dozens of bounces are > required to get your domain on many blacklists.

That's good to know, thanks.

> Integrating something like your service is easy but building processes > around creates a light lock-in and getting the stuff out again is some work. > Looking at your landing page which I like because it's light and subtle, it > still gives the feeling that it's hobby project and nobody knows if you are > still on the market next month or next year.

I'm no fan of vendor lock-in, believe me. I never would have made this if I didn't need it for my other products and services. Worst case maybe the free tier is useful for a few people. The service is trivial enough that you can implement your own fairly easily. I'm sure it's already been implemented a million times. And if it comes down to me no longer being able to run the service for some reason, I'll open source it.

> No custom domain possible (or is it?), so customer might miss that your > email belongs to my service.

Not currently. You can customize the email text a bit to make it clear where the email originated from.

</comment></comment><comment><USER8> Looks interesting and easy to integrate. We recently developed something similar as a module for the Caddy web server: [https://github.com/TNO/auth-by- email](https://github.com/TNO/auth-by-email)

We developed it for a website that needed (simple) authenticated access for a read-only website, but we didn't want to store the (hashed) passwords.

Additional features:

\- email addresses for the whitelist can be stored as keyed hashes with the key provided at run-time. This way the whitelist is not on on disk in plaintext.

\- Adminstration of the whitelist is done by email: upon entry of an unknown email address, the administrator gets an email with a link with which the new entry can be approved or denied.

\- Kiosk-mode: user enters e-mail address on laptop, receives link on mobile, clicks link on link in mobile browser. Server detects that it is a different browser, gives user the option to login on session on laptop (for one day) or for session in mobile browser. Useful for giving demos.

</comment><comment><USER9> Looks like email security software will automatically follow the link and mark it as verified, without me clicking on the link.

<comment><AUTHOR> That's a great point. Apparently gmail and fastmail, which are what I use personally, don't do this, so it's not something I came up against in my testing. I'm definitely going to need to handle that.

<comment><USER10> Test with Outlook, they tend to be the most aggressive at hitting links. Gmail is based on some reputation secret sauce or possibly a random number generator. You'll also want to test sending to domains that use FireEye and similar security products.

In general: links will get followed, javascript will be executed, buttons will get clicked, and subsequent links will be spidered too.

<comment><AUTHOR> Thanks for the info.

</comment></comment></comment></comment><comment><USER11> Email addresses ought to be handled with care. I'm sorry but I hope few would trust any third party service with their customers/users email addresses just like that.

<comment><AUTHOR> Valid concern. I figured it went without saying, but obviously nothing goes without saying. I added a privacy disclaimer to the bottom of the page. We don't use the emails for anything other than authentication and internal analytics for billing.

</comment></comment><comment><USER12> This is cool. One improvement could be to add a redirection URL as a parameter in the request so that users land back on the app.

<comment><AUTHOR> Thanks! One tricky thing with that is spammers could use emauth with an email list to send people (at least anyone who clicks the link) to whatever site they want.

</comment></comment><comment><USER13> I'm getting an ERR_CERT_INVALID, doesn't bode well for an authentication service.

<comment><USER3> Works fine for me. I got a letsencrypt certificate valid starting Saturday, December 28, 2019 and ending on Friday, March 27, 2020.</comment></comment>


Ask HN: How do you start your hobby web app? - <AUTHOR>

I've been wondering how people start out their hobby projects as I'm having some difficulties myself.
Do you guys just dive right in after you get your initial idea? Or do you plan it out, right down requirements, wireframe etc.?
Maybe you even have some specific process if you have done a lot of projects? <comment><USER2> Dive right in. Write the bare minimum that you need to demonstrate the uniqueness of your project and then get feedback on it immediately. It's good to have some high-level ideas of what it could be, but don't waste time with formal documents.

Wireframes are pretty useful for making any web page, not just a hobby web app. My process is to sketch out wireframes, make the HTML and UI, then build the backend.

Also, I try to come up with at least three ways to implement a UI for a new app. That way you don't get emotionally tied to the first one just because you thought of it first. Usually, I find that my first one is crap, and the second one is good enough that I never can think of a third one that's better than the second.

<comment><AUTHOR> I like your way of coming up with design ideas, makes a lot of sense to me. Not sure that I could do it though... I suffer very much from the common "tech guy" problem - my design skills suck! :P

<comment><USER2> Yeah, design can be tricky. I'm horrible when it comes to graphics, but I've learned basic stuff about UI design, whitespace, colors, etc. that I can put together a not-horrible-looking design. I outsource logo creation to crowdSPRING. You can also consider buying a premium HTML theme as well.

</comment></comment></comment><comment><USER3> I try to tackle most of my project by just jumping in. It's definitely the best way to learn. I don't let any decision take more than a few minutes unless it's really essential to the project then I would do maybe 10 minutes of cursory research. The goal is to not get bogged down with detail for me because I will if I don't watch myself.

As for design, for a tech guy, I think I'm pretty good, but one really nice thing I'm noticing is that web design seems to be getting simpler. Or at the very least, you don't get points taken away for being sparse. (Usability is different tho, I'll definitely take points away for that.)

One great example is stackoverflow. It represents a design I would have never made. I would have called it ugly. But I really like it for some reason. :)

</comment><comment><USER4> I have a checklist I go through before I invest significant time into my own side projects: [http://www.puremango.co.uk/2011/05/why-your-web-app-wont- wor...](http://www.puremango.co.uk/2011/05/why-your-web-app-wont-work/)

Then I plan everything to the last detail, then I build it. When I was younger I just built it, and that's a great way to learn lots about both social economics and code. Nowadays I feel my time is better invested in producing something with a high chance of success than just a messing-about project. Unless the concept really grabs me, like <http://thingsinbooks.com>, in which case I just build it.

</comment><comment><USER5> I dove straight into the code for my current project. Since it is something that I do not have exposure to at work, I was more concerned about learning the language and environment than developing the concept out. Next time I will definitely spend more time planning and on specs. I have found that if I had spent more time developing out the concept and defined initial core features at the very least, I would have less coding interruptions and some set goals that I could gauge my progress.

</comment><comment><USER6> Sometimes with reading RFCs, design, graphical work, database layout, looking at new tools to try out while building the project or just digging in.

As long as you start somewhere, it doesn't matter, it is a hobby project after all.</comment>


SEO spam on Hacker News? - <AUTHOR>

I try to visit semi-regularly the Newest page on Hacker News, and always see obviously non-HN material posted (some in Portuguese, Russian and other languages, other are porn). Are those SEO spam? Do they get some benefit from posting here? They're always dead by the time I see them, and the links are removed. <comment><USER2> Yes, often this is spam. But I wouldn't call it SEO, because the practice of dropping spam links on Hacker News has as much in common with optimizing websites for search engines as research in physics has in common with trying to invent the perpetuum mobile.</comment>


Otto the octopus wrecks havoc (2008) - <AUTHOR> http://www.telegraph.co.uk/news/newstopics/howaboutthat/3328480/Otto-the-octopus-wrecks-havoc.html <comment><USER2> they should never be caged, they're too smart, they are meant to be free. They are the one animal I would become militant in freeing</comment>


Ask HN: Linters for excellent code? - <AUTHOR> We all know our linters and their benefits. They encourage or enforce a certain level of quality in our code. Most of the time, they cannot ensure that we use the best method to achieve our goals.
If you enable warnings for metrics like cyclomatic complexity, a maximum number of lines in a function, or duplicate code, your linter will indirectly force you to refactor an ugly spaghetti mess into something that usually is a lot better. Or when writing new code at some point you will get a warning that shows you you have reached a point where you need to break up a method or abstract something.
So, a linter will not only help you prettify your code superficially but can actually help you make it a lot better. But usually the goal is to reach a certain level of quality - when you have no more warnings or style suggestions, and that's it. The limits in default linter settings are usually meant to avoid really bad code and to encourage good code. But from my experience that is where it stops - they do not encourage excellent code.
TL;DR
I was wondering, does anyone use special linters or settings that are, for instance, much more restrictive or smart than what is normally used, in order to not only achieve good, readable code, but to go beyond that and help or force you to write even better, excellent code? <comment><USER2> We use additional linters that check for security best practices like [https://brakemanscanner.org/](https://brakemanscanner.org/) [https://github.com/djezzzl/database_consistency](https://github.com/djezzzl/database_consistency) [https://github.com/ankane/strong_migrations](https://github.com/ankane/strong_migrations)</comment>


Facebook tests removing publishers from News Feed - <AUTHOR> http://mashable.com/2017/10/23/facebook-explore-publisher-post-organic-reach-drop/#10G3Z9YRjPqT <comment><USER2> Actually - I kind of support that idea.

The financial incentive of being a Macedonian fake-news merchant is partially based on the fact that you can achieve massive scale cheaply via viral sharing. A financial barrier to share-ability would first of all prevent a large amount of fake from being published, and secondly provide an auditable trail back to real world bank accounts.

For large outlets like WSJ or the other Rupert Murdoch properties who complained about giving their content away for free and installed paywalls, they actually get the choice to opt-in to the sharing platform.

I know there are probably other concerns around censorship and freedom with respect to which platforms might be declared as verboten (daily stormer for example).

Finally - I personally don't WANT to read articles on facebook. I want the updates from my friends and family. Pictures of the things they're eating and their babies or pets doing funny things.

Of course, as with everything, it really depends on implementation. On balance I actually think no-sharing by default might be a net-positive thing.

</comment><comment><USER3> dupe [https://news.ycombinator.com/item?id=15531823](https://news.ycombinator.com/item?id=15531823)</comment>


Yogic Identities: Tradition and Transformation - <AUTHOR> http://www.asia.si.edu/research/articles/yogic-identities.asp

<comment><USER2> If anybody is curious I am a Nath.</comment>


China Sells U.S. Treasuries to Support Yuan - <AUTHOR> http://www.bloomberg.com/news/articles/2015-08-27/china-said-to-sell-treasuries-as-dollars-needed-for-yuan-support <comment><USER3> Summary & Speculation:

China sells US treasuries in order to appreciate Yuan relative to USD.

Supply of US treasuries on the market increases.

Demand for US treasuries decreases due to concerns over a large enough Chinese sell-off. Demand for US treasuries increases due to uncertainty over the stock market. Net effect on demand is uncertain.

Assuming worst-case scenario (for the US) in which supply of US treasuries increases and demand decreases: Yields on US treasuries increase as investors with less demand must be compensated for taking on a riskier and more plentiful asset.

Yields rise, and the US government must now service a higher level of debt, pushing the deficit higher. US is forced to re balance spending, stifling growth and economic activity in order to keep debt in line.

Bottom line: This probably won't have an effect on US economy as investors need somewhere to park their money that is not the stock market. Also, the scale at which China is selling off treasuries is assumed to be pretty small ($40bn/mo compared to $3.65tn total holdings).

Now if China initiated a mass sell-off of all of its US treasuries, there would be huge ramifications. But in its current form, this seems to just be one more way for China to slowly unravel its position in US treasuries while playing with the value of the RMB.

<comment><USER4> "US is forced to re balance spending, stifling growth and economic activity in order to keep debt in line."

How does the American governments NOT spending money stifle growth?

<comment><USER5> You typically have to be a Keynesian (or related school of economics) to believe that.

Governments get their spending cash from taxation and political control of the monetary authority. In order to exert economic influence, they first have to take some away from the actual producers of marketable goods and services. Thanks to the way money works, if they don't expand the amount of currency in circulation by spending what they created by fiat, the value remains with the producers, who continue measuring their prices by the smaller amount in circulation. In metaphorical terms, no one can listen to what you want to say if you do not speak.

The one and only way that government spending can produce more growth than ordinary individual spending is by ordering construction or repair of capital infrastructure that benefits multiple businesses who would individually be unable to justify the expense of the improvement.

Business A and business B are competitors, and they would both benefit from roads that connect them to a highway network. A is unwilling to assume the expense of building a road to the highway unless A could exclude B from it. B feels the same way about A. If either notices the other building a road, they know that money is not available for other purposes, so whoever makes the first move could lose market share thanks to a strategic counter-move. Instead, government G takes somewhat less than the full amount needed for one road from each, to build a single public road that serves both equally. Both businesses get their road to the highway, but neither had to pay the full expense individually. Growth occurs by breaking the Nash equilibrium that was preventing it.

That's the ideal case. Usually, government spending is no smarter than handing a wad of cash to the village idiot, so it has no greater effect on growth than ordinary consumer spending, minus the deadweight loss. Also, if G takes a full road's worth of economic influence or more from both A and B, and builds only one complete road or just a partial road with it, neither A nor B is any better off. In order to promote growth, the government spending has to buy something of actual value to the public, at a lower cost than the sum of costs that individuals would pay for the bits of the "something" that benefit each of them most.

The public usefulness of a "something" is often a matter of opinion, so the "growth" thing is almost pointless to argue about.

<comment><USER6> Yours is an extremely simplistic and naive view of how the real economy works.

Government spending can be a net gain or drag on an economy but it can be a big boost in certain circumstances:

1) When the private market is retracting the government can offset that somewhat and create a "softer" landing. This prevents over-shooting on the underside (think the Great Depression). The lower interest rates are the better the bang-for-the-buck you get from government spending. When the world is clamoring to give you their money at negative interest rates (paying you to take a loan!) you'd be a fool not to pull the trigger on every capital project and bit of maintenance you can... which of course since we are so full of Republicans in the US we have been fools and haven't taken nearly as much advantage of the situation as we should have. As rates rise we'll end up doing the same projects in the future but pay higher interest rates to do them.

2) In an environment of excess capital (e.g. where the top 1% have most of the money) there is far too much cash looking for a productive place to invest and too few good investments. Again in that environment the government can do a lot of good by confiscating the capital (temporarily as you'll see) and giving it to the bottom 95%, ideally as free money with no strings attached. The vast majority of it will be spent, returning directly to the 1% who held it in the first place. The overall velocity of money will increase. This is the exact same thing as SF being dragged down by high rents writ large (if rent were reasonable I would personally create a job by hiring a nanny; instead that money goes to my landlord's retirement account where it chases all the other dumb money looking for yield)

Government spending (and high taxes) can be a drain under different circumstances:

1) If there is a deficit of capital to finance good ideas or productive businesses, the economy can benefit from lowering taxes on the 1% to free up capital. One could argue this was the case when income taxes were 90+% during the supposed "golden post war era" that today's idiots fondly recall with rose-colored glasses.

2) If spending is done via printing money or the overall debt load is too high then you can cause high inflation which has its own negative effects. If your debt is denominated in a currency you don't control (or in gold) then this can be a double-whammy and cause hyperinflation.

Government in general can be well-run and more efficient then the market when you are talking about absolute necessities and natural monopolies (like health care or roads), assuming you were willing to pay good salaries and benefits to attract the best workers and don't try to outsource everything. None of that applies to today's US or state governments... we pay like crap and purposefully use contractors for everything. It doesn't work well anywhere else, why would that work for government?

<comment><USER5> You opened with an ad hominem; that's rude and unproductive. Besides that, I don't find what you say to be contradictory to my own views.

Boost 1 is an example of breaking Nash equilibria. In a contraction, the individual optimal play is to turtle up, but the overall optimum is to keep the spending going at a slightly lower rate. So the cartel enforcer takes from its members the amount that should be spent and spends it. The error made in practice is that most governments borrow from their central bank at interest rather than raising the cash directly via a capitation with deductions for actual consumer spending. Or they blow the cash on stupid purchases, forgetting that how the money is spent is usually more important than the size of the amount.

Boost 2 tends not to happen much in practice, thanks to government corruption and prophylactic bribes by the rich, but when it does, it may trigger capital flight. The Hollande 75% tax in France prompted a few celebrities to leave, but the reality is that rich people have been fleeing high French taxes for decades. Shuffling the currency around has little impact if it does not also change the ownership distribution of _revenue-generating assets_. If the poor people took their free money and bought shares of profitable businesses with it, that would help. But they tend to buy food, utilities, consumer goods, and rent instead. As such, this redistribution plan is a temporary improvement at best.

Drain 1 is not quite the polar opposite of boost 2. When you give rich people more disposable income, they tend to buy more revenue-generating assets, rather than more consumer goods. Once you have one luxury yacht, there isn't much of a reason to buy another. They don't charitably pay others to develop their good ideas; they buy them outright, and reap most of the benefits for themselves. They do very well, and that does not trickle down to the lower classes in practice. Investment does not circulate the currency down in the same way that spending does. Investment attaches burdens and obligations to the money before handing it off to someone else. It slows the money down. Think about how you might feel if someone handed you a $100 bill that was wet and sticky, with strings attached worth -$50 to you, in comparison to someone just handing you a clean, dry $50 bill, that you could use as you pleased.

Drain 2 is mostly accurate, except I would say that printing more of a fiat currency is _always_ an absolute drain on the economy, when considered in isolation from whatever is done with the new cash. If you do it at all, you are starting in a hole and need to do a whole lot of good to even get back to ground level. Politically, you often see someone touting the good done with government spending, while if you pull back a bit, you see that it doesn't even make up for a small fraction of the damage done by the currency manipulations required to pay for it.

Government's primary value is as a cartel enforcer to break Nash equilibria, wherein the cartel members are forced to act in a way that is sub-optimal for themselves, but which results in an overall better outcome for all participants. Taxation always results in a deadweight loss, except when the good in question has zero or infinite slope on the supply or demand curves. Monetary inflation creates a value gradient in the currency that complicates calculation, and generally enriches those closer to the monetary authority at the expense of those further from it.

Government can also prevent tragedy of the commons, by restricting the exclusionary uses of public goods.

These functions typically result in greatest efficiency during the reign of the generation born to the revolutionaries. The true believers try to make the government work correctly and efficiently for everyone. But then, some time after, the rot sets in, and people start to use government as a means to promote their own rent-seeking behavior. You simply can't create a tool that only be used for good and never for evil. The dinner knife can spread shit just as well as it spreads butter.

</comment></comment></comment></comment></comment><comment><USER7> People seem to think this is a problem for the US (and I suppose it sort of is) but may not realize that it's not rosey for China either. The article ends by implying that they _want_ to be doing this to get rid of much of their reserves, but I'm not sure it's that clear. The title here about China 'warning Washington' could be read either as a head's up or as a threat.

The problem for China is that by selling treasuries for USD and then using that USD to buy yuan, they are effectively taking that money out of circulation. This keeps the yuan from dropping and maintains the currency peg but it also removes all of the liquidity in the market. This is not really a great situation. It also makes US manufacturing more competitive.

In the past few days, they have been talking about playing with the reserve- requirement ratio of banks to encourage them to dump money into the market to maintain liquidity. If you tell banks that they can 'officially' lend out more by lowering the required amount of money they must have on hand, they will and then real money has been created.

I feel like they're really just trying to keep the whole thing on the road.

<comment><USER8> I am so confused ... don't the Chinese want a devalued Yuan? It helps their economy, right?

Did they shift course in the past week???

<comment><USER7> Yeah it's confusing... You're right that a devalued Yuan helps their exporters. Of course, too much is a bad thing too. They want to keep their currency within a narrow range relative to the USD. They were recently making a move to do that which sparked all of those 'currency war' headlines:

[http://www.wsj.com/articles/china-moves-to-devalue-the- yuan-...](http://www.wsj.com/articles/china-moves-to-devalue-the- yuan-1439258401)

They did that as a 'one-off thing' but it seems like everyone interpreted it to mean their economy was actually really in bad shape so investors started to get out before their assets dropped more. Then the stock market went to hell and now they're surprised that everyone is spooked:

[http://www.reuters.com/article/2015/08/27/us-china-yuan- idUS...](http://www.reuters.com/article/2015/08/27/us-china-yuan- idUSKCN0QW09I20150827)

So basically they sparked a bit of a panic and have been throwing levers to try to reassure everyone but each thing they try seems to just make it worse.

At least that's what I'm seeing. :-)

<comment><USER9> Yeah the general rule with currencies is that as long as they're not too volatile, they can go up or down without huge implications to the economy.

The other thing to realize with the Chinese stock market is that even though it dropped something like 50% in 2 months, it's basically flat since January. If you look back to 1 year ago, it's still up 40%. You don't get 250% growth in 6 months without an accompanying correction cycle. The biggest problem with China right now is that it's high on potential, but nobody knows what the right value should be. So it will continue to be volatile like this until there's a better idea of if Chinese companies are creating real economic value or not and to what degree.

</comment></comment></comment></comment><comment><USER10> This article necessarily has a lot of business jargon content, and I'm having trouble parsing it. Could somebody with subject knowledge please summarize the article in terms a simple hacker can understand, and speculate a bit on the possible ramifications?

<comment><USER11> Interest rates are determined as the inverse of the bond rate. I have no idea how accurate this is, but here's my thinking...

So:

1 selling bonds (treasuries) will lower the price of the bond (supply/demand).

2 This will increase the effective interest rate - (face value - <USER2> paid)/face value / years for simple straight line rate.

3 The higher interest rate will cause more money to flow towards that currency (USD)

4 That will result in the USD appreciating against all other currencies

5 China then uses the proceeds to buy Renminbi, driving it up against the USD

6 That USD->Renminbi sale might result in a drop in USD because there will be more USD around?

7 If enough bonds are sold, this might have the same effect as a Fed increase?

8 An increase in the value of the USD will keep manufacturing jobs from coming back to the US

9 Oil prices will drop in USD (?)

10 China might have a UK vs Sorros moment [1]

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

<comment><USER12> Point 1 is correct, the selling of bonds by China will have the effect that their prices will drop. That's the law of supply and demand in action.

Point 2 will probably also happen; but only up to a limited amount, because:

Point 3, and the others, won't happen. There will not flow more money towards the USD. What happens now is the opposite; China is selling USD's. Again because of the law of supply and demand, this will lead to a drop of the USD rate. If the drop will be too much for the FED's taste they will increase the interest rate (point 2), but only so much that the depreciation will stop.

<comment><USER13> >There will not flow more money towards the USD. What happens now is the opposite; I guess it is an event in the chain. jpollock asks the question in point 6 "That USD->Renminbi sale might result in a drop in USD because there will be more USD around?"

</comment></comment></comment></comment><comment><USER14> What happens to the dollar?

For years people railed against China for keeping the yuan artificially lowered by buying U.S. Treasury Bonds. This led to Chinese manufacturing being extra competitive, and a larger U.S. trade deficit.

Now China is doing the opposite. It is selling treasury bonds to buy yuan to artificially increase the price the yuan and everyone is freaking out. It will do the opposite of what is had been doing by causing the dollar to appreciate, and the yuan to depreciate. This will make foreign goods relatively more expensive for Americans, and American goods relatively cheaper for the foreigners. This effect will be most pronounced when the foreigners are Chinese. These will probably be small effects that won't effect anyone's life enough to be noticed.

Whats happens to Treasuries?

Nothing. Short term treasury rates are pretty much determined by the FED. Now even more so than usual because of the FED has it's pedal all the way down on the accelerator at 0% interest. Long term treasury rates tend to be determined what people think short terms rates will be over the long term. What primarily determines the interest rate over the long term is U.S. growth and inflation. So if people think this will cause more U.S. growth, long term treasury rates might increase a little.

</comment><comment><USER15> Well pretty much the purpose of those reserves is to maintain their currency peg so selling in order to do so is no surprise.

<comment><USER16> They are not trying to maintain their currency peg. They are slowly devaluing to eventually decouple (see IMF year delay comments). The treasury sales, which no one other than China really knows why, are continuing at an extremely rapid pace and the best guess is they are using it to inject liquidity into their market in order to prop up their stock market bubble.

<comment><USER15> The Chinese care more about the ability to "control" their peg than they do anything else. What they don't want under any circumstances is a black market exchange rate that differs substantially from the official rate. Because once you have that the government no longer controls the exchange rate. So they have devalued a relatively small amount and now they must maintain the peg at the new level, if that means selling a boat load of treasuries to do so, so be it, that's the purpose of holding the treasures.

To your point on selling USD denominated debt to prop up the stock market.. why? They Chinese stock market is denominated in Chinese Yuan, not USD, if they wanted to prop up the market they could just print the yuan and buy stocks, they don't need to sell Treasuries at all to do that.

</comment></comment></comment><comment><USER17> Federal Bank already owns more USA debt than any other country: [https://www.nationalpriorities.org/campaigns/us-federal- debt...](https://www.nationalpriorities.org/campaigns/us-federal-debt-who/)

[http://qz.com/384232/guess-who-holds-even-more-us-debt- than-...](http://qz.com/384232/guess-who-holds-even-more-us-debt-than-china- or-japan/)

At worst Federal Bank will need to print more money (as know as quantitive easing) and buy more treasuries from the government.

<comment><USER16> yes...this. there is an argument that we are balanced on a knifes edge right now. if the fed goes by their previous metrics, today's growth numbers would indicate that a September hike is back on the table. if they are worried about treasury sales from china increasing we may have another round of quantitative easing. this is why the market is so sketchy right now. nobody knows what is going to happen because they are almost exact opposite directions to take.

<comment><USER18> Why would we counter inflation from China with QE?

</comment></comment></comment><comment><USER19>
      "Strategically, it probably has been China's intention to find the right time
      to lighten up its excessive accumulation of U.S. Treasuries," he said.

I think that is the crux of it. They are itching to move away from dollar and any excuse to do so is used. This has also been tied with AIIB & they accumulating a large amount of gold to back up their currency to be the base denomination for global trade.

<comment><USER20> You've been reading way too much "falling of the petrodollar" blogs.

<comment><USER19> Guilty as charged. I've Currency Wars [0] in my reading list.

[0] [http://www.amazon.com/Currency-Wars-Making-Global- Crisis/dp/...](http://www.amazon.com/Currency-Wars-Making-Global- Crisis/dp/1591845564)

<comment><USER21> James Rickard's Currency Wars, and The Death of the Dollar are interesting reads. I have given copies to family members because even if Rickard's is not totally correct, his analysis is interesting.

</comment></comment></comment></comment><comment><USER22> There is no upward trend in 10-year Treasury yields, which are currently low at about 2.2% -- see [http://finance.yahoo.com/q/hp?s=%5ETNX+Historical+Prices](http://finance.yahoo.com/q/hp?s=%5ETNX+Historical+Prices) .

</comment><comment> at-fates-hands I guess the big story here is that people have been warning they would do this _voluntarily_ in some attempt to punish the US and drive down the value of the yuan and drive up the interests rates so they can continue to undercut US businesses.

The fact they have been _forced_ to do this is another scenario all together. This brings up an important question: What happens when the bidders who are absorbing all this paper, stop bidding? Then what does the Fed with all this paper in a highly liquid market?

Make no mistake though, this is the game the Chinese like to play with their currency in order to keep the value of the dollar high and the yuan low. Back in early 2015, they did the same thing:

[http://www.breitbart.com/national- security/2015/02/19/trade-...](http://www.breitbart.com/national- security/2015/02/19/trade-war-china-dumped-77b-in-us-bonds-to-devalue-yuan/)

 _Federal Reserve data published late on February 18 reveals China dumped about $75 billion in US bonds in the last six months of 2014_

 _Breitbart broke the story last week that China's real economic growth had crashed to 1.7% in the fourth quarter of 2014. We also warned last August that China appeared ready dump part of its $1.32 trillion holdings of US bonds in a scheme to drive American interest rates up; thereby strengthening the dollar and devaluing the Chinese currency._

</comment><comment><USER23> For having an idea on numbers/countries, these are good references:

[http://www.treasury.gov/ticdata/Publish/mfh.txt](http://www.treasury.gov/ticdata/Publish/mfh.txt)

[http://www.treasury.gov/ticdata/Publish/mfhhis01.txt](http://www.treasury.gov/ticdata/Publish/mfhhis01.txt)

</comment><comment> norea-armozel Is there any economist blogging about this move yet? My question is what are the possible outcomes of this sale for the economy as a whole?

<comment><USER24> lowering demand for us paper means higher interest rates. higher interest rates in the us means devaluation of foreign (non us currency), all other things equal.

us is going to slow gdp when interest rates go up (look at fed...they are scared). so this is basically a stealth currency deval and a shot accross the bow to obama (sitting admin will take the hit if gdp in us goes south).

typically, this is crytpic and below the radar type of stuff but almost certainly is meant to broadcast a message.

just my $0.02.

<comment> norea-armozel I don't think China has much of a choice to be honest. They're still not able to get a Chinese middle class to buy goods made at home at the rate they want. So, I think their economic program of being the world's factory floor has been a failure so far. They (Chinese Community Party) really need to rethink their strategy and look towards other methods of improving the living standard because it just doesn't look like their brand of market socialism is working (I'm using the term market social very loosely here).

<comment><USER24> Are you asking about china's economy as a whole or the impact on the us/oecd? i think that makes a difference in how best to answer the question.

<comment> norea-armozel It's more of an observation in regards to what seems to be the CCP's end goal of lifting all of China's people out of poverty. It's been sacrificing services like healthcare and education to get their economy up and running, but it seems to only benefits only a few of China's citizens. So, I just wonder if the CCP has given up on the goal of socialism to communism.

</comment></comment></comment></comment></comment><comment><USER25> Sell Treasuries --> USD Cash

What is being done with the USD Cash generated after the sale? Are the Chinese immediately selling the USD Cash to local CNY holders in order to defend the peg? What do they do with it next? Is the new USD Cash leaving Chinese borders? Does it stay in local accounts - eventually to be used to buy up other USD denominated assets?

<comment><USER15> Companies, individuals, investors e.t.c. are moving their money out of the yuan back into the dollar, China is selling some of its treasuries to get the dollars to give to these people. I expect the vast majority of it is leaving the country.

<comment><USER26> Isn't that against their goal of making the Yuan part of the Special drawing rights? If there are fewer Yuan internationally (and more in-country) they have a worse case for that.

<comment><USER15> The bigger hurdle to the SDR is I believe it has to be a free floating currency, which the Yuan is not. Also, I mean, what are you going to do? If people want to get their money out and you're not going to completely forbid them from doing so then you have to pay up. If you want to maintain your peg and pay up you need dollars to do it, which you have in the form of treasuries.

</comment></comment></comment></comment><comment><USER27> When it comes to currencies, supply has not such a powerful effect as people think. The value of a currency is determined more by the subjective ability of the government to support the currency, not by the amount of it in circulation. If supply had such importance, large countries like Russia, China, and India would have a great advantage over the USA, because their currencies are currently not in wide circulation. In theory, the US could continue printing money until everybody in the world would be using USD (now, if this would or should happen is another thing).

</comment><comment><USER16> The big 1.6T question is who is buying them? Right now it looks like they are going to Belgium?

<comment><USER28> The Belgium buys are now famous for being a China proxy. It's not actually Belgium doing the buying.

[http://www.bloomberg.com/news/articles/2014-07-27/china- hide...](http://www.bloomberg.com/news/articles/2014-07-27/china-hides- treasury-buys-in-belgium-chart-of-the-day)

</comment></comment><comment><USER29> Will George Soros enter the fray and break the Bank of China? ;)

<comment><USER30> Watch out for Porsche proxy-buying all the freed up treasuries!

</comment></comment><comment><USER31> "China sells to China"

</comment><comment><USER32> What Would Happen If Everyone Joins China In Dumping Treasurys? [http://www.zerohedge.com/news/2015-08-26/what-would- happen-i...](http://www.zerohedge.com/news/2015-08-26/what-would-happen-if- everyone-joins-china-dumping-treasurys)

<comment><USER33> Can someone provide a bad-case source that _isn 't_ from ZeroHedge?

<comment><USER34> Izabella Kaminska writes some pretty good China posts for the Financial Times, her Twitter is worth a follow;

[https://twitter.com/izakaminska](https://twitter.com/izakaminska)

But the best round-up of China lately I've seen is from Christopher Balding, a professor in Peking University's business school:

[http://www.baldingsworld.com/2015/08/14/end-of-week- thoughts...](http://www.baldingsworld.com/2015/08/14/end-of-week-thoughts-on- a-big-week/)

Basically, a lot of wait and see, but China's headline reserves aren't nearly as impressive as they sound and things could get interesting if they lose much more value.

</comment></comment></comment><comment><USER35> I think we just learned what that stock market drop in the US was about.

<comment><USER36> The drop in the US stock market this week was because of massive drops in the Chinese stock market (and secondary drops in the EU stock market).

Compare the 1 month view of the Chinese market ([http://www.bloomberg.com/quote/SHCOMP:IND](http://www.bloomberg.com/quote/SHCOMP:IND)) to Nasdaq ([http://www.bloomberg.com/quote/CCMP:IND](http://www.bloomberg.com/quote/CCMP:IND)), and then recall that the Chinese market closes 7 hours before the US market opens.

</comment></comment><comment><USER37> Dollar is pegged to OPEC oil; Yuan is pegged to exports;

</comment><comment><USER38> Gosh, I'd love to see other people's opinions on this article!

</comment><comment><USER32> What Would Happen If Everyone Joins China In Dumping Treasurys? ttp://www.zerohedge.com/news/2015-08-26/what-would-happen-if-everyone-joins- china-dumping-treasurys

<comment><USER24> this is a double post of your own post [https://news.ycombinator.com/reply?id=10129397](https://news.ycombinator.com/reply?id=10129397)

</comment></comment><comment><USER39> Note the title is opposite of what they recently did.

Selling treasuries has large ramifications for the US. and a warning that we should think about getting our financial house in order (congress will not heed this, only the bond traders will force "austerity" as they did during the Carter administration) China's 2% devaluation of the renminbi a couple weeks ago was the trigger for the current market turmoil.

Chinese financial tactics are probably aligned with the goal of inclusion into the IMF SDR: <IMF Executive Board Approves Extension of Current SDR Currency Basket Until September 30, 2016> [http://www.imf.org/external/np/sec/pr/2015/pr15384.htm](http://www.imf.org/external/np/sec/pr/2015/pr15384.htm) (Was it retribution for not being immediately included? Maybe not, but they still are the major holder of US treasuries.)

Then they wouldn't need as many dollars to buy their trade goods. Chinese rise is inevitable and we need to do serious things to prepare for living beyond our means.</comment>


Nokia's 3D case printing plans spell doom for accessory makers - <AUTHOR> http://conversations.nokia.com/2013/01/18/everything-you-need-to-know-about-the-lumia-820-and-3d-printing/

<comment><USER2> I doubt it, in the short to medium term anyway. 1\. The number of people who own both a Nokia phone and a 3D printer are small. 2\. The cost of 3D printing this would be more than the cost of buying a pre-made cover.</comment>


The appeal of business networking Web site LinkedIn is blooming - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2007/12/10/BUACTPKG3.DTL <comment><USER2> Alternate headline: LinkedIn launches major PR effort to create appearance they remain relevant.

[http://www.techcrunch.com/2007/12/09/linkedin-api-and-new- ho...](http://www.techcrunch.com/2007/12/09/linkedin-api-and-new-homepage- drawing-near/)

<http://www.mercurynews.com/business/ci_7681437>

<http://www.news.com/8301-13577_3-9831130-36.html>

<http://www.internetnews.com/bus-news/article.php/3715506>

[http://venturebeat.com/2007/12/09/linkedin-launches- platform...](http://venturebeat.com/2007/12/09/linkedin-launches-platform- redesign-a-better-business-social-network/)</comment>


Ask HN: Can you Please Please Please recommend a reputable iOS ebook developer? - <AUTHOR>

I've been getting strung along and shafted by a programmer on Elance for 7 months now and paid out over $2500 for him completing milestones for work. Even still I don't have a finished product and I've been thinking to just call our relationship a loss and start over. I have all the assets completed for a fantastic iOS interactive ebook (with animation pngs and voice & music files) and want to know if anyone has recommendations or success stories with app developers. <Thanks for your help!> <comment><USER2> Hi hanadave,

I can suggest you an experienced interactive ebook developer. Can you reach me from <http://www.giderosmobile.com/about> ?</comment>


Troll Targets Say Twitter's New Filters Don't Go Far Enough - <AUTHOR> http://www.wired.com/2016/08/troll-targets-say-twitters-new-filters-dont-go-far-enough/ <comment><USER2> It sounds like people want digital safe spaces and don't want to hear any dissenting opinions on Twitter. This isn't how the real world works.

Anyone posting death threats and other threats of bodily harm should definitely be banned from Twitter.

However, I've read through many of the accounts in question in this article (and other outspoken community leaders) and what the they actually want is to punish people with opposing viewpoints by banning them from social media.

To me, it's pretty ironic because this same community expects love, compassion, and acceptance while at the same time hating, bullying, and silencing even the slightest hint of discord.</comment>


HTML5Wow - <AUTHOR> http://www.htmlfivewow.com/slide1 <comment><USER2> What's with the negativity in here? This is a slide deck that was used by speakers at Google IO in 2011 to present a session about HTML5. They figured it may be useful so they shared it online so attendees and people who couldn't make it could see and play with the slides afterwards. It makes no sense to criticize these slides for not working in Firefox, Opera, on mobiles, or any other use case for which they were not developed. It's a slide deck. Be glad these guys felt like sharing their knowledge with you.

<comment><USER3> It's a set of slides about HTML5 written in HTML5. The slides not working properly on mobile devices with no fallback for non-webkit browsers show that the developers are either

a. Lazy b. Incompetent, or c. Used proprietary webkit technology,

none of which will inspire much confidence in the actual contents of slides (which I can't read anyway, since I'm on Opera Mobile)

<comment><USER4> What is proprietary webkit technology?

<comment><USER5> The ones which doesn't work in other standard-compliant browsers, like Firefox.

</comment></comment></comment></comment><comment><USER6>
        You are running a Mozilla browser. [...], this presentation has only been tested using WebKit browsers such as Google Chrome or Safari.

_sigh_ Didn't people learn when it was "This has only been tested with Microsoft Internet Explorer version 6.0" ?

<comment><USER7> Seriously. Google is doing what it can to snuff out Firefox.

<comment><USER8> Such as funding them with millions of dollars for their default search engine deal?

<comment><USER7> And then regularly threatening to remove that funding as they developed competing technology.

Google is not Mozilla's friend.

<comment><USER9> Huh? Google is not doing charity by paying Mozilla, the GP is off base there; they have a _contract_ with Mozilla for getting to be the default search provider. There's nothing to threaten with. But maybe you're privy to some secret contract negotiations the rest of the world isn't?

Besides, there's a reason Google pays so much for that slot: there are others willing to pay a lot for it as well, and even more competitors if Mozilla is willing to take a smaller payment for it.

</comment></comment></comment></comment></comment><comment><USER10> That's such sites which tip you as why HTML5 is not the synonymous of "proper, standard HTML implementation" anymore.

"You are running a Mozilla browser. While such browsers generally have excellent support for HTML5 features, this presentation has only been tested using WebKit browsers"

Exactly. What you mean here is webkit-HTML.

A big part of HTML5 is "we're saying this is going to be an HTML5 API and thats it".

For example, Firefox and Chrome have different Audio APIs. How that's standard?

<comment><USER9> No, what you have here is a _slide deck_ about standard or standards-track features that includes features that don't all work cross-browser yet, and may change significantly before they do. When people respond like this to slide decks, I always wonder what they would have preferred? A video of the presentation, but no live version? Screenshots of the working draft text of the spec?

This is a slide deck for developers. It explicitly says what browser it currently works in and where it might break. Developers usually have more than one browser installed, which makes this not that big of a deal. It does highlight explicitly, however, that developers will then have a choice to make if _they_ want to use those features and want them to work cross browser. They will either have to work to implement (or find an existing) cross-browser polyfill, or they will just have to be patient while the feature is specced and implementations deploy.

There _is_ tension here, admittedly, because eager developers will always push new features that aren't available universally yet, because it allows them to do something new. This is why, for instance, in some cases Mozilla has moved away from vendor prefixing to instead exposing some proposed features in only alpha and beta builds, so that developers won't be tempted to use them in production (which means breaking changes in a spec will break already deployed websites) until the spec is settled. This hopefully will be picked up by other browser vendors (though, again, only for some features). I know some Chrome developers have been very receptive to this approach.

In the meantime, it's good to educate yourself (as a developer) and others about what is coming, especially because while something is still coming (and not here yet) you can still go join a w3c/whatwg mailing list and give feedback.

For instance, you could start with your Audio APIs question by looking to the Audio Working Group:

<http://lists.w3.org/Archives/Public/public-audio/>

<http://www.w3.org/TR/webaudio/>

<comment><USER10> No. It doesn't fly. Have you ever wondered _why_ there were standards, and why a standard is _called_ a standard?

According to this, "HTML5" is made for various specs to _compete_. Except, HTML is a standard. HTML5 is an upcoming standard (or so does it claims to be).

If everyone includes APIs in their _production_ browsers (in case you haven't noticed, most of the various features are actually in production browsers, despite what you wrote) that are incompatible, that's no standard, and there will _never_ be a standard, no matter how you put it, as there will _always_ be a never ending competition for the "new APIs". NEVER ENDING.

So, if vendors start implementing API that they don't call HTML(5), but just their own, well guess what? That's "webkit-HTML", and it happens to be exactly how I dubbed it.

So no. HTML5 is not wow, and yes, that site, like many others, is webkit-only, on production webkit browsers. That's un-defendable.

<comment><USER9> I'm not sure I understand the bad part you're objecting to.

Is it that webkit is implementing different parts of "HTML5" and related specs that haven't been finalized than other browsers? All the browsers do this, and it's a good thing. Not only are independent implementations _required_ for w3c specs to even become finalized, it's also widely accepted that implementations of features (prefixed and possibly guarded by runtime flags or confined to non-stable versions of a browser) are often the strongest case you can make for adding something to a spec in the first place. This is a difficult tightrope to walk, as you can easily go too far out ahead of a working group, but it has served us pretty well in the last few years.

Or is it that this slide deck is using non-standard features to give a preview of what the standards working groups are working on? Here's a not very hypothetical hypothetical: if you were giving a talk on upcoming Javascript features in es6, and you wanted to talk about the yield keyword, a great way to show it in action is to add a 'type="application/javascript;version=1.8"' to your script tag, which allows the use of yield today in shipping Firefox browsers[1].

To be sure, you're not recommending that developers go out and build their apps around this right now, because it only works in one browser (maybe two if v8 has added yield behind their "Enable Experimental JavaScript", I'm not sure). But showing it in action is a powerful education tool.

Now, if you wanted to publish your slide deck afterwards, what would you do? A pdf of your slides is pretty lame, at least on its own. It was interactive during the presentation, there's no reason it shouldn't be interactive when playing with it online, but you'd have to warn that it only works in Firefox. You could add that static pdf version as well, but the code is already right there in the page, and this is a developer audience, so they almost certainly have Firefox installed no matter what browser they use for day-to-day browsing.

It's really not that big of a deal. Save the anger for actual attacks on the web.

[1] [https://developer.mozilla.org/en- US/docs/JavaScript/New_in_J...](https://developer.mozilla.org/en- US/docs/JavaScript/New_in_JavaScript/1.8)

<comment><USER10> I don't see any anger in my comments, simply disappointment. Let me explain it a last time in a very simple manner:

I'm no developer and I must use Chrome to see this website properly, and it's far from the only website with that issue. In fact, even if I was a developer, I should be able to view any site that's designed for production browsers properly, with any browser, as long as they're not buggy.

So, there's a standardization problem. You can keep trying to defend it and how it's all made in good faith - it might even be - but the end result is unfortunately, the same.

</comment></comment></comment></comment></comment><comment><USER11> If you used this many gratuitous visual effects in a Power Point presentation I'd think you were an idiot with no sense of taste, but because it's being rendered in a web browser I think this is impressive for some reason.

<comment><USER12> Personally, I think a lot of it is impressive, but the cube animation gets old really fast.

</comment></comment><comment><USER13> A HTML5 presentation that works only in Webkit. No thanks, I am not interested.

Web and HTML5 is about standards, and my life would be easier if IE would not do the things it did in past, now I'm seeing the same from Webkit.

<comment><USER14> It only seems to work on Chrome right now. Safari doesn't support the FileSystem API, so it doesn't seem like even Webkit's enough.

<comment><USER15> I'm pretty sure some of it is broken in all browsers now because the specs for these APIs have all changed.

</comment></comment></comment><comment><USER16> Nope

<http://www.imgur.com/B19Rk.png>

No right arrow key means that even if I can use 2/4 of those html5 features, i can't use your presentation.

<comment><USER16> And on my netbook, I don't even see the arrow prompt because the page is too large by default. I have to zoom out.

<http://imgur.com/CxOVj>

</comment></comment><comment><USER17> I think everyone should keep in mind that this presentation was (seemingly) created in 2011, so a couple things might be out of date (e.g. BlobBuilder is now deprecated).

</comment><comment><USER18> Apparently to experience the wow i need to hit a cursor key.

</comment><comment><USER19> Everything looks great, other than the fact I'm still forced to use a broken language to interact with shiny new APIs:

<https://gist.github.com/4471029>

Then you want me to manipulate binary data with an array implementation _this crappy_?

<comment><USER20> So it uses lexicographic sort by default, just pass a custom comparator no?

<https://gist.github.com/4471254>

<comment><USER17> or if he doesn't even feel like passing a custom comparator every time and just wants to default to increasing numerical order:

(function(){var a=function(a,b){return a>b},b=Array.prototype.sort;Array.prototype.sort=function(){return b.call(this,a)}})();

</comment></comment></comment><comment><USER21> Google is doing the Internet no favors in trying to out-douche Microsoft in the web browser arena.

</comment><comment><USER22> I am on the verge of breaking ground on a large-scale corporate project in which WPF/XAML is the tech of choice for UI. I have received criticism for even suggesting that HTML5 is "up to the job" but I feel like this completely validates my point.

<comment><USER23> You'd feel differently, if you'd see how slow this presentation runs on my super-duper (seriously) laptop.

</comment></comment><comment><USER24> I hate that we are back to the days of "works best on xyz"

Firefox ran it just fine.

</comment><comment><USER25> "press → to move on"? Seriously? I want to use my mouse.

</comment><comment><USER26> it seems that javascript now has global variables

        PERSISTENT = 1
        TEMPORARY = 0

</comment><comment><USER27> Gah, I would pay HN monthly if someone tagged all such links [Best Viewed in Chrome-only] instead of me clicking through and fiddling with various things. As an Opera user, such kind of links are very prevalent on HN.

Or maybe it was just my fault for clicking on something with "HTML5" in the title.

</comment><comment><USER28> So is WebGL part of HTML 5 because Mozilla and Google are implementing it? Would Google Native Client <https://developers.google.com/native- client/overview> be part of "HTML5" if Mozilla was implementing it?</comment>


What Kind of a Thing is Twitter? - <AUTHOR> http://www.aaronsw.com/weblog/twitter <comment><USER2> An insightful essay, as always, but I think Aaron both overstates the extent to which persona is manufactured on Twitter and understates the extent to which persona is manufactured in interpersonal exchanges.

That is, we're always giving a performance of ourselves to others, but to the extent that we are what we do, we _are_ the personas we choose to present.

Twitter as a medium obviously has some specific characteristics that both enable and constrain what kind of communication can take place across it; but again this is true of all media - including face-to-face conversation.

</comment><comment><USER3> I think the original question is unanswerable, since Twitter is a different thing for different people, while the author focuses to just several use cases. I personally use Twitter mostly as a real-time search engine and it proven to be useful in this regard.</comment>


Gift HN: Understanding SEO Book (pdf, mobi, ePub) - <AUTHOR> https://gumroad.com/l/understanding-seo/hacker-news <comment><AUTHOR> Hi, after another SEO post made it to the HN frontpage which showed again how bad survivership bias works I want to gift HN this book. The one book to get rid of SEO once and for all. Well at least this is the lofty goal of this book. Think SEO for system thinkerers.</comment>


How to build Google AdSense for Bitcoin - <AUTHOR> http://deepinsand.com/post/50424055179/how-to-build-google-adsense-for-bitcoin

<comment><USER2> Interesting idea. Though, if you were going to market to owners of bitcoins, it might be worth testing how homogenous the market is, you might do better in the short term selling books on investing or bitcoin specific tools.</comment>


Show HN: Trigrad, a novel image compression with interesting results - <AUTHOR> http://ruarai.github.io/Trigrad/ <comment><USER2> This is the difference between someone who actually does something and academic work that claims to achieve something. This is half-done, but it WORKS and you can use it and understand it right now.

I had the opportunity to try and implement a "novel" algorithm for image downscaling. I contacted the authors - one replied that he can't reveal the source code, and the other didn't reply. So I went ahead and invested about 2 weeks implementing and optimizing it to the point where it worked - but the results were far from what we wanted. If they just supplied a demo program where I could see if it worked for our case, it would be much better.

<comment><USER3> I mean the author no harm, nor want to talk bad about his work. His work is very cool and I like the amount of information that he gives. Yet, this is far from comparable to academic work. I am inclined to say that you mixed up the sides in your statement, IMHO.

Academic work would have explained the benefit of the algorithm. It would have presented it with a side by side comparison with common algorithms and explain it's pros and cons against these algorithms. It would have covered all aspects like quality, size, performance to name a few. It would have explained me if I could use this new algorithm in my field, and why (not). None of this is present in the current work shared here. You say this is half done, I would say this is not even 20% done..

To end on friendlier terms, I completely agree that more academic work should have been made available. Yet, I know the pressure in that world and can understand keeping it for yourself for a while. More often than not you will have to drag out a couple of other papers in the same field.

<comment><USER4> This is the traditional model of academic publishing that was driven by the limited communication and collaboration ability of the time. A study like the one you describe would be done by multiple co-authors (I don't think I've written an image processing paper that doesn't have at least three people as authors, all of whom actually contributed to the work one way or another.)

Furthermore, the traditional paper would have to make a lot of guesses about the kinds of images people were likely interested in and the range of characteristics that mattered. What kind of noise spectrum due your images have, how does increasing contrast affect things, what about the spacial frequency distribution in the images themselves, and so on... Different fields have radically different "typical" images and the attempts at covering a reasonable range of the in traditional papers were not necessarily very limited.

Instead, I see this model of publication as exploiting the possibilities of the 'Net to allow more effective communication and collaboration. And it _is_ publication: it is making public, which is what makes the difference between science and alchemy... if there had been a "Proceedings of the Alchemical Society" we'd have had chemistry a thousand years ago.

What this model of publication does not (yet) have is a reputation mechanism, but it isn't clear it needs one, because you can see the results (and the code) for yourself. As such, I think the author has not only done something interesting in the image compression space, they are pointing the way on the future of scientific publication.

Measuring this model as if it could be described as a certain amount of progress along a line toward the old endpoint is mistaken. This is a paradigm shift, and the models are incommensurable.

<comment><USER5> > What this model of publication does not (yet) have is a reputation > mechanism, but it isn't clear it needs one, because you can see the results > (and the code) for yourself. As such, I think the author has not only done > something interesting in the image compression space, they are pointing the > way on the future of scientific publication.

The original post is certainly interesting, but that doesn't mean it extends our knowledge of image processing. For example, see this 20 year old paper that proposes the idea:

[https://www.cs.cmu.edu/~./garland/scape/scape.pdf](https://www.cs.cmu.edu/~./garland/scape/scape.pdf)

This is something peer review would pick up on... That said, I don't mean to discourage the author. It's a great idea and nicely presented!

<comment><USER6> Maybe OP or someone else will take the initiative to add that and other reference material to the project's wiki.

</comment></comment></comment></comment></comment><comment><USER7> Garland and Heckbert had a nice algorithm for this sort of thing in their 1995 paper, "Fast Polygonal Approximation of Terrains and Height Fields." The paper is mainly devoted to height fields, obviously, but at the end they demonstrate that their algorithm is also effective at triangulating color images for Gouraud-shading as well.

I'd be curious to know how this stacks up in terms of speed and quality.

EDIT: Oh yes, and there's also "Image Compression Using Data-Dependent Triangulations" and "Survey of Techniques for Data-dependent Triangulations Approximating Color Images", both by Lehner et al., 2007. I don't mean to discourage you here, just pointing out the bar to be beaten. It's a cool idea.

<comment><USER8> To the OP: There are also several other tools for scattered data approximation/interpolation developed in the last few decades, both mesh-based and mesh-free. Linear interpolation using barycentric coordinates on a triangulation is fast (and might be the most practical method for this particular use case), but nowhere near as good a result as you can get via other methods.

See e.g. [http://scribblethink.org/Courses/ScatteredInterpolation/scat...](http://scribblethink.org/Courses/ScatteredInterpolation/scatteredinterpcoursenotes.pdf)

<comment><AUTHOR> Not sure if that applies for my purposes, since I'm not actually using linear interpolation barycentric coordinates (I don't think that's possible). The barycentric coordinates supply the gradient within themselves.

I may have to read further, though. That's a lot of math.

<comment><USER8> What you're calling a gradient is also known as linear interpolation.

</comment></comment></comment></comment><comment><USER9> I have an improvement to this:

Run the edge detection _twice_. That way you get better gradients along sharp edges.

Single run: [http://i.imgur.com/kusJDRo.png](http://i.imgur.com/kusJDRo.png)

Double run: [http://i.imgur.com/rHYSzpq.png](http://i.imgur.com/rHYSzpq.png)

To me, at least, the double looks better. Especially in the stems.

Just add the following to FrequencyTable.cs, after line 18 (var edges = ...)

        detector = new SobelEdgeDetector();
        edges = detector.Apply(edges);

<comment><USER10> The double run does look a lot better.

</comment></comment><comment><USER11> Since the order of the samples doesn't matter, could you sort them somehow so the Gzipped stream of samples can be compressed better? (E.g. sort the color index by component average, by red, by maximum component, ... and sort the point index by color.)

Have you tried struct-of-array (AAA...BBB...) instead of array-of-struct (ABABAB...) layouts?

<comment><AUTHOR> I tried your struct-of-array idea, and that's produced an okay improvement ~1%.

Sorting them seems tough as the index of each value must match for each channel, so any sorting would have to occur beforehand. Except that is already sorted by x-y values, and my attempts otherwise have failed to produce results.

<comment><USER11> I'm missing where they are sorted by x-y values.

I did a quick and dirty experiment: [http://pastebin.com/NjZNRjw1](http://pastebin.com/NjZNRjw1)

Seems about 30% smaller than before on [http://i.imgur.com/5zwCEF5.png](http://i.imgur.com/5zwCEF5.png)

<comment><AUTHOR> Wow, that works pretty well. I was mistaken in thinking that either the Dictionary class or the process of sampling would sort them.

Mind if I merge that? Or you could submit a pull request. Either would be great!

Also, do you know of any resources for learning about how to optimise for gzip compression? Google is just telling me about compression for websites.

<comment><USER11> Sure, feel free to merge.

I don't know any resources specifically about gzip compression. Demosceners have very practical and fun compression know how, so maybe look into: [http://www.farbrausch.com/~fg/seminars/workcompression.html](http://www.farbrausch.com/~fg/seminars/workcompression.html)

</comment></comment></comment></comment></comment><comment><USER12> This makes me feel obligated to share my ongoing master thesis project. Among other things, my approach is the reverse to this, namely decimating a full detail mesh using edge/ridge detection.

[https://femtondev.wordpress.com/2014/12/18/not- delaunay/](https://femtondev.wordpress.com/2014/12/18/not-delaunay/)

[https://femtondev.wordpress.com/2014/12/12/principal- compone...](https://femtondev.wordpress.com/2014/12/12/principal-component- analysis/)

</comment><comment><USER13> Nice pictures, but they should really have indicated the filesize for the 3000-sample version and given more details about this part:

 _the samples can be saved and zipped up_

Depending on the algorithm the results could vary wildly - there could be some characteristic of the samples that make them encodable in a smaller/easily- compressible way.

It also reminds me of this:

[http://codegolf.stackexchange.com/questions/50299/draw-an- im...](http://codegolf.stackexchange.com/questions/50299/draw-an-image-as-a- voronoi-map)

</comment><comment><USER14> Very impressive!

How might the final rendering look if it used some of the standard triangle shading techniques? Treat the sample points as coordinates in a mesh, assign colors to those coordinates based on what you sampled, then interpolate colors for the points between those coordinates using something like Gouraud or Phong shading (without the lighting). That might produce a satisfying result with fewer samples.

I wonder if this could be used as an image resizing mechanism? Take a large number of samples, then render the resulting image using those samples and a smaller or larger size. Or, generalizing further: turn the image into samples and associated colors, apply a transform to the sample coordinates, then render.

This also reminds me quite a bit of the algorithm used in [http://research.microsoft.com/en- us/um/people/kopf/pixelart/...](http://research.microsoft.com/en- us/um/people/kopf/pixelart/paper/pixel.pdf) (for which, sadly, code is not available). I wonder if some of the techniques from there could improve the quality of the results with fewer samples?

<comment><USER15> That's exactly what it does, no? (Standard triangle shading technique, interpolating colors between the mesh, Gouraud shading without the lighting.) Phong shading (interpolate normal vectors) wouldn't make sense, as the mesh has no normals.

<comment><USER14> It isn't obvious from the article that the color interpolation used here matches Gouraud.

</comment></comment></comment><comment><USER16> This is neat and the illustrations are great. A few things that will probably give large gains while being low hanging fruit:

1\. There are triangle interpolation schemes out there now that are smoother than barycentric coordinates which should give much better results.

2\. Look up DDE - Data dependent triangulation. It switches edges to connect points to neighbors that have similar values. It will get rid of some of the spikiness and leave more smooth gradients.

3\. The running the edge detection twice scheme mentioned in the comments works because you want the change of the gradient, and you need both sides represented. So the double edge detection will give you manifolds, which is good.

4\. Instead of having arbitrary vertex positions, you can just specify the offset to the next point. Then instead of an x and y value you can use one (possibly uint8_t) value to encode where the next point will go.

5\. You can also chop some accuracy off of colors. In RGB, you can lose accuracy in blue and some in red. In other schemes like you can keep accuracy in luminance and lose it heavily in hue and chroma/saturation, etc.

<comment><USER9> W.r.t. running the edge detection twice. Is there a name for this operation? Finding points that are near an edge but not on the edge?

<comment><USER7> The Laplacian.

<comment><USER9> Weird. I hadn't made the connection with Physics there. I suppose it is a general mathematical operator.

Thanks!

<comment><USER7> Yes, it's not exactly equivalent here but it's pretty close. Basically, Sobel kernels are analogous to the 1st derivative and the Laplacian is analogous to the 2nd. You'll also often see the Laplacian combined with a Gaussian (the "LoG" operator) for pre-smoothing since it tends to be particularly sensitive to any noise.

<comment><USER9> Being a second derivative, I suppose it would be.

So does that mean that there are other kernels that approximate derivatives "better"? Like with finite differences?

</comment></comment></comment></comment></comment></comment><comment> atinoda-kestrel Hmmm... I wonder if there's potential to use this concept for video. Not this implementation, naturally, but the concept.

I'm a little too sleep deprived to think through this entirely, but just off the top of my head, it seems like over the course of a few frames that an edge in motion would wind up as a series of triangles where one of the points remains static while the other two shift away from it -- in other words, the Trigrad approach would yield motion blur as an artifact. And then when the next key frame comes along, the remaining point gets reselected, probably further along the motion path... So much like a normal differential approach you wouldn't need to store all of the point locations each frame, just the ones that change and which triangle they belong to.

It might be hard to make it stream-friendly though, since obviously the compression efficiency depends heavily on the storage structure (see pjtr's comments)...

<comment><USER7> There's been some work on encoding video with triangles. See "Video Compression Using Data-Dependent Triangulations" ([http://www-home.htwg- konstanz.de/~umlauf/Papers/cgv08.pdf](http://www-home.htwg- konstanz.de/~umlauf/Papers/cgv08.pdf)) for example.

</comment></comment><comment><USER17> I really like the look at low sample rates, but the stems on the flowers look rather jaggy even with 100,000 samples.

It would be nice to have the original image for a more detailed comparison. As beautiful as the picture is, the depth-of-field effect makes comparison between the left and right sides of the image a little tricky.

</comment><comment><USER18> How are the sample points selected? I get that they're weighted according to edge intensity, but what kind of distribution are you using in cases where there is no edge?

EDIT: I've read the code - it seems to be using random sampling. Still not entirely sure how a point can be placed at a place with absolutely no Sobel response - maybe it can't, which would make sense. My question arose after looking at: [https://i.imgur.com/9YHOtQ0.png](https://i.imgur.com/9YHOtQ0.png) and then [https://i.imgur.com/XRF7mz4.png](https://i.imgur.com/XRF7mz4.png). It looks like samples have been placed in regions with no response, but perhaps my eyes just can't see the edges.

<comment><AUTHOR> This is an area that needs work, but basically there's the table of 'edge intensity' that gets multiplied by a constant baseChance variable for every pixel.

baseChance = 8 * samples / (width * height)

samples is the desired number of samples.

Again, this needs work. I'm pretty sure there's a way I can more accurately match the number of output samples to the desired number of samples.

Edit: And no, it can't produce a response if there's no edge (a value of zero). However, there's always some level of noise. This is true of the example you've shown - there's very light noise visible.

<comment><USER18> I see - thanks for the explanation!

Have you tried using Canny Edge detection rather than Sobel? It might help a bit with the noise. I've just attempted it, but can't seem to get Canny working under Mono (I've not got a windows machine at the moment).

</comment></comment></comment><comment><USER19> Not sure exactly, but wouldn't these images theoretically scale up better than jpeg? i.e. Making a 600x800 image out of a moderately compressed 300x400 seems like these would potentially scale better than jpeg (for some types of images).

<comment><USER20> I think you'd just start to notice the fuzzy artifacts more in a larger image and need to have more and denser samples to make up for it.

</comment></comment><comment><USER21> Some more explanation about barycentric coordinate would be appreciated.

<comment><USER15> Barycentric coordinates are "weights" (u, v, w) that determine a point P on a triangle (A, B, C) by weighting the triangle corner points. You can calculate the cartesian coordinates of P = u * A + v * B + w * C.

Since the weights u+v+w = 1 you actually don't need all three: u = 1-v-w, so P = (1-v-w) * A + v * B + w * C = A + v * (B - A) + w * (C - A).

<comment><USER21> Gotcha. That makes sense.

</comment></comment></comment><comment><USER22> Reading how this works, I'm a bit disappointed in how the low sample images performs, particularly for the stems. It feels like one should be able to tweak this to get much better results in this situation. I'm disappointed in the amount of yellow over the stem.

Here's my first thought on what could improve that: samples are taken at edges, which is exactly where colors vary quickly. So perhaps samples should be taken in pairs, one on either side of the edge.

Fun project!

<comment><USER9> The "easy" way to do this is to run the edge detection _twice_. In other words, run edge detection, then run edge detection on the result of the edge detection.

</comment></comment><comment><USER23> Congrats! but beware of Gavin Belson.

</comment><comment><USER24> What about thresholding gradients (with adaptive threshold), storing resulting edges alongside (compressed with RLE f.ex.), and then blending it over the triangle gradients? It could remove some artifacts.

</comment><comment><USER25> Can you try it with the lenna benchmark image and post the results please?

<comment><AUTHOR> Here's Lenna reconstructed after 30,000 samples. [http://i.imgur.com/hlPonsO.png](http://i.imgur.com/hlPonsO.png)

The compressed data comes out to 303KB, which isn't that great. It's a pretty noisy image.

</comment></comment><comment><USER26> How does the speed compare to other compression algorithms?

<comment><AUTHOR> Currently compressing the example image (the one of the flowers) with 100,000 samples takes 1.5 seconds + 1.5 seconds for AForge's edge detection.

I'm sure this could be increased by a huge amount if I had a not-terrible CPU or if I did some major refactors to use the GPU.

<comment><USER27> How does it compare in quality/size vs PNG ? How about using examples where JPG are traditionally bad at, such as pictures with dark gradients leading to blocky artifacts? Would that process be more efficient there?

<comment><USER28> PNG is lossless, so I don't get the quality comparison.

I don't think this approach can compete with JPEG and newer transform based variants for natural photos (event at edge cases), but seems like it would be nice for lossy compression of logos/general internet pics.

<comment><USER27> > PNG is lossless, so I don't get the quality comparison.

The point is, is that technique in between JPEG and PNG in terms of quality/size or is it worse than JPEG altogether ?

</comment></comment></comment></comment></comment><comment><USER29> Try using something better than Zip. LZMA2/PPMd are very good.

This is what I use for backups:

        7z a -m0=PPMd:mem=256m -mx9 archive.7z file_to_compress

</comment><comment><USER30> haven't you tried applying the edge detection filter twice? i think this way the samples are taken not in the edge but before and after the edges, maybe it will end with a blurrier image but with less artifacts.

<comment><AUTHOR> This doesn't seem to have any benefit unfortunately. It seems like the current approach already produces the before-after edge effect.

</comment></comment><comment><USER31> This is very cool!

</comment><comment><USER32> "Not really well enough to try to push onto people. Current results show that Trigrad can only beat something like JPEG with optimal conditions."

?</comment>


Compensating carbon emissions - <AUTHOR> https://carbonaltdelete.eu/ <comment><USER2> This seems to be based upon the idea that the EU ETS system works. Which it doesn't. Since many years.

Far too many emission certificates have been given out for free to industries. And there are plenty of loopholes in the system.

<comment><USER3> > Far too many emission certificates have been given out for free to > industries.

My understanding was that that was only in the beginning, when the system was introduced. Businesses that previously polluted for free could continue to pollute for free for a transitional period. I may be wrong.

> And there are plenty of loopholes in the system.

Do you have a good source to read up on this?

<comment><USER4> If you speak German, this Wikipedia article explains the issues really well: [https://de.wikipedia.org/wiki/EU- Emissionshandel](https://de.wikipedia.org/wiki/EU-Emissionshandel)

Primary takeaways:

1\. Price is volatile, depending on weather and season

2\. For 2°C goal, the price per metric ton should be $50 but it's only €5.5

3\. Politics - elections, growth, and other factors play a significant role in setting cap and price.

<comment><USER3> > Price is volatile, depending on weather and season

Not sure why you think that is a problem. _Emissions_ depend on weather and season. It would not be a market if it didn't react to relevant aspects of reality.

> price per metric ton should be $50

There are too many certificates, agreed. I wasn't surprised to read that Parliament advocated stricter rules.

> Politics - elections, growth, and other factors play a significant role in > setting cap and price.

I don't find that in the article. It does say that the Commission screwed us over by empting airlines, but well, that's what we expect from the Commission.

Anyway, so far I'm not convinced about the alleged loopholes mentioned above. The system doesn't work as an efficient market, that is true. As far as I can tell, that could be fixed by stricter caps.

</comment></comment></comment></comment><comment><USER5> _What do I pay for?

As a non-profit organization, we don't make profit on our operations. All the payments we receive go directly to deleting emission allowances. The price we charge you for deleting one emission allowance consists of 3 parts:

1\. The price of the emission allowance. We buy emission allowances upfront and uses the price that was paid for it. Therefore, the price of an emission allowance might be different than the spot price at the time that you buy it. 2\. A transaction fee of 15%. We use the transaction fee to cover operational costs (such as web hosting and payment systems). 3\. VAT of 21%, imposed by the Belgian government._

<comment><USER6> The VAT is the big problem here; initiatives such as this one should not pay taxes as long as they are non-profit.

</comment></comment><comment><USER7> I would like instead to fund reforestation projects, which can have a positive impact also on the wildlife and the economy of certain regions, while capturing CO2

<comment><USER8> I would like to instead fund advocacy against carbon subsidies/for carbon taxes.

</comment></comment><comment><USER6> I really like this service; if CO2 emissions can actually be reduced simply by paying this extra amount, it is fantastic.

But is it really this simple? I arrived at ~120€ per year to offset all my CO2 emissions. (I live in a small apartment, don't use a car but fly quite a lot). If this extra cost is all it takes, we should increase taxes accordingly, at once. I would think that the price of producing all my goods and services with only sustainable energy (all the way to the raw materials of the plane I fly) is a significant multiple of this number. Has anyone done the calculation to arrive at a more specific number?

<comment><USER9> The amount is low now because of low-hanging fruit: easy CO2 mitigations that can only be done a few times. If tens of millions of people bought offsets, all the easy opportunities would be exhausted and the marginal ton of CO2 would be much more expensive.

That's the theory, anyway. We haven't tried it - currently, demand is limited even at these low offset prices.

</comment></comment><comment><USER10> Why all the defeatism?

Expressing frustration at the status quo is one thing, but I don't see how expressing a negative attitude toward incremental progress can be seen as more helpful than holding your tongue.

</comment><comment><USER11> This sounds like a naive response to a fundamentally flawed system. The EU ETS has been a failure from the beginning. Commoditising pollution just leads to more abstractions and opportunities for fraud, laundering and lack of accountability. It takes the onus away from government regulation and puts it in the hands of the market whereby those most responsible for pollution already have enormous agency to influence market outcomes in their favour.

<comment><USER12> Are you implying that massive industrial interests DON'T have the capability to buy special political influence?

<comment><USER11> Of course they do, but ceding full control directly to them is hardly the best counter to that.

</comment></comment></comment><comment><USER13> If companies can't pollute in the EU, that just means the pollution happens elsewhere.</comment>


IBM wants to change US law to allow software patents again - <AUTHOR> http://techrights.org/2017/02/06/ibm-marian-underweiser-lobbying/ <comment><USER2> Alice didn't 'disallow' software patents, as they weren't 'allowed' before Alice. In fact, software patents have never been patentable subject matter in US law. While Alice certainly has made it more difficult to protect software- related inventions (lol, that's the term we use) it is still very possible to get a patent issued on an invention which you would consider a 'software patent.' So it is not at all surprising that the IPO wants to lobby against Alice and anything that makes getting patents harder. But I'll submit this to the HN community: the biggest players such as IBM will always be more likely, in the aggregate, to get patents on what they want. They have the biggest budgets, the most lawyers, and the longest term mindset to stick with it. Sometimes it can take a decade to get a patent issued. Smaller companies with limited budgets and more direct needs are, in my opinion, affected more by anything that makes patenting harder. So keep that in mind when thinking about these issues.

EDIT: to address the substance of the IPO's proposal, it's actually mostly good IMO. One big focus of this proposed amendment is to separate 101 (eligibility) from the other requirements of patent law, like 102 (novel), 103 (non-obvious), and 112 (written description). This is by and large a good thing. Whether or not a patent is eligible should not be muddied by whether or not it is actually new. It confuses the issue and has led to some really bad law. And the wording of the proposed 101(b) doesn't jump out at me as a bad idea, although I'm not sure what the hidden gems are in that language. It appears that the intent is to make an easy, bright-line rule which may be more inclusive than the current standard, but would almost certainly be easier to administer. And that is a win for everyone, because as I allude to above, the big players win when there is ambiguity. And I personally believe that software should be patent eligible, the work that a software engineer does is every bit as meaningful and important as a mechanical engineer. Every software producing professional should be on board with this. But, if it is not novel and/or obvious, then it should not be patented. But that is the realm of 102/103, not 101. Basically, the software patent 'problem' should be addressed by more flexible non-obviousness rather than blanket denials of the entire category.</comment>