Paul Graham's 'lowball' accusation of Google Ventures - <AUTHOR> http://venturebeat.com/2012/09/07/lowball/

<comment><USER2> Wow what a shitty article. This whole thing is killing pg's first comment in the thread yesterday

 _Just so everyone understands, I was not saying that Google Ventures is a bad investor and should be avoided. If we thought that, the email would have been a lot shorter. I was just talking about a structural problem that happens when you've already raised some money on a convertible note with a valuation cap, and an investor offers to invest at a lower cap_

From an author who obviously _read that thread_ she's completely ignoring what he said with crappy statements like this:

 _Considering this comes from a man who just asked his portfolio to blacklist an entire venture firm, this might read as a rather contradictory statement._

<comment><USER3> Ignoring the article's contents for a second, let's look at how clearly doctored the image is to make PG look insidious.

Before: [http://cdn.mashable.com/wp-content/uploads/2010/04/paul- grah...](http://cdn.mashable.com/wp-content/uploads/2010/04/paul-graham.jpg)

After: [http://venturebeat.files.wordpress.com/2012/09/pg- lowball.jp...](http://venturebeat.files.wordpress.com/2012/09/pg-lowball.jpg)

<comment><USER4> What a contrast a zoom and filter can have on an image... The actual image is him intently/genuinely listening to what I can only suppose is a question from an audience member of some kind. And the Venture Beat cropped version is supposed to make it look like he's coldly calculating someone's demise.

<comment><USER3> It's hard to tell, but the image has also been rotated, which makes it seem like he is leaning forward more intently. Click the little "compare" link on the TinEye result to see what I mean:

[https://www.tineye.com/search/b2e69b229df764bf6bd92bb4ca65f1...](https://www.tineye.com/search/b2e69b229df764bf6bd92bb4ca65f11170822d8e)

</comment></comment></comment></comment><comment><USER5> How did this become such a big deal? Raising money, especially for the first time, is a stressful experience full of uncertainty. When we did it, one investor (not Google Ventures actually) low balled us and a lot of our peers. We were first timers and it freaked us out.

PG would have no problem with writing "avoid Google Ventures". He didn't because that's not what he meant. It's simply about saying hey I heard that Google Ventures lowballs, if they do it to you don't freak out.

</comment><comment><USER6> For more discussion, see <http://news.ycombinator.com/item?id=4486835> which was posted previously.

Here is a td;lr of this particular take on the topic.

 _Google Ventures' low valuations are justifiable for the same reason that YCombinator's low valuations are justifiable - in addition to the money they are providing a tremendous amount of support to the companies that they invest in, and the value of that is bigger than the dollar amount invested. However Paul Graham may be biased because Google Ventures is a reasonably direct competitor._

Most of that is reasonable. But my personal guess is that the final point of the article is entirely wrong. My personal guess is that Paul Graham is behind the scenes dealing with an unfortunate startup that ran into trouble due to the issue he's talking about, and thought it wise to warn others. Of course it is in nobody's interest for him to reveal which startup or the nature of their trouble. So we (hopefully) will never get the real story.

</comment><comment><USER7> This article annoys me. Here seems to be the general structure:

* Generalize PG's statement until it is basically irrelevant to the point he was trying to make.

* Fill in a whole article speculating about the generalized interpretation of PG's comments.

* Say what PG actually meant in the end without showing any indication that the author actually understood what he was talking about.

* Paste a badly edited "primer" trying to explain the argument because the author obviously doesn't get it.

</comment><comment><USER8> _But in talking with a slew of Y Combinator alumni from the past three years of YC batches, we found that Graham himself takes between 5 percent and 7 percent of companies for amounts ranging between $12,000 and $20,000. Those amounts aren't any great secret; YC publishes approximations on its own site. But while the founders said YC insisted that these terms had nothing to do with their companies' actual valuations, on paper, it made the startups worth between $228,000 and $287,000 on the high end._

This is based on the faulty assumption that $12-20k is all you get for getting into YC.

<comment><USER9> Or based on an assumption that YC gets more than just equity out of the people that get into it.

</comment></comment><comment><USER10> This article written purely just to generate traffic. The author manufactured an 'investor battle' out of this? What?

<comment><USER11> It does read a bit like some classic Arrington from the early TechCrunch. Clearly it fills some need or it wouldn't get the traffic or attention that it does. Its like reading 'Dear Abby' to feel better about your own life. After a while you come to realize that its not 'real' in the sense its sensationalism for sensationalists sake, ValleyWag2.

The only part that bothers me is that these kinds of people thrived during the dot com 'boom'. So their reappearance, like the swallows in Capistrano, seem to herald a change in the climate.

</comment></comment><comment><USER12> Wow, the hate.

I don't know whether the author (or VB) has a beef with YC, but it sure looks so here. (I'm not running a startup nor am I especially into SV soap opera, but this piece speaks for itself).

<comment><USER13> I got the same impression, and it's probably coming from the author who clearly doesn't really understand how incubators work.

</comment></comment><comment><USER14> In regards to the company complaining about pg's "valuation", if they felt they were far enough along to raise a priced round of funding, then why didn't they do that instead? Companies don't enter an incubator for the funding, so comparing that to true valuations is ridiculous. This is just a poor attempt at trolling YC and pg.

</comment><comment><USER15> _"he's trying to keep his money-makers from defecting to a competitor."_

This makes no sense. It was a private email to existing YC companies. YC has already make their investment, there's no "defecting" to be done.

</comment><comment><USER16> >> Both entities are here to make money from the labor and success of entrepreneurs, essentially operating in a predatory role.

What is this person doing writing for Venturebeat?

</comment><comment><USER17> > The kicker, and the truly poetic part of all this, is, as Graham hints, that > all these valuations are made up, anyhow.

Of course they're made up, everybody knows they're made up. They are a response to market demand to invest in companies at that stage (especially ones that come out of YC). The same is true of companies entering Series A, IPOing, or publicly available.

I'm surprised at VentureBeat's reporting here. If you're experts in "Venture", I would expect you to know that valuations are always made up, without needing PG to hint it for you.

</comment><comment><USER18> Is it just me or does this author have an affiliation with TechStars? (For instance: see <http://vimeo.com/5346690>)

<comment><USER19> She did an interview with another accelerator three years ago, that makes her biased against YC? She's a tech journalist who's done a lot of interviews.

</comment></comment><comment><USER20> This seems to have just gotten out of hand. How did this memo get "leaked" anyway? I don't think article is as negative as others are stating but it seems unnecessary.</comment>


From a Mailchimp email and Wufoo form to $25k in 3 months - <AUTHOR> https://medium.com/who-what-why/c744d79a6e76 <comment><USER2> A classic pivot: "This gold mining thing isn't working out, perhaps we should just sell goods to the other miners".

<comment><USER3> As someone who's working on the exact same concept for another domain (freelance designers), I've come to realize this is one of the least original business models ever (there's about 10 similar services in my space alone).

Still, it fills a need and people are ready to pay for it, which is more than you can say for a lot of startup ideas…

<comment><USER4> Just 10? Have you been looking with both eyes closed?

</comment></comment></comment><comment><USER5> Is that $25k in revenue? Profit? Or total transactions from which you take a %?

Just curious. I really like your lean approach.

<comment><USER6> That 25k number was total transactions from which we take a 15 percent commission.

<comment><USER7> So you've made $3,750 in three months?

<comment><USER8> $3,750 in 3 months is not bad at all. It is super difficult to get something off the ground. Once you're in motion, it can grow pretty fast.

<comment><USER7> I wasn't scoffing at the number, I was clarifying the honesty of the number.

</comment></comment></comment></comment></comment><comment><USER9> This reminds me of Kyle Braggers Tinyproj project. I really wish he hadn't sold to GroupTalent (which subsequently killed it).

<comment><USER6> Ya, I loved Tinyproj when I was working freelance before ooomf. Hated to see it go.

</comment></comment><comment><USER10> Good stuff. Congrats to the founders on the pivot and the success.

Getting the MVP approach right is hard. Really hard. Either that, or I have just been doing it wrong. We have one line of business that is our bread and butter. It came up the old fashioned way: getting in the trenches, gutting it out, and tweaking the model until we gained traction. Since then, we have launched no less than 3 new businesses. Two were shutdown and one is currently languishing.

The challenge is marketing. It's hard, there is too much noise, and when the product is not refined, conversions can suffer. So, it can be difficult to discern whether your company is failing because of the minimal product (especially in these days of "high design"), because of some other execution element, or just no market fit.

I also think the MVP approach is suitable to businesses with specific characteristics and these may be relatively rare. In this case, the business already had fairly extensive relationships with its target market on both sides of the equation. That was key, I believe, as much of the marketing legwork had been done and the established trust could override any qualms about such a minimalist approach. Also, the nature of the business was such that simple forms and manual processes were sufficient to start. That is frequently not the case with tech businesses.

This is not to disparage their accomplishments in the slightest. It was an astute pivot and their approach was smart. It's just that the mantra of MVP, fast iterations, fail fast, etc. has been the magic hammer lately, and too many companies have been nails.

</comment><comment><USER11> This is the kind of writing I love to see from founders. It's first-hand experience, and any advice is accompanied by narrative that explains the line of thought. It doesn't just seem as though it came down on stone tablets from gods of startups. In a word, it's _practical._

</comment><comment><USER3> Funny, this is exactly how I started Folyo ([http://folyo.me](http://folyo.me)) as well (which is the same thing but for freelance designers).

The only difference is that I used Posterous as well to get an online archive of each project (you could post directly form Wufoo to Posterous if I remember correctly).

Edit: from reading the post I thought they catered only to app developers. After taking a look at the site, it seems that they do designers, so they're a direct competitor.

Others include:

[http://onsite.co](http://onsite.co)

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

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

<comment><USER12> I think you mean [http://onsite.io/](http://onsite.io/) ;)

</comment></comment><comment> k-mcgrady Thanks for writing this. I'm launching a product this month and while building it I regularly fall into the trap of trying to create the vision I have in my my head that's fully automated rather than the MVP that requires some manual operation.

Your post reminded me of the recent PG essay [1] "Do Things that Don't Scale" which I also found really useful.

[1] [http://paulgraham.com/ds.html](http://paulgraham.com/ds.html)

</comment><comment><USER13> Great post, thank you. I'm wondering, when you "manually contacted the best developers", was this a telephone call or an email? I'm having a hard time finding the "fine line" of annoying telemarketing call or not. Although the service I provide would genuinely be useful to the one I contact (as useful as your service), it's hard not to sound like a telemarketer nonetheless.

</comment><comment><USER14> Isn't anybody going to talk about the irony of a developer service that found success without writing any code? I think the take away is git or ftp, ruby or php, sql or a text file, json or xml. Customers don't care, not even developers. I find that interesting.

</comment><comment><USER15> Nice work people, I've read a number of your blog posts and one in particular stuck with me (the one about getting press). You've certainly got your own PR and marketing in general nailed, glad to hear you've now nailed your product.

<comment><USER6> Thanks Simon. That means a lot.

Here's the link to that getting press post: [https://ooomf.com/blog/post36194316012getting- press/](https://ooomf.com/blog/post36194316012getting-press/)

</comment></comment><comment><USER16> How exactly does the money back guarantee work? After a developer does all the work for a project, the project owner can just say he's not happy with it and wants a refund? There must be some safeguards in place to prevent abuse...

<comment><USER6> For each milestone or project, the details of the deliverables are put into the system. This way, if there's ever an issue (hasn't been yet), we look at the documentation to make a decision.

Because the projects are vetted as well, this decreases the chances of this happening.

</comment></comment><comment><USER17> Slightly off topic, but the website of the company being talked about in this article ([https://ooomf.com/](https://ooomf.com/)) take a REALLY long time to load on my computer.

<comment><USER6> Thanks for the heads up. We're working on it now.

<comment><USER18> Holy crap does the site's landing page look like Simple.

<comment><USER19> I don't think these are the only two sites using a big hero image overlaid with white Gotham/Lato/Proxima Nova headers...

<comment><USER20> It instantly reminded me of simple as well. Both top fixed headers with orange buttons and large BG image with a white background. There are more for sure. The basic app/tool website layout.

<comment><USER21> Both sites use twitter bootstrap with a few font changes, among other things.

<comment><USER18> Didn't mean to come off so accusatory. I had simple open in another tab at the time and thought it was weird that the sign in link had changed text before I realized what was going on :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> This is encouraging. But it's not an MVP approach as much as a validation approach. They validated the idea/product with Mailchimp. The product didn't come until they started building something to "productize" what had already been validated manually.

This is what I want to do with a new type of email-based shopping experience. We'll see.

</comment><comment><USER23> Great post. I especially loved the screen shots of the signup and payment forms that very clearly had Wufoo branding all over them. It really goes to show that if you have a good idea you don't need to have all your I's dotted and T's crossed in your MVP; If people like the idea they'll look past those little lumps.

</comment><comment><USER24> The art of the MVP.

I love it.

Good Job.

<comment><USER6> Thanks a lot. It's been a crazy ride so far.

<comment><USER16> That is a great job - and a great post too. Thanks for sharing that.

</comment></comment></comment><comment><USER25> It's a great story. Mind if I ask how did you get the first programmers to sign up?

<comment><USER26> From what is in the post, it seemed too me that it was through personal connections

</comment></comment><comment><USER27> This is a great story that focuses on iteration.

There are several players in this field. Where are you sourcing all the project/clients from? I understand the connection to developers. What about the clients?

</comment><comment><USER28> I didn't see a link to their site in the article, so I thought I'd include one here - [https://ooomf.com/](https://ooomf.com/)

</comment><comment><USER29> Did your team end up ditching the mobile marketing effort? That's what I need for my next project.

</comment><comment><USER30> Anyone who's used both Aweber and Mailchimp? Which is better for a mid-level website?

<comment><USER31> I prefer to use self hosted autoresponders using a 3rd parties SMTP service (like Sendgrid or Amazon SES). Much cheaper and just as reliable (you pay 1 cent per 1000 emails sent, no pay-per-user-per-month).

You'll need to spend $XXX on a self hosted autoresponder first though, Interspire or arpReach are good.

</comment></comment><comment><USER32> Pretty interesting. I wonder if that is 25k per month, in total revenue, gross profit etc.

<comment><USER33> I believe it's 25k worth of projects submitted to their site in the first 3 months, from which they take a 15% commission fee (though they started with a $10 fee).

</comment></comment><comment><USER34> Have loved following ooomf since about March of this year. Brilliant, simple service.

<comment><USER6> Thanks! So happy you enjoy it.

</comment></comment><comment><USER35> This is leaner than lean.

</comment><comment><USER36> how often are you sending out the email newsletter?

<comment><USER6> It's usually 2-3x per week

</comment></comment><comment><USER37> thanks for the insight, very helpful</comment>


Ask HN: Best Non-Nest Home Thermostat? - <AUTHOR> I'm looking to remove my Nest thermostat and install the next best "smart" (remote access via smartphone) as a replacement. Features: privacy-oriented, preferably customizable (has API or I can deploy custom scripts). What would you recommend? <comment><USER2> We replaced our Nests with Ecobees after Google merged Nest accounts into Google accounts breaking all of my third party integrations for scraping our data and controlling them. No regrets.

<comment><USER3> I also like Ecobee. That's just from a functionality standpoint. I don't know much about their privacy.

<comment><AUTHOR> Thanks!

</comment></comment></comment><comment><USER4> Been using the Emerson Sensi (actually made by White Rogers) for a couple of years and love it.</comment>


The Cupertino Effect - <AUTHOR> http://en.wikipedia.org/wiki/Cupertino_effect

<comment><USER2> This is basically the reason why I never use spell checkers (that, and the fact that I write usually in three different languages).</comment>


Ask HN: Developer? How would you rate your communication skills? (1-5) - <AUTHOR>

Think about all walks of communication opportunities you run into... <comment><USER2> why not make it a poll?

<comment><AUTHOR> dont have enough karma to create a poll :(</comment></comment>


Noam Chomsky: 'There's never been a moment in human history' like this one - <AUTHOR> https://thehill.com/hilltv/rising/514212-noam-chomsky-theres-never-been-a-moment-in-human-history-like-this-one <comment><USER2> I'm not sure of the 'off the charts' point regarding Sweden and USA in terms of Corona virus. These countries currently rank #7 and #9 respectively on world wide deaths per one million population and significantly below other countries: [https://www.statista.com/statistics/1104709/coronavirus- deat...](https://www.statista.com/statistics/1104709/coronavirus-deaths- worldwide-per-million-inhabitants/)

Unless he is talking about raw numbers, but then that's not a very honest argument.

<comment><USER3> I see this point of view a lot, and it's a little scary. Per-capita numbers are obviously highly valuable, but why is the raw number of people dead somehow meaningless?

<comment><USER4> Not meaningless, but otherwise you are mostly comparing the _sizes_ of countries. Is being a bigger country (with more deaths) more dramatic than being a smaller one?

</comment></comment></comment><comment><USER5> Here Chomsky's biggest concern is a nuclear war, for Elon Musk it's AI taking over the world. Almost every culture has its own version of this story (usually religious) about the world heading to a final event, and a new world order emerging thereafter. We humans are obsessed with stories of the end of the world.

<comment><USER6> And for the first time in history, since the middle of the previous century, we have some capacity of ending the entirety of human life on the planet, with only a few hands involved.

</comment></comment><comment><USER7> I cannot tell if legit or fear mongering.

<comment><USER8> I'd say it's both. We're in a really bad place. But, as a species we've been in plenty before.

"There's in fact evidence that the average temperature dropped 20-plus degrees in some spots," after which the great grassy plains of Africa may have shrunk way back, keeping the small bands of humans small and hungry for hundreds, if not thousands of more years."

[https://www.npr.org/sections/krulwich/2012/10/22/163397584/h...](https://www.npr.org/sections/krulwich/2012/10/22/163397584/how- human-beings-almost-vanished-from-earth-in-70-000-b-c)

The only difference is that we're getting better and better at putting ourselves in really bad situations.

</comment></comment><comment><USER4> Counterintuitively, this is actually what makes me optimistic about the future. I think every generation before us (or near enough) thought they are at the end of times, humanity never faced such crises as now, and everyone else had it easy.

It doesn't mean we are guaranteed to solve our problems, but at least it means we have a track record of working out utterly hopeless situations. Or if you like, just because a problem seems hopeless and beyond the reach of solution, it doesn't mean it really is.

</comment><comment><USER9> > World-renowned scholar and activist Noam Chomsky said humans are living > through the darkest and most consequential time in history.

Not even close, unless you ignore collapse of Roman Empire, collapse of Han Empire, Mongol Invasion, The Plague, Religious Wars in Europe, Post-Columbus destruction of Native Americans, WWI, WWII, Cold War including Cuban Missile crises where a single person(Vasili Arkhipov)was all that stopped nuclear war between USA and USSR.

</comment><comment><USER10> Climate change and nuclear arms, yes. The rest probably pale in comparison to those. Not to diminish their impact but they're not existential threats to all mankind.

The current level of racial unrest, economic depression, and this pandemic will pass. Racism has always been a problem, the economy works in cycles, and we've got several vaccines in phase 3.

</comment><comment><USER11> Chomsky is a political activist. This doesn't have a place on Hacker News.

</comment><comment><USER12> .

<comment><USER13> Perhaps climate change is a crisis because it's clear there's no political will to deal with it in even an incremental fashion? The executive leaders of some countries, such as the usa, are even promoting the use of climate damaging outdated technologies like coal power plants.</comment></comment>


Babbel dumps freemium for language learning: "it just doesn't work" - <AUTHOR> http://eu.techcrunch.com/2009/11/10/babbel-dumps-freemium-for-language-learning-it-just-doesnt-work/

<comment><AUTHOR> Reposting my comment from TC:

I'm not convinced that Premium (or even Freemium) works all that well for most consumer products. Sure, there's a few home runs, but on the whole, the numbers are just very hard to squeeze any money out of.

10% is a very high conversion rate. Typically, any Freemium (or plain Premium) product will have somewhere around 1% conversion rate. Let's say you do really well and bring in 100′000 new potential users every single month (quite an achievement for any website, I'd say). With a 1% conversion rate, that's 1′000 new paying users a month.

Consumers, however, typically aren't very keen on paying much more than a few dollars a month (when they're willing to pay a subscription at all, which is rarely) – let's say they're ok with paying $60 a year. That's $5 a month.

So with that insanely high amount of incoming users, you'll have a cumulative income adding $5k a month. That's assuming there's no attrition (good luck with that). Not much to celebrate. At that rate, assuming no attrition, it would take you 20 months before you even make $100k/m. With attrition, it's fair to assume that consumers won't stay for even that long, so actually you'll stabilise around $25-50k/m. This is not too shabby for a lifestyle business, but if you've taken €1m of funding, that's not really an option. Then again, the funding wasn't from VCs, so maybe that's ok.

There are always exceptions, things that hit a sweet spot and make crazy amounts of money from consumers. But those are very few and very far between. Can you think of any?

</comment><comment><USER2> It's interesting that the article calls into question monetroization because they won't be making a significant amount of money given the team size.

Heading towards cash flow positive should always be an aim, I don't get how people think that not charging for something now will magically make the same people want to pay for it later, if anything the pricing structure should be there from the start, let users know that you have some value on offer with your service.

<comment><USER3> _"I don't get how people think that not charging for something now will magically make the same people want to pay for it later"_

It's not magic. If the upgrade adds value, they'll pay.

It's a marketing tactic which works for some and not for others.

<comment><AUTHOR> _If the upgrade adds value, they'll pay._

If you can convey that the upgrade adds value, and they have budget (or can maneuver the politics of getting budget), then they'll pay. The fact that the upgrade adds value (or not) is actually secondary in many cases.</comment></comment></comment>


Did Google Work Around The GPL? - <AUTHOR> http://www.brownrudnick.com/nr/pdf/alerts/Brown%20Rudnick%20Advisory%20The%20Bionic%20Library-Did%20Google%20Work%20Around%20The%20GPL.pdf

<comment><USER2> I have seen a lot of misinformation posted (and then strongly upvoted) in another thread related to this controversy. I would like to offer a very specific quotation which I believe illustrates the crux of the issue, excerpted from the linked pdf:

Determining copyrightability is thus a fact-specific, case-by-case exercise. In the case of the Linux kernel header files, most would likely be copyrightable (even with comments removed) because the headers include many macros, inline functions, and other logic that clearly qualifies as expression. In fact, there are several Linux kernel header files that consist almost entirely of static inline function, which is generally regarded as copyrightable expression. For instance, the Linux kernel header file <sys/byteorder.h> consists of an optimized byteswapping function that was included by the Linux kernel developers because it was clever and well-written – the kind of creativity that constitutes copyright protection. (The initial thread from the Linux kernel mailing list that contributes this particular inline function and discusses the performance benefit it supplies is available at <http://lkml.org/lkml/2002/11/29/68> .) When it created the "clean" Bionic headers, Google kept this inline function. See [http://android.git.kernel.org/?p=platform/bionic.git;a=blob;...](http://android.git.kernel.org/?p=platform/bionic.git;a=blob;f=libc/kernel/archx86/asm/byteorder.h;h=a839798c8a476876968e6c435069460a55d9252d;hb=froyo- release).

(end quotation)It seems clear these header files do include copyrighted original source code that cannot be stripped of the GPL.

</comment><comment><USER3> IANAL, but even I can see that it is inaccurate in at least several places: > Google wanted to use a C library that was not licensed > under GPLv2 in order to "keep GPL out of user-space." > Instead of using glibc, therefore, it created a new C > library called Bionic.

glibc is licensed under the LGPL; the LGPL does say you have to give users some rights (e.g. to decompile your binaries), but you can link LGPL libraries against code, make a binary, and not provide the binaries. Google could have cut back glibc headers to only include the interface to Linux, licensed the resulting library / header file set under LGPL, and then built a library that uses that LGPLd library, licensed under whatever terms they want (within the minor restrictions of the LGPL), and that would have been entirely within both the spirit and letter of the LGPL.

> But even if you were to undertake this analysis and > segregate the > copyrightable expression from the > non-copyrightable, it doesn't change the > fact that GPLv2 > covers the entirety of the kernel code and any > > derivatives of it. Picking and choosing pieces of the > kernel code to > include in a new library is creating a > derivative work, and, accordingly, > GPLv2 would still > apply".

If Google successfully removed all copyrightable code from the Linux headers, and included only the interfaces, then they wouldn't have to comply with the GPL license for the kernel, because the whole point of the doctrine of fair use is that you can do it without a license. It therefore wouldn't need to license its library under the GPL.

If, on the other hand, the doctrine of merger didn't apply, and it wasn't fair use, they would need a license to distribute the kernel headers. The GPL is the only one available, so they would need to comply with its terms. Their arguments that what Google did wasn't fair use seem to be more coherent, although I haven't checked their claimed facts.

<comment><USER4> The license of glibc is a red herring. The issue is google's copying of GPL headers.

</comment></comment><comment><USER5> The article makes the claim that inline functions and macros in header files are copyrightable. This is plausible (based on what I've heard from lawyers). It then goes on to suggest that applications which use Android's NDK could be declared GPLed if there is a successful challenge to Android's cleaning of header files. This seems far-fetched. Let's work it through. First, Google would have to acknowledge that its headers were GPLed. Presumably this would involve a court case. Brought by who? And on what grounds? Then, somebody, perhaps the winner of the court case, would have to get the application developer to acknowledge that their application was GPLed. This would presumably be another court case. Again, brought by who, and on what grounds? Assuming you did go through these heroic and precedent-setting court cases, you would end up with the source code to a shared library, and you would have to go through it all again to get access to the Java code or other application components which are executed by interpreters. The whole piece reads like Slashdot-esque fear-mongering.

The article then goes on to suggest that Google has "unlocked the kernel from the restrictions of GPL2" and could "create a non-GPL'd fork of the Linux kernel". I can't imagine how they imagine this could possibly be the case, even if some legal challenge determines that they do have non-GPLed headers, and the paper doesn't clarify.

</comment><comment><USER6> 1) This article claims several times that APIs are copyrightable. That is a fairly bold claim to make, and would imply that any libc implementation for linux would need to be licensed by whomever the linux IP holders are. If glibc has not received such a license then it is in violation of the GPL, since it is not released under the GPL.

2) There is the much less strong (and more tenable) claim that functions and macros defined in the headers _are_ copyrightable since they are not a necessary part of interacting with the linux kernel. Google can then become in compliance by removing the offending code and re-implementing it themselves. They could still be liable for damages but...

3) If someone were to sue Google for copyright infringement, they would not be able to compel google to release the code to Bionic under the GPL. That could be part of a settlement, but the most they could hope for in a court is to get Google to stop distributing Bionic, plus receipt of monetary damages.

<comment><USER7> The point is that implementations are copyrightable and because Google did not strip out macros and inline functions, it has not simply reimplemented an interface but instead created a derived work.

</comment></comment><comment><USER8> [random: Gotta love this stuff when its submitted anonymously.]

Long snarky post edited down to the basic soundbite : Copyright is an evolving area where the judiciary is trying hard to keep up.

Google, and other companies, pay people money to create software which, in exchange for that pay (and free munchies etc) those people give complete ownership over to the company. It is completely reasonable to expect Google to do anything reasonable to limit the virality of the GPL's impact on what they do, especially in a product that they charge money for and expect to make serious coin on. Actions I would expect them to pursue are rewrites and selective litigation.

</comment><comment><USER9>
        "Google can now use the "clean" Bionic headers to
        create a non-GPL'd fork of the Linux kernel,
        one that can be extended under proprietary license terms."

No, Google can only write non-GPL'd programs on top of the existing kernel. The kernel itself is GPL'd, regardless of whether the "clean" headers count or not.

</comment><comment><USER10> I believe the entity that would have to bring any suit against Google would be the Free Software Foundation or their representatives.

However, I don't believe the FSF would have an interest in having an interface be declared copyrightable - just the opposite.

Most GPL suits are extremely forgiving. They give the party the option of removing the code or making it available.

The absolute worst case scenario I could imagine given this is that Google would be forced to make a "cleaner clean-room" implementation of the interface.

The last thing I could imagine the Free Software Foundation wanting is a demonstration that it is impossible to construct proprietary software that _runs_ on Linux.

All this just has the feel of anti-Google FUD...

Edit: yes, gpl-violations.org seems to have done the last Linux I found of but I don't think any Free Software Entity wants to be Oracle's stalking horse against Google.

<comment><USER11> Nitpick: FSF doesn't own copyright to Linux kernel, Linux developers do.

But your main message is right on: Linux kernel developers have no reason to sue Google for what at best is very minor issue.</comment></comment>


Keith Rabois on the Role of a COO, How to Hire and Why Transparency Matters - <AUTHOR> http://firstround.com/review/Keith-Rabois-on-the-role-of-a-COO-how-to-hire-and-why-transparency-matters/ <comment><USER2> I'm very interested in the transparency side of things, because that structure seems very risky and possibly instable. If you can chain good news after good news then it's surely nice. But if your newly highered senior marketing strategist just moved from half the planet to your company to then be brought into the fold to find out that the company only has about 3 months of runway left but "we're very close to signing..." then that could have very demotivating effects, like whole groups of people leaving.

Maybe it's a German thing, but in my experience the very second one doubts if their company CAN not keep the promises that were made financially, the allegiance to that company drops like a rock. So having that kind of information floating around people that most likely don't have the experience to judge it fairly would most likely do more harm then merit.

Maybe there is a way to explain bad news without risking to kill the mood and allegiance, i just haven't seen it yet.

The other thing is the one bad apple that abuses the transparency before being found out. How does the recruiting and onboarding process deal with that?

<comment><USER3> I haven't been in that situation in terms of being in a high-burn rate, VC- funded startup, but I think the transparency can work if it is consistent.

Of course, if our company tells us nothing about its finances and then suddenly the news leaks that there is only 3 months of runway left, then we'll be likely to want to leave. Not only can the company not keep its financial promises, it can't even give us ample notice about it!

On the other hand, if we are aware of our company's financial situation from day one, then approaching the end of the runway is much more gradual rather than sudden, and also this news comes as part of a whole pattern of honesty and openness by the company. Within this context, I see it is entirely plausible that the openness builds loyalty. Sure, some people will say "I can't afford the risk of being unemployed for even a week right now, so I'm going to have to get my ducks in a row to be able to find another job promptly, and I may have to leave before the next round", but they will tell the company that (so it can plan around those departures) and they will try to arrange things not to screw over the company.

And what's the alternative? Lie to those people who are working hard for you, and risk them screwing up their life if you don't manage to close the next round? What kind of broken human does that to their colleagues as a matter of conscious, systematic decision?

<comment><USER2> Thats the thing, i completely understand this from the position of somebody who joined the team, but do you tell every possible new hire how the company financials look before they sign up?

I absolutely love the idea of that much transparency, but i'm just not sure how it would work in less than perfect reality.

</comment></comment></comment><comment><USER4> it's a buncha hogwash.

Companies need a board with a chairman, a president and treasurer, and vice presidents of things like engineering and marketing. If you have 20 people, you don't need more executives than that. If you have an operating business with customers, you'll need a controller, and a director of operations. If the company doesn't do R&D, it's simply an operations company (like say a restaurant or a moving company) you could conceivably call the President also the COO, because operations is critically important to operating the business.

Chief this and chief that make sense in a large company with need for extreme specialization, like a chief technical officer for an airline: their core business is not computer systems, but computer systems are critically important, so the guy in charge of all that technology needs authority to make executive decisions and to report directly to the top. But that's not a 20 person situation.

The point is, you don't sprinkle all these grandiose titles around to use them all up like at an Aviato or a Pied Piper. You use them to describe meaningful roles that reflect the business and managerial structure of the company, but only in a way that is important. 20 person companies and even 100 people companies don't have that much going on, in general.

If your business is developing software, you don't need a CTO (compare above with airline) especially not one who is just a smart founder engineer with limited managerial skills.</comment>


Remind HN: Unix time is Not the number of elapsed seconds since 1970-01-01 00:00 - <AUTHOR> Instead it is the number of seconds that have elapsed since 1970-01-01 00:00:00 NOT COUNTING LEAP SECONDS. This means it is neither a linear, nor a unambiguous representation of time.
This should be kept in mind when developing time sensitive software to prevent major errors!
Check out https://en.wikipedia.org/wiki/Unix_time for a more detailed explanation. <comment><USER2> Unix time is linear and unambiguous. It's our actual accounting of time that is not linear.</comment>


The Day Python Embarassed Imperative Programming - <AUTHOR> http://the-27th-comrade.appspot.com/blog/ahJzfnRoZS0yN3RoLWNvbXJhZGVyDAsSBUVudHJ5GOFdDA

<comment><USER2> Perhaps the author is just glossing over the bigger picture for the sake of explanation, but it's a bit of a narrow view of monads to say that they are just "conditional function calls". That's true if the monad in question is Maybe, Either e, or (if you're squinting at it just right) []. But >>= in the State s and IO monads, for instance, has little to do with conditionally calling functions; there, it's more about sequencing.

Beyond obeying some simple laws, there are strikingly few restrictions on the semantics of >>=. It can mean completely different things to different Monad instances. To me, that's at the heart of why newbies struggle to understand monads: >>= operates at a higher level of abstraction than many programmers are accustomed to. Outside of specific Monad instances, >>='s meaning is less significant than the structure that it imposes via the type system.

But that flexibility is also what makes Monad such a useful class in Haskell. Once your brain begins to recognize the `m a -> (a -> m b) -> m b` pattern in code, you see it everywhere. Monads are just a way of acknowledging that that particular structure exists in your code and abstracting it away to be replaced by a single operator. A chain of function calls with possible failure, like the author points out, is one case in which such a pattern emerges, but it's far from the only one. I think the article sort of misses that larger point.

<comment><USER3>
        m a -> (a -> m b) -> m b

Okay, so what does this mean? I thought it was `f x -> x * x` is a function definition, right? Or am I completely mistaken here? Because in the above code, what is the function name, the parameter and the return value? I know "everything is a function" in Haskell but I really can't see through the multiple arrows here. Any help?

<comment><USER4> This is one of those things that functional-programming people seem to "get" without ever making the explanation very clear.

First of all, this is a function _declaration_ (ie. prototype), not a definition. So this is describing a function type, not a function implementation. But that doesn't help very much because it's still not very obvious what the function type means.

The shortcut way to understanding Haskell function declarations is this; if you see:

      a -> b -> c -> d

in your head, think of it as:

      f(a, b, c) -> d

In other words, it is a function that takes three parameters of types a, b, and c and returns type d. Everything before the final -> is a parameter and the final type is a return type.

My "shortcut" isn't literally true, obviously. Here is the gory detail.

In Haskell, every function takes at most one parameter. Functions of multiple parameters do not exist; they are simulated through a technique called "currying." When you think you're calling a function of more than one parameter, you're _actually_ calling a series of functions, each of which takes exactly one parameter. So in Haskell, if you call:

      f a b c

This is actually parsed as

      ((f a) b) c

Or in more C-like notation:

      f(a)(b)(c)

In other words, you call a function with a single parameter "a", which returns a function that you call with a single parameter "b", which returns a function that you call with a single parameter "c."

Likewise, the Haskell type declaration:

      a -> b -> c -> d

Is actually right-associative, so it's parsed as:

      a -> (b -> (c -> d)))

Which is why the whole thing works.

So to parse:

      m a -> (a -> m b) -> m b

Think of it as a function that would be called like so:

      f(m a, g) -> m b

Where g is a function that would be called like so:

      g(a) -> m b

The "m a" and "m b" business you can think of as being a lot like M<a> and M<b> in C++.

<comment><USER3> Thank you! It's coming back to me now :) This was taught to me in college, I know about currying, the right-associativity was the big part I missed!

</comment></comment></comment></comment><comment><USER5> "The Python programmer said he had downloaded BASIC, and was experimenting with it. "But what is this GOTO stuff?" Never. Never ever ask that. One negative effect of asking that question is the horror of finding out that you use GOTO more than BASIC programmers; but because they are everywhere in your life, you have developed a blind spot to them. (Hint: do you use if?) In fact, as I showed him, every control structure in Python is an instance of GOTO."

<comment><USER6> A nice analogy, but I would argue that as monads are at a higher level of abstraction than nullables it's more akin to "but what is this _if_ stuff?" It is the _f(v) if v else None_ which is analogous to GOTO, not the simpler and more direct _v >>= f_.

<comment><USER7> Followed by a misleading explanation that suggests turning ALL your gotos into ifs.

</comment></comment></comment><comment><USER8> I don't see anything here showing Python to be embarrassing. Python IS dynamically typed, which puts the burden on you to do type checking when it is necessary. But everybody already knew that.

None is just a singleton value. A particular object may be None, or may be 4, or may be whatever. However, you cannot assign a new value to 4, or None, so it isn't accurate to say that any object could have a value of None. It isn't that an object might have something in it, or not. It's that the object might be None, or something other than None, JUST as it might be 4, or something other than 4. That is just how it works in Python's type system. There really is no notion of "has no value". None IS a value. If (for some reason, hopefully a good one) you mean to exclude it and raise an error, you must deal with that in exactly the same way as you would exclude and raise an error on any other particular value you found important.

In Python, it is not true that anything might not have a value. Python itself doesn't even have predicates for "has something in it" or "doesn't have something in it." That might be a common idiom using None by convention, but it's by no means inherent to Python, or necessary. It's really not the same as NULL.

What's true is that any argument (or namespace binding) could have a value of None. OR 4, or a certain dict, or whatever. That's just because Python isn't doing automatic type checking. None does not take any special role which you do not give to it. Its semantics are up for grabs. NOTHING in Python actually forces you to use None to denote "no value." And it is BY DESIGN that Python does not automatically type check everything. YOU must decide whether and how to type check arguments - not at all, by using your own decorators or asserts or some library, or by not using Python. Python isn't a bondage and discipline language. If you don't like that, don't use it, it's just that simple. There's no need to call it embarrassing, or gloat about how you schooled somebody who showed interest in your favorite language.

So. If you use the return value of a function without a return statement, you are asking for a value which may be None, the same as if you had written 'return None'. You bear responsibility for that decision - the same as you bear responsibility for feeding int(4) or a module object to your functions. If you don't like that, then don't do it.

Under normal circumstances, without doing anything special, you will get something like a TypeError if someone (e.g. you) feeds a None to a function not anticipating it.

You only have to handle that in the case where it is vitally important to have a different exception or other behavior. You don't need "six hundred and forty nine thousand two hundred and eighty-eight if statements" unless you are being needlessly compulsive to begin with, in a vain effort to emulate a bondage- and-discipline language. Python isn't even supposed to be a bondage-and- discipline language, so it's no revelation that it isn't good at that. Trying to use it that way is just doing it wrong.

(n.b. Instead of using imperative if-statements, you might prefer: f(v) if v else None, for those instances where it's even necessary).

Dear Author:

It's cool that you are proud of yourself, but in this case I think your advocacy is being hurt by your ego. I have never gotten the impression that Haskell programmers in general are smug and boastful. If YOU don't want to be thought of as smug and boastful, then don't publish articles like this where you are smugly bragging about who you schooled.

</comment><comment><USER9> Would it be possible that there are no blind spot on the Python side and a "semantic golden hammer" (for the lack of a better term) on the Haskell side?

I'm not being sarcastic or anything, I'm really wondering: are Python programmers using monads without knowing it? Or is it that monads are a good tool at giving a semantic (or "mathematical meaning") to what they are coding?

I think the distinction between the two points of view isn't relevant, but my point is that when you know something and like it, you easily see it everywhere: if you want it, all your code is just lambda-calculus, all your control structure are some kinds of monads, all for loops are just tail- recursive functions, all objects are just closures…

<comment><USER10> Well, that's the idea of monads -- you can see them everywhere because their original purpose is to express imperative programming mathematically. It's like thinking that all numbers can be represented with digits; of course -- digits were invented to represent all numbers.

But the thing that makes Haskell unique is not that you have explicit monads. It's that you can (1) use monads other than the IO monad (like Maybe, [], STM, ST), and (2) that you can choose to use no monads at all in a given function.

To put it another way, Haskell is unique because it allows you write functions without using monads, but in other languages you can't turn them off. Like nullable types, which can't be turned off in Java (ever debug NullPointerExceptions?) or Python, but which have to be enabled on a case-by- case basis in Haskell.

<comment><USER11> I'm not disputing that Haskell makes it easier, but from a practical perspective I'd challenge the idea that nullability can't be turned off in Java with @NotNull annotations (and nullability inference tools like JastAdd[0]), or with decorators in Python. Do you see an essential difference in kind, or just a spectrum of ease of reasoning?

[0] <http://jastadd.org/web/jastaddj/extensions.php>

<comment><USER12> Would you mind expounding on that use of decorators? I'm not making the connection and it sounds like an interesting one.

<comment><USER11> Sure, it's just a specific kind of type-checking decorator in the same vein as the ones you can see at e.g. [0]. Obviously it can be made a lot more sophisticated to only pick up certain arguments. You can do a similar thing with metaclasses to prevent object attributes being set as None, too.

      def isnotnone(fn):
        def decorator(*args, **kwargs):
          for arg in args:
            if arg is None:
              raise TypeError("{0} does not accept None".format(fn.func_name))
          for arg in kwargs.values():
            if arg is None:
              raise TypeError("{0} does not accept None".format(fn.func_name))
          return fn(*args,**kwargs)
        return decorator

      @isnotnone
      def f(a, b=dict):
        return a(), b()

      >>> f(None)
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        File "<stdin>", line 5, in decorator
      TypeError: f does not accept None
      >>> f(b=None)
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        File "<stdin>", line 8, in decorator
      TypeError: f does not accept None
      >>> f()
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        File "<stdin>", line 9, in decorator
      TypeError: f() takes at least 1 argument (0 given)
      >>> f(str)
      ('', {})
      >>>

[0][http://code.activestate.com/recipes/454322-type-checking- dec...](http://code.activestate.com/recipes/454322-type-checking-decorator/)

<comment><USER12> Thanks!

</comment></comment></comment></comment></comment></comment><comment><USER13> I find the whole point of the article to be weak, to say the least. OK, I'm doing monads, or something equivalent to monads, all the time along my imperative code without even noticing because it's so intuitive concept. So when this common abstraction of "conditional function calls" is made explicit through monad syntax instead of intuitive-implicit, it is supposed to be easier to deal with?

Perhaps it's cleaner, and you can get accustomed to it, but it surely comes with an overhead over imperative thinking, at least for a beginner.

<comment><USER14> It is not only cleaner, it is also safer. In Python you have to add checks explicitly, or your program may try to execute a method on _None_. When using the Maybe or Either monad in Haskell, failure is always handled. Say that you have a sequence of three functions that return a Maybe value:

      do
        b <- f a
        c <- g b
        h c

Now, suppose that in a particular case _f a_ returns _Nothing_ , then the whole do-expression will evaluate to _Nothing_ and _g Nothing_ is never evaluated.

Failure monads do not only add cleanliness, but also safety.

<comment><USER15> One could say the problem is using None for indicating errors. Python does have exceptions, which also prevent further statements from being executed.

        try:
          b = f(a)
          c = g(b)
          return h(c)

If f(a) raises an exception, g and h don't get executed.

None should be returned when it's a valid value (say, in search() if it doesn't find anything), and in those cases it makes sense to have explicit handling.

<comment><USER14> That's a fair point. On some level a try block resembles a monad that encapsulates success/failure. However, it is not general, e.g. it does not provide a solution if you want to chain computations where returning None/Nothing is valid (e.g. a Map lookup in Haskell).

The nice thing about monads is that it provides an abstraction on sequences of computations, involving failure, error, state, effects, etc. Though, it can get ugly at times when you want to use multiple monads simultaneously (via monad transformers).

<comment><USER15> _However, it is not general, e.g. it does not provide a solution if you want to chain computations where returning None/Nothing is valid (e.g. a Map lookup in Haskell)._

But I think that's a feature, not a bug. Conflating errors and valid values leads to ambiguity. As PEP 20 says, "Explicit it better than implicit".

If you actually want certain function return values to act as a failure, I think you should wrap it in a new function that adds those semantics.

</comment></comment></comment></comment></comment><comment><USER16> It is embarrassing for google app engine to allow unusual spikes like that to bring a site down. What better PR strategy to let the sites up and running to show that no google property can ever be slashdotted/dugg/hackernewsed?

Google please fix this mess, elegantly.

<comment><USER16> How would I fix it you may ask? Well for app engine free riders like me, just allow one or two excessive spikes per month. That way if you have a blog nobody reads but is front-paged once in a blue moon, you won't go down in flames making app engine look bad.

Now those being on the spotlight more than twice please consider upgrading your account or adding a banner at the bottom of your site "indestructibly hosted on app engine" to continue free riding.

</comment></comment><comment><USER17> Any other working link? App engine says the server is over quota.

<comment><USER18> Cached: <http://bit.ly/yCRuLo>

</comment></comment><comment><USER19>
      In Python, every object is an example of a monad. It has two possible values: None and anything_else.

Is no more true then, "It has two possible values: 'Hello, I am a sexy bear' and anything_else."

<comment><USER20> Poorly worded, but the point is that every reference in Python, like in Java, ALGOL 60 and countless other languages, may be of a certain type, or point to None. In Haskell, save for a caveat[1], this doesn't happen, and you represent nullability (failure, usually) with types like Maybe or Either, _when you want to_. Those happen to be monads, too, but you can use them without the monadic operators.

[1] The caveat is the bottom value, which represents something akin to an exception which wasn't handled, that your program is now in an undefined state and now will promptly crash if you use the 'bad' part.

<comment><USER21> Null is an interesting exception in languages with static typing such as Java. But there is no static typing in Python. Literally any variable can hold any value of any type. None is not nearly so special there, since you can also assign 3 to any variable, or the identity function, or a string containing the answer to the question of life, the universe, and everything.

In languages like Java, null has special semantics that no other value has. In Python, there's nothing particularly special about None, it's simply used as a convenient sentinel by convention. I could easily write Python code that returns the literal string "This value is empty" as the sentinel instead, something that doesn't apply to languages like Java.

<comment><USER20> Yes, actually, you are right. It's all the same in Python because the references can always point to any value, and None is just a value of the NoneType.

And due to Python's runtime types, it wouldn't matter either way, because even if None only existed within the context of a Maybe type, you could still just apply any operation on it and have crash at the first method call on it.

</comment></comment></comment></comment><comment><USER3> I read the article and I _still_ don't understand what monads are about. This happens every time. There must be something about the Haskell syntax (which has been _ages_ since I used it in college--and I utterly failed to grasp monads then, too) it's _very_ frustrating, I get the rest of functional programming. Apparently I forgot how to read Haskell.

<comment><USER22> Its not the syntax, its the concept that's hard. I read about 10 different monad tutorials, and it only made things worse. The only thing that made it click was writing code that used them. (Some monadic parser code.)

Seriously, reading monad explanations is like struggling in quicksand of abstraction. Only by making it concrete in working code did I make any progress.

If I had to pick the most tractable monad, I would try the Maybe monad, use it for map lookups in Haskell's Data.Map, since its something you would commonly do with a Python dictionary anyway.

<comment><USER23> My issue with that approach is that it's hard to know whether you're actually using monads if you don't really understand what they are.

</comment></comment></comment><comment><USER24> I don't get it. I see this;

def pymon(f, v = None): if v: return f(v)

and I just can't keep reading. Why would you do that? What reason would you have for not just calling f directly?

<comment><USER6> You wouldn't want to call _f_ directly if it doesn't accept _None_. pymon is a function meaning _f(v) if v else None_.

<comment><USER24> wouldn't it be better to a) code f defensively in the first place, and b) not call f with invalid parameters?

<comment><USER2> > wouldn't it be better to a) code f defensively in the first place,

In Haskell, you don't have to. If your function takes a String as an argument, for instance, the compiler will ensure that it never receives a null instead. It will always receive an actual String, because normal types are non-nullable in Haskell. You have to explicitly wrap a type in a Maybe if you want to add nullability, and `Maybe String` is a completely different type from `String`, so the type checker can and will enforce that they don't improperly intermingle.

> and b) not call f with invalid parameters?

Same story here. If f takes a String argument, you can't (deliberately or by accident) pass it a Maybe String instead, or your code simply won't compile. The strong static type system in Haskell eliminates the mental burden of having to always watch out for nulls and handle them as a special case.

That may not seem like much of a burden if you're accustomed to languages like Python, Java, etc. where nullability is the default. But think about how much time you've spent dealing with NullPointerExceptions (or the equivalent in your language of choice) and imagine how much nicer it would be if the language itself could simply eliminate the possibility of them ever occurring in the first place. Well, thanks to its type system, Haskell can do that.

<comment><USER25> I agree, but that particular issue can be fixed with a type system tweak instead, to treat nullability as a type modifier, vaguely like constness, which can then be statically enforced. Cyclone adds nullability annotations to C, for example, and Ada has a "null exclusion" type modifier.

<comment><USER2> The advantage to Haskell's type constructor approach, though, is extensibility. Making nullability a language keyword like `const` requires a change to the fundamental grammar of the language. In Haskell, `Maybe a` is just another data type, defined entirely in Haskell itself. This opens the door to allowing users of the language to create arbitrary type system constraints without having to modify the compiler to support them.

</comment></comment></comment></comment></comment></comment><comment><USER26> There may be a point here somewhere, and monads probably have a bigger use than this, but what's presented here looked more like my syntactic sugaring beats yours to me.

</comment><comment><USER27> Shouldn't `hamon2` be

        hamon2 f (Just x) = f x
        hamon2 f Nothing  = Nothing

? The author's definition doesn't seem to typecheck if `f :: a -> Maybe b` (as in `(>>=)`).

EDIT: Ah, I see; looking at the blackboard picture suggests that the author has confused `(>>=) :: Monad m => m a -> (a -> m b) -> m b` with `fmap :: Functor m => (a -> b) -> m a -> m b`.

</comment><comment><USER28> Can someone create a mirror?

<comment><USER29> Google cache [http://webcache.googleusercontent.com/search?q=cache:lM3dxT7...](http://webcache.googleusercontent.com/search?q=cache:lM3dxT7hvT8J:the-27th- comrade.appspot.com/blog/ahJzfnRoZS0yN3RoLWNvbXJhZGVyDAsSBUVudHJ5GOFdDA+http://the-27th- comrade.appspot.com/blog/ahJzfnRoZS0yN3RoLWNvbXJhZGVyDAsSBUVudHJ5GOFdDA&cd=1&hl=en&ct=clnk&gl=ca)

</comment></comment><comment><USER30> Well, that was certainly saying something. Only problem is, I have absolutely no idea what.</comment>


Artemis pCell: Wireless Reinvented [pdf] - <AUTHOR> http://www.rearden.com/artemis/An-Introduction-to-pCell-White-Paper-150224.pdf

<comment><USER2> Here is a video demonstration of pCell. It essentially works by creating a personal cell or "pCell" around your device. Whereas other cell technologies degrade as the number of devices increases, pCell claims to solve that major problem.

[https://www.youtube.com/watch?v=UxNntxVWC1g#t=62](https://www.youtube.com/watch?v=UxNntxVWC1g#t=62)

</comment><comment><USER3> Ive been waiting for something to happen with the PCell for about 1.5 years now. Their facebook, twitter and homepage has been stagnant.

Ive posted and searched, nothing new has happened since early 2014. Now something! I just want to work now and to help me with my shite signal.

</comment><comment><USER4> How do you get your own Personal Cell when on a train and you are crowded again many others? Degrades to as bad the status quo?

<comment><USER5> Page 40: "This aggregate capacity can be divided among any number of users, using TDMA and OFDMA." It's something like (link rate)*(# of antennas within range)/(# of phones)

</comment></comment><comment><USER6> I'll believe it when I see it. At this point it's just vapourware.

<comment><USER7> You don't believe in Artemis or you don't believe in beamforming? Here's a patent from 1954 about beamforming: [http://www.google.com/patents/US2670443](http://www.google.com/patents/US2670443)

Steve Jobs was born the next year. Cell phones were invented 18 years later. In the mean time, this tech has grown more popular, which is a pretty good indication that it works.

You want proof of a product? Search for "warship" on google images, click on your favorite one, and look for flat, slightly off-color octagon-ish panels on the side. Those are beam-forming radars. They are flat because they use the same trick to form a "virtual dish" which can be aimed instantaneously in any direction above the plane by altering the phase delays in its components. You can't slew a physical dish back and forth to point at 20 different targets a second, but you can use the beamforming trick to do that without problem. Same trick works for wifi and cell phones.

Don't like ships? I don't blame you, I get seasick. Search for "radar truck" and look for the flat ones.

You want more proof? Here are radio astronomers using the trick to get better angular resolution in the radio spectrum: [http://www.upv.es/antenas/Catalogo_fotos/radioastronomia/loo...](http://www.upv.es/antenas/Catalogo_fotos/radioastronomia/looksouth.jpg)

"I'll only believe it if it's in a book." Amazon has 2,573 hits for "phased array" and the first few pages all look relevant.

"I'll only believe it it's in the academic literature." Google scholar has 430,000 hits for "phased array."

"I'll only believe it if google does it." Instant search seems to know about it too: [https://www.google.com/search?q=phased+array](https://www.google.com/search?q=phased+array)

"I'll only believe it if the NSA does it." Here you go: [http://en.wikipedia.org/wiki/AN/FLR-9](http://en.wikipedia.org/wiki/AN/FLR-9)

"I'll only believe it if Snowden leaks it." I'm too lazy to search his docs for incidental references to it, but here is Iran doing it, and the NSA probably likes Iran about as much as they like Snowden, right? [http://www.businessinsider.com/iran-displays-indigenous- rada...](http://www.businessinsider.com/iran-displays-indigenous-radar- system-2013-9)

"I'll only believe it if I can watch a guy talk about it." I'm pretty sure this guy worked at an intercept place that used one: [https://www.youtube.com/watch?v=dh9txt1TGt8](https://www.youtube.com/watch?v=dh9txt1TGt8)

"But how does it work?" [http://www.radartutorial.eu/06.antennas/Phased%20Array%20Ant...](http://www.radartutorial.eu/06.antennas/Phased%20Array%20Antenna.en.html)

<comment><USER8> Network MIMO isn't rudimentary beamforming and I think it's fair to say that it isn't obvious that it works in practice.

<comment><USER9> True, but the theory behind MIMO and DIDO (i.e. pCell) is the same. The challenge is overcoming the synchronization and timing problems introduced by having antennas situated miles apart and connected over the Internet, rather than a few centimeters apart on the same circuit board. People had similar concerns about cloud gaming, but OnLive (which, note, also came from Rearden Labs) and Gaikai proved it could be done surprisingly well. Now that I think about it, Rearden may already have gathered some highly relevant expertise from their experience with OnLive.

Also, Rearden has been claiming for some time now that they have working demos. I doubt they're making that up. I fear, however, that Artemis may meet a similar fate as OnLive: a technological marvel that unfortunately fails in the market.

<comment><USER5> All of Perlman's companies seemed over-engineered considering the immaturity of their respective markets. I guess that's his curse.</comment></comment></comment></comment></comment>


Bernie Sanders Introduces the BEZOS Act - <AUTHOR> https://www.cnbc.com/2018/09/05/bernie-sanders-introduces-the-bezos-act-slamming-amazon-low-wages.html <comment><USER2> [https://news.ycombinator.com/item?id=17919329](https://news.ycombinator.com/item?id=17919329)</comment>


Day has 24 hours. You can spend it doing whatever you want - <AUTHOR> https://brightinventions.pl/blog/make-the-most-of-it/ <comment><AUTHOR> When I was younger I thought that school was everything and could not imagine doing something more than that. I was sure I just did not have enough time. Then I began my studies and assumed it was everything, but after a while the first job appeared and it turned out that it was possible for me to bring these two together. And now? Now I ride my bike every day, teach English in the evenings, do a renovation of my flat, work full-time at Bright Inventions (just finished postgraudate studies and still have time to call my mum every afternoon and meet friends). A few years ago this kind of scenario was hard to imagine.</comment>


Ask HN: ETL - packaged tools or roll your own? - <AUTHOR>

Having spent a not insignificant time dealing with peculiarities of SSIS and Kettle, I sometimes question if packaged ETL / data integration environments bring more costs than benefits (in small to mid-size projects).
Although they do offer a path to automation, logging, and (sometimes) parallel execution, ETL runtimes and design tools can be harder to debug compared to a combination of plan SQL and a scripting language.
Given a choice between the two approaches, why have you chosen an ETL package over a "plain" programmatic one? <comment><USER3> I tried to grok Kettle, but at some point it seemed easier to just program a solution and this has worked well for what we're doing.

I think if you're doing something simple that you're going to have to repeat a lot, and possibly train others to do, then rolling your own makes sense. If you're dealing with a lot of variance in terms of the format, volume, and schema of the data you're transforming then a generalized ETL tool might make more sense.

We're mostly transforming CSV, to facilitate migrations to our product (Qubit Toolkit: an open source information management used predominantly by archivists and written in PHP), so I've been developing a CSV-specific utility class for our needs with the idea of possibly making it into a generalized CSV transformation tool (where non-programmers can use something like XML or YAML to define transformations):

<https://github.com/mcantelon/qubit-csv-transform>

</comment><comment><USER4> I prefer rolling my own progmattic solution. In fact, I'm working on a JS- based data platform that democratizes the writing of transformation routines and web service integration for developers who love data, yet loath legacy ETL systems.

From my view, mobile developers are needing data manipulation and publishing tools that tightly fit within their programming environment and workflow. So I'm building it, including real-time sync and visualization.

I actually need to hire... like stat. Seed funded here in Mountain View. Partnered with the leading mobile platform company for sales and distribution. Raising an A round together. Currently just a single founder that loves data hacking and design.

</comment><comment><USER5> Thats a really great question. I've wondered the same thing myself. I think a really simple ETL tool would make an excellent open source project.

If you want to do one I'd be up for helping.

<comment><AUTHOR> Unfortunately I am too busy fixing the current one to write a new one, but if I had a wish list for a concise one:

1) Jobs and transforms stored as in a human readable and editable format - <USER2> XML

2) A design tool that has as much focus placed on it as the runtime engine (but a good enough #1 limits the need for a feature laden #2)

3) A runtime not Java based

The last is not so much a dig on Java, but it seems of all the OSS tools I use, the Java ones are the most problematic. Horrible UIs, complicated configs, and exception reporting (or stack dumps) that are completely non- descriptive of the actual problem.

</comment></comment><comment><USER6> I always loved ETL softwares, they are flexible and offer a broad range of features. But if you think about it, you can do most of it yourself, especially logging and automation. The only huge advantage over in-house ETL solutions is parallel execution which is really hard to code properly. Even thought ETL softwares are amazing, they clearly do not justify their price, and you will always love your own code better than a tool that may or may not have all the features that you need. Roll your own.

<comment><AUTHOR> I have not had the fortune (?) to use one in the expensive category, and to date, not too impressed with the inexpensive / free ones.

It is quite possible that experiences are affected by quality.

</comment></comment><comment><USER7> Use both.

"Execute OS command" task is the most powerful component in all ETLs. And every ETL-tool must have command-line utility to run it from scripts.

We have:

      a) ETL-packages that only coordinating a lot of small scripts

      b) And scripts that starts a lot of ETL-packages</comment>


Netflix vs. cable: Subscribers are neck and neck now, says PwC - <AUTHOR> https://www.fastcompany.com/40509728/netflix-vs-cable-subscribers-are-neck-and-neck-now-says-pwc <comment><USER2> True story: because the ISPs are continuing the tactic of data caps. You go over your data cap b/c of Netflix, the ISP will "forgive" that overage _if_ you purchase a cable package so you don't risk going over your cap.

<comment><USER3> As soon as Pai's Ruling is published on The Federal Register, your ISP will charge Netflix $cable_amount to deliver content to your home AND not have to pay license fees to the cable networks they provide. Of course, Netflix will have to pass $cable_amount along to you.

<comment><USER4> Sounds like a good time to meet 100 of your neighbors and start a community ISP. If I were Netflix, I'd definitely be outspoken about that being a solution everyone should look into. And I might even throw some money around if I were Netflix to try and sponsor small ISP's. I couldn't think of a better way to get positive press.

</comment></comment></comment><comment><USER5> I have a cable package only because the Internet I want is cheaper packaged with it vs without. I would drop it if I could. Hulu and Netflix are all I really want.

</comment><comment><USER6> I'm more curious to know what percentage of Netflix subscribers are reliant upon a cable-based ISP (Comcast, WoW, etc) for their service.

<comment><USER7> Enough that the people who aren't are a probably a rounding error. What ISPs don't also sell cable?

</comment></comment><comment><USER8> well-deserved! Look at all the innovation they've made in logistics, IT, and in producing shows. Disrupt your verticals!

</comment><comment><USER9> @mods Can we fix the title? "Netflix vs. cable: Subscribers are neck and neck now, says PwC"

<comment><AUTHOR> fixed.

</comment></comment><comment><USER10> ... and here I am, 10 years later; still without a television.</comment>


Peter Thiel's Interview Question Has Been Put into a Mobile App - <AUTHOR> http://blonk.co/posts/kfSTDdzgjopabehdH

<comment><USER2> Who cares? Congratulations on ripping someone off, I guess?

</comment><comment><USER3> This App seems to work

<comment><USER4> thanks, our goal is to expedite the hiring process

</comment></comment><comment><USER5> Uh... so what's the interview question?

<comment><USER6> From FTA: "What is something you believe that nearly no one agrees with you on?"</comment></comment>


8 Lessons from My Silicon Valley Internships - <AUTHOR> https://www.linkedin.com/pulse/8-lessons-from-my-silicon-valley-internships-zain-manji

<comment><USER2> This is awesome! Thanks for the tips.</comment>


iPhone 8 Plus Camera Review - <AUTHOR> http://austinmann.com/trek/iphone-8-camera-review-india <comment><USER2> This isn't a review. It is a competent photographer showing off. Which is fine, but you should be aware of it while reading.

1\. The fake bokeh looks surprisingly good. I don't think any of my non- technical friends would be able to spot it on their own.

2\. These pictures are absolute best-cases for the iPhone (or any) camera. For headshots with well-chosen natural light as in these pics a picture taken with an iPhone 4 would look almost as good. "Studio lighting" and other tricks won't fix bad light. Neither will a $6,500 Nikon D5 with a $1,000+ lens.

3\. Nikon, Canon et al need to try harder. Cellphones have already replaced several categories of "real" cameras, and they keep improving every year.

<comment><USER3> Nikon and Canon should have gotten into the licensing game with smartphone manufacturers. And by that I don't mean suing their asses off "because patents". They should've started making camera modules and lenses and sensors for smartphones 4-5 years ago. Now it may already be too late. In 5 years, even amateur photographers won't be using DSLRs, at the rate smartphone computational photography is improving.

Just look at these cropped images over a span of 4 years:

[https://cdn.dxomark.com/wp- content/uploads/2017/09/asian_old...](https://cdn.dxomark.com/wp- content/uploads/2017/09/asian_old_guy_apple_comparison.png)

They got disrupted and like most incumbents, they failed to capitalize on the disruption "because it could eat their margins" or whatever their reason for not getting into the smartphone market was.

<comment> semi-extrinsic > In 5 years, even amateur photographers won't be using DSLRs, at the rate > smartphone computational photography is improving.

I call BS, if by "amateur photographers" you're talking about enthusiasts who care about composing and exposing a great shot, not just taking a nice picture of the kids in front of the Christmas tree. It's like someone in 2012 saying "at the rate smartphone input apps are progressing, in 5 years no-one will buy physical keyboards for their computers."

The reason someone carries a DSLR today is because of the optics, the speed and the control mechanisms. Having shutter speed, aperture, white balance etc. at your fingertips when shooting. Having the ability to switch from a 105mm portrait lens to a 20mm fisheye. Having that rapid autofocus and response time that lets you capture great shots. Having 14 bit RAW files that you can post- process to save that reflex once-in-a-lifetime shot that was underexposed. Having the ability to mount a flash off-camera (or even three strobes). Those are things you can never get on an iPhone or Samsung.

Nikon, Canon etc. have already "bled dry" of customers going to smartphones instead of DSLRs, and at this point their business models look fairly stable. The share price of both companies has also been fairly stable for the past 3-4 years; both are up 30% over the past year, although that (and a lot of their volatility) is tied to the JPY:USD exchange rate.

<comment><USER4> > Those are things you can never get on an iPhone or Samsung.

Why couldn't you have adjustable white balance, rapid autofocus, high response time, high bit depth, external flash, etc on a smartphone camera? These seem like things which should be possible even with today's technology.

<comment><USER5> I think once the smartphone's internal capabilities are exceeded, a "System" (as in put together from multiple parts) DSLR or Mirrorless has more advantages:

\- if you need more parts, eg. flash, you go from having one thing in your pocket to carrying a bag anyway

\- dedicated UI and buttons for adjustments while shooting without having to look away from your subject or having to change your grip

\- much larger sensors means more light to work with during shooting and post- processing \- dedicated glass that you can't quite yet replicate with light- field tech

The smartphone can do many of the things a dedicated camera can, it's just not as good on almost all fronts, and much worse in some aspects. You can under more and more conditions get images that rival DSLRs, but not ALL condititions: If you can control time, light, and subject all at once, a dedicated camera can be matched. If you can't control of only one, grab a dedicated camera.

The tactile UI is one major gripe against smartphone photography for pros and enthusiasts alike, which is why a phone to some extent needs to be smart/automatic, and while today's image sensors straight beat the pants off any predecessing image sensors, physics still poses hard limits on noise and light capture.

Today's image sensors are very close to be able to count individual photons, and making the sensor larger means being able to capture more of them at a time. Tricks are being worked on to extend dynamic range and lower noise (like double exposure HDR), so image quality still increases, but the larger image sensors profit from those developments just as much as the small phone ones. The days of small image sensors being good enough to beat a human eye are still far off.

TL;DR: dedicated tactile UI, physical interfaces, physics, can't quite be beat by all the high-tech we can pack in a smartphone package.

</comment></comment></comment></comment></comment><comment><USER6> A top performing smart phone "camera" is really just the algorithm that creates a psychologically appealing composition.

Note that AI is not being used to (simply) mimic a better sensor and lens, there is all sorts of stuff going on in the algorithms that a photographer would do in photoshop or in the dark room.

The problem is, there is a specific aesthetic being targeted, and this removes some of the artistry from photography.

I think there is a fundamental difference between a) the camera capturing multiple depths of field, focal points, etc., and then allowing the user to make the final decision in post production and b) the camera computationally simulating lens effects and lighting effects in the way that snapchat filters widen eyes and add animal ears.

Cameras are supposed to capture reality, not create a postcard-like view of whatever was in range or generate a flattering selfie.

These reviews should not be called camera reviews, they should be called "image algorithm reviews".

What's next, phones whose "microphones" make our voices sound more masculine or flirtatious?

<comment><USER7> I am really afraid of the direction "camera algorithms" are going. My partner, bless her to death, prefers to take pictures on Snapchat now instead of any other app. Mainly because the filters there make your nose smaller, eyes bigger, and alter some of the other facial dimensions to make you look prettier. We are going to end up in some weird future where everyone looks beautiful digitally, but, uhh, "normal" in reality.

<comment><USER6> > We are going to end up in some weird future

I worry about that too. It may also end up being a future where we are no longer fooled by fake effects and they start to feel inauthentic.

Chances are when plastic were new, people remarked at how similar chrome- painted plastic was to actual metal. These days we can easily tell them apart.

</comment></comment></comment><comment><USER8> TL;DR: This is little more than an advertisement for luxury tour operator Ker and Downey and the luxury hotel brand The Taj Group masquerading as an Apple hardware review.

</comment><comment><USER9> These photos all have a very "Shot on the Iphone" feel. Can't tell if it's because Iphones excel at one type of picture or because Apple/this reviewer feels the need to go all the way to India to test out a phone camera.

</comment><comment><USER10> I got the 8 Plus (upgrade from the 6S Plus), mainly for the camera. Lugging my Nikon D610 has become a pain in the ass.

I wish iOS would allow native DNG (RAW) captures with their camera app. They added HEIC but not DNG? It'd be so much faster to snap a pic and capture DNG with the native app, rather than firing up LR Mobile / VSCO, etc.

<comment><USER11> While I agree, I speculate that Apple doesn't allow this simply for iCloud Photo Library backup aspects. The HEIC/HEVC save backup space. Backing up RAW/DNG would be data costly. I realize there are ways around this, but it's not Apple's style.

<comment><USER12> There are apps like ProCam that take RAW images and save them to the camera roll, they sync over iCloud Photo Library without issue. I think the normal user is just fine with JPEG or HEIF and the space savings are more important, so Apple has kept it out of Camera.app.

<comment><USER13> I'm not sure why they couldn't, though. They provide several different format options for recording video, like 1080p vs 4K.

<comment><USER12> Yeah, but at the end of the day the different video settings still use "standard" formats that a normal consumer can open on their desktop or laptop. HEIF being the real outlier, changing any of the settings buried in Settings.app for the built-in Camera.app doesn't effect the ability of a normal user to view their content on a current operating system (Windows 10 or macOS High Sierra). RAW images change all of that - Windows 10 has really basic support for some RAW formats, and there are some workarounds like RAW+JPEG in ProCam but it results in two separate files combined as one "image" in your iCloud Photo library, syncing this to a Windows PC results in two files and just confuses users (macOS works around this by hiding everything in the Photo Library, invisible to most users).

</comment></comment></comment></comment></comment><comment><USER14> That is some of the best SEO/content marketing I have seen all year. Nice camera review too. Have already passed the link to a number of friends.

</comment><comment><USER15> There are lots of reviews popping up about iPhone 8 vs iPhone 7. What I'd like to see is a side-by-side of Portrait Mode on: iPhone 7 Plus running iOS 10, iPhone 7 Plus running iOS 11, and iPhone 8 Plus.

</comment><comment><USER16> Isn't it possible to offer the "Slow Sync" feature on older models like 6/6s? I would assume this would be software controlled... Maybe another camera app has this already?

</comment><comment><USER17> The marshmallow comparison was spot-on at the end :)

</comment><comment><USER18> never been a fan of iphone camera but this is next level. For iphone standards at least.

</comment><comment><USER19> In Today's news: A newer model iPhone has a better camera than the previous model.

Neat new features though, like that "slow sync". Why don't older models get "slow sync" though? It seems like something that is controlled by software

<comment><USER20> All of these except the "smarter sensor" seem like software features -- I wonder if it's technically impossible to get them on the iPhone 7 or if it's just a matter of differentiation.

<comment><USER21> An honest iPhone 8 launch event would say " _we improved the camera hardware but also had some fantastic breakthroughs in the camera software, and we 'll be backporting those to all supported models in iOS 11_". The pessimist in me says that nobody would buy an iPhone 8 if they did this. Wait a second, now that I've thought it through it's obvious that this is exactly why they didn't backport the software improvements to previous iPhones. :)

<comment><USER22> > The pessimist in me says that nobody would buy an iPhone 8 if they did this

People with an iPhone 4, 5 or 6 have more reason to upgrade to an 8 rather than a 7 than just the camera.

<comment><USER23> I think his argument is that they are not backporting other software features including those that are unrelated to the camera.

<comment><USER22> The improvements aren't just to the software. There's non-software reasons for a, say, iPhone 5 user, to upgrade to an 8 over a 7.</comment></comment></comment></comment></comment></comment>


Linux admin IQ/trivia test - <AUTHOR> http://www.infoworld.com/tools/quiz/news/IQ2008linux-news-quiz.php

<comment><USER2> Only a handful of these questions would be useful in determining whether someone is a good Linux admin.

<comment><USER3> And IQ tests don't correlate very well with intelligence. Maybe the name itself is tongue-in-cheek.

</comment></comment><comment><USER4> Hmm, fun test. Only missed a couple:

\- Misread the question on lines of C++ and thought "lines of C", which I did know the answer for.

\- Thought IBM had contributed more to the Linux kernel than Intel

\- The "GUI windowing system" question also was unclear on the wording

<comment><USER5> The C++ question is kind of a trick question as a lot of C code is also valid C++ code, and it wasn't clear from the question which they meant.

</comment></comment><comment><USER6> It's so hackable. Just keep an eye on the URL because it keeps the score for you.

I mean come on, you build a quiz for geeks, at least try to have a not so accesible way to change the score.

</comment><comment><USER7> 55 — thats bad, isn't it?

</comment><comment><USER8> More like Linux trivia than an admin test. Fun nonetheless.</comment>


Electroshock Boarding Pass Bracelets (video)  - <AUTHOR> http://www.lamperdlesslethal.com/video_gallery.asp?video=http://www.lamperdlesslethal.com/video/EMDsafetybracelet.flv&title=

<comment><USER2> Is this real or a joke?

If it's real, it's easy enough to foil. Use some foil, and short out the bracelet. (The pun was accidental, but I liked it.)

Another option: teflon tape (like for pipes), wrap it around your wrist multiple times, then slide the bracelet over it.

I don't know what voltage it would use, but teflon is (I think) the best insulator known, plus it's cheap, and easy to wrap multiple times.

</comment><comment><USER3> My first impression was that this had to be a hoax. It's a real product (prototype), apparently, but there is absolutely no way this will be sold. Here's hoping the world isn't that absurd yet.

</comment><comment><USER4> How far will people go to make a dollar? its easy to criticize these companies, but how do they employees that work there live with themselves?

</comment><comment><USER5> The idea behind this product is that terrorists are able to slip past security screening, use plastic explosives to blast off a cockpit door, and hijack a plane. But, they are unable to remove a bracelet first.

</comment><comment><USER6> The name says "less lethal", but the L's in the shape of spikes in the logo don't.

The FTS logo looks like something for <insert random FPS community mod here> with the bullet holes only an 8th grader would love, the visible laser sights, and the entire-team-backed-into-a-corner defense on the right.

Don't keep your primary marketing video up past the date you refer to, in the video, as occurring in the future.

</comment><comment><USER7> _The problem_ : Once in a while a big "terrorist" attack makes a couple thousand victims.

 _The solution_ : Waste billions of dollars on more or less effective and way overblown "security" products, training, daily demonstrations of "force" (more like fear) in NYC. Advertise the "terrorist" "threat" heavily, wage wars on oil-producing countries, rob every "patriotic" citizen of their rights "for their own good".

</comment><comment><USER8> Luckily highly trained terrorist have never heard of tin foil so wont think to shield their bracelet.

If this was ever used I would give it a year before someone 'committing' air rage is subdued with this. "I thought he was a terrorist, he was shouting and looked at me funny!"

I already refuse to fly to America because of all the stupid bio scans I don't want to subject myself to.

</comment><comment><USER9> Do not want.</comment>


Ask HN: Sendgrid is breaking my product. What to do? - <AUTHOR> Hi HN,
I had a successful Show HN weeks ago of my product Serial Literature (https://news.ycombinator.com/item?id=24307752). The core of it is emailing periodic installments of classic novels to subscribers.
I use Sendgrid for the email delivery and it is currently breaking my product. I have almost 1,000 subscribers already, which translates in about 200 emails to be delivered each day. Because I am on a free trial I am limited to 100 emails per day (their copy doesn't say that, it says "Send 40,000 emails for 30 days, then 100/day forever.", implicitly saying that the daily limit is only after the 30-days period, but it's not. I see both a warning in my dashboard saying I reached the 100-emails limit and can see my requests getting rejected after the ~100th request).
The catch is, Sendgrid also doesn't allow me to upgrade! Is says my account is too young. I already opened 4 support tickets with them, to no answer at all! -- btw, they have a weird automation on their ticket system where I create a ticket with priority P1 (critical impact), as it is breaking my product, and they automatically change it to a P3 (general) right after I submit it. This is probably throwing all my requests to the end of the queue.
I just need the ability to upgrade! What should I do?
I am hoping to get some Sendgrid's team replying appealing to the "HN as customer service" that I saw working before, which I think is on-topic since my only publication and traffic source is the Show HN I mentioned.
But if that doesn't work, what should I do? I am worried that changing email delivery provider now will have some negative effect on my deliverability. Is that correct to assume? That changing providers and IP for my domain will be looked badly by spam filters? <comment><USER2> I don't see how switching to a reputable email service could negatively impact you, but I might be wrong

</comment><comment> core-questions Check out Mailgun or one of their other competitors. There's no real lock-in with an email provider.

</comment><comment><USER3> > what should I do? I am worried that changing email delivery provider

AWS Simple Email Service?</comment>