Turkish Police Starts Using Chemical Gas (Agent Orange) Against Protesters - <AUTHOR> http://ireport.cnn.com/docs/DOC-980610

<comment><USER2> Agent Orange is a herbicide. It is not colored orange.

[http://en.wikipedia.org/wiki/File:US-Huey-helicopter- sprayin...](http://en.wikipedia.org/wiki/File:US-Huey-helicopter-spraying- Agent-Orange-in-Vietnam.jpg)

<comment><USER3> Came to say something similar.

Looks like the problem is that CNN has an "iReport" section, where anyone can post things.

The link now says "CNN reporters there have seen no indication this is the case. Police in Istanbul today have been using a colored substance, according to protestors, which may be the source of the confusion." The iReport has been removed.</comment></comment>


Apple quietly adds "Catalogs" to iTunes App Store - <AUTHOR> http://itunes.apple.com/us/genre/ios-catalogs/id6022

<comment><AUTHOR> Any guesses on what it'll be used for? I'm guessing newsstand, but for magazines.

<comment><USER2> Shopping</comment></comment>


Getting Dumped By OpenTable.com - <AUTHOR> http://blog.sfgate.com/culture/2011/09/19/tourist-trapped-getting-dumped-by-opentable-com/

<comment><USER2> Far be it for me to defend OpenTable, but...

No shows are a big deal for restaurants. If you have 40 seats in your restaurant that turn say, twice a night and a group of 4 doesn't show up, you've just lost a considerable portion of your night's revenue.

Restaurants are typically living off scraps (5% margins are common), so OpenTable punishing you for not showing up is in the best interest of the restaurants. If you at least cancel, the restaurant can call up people on their wait list and hope to fill the vacancy.

And really, how hard is it to get online and cancel your reservation?

<comment><USER3> For a lot of the higher-end restaurants, it's worse than that. It's not like people are strolling into Alinea looking for seats. When a party doesn't show, that table is dead for the entire seating.

Achatz has the right idea in selling tickets instead of booking reservations. The burden of cancellation is now on you, not him. I betcha Tara would show up if she had cash on the line.

</comment></comment><comment><USER3> Funny that the reporter didn't mention how many times Tara blew off her reservations. Good thing it it's in the OpenTable TOS:

 _"Your OpenTable account will be terminated if you no-show for four reservations within the same twelve-month period."_

So is Tara's "flightiness" something that should be tolerated by restaurants that are paying OpenTable for the lead? In my opinion she sounds like a bad customer that is worth letting go.

</comment><comment><USER4> They practically begged her to explain why she doesn't deserve to be removed from their system. Since she didn't, I can only conclude that they were correct, and she no-showed 4 times, making OpenTable look bad in the Restaurants' eyes.

Good riddance to bad customers.</comment>


Microsoft FY10Q4 Results from Mini-Microsoft - <AUTHOR> http://minimsft.blogspot.com/2010/07/microsoft-fy10q4-results.html <comment><USER2> For those who don't live in this space: this blog consistently has the most reasonable comments and responses in the Microsoft world.

Proof? Look at the last two posts.</comment>


Ask HN: What is owed to idea people? - <AUTHOR>

Is there a precedent for equity concerns in cases where an idea is shared in a social situation that may lead to an app or a startup?<p>What I mean exactly is if you have a conversation at a party with a friend or acquaintance about potential business idea or a venture. To complicate things, what if there's an initial spark of interest from the other party followed by complete radio silence. <comment><USER2> Buy them a beer. ALL the value is in making it happen and this is so incredibly hard to do and resource intensive and risky that someone flipping an idea at you is worth little more than thanks.

<comment><USER3> tell them about an idea for beer, then ask them to build everything for them, for free, to create the beer. then tell them it was your idea, and they owe you half of all beer created.

</comment></comment><comment><USER4> They are owed exactly what they negotiated. If that was butkiss, that's fine.

<comment><USER5> [https://en.m.wikipedia.org/wiki/Bupkis](https://en.m.wikipedia.org/wiki/Bupkis)

<comment><USER4> Thanks, that's what I meant.

Re: that list, about 1/3 of the words aren't in any English language _I_ know.

</comment></comment></comment><comment><USER6> > What is owed to idea people?

Nothing owed...ideas are cheap, simply give them away.

Here's a brilliant idea from Jame Altucher, when you Give-- you Receive. > [http://www.jamesaltucher.com/what-is-the-best-way-to-give- aw...](http://www.jamesaltucher.com/what-is-the-best-way-to-give-away-ideas/)

</comment><comment><USER7> Sincere Thanks. If five years later you have a "unicorn" business perhaps a substantial monetary token of appreciation would be appropriate.

</comment><comment><USER8> IANAL, but there has to be the presumption of confidentiality, which is non- existent in a situation you described.

</comment><comment><USER9> Ideas are cheap, actually making something is hard.

<comment><USER10> I don't disagree that making something is hard, but really good ideas are actually very rare and valuable. The problem is most people's ideas are not very good and hence worthless.</comment></comment>


Indian killed in Kansas: Hate crimes are rising since Trump assumed office - <AUTHOR> http://www.hindustantimes.com/analysis/indian-killed-in-kansas-hate-crimes-in-us-are-rising-since-trump-assumed-office/story-zTBmdRsbsmI8hJJ1d88m5N.html <comment><USER2> I'm sorry, but using SPLC as an source for figures is not responsible reporting. They're a known horribly biased group, and many of the so-called "hate crimes" since the election have been been proven false.

See this list for many examples:

[http://www.fakehatecrimes.org/](http://www.fakehatecrimes.org/)

<comment><USER3> Yes, that's right, "fakehatecrimes.org" is definitely a lot more credible. You are responsible for spreading a racial hatred agenda undermining the persecution and terrorism experienced by minorities. Show some respect, 2 innocent men have been murdered by a white nationalist terrorist.</comment></comment>


Show HN: brite, a HTML5 MVC Framework (DOM centric approach to MVC) - <AUTHOR> http://britesnow.com/brite

<comment><USER2> Finding the right balance between DOM and MVC is not easy - yet remains critical if you want to capture the flexibility of the DOM and the update capabilities of MVC. It is great to see Jeremy/BriteSnow pushing the limits and capturing some of the best practices.

</comment><comment><USER3> The "Step 0" and "Step 5" tutorial examples are visually glitched in Opera. The card appears to show no information, but a look with Opera's development tools shows that .card-back seems to be visible, while .card-front isn't. They remain hidden regardless of any selection of projects I do. The rest of the examples in the tutorial are working great, though.

<comment><AUTHOR> Yes, good point. We focused on Webkit and Firefox, but we should add opera. Will fix this in the next few days. It should be mostly CSS. Sorry about the inconvenience.</comment></comment>


Why I'm Not a Fan of R-Squared - <AUTHOR> http://www.johnmyleswhite.com/notebook/2016/07/23/why-im-not-a-fan-of-r-squared/ <comment><USER2> "As such, R^2 answers the question: 'does my model perform better than a constant model?' But we often would like to answer a very different question: 'does my model perform worse than the true model?' "

Maybe I'm over-generalizing here, but I think this fundamental assumption is untrue for most people who use statistical models to solve actual problems. All of the "undesirable" behavior of the R^2 metric makes complete sense when you view it as a comparison with the most naive model (the constant model), and while R^2 certainly doesn't measure how close to "true" a model is, it very well captures the utility of using a more sophisticated model over an extremely simple one, which (I believe) is a critical question.

For example, if you had predict a process where measurement noise overwhelms variation in the process itself, as in his first example of log(x) from .99 to 1.0, then the constant model is pretty much the best you can do, and both log(x) itself and the linear model offer little additional benefit. Getting low R^2 values for those two models makes total sense--they offer no marginal benefit. In fact, if you had to make the decision "should I use log(x) or the constant model?", you're often better off going with the constant model for simplicity and predictability (unless you have domain knowledge motivating a different choice).

I like well thought-out articles like this one on statistical concepts because they make me think about things I often take for granted, and while treating R^2 like a better version of RMSE or MAD is clearly wrong, it often better captures things people actually care about by taking the difficulty of the problem into account. If you're doing advanced statistical modeling, it's easy to underestimate how common it is for a beginner to celebrate getting (say) 96% classification accuracy on a 2-class problem where one class makes up more than 95% of the samples--an issue that using R^2 can quickly reveal.

tldr: Awesome article but (imo) R^2 is more useful than most other metrics, not less

</comment><comment><USER3>
        > "does my model perform worse than the true model?"

What is "true model"? I can't make head nor tail of that term. I've never heard this before, nor does it make sense to me when I take just the word meaning.

<comment><USER4> True model is the probability distribution that generates the observed data.

<comment><USER5> In other words, what was actually observed?

<comment><USER4> No. "true model", "true distribution" and "true population" is what generates the data.

<comment><USER6> Which is a misnomer, because the data probably isn't generated by a model.

<comment><USER7> Semantics at this point. Data-generating process is a term that's also used. A model seeks to mimic or match the real process to a reasonable approximation. Hence "true model" as a scoring engine or data relationship that represents reality completely.

<comment><USER6> Except that we can't access reality completely. Assuming that there is a "true model" generating data is just that: an assumption with no real basis.

Semantics is the essence of communication.

<comment><USER8> Unless you have data, that is. The data is the basis for assuming that a process has generated data. Either that, or the data has existed for all eternity, and therefore could never have been collected.

<comment><USER6> "data" is your own perception, however. Can you give an example of a data generating process?

<comment><USER7> We can create them!

Suppose I take the function y = log(x) and add random white noise. The function log() and the parameters on the random white noise process are the data generating process. We could then fit a model y = \beta X + \epsilon, and then compare the "true" (first) model to our second model. When the natural world generates our data, the idea behind all this is the same: there is a process which generates the data, and the data reveals information about that process to an approximate degree.

Some reads:

[1] [http://www.rimini.unibo.it/fanelli/econometric_models2_2012....](http://www.rimini.unibo.it/fanelli/econometric_models2_2012.pdf)

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

<comment><USER6> Can you give a non-synthetic, ie. natural, example data generation process?

Edit: I don't know if people don't like the grammar, or what?

How about this:

Can you give a non-synthetic, ie. natural, example of a data generating process?

<comment><USER7> Sure! Most of the equations you find in your nearest physics or chemistry books are validated experimentally/empirically. The validation comes by better and better approximating the data generating process.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I'm a huge fan of R^2 and you should be too.

The simple way to think about R^2 is that it is a measure of relative predictive accuracy (and that is exactly how it is calculated). This is both a more accurate (and a more useful definition for most tasks the HN crowd would work on) than saying R^2 is a measure of the distance from the true model.

All the figures and findings in the post are completely reasonable given that definition (the linear model performing better in the first case is due to the high variance of the author's data, other samplings would lead to the reverse result).

<comment><USER10> I think what John is saying is that people commonly use R^2 as measure of model fit where something like root mean squared error (RMSE) gives a better measure of model fit (by measuring the distance from the true model) depending on the model. Just using R^2 blindly for most tasks you would work on can lead to choosing an incorrect model.

I think the main take-away from the post is to better understand the correct measure for model fit for your specific data. For example, if you are forecasting a time series with stationary demand, mean average deviation might be the best measure of model fit, but it the case where there is seasonality with a trend, the RMSE would be a better measure [1].

[1] [http://robjhyndman.com/papers/foresight.pdf](http://robjhyndman.com/papers/foresight.pdf)

<comment><USER11> > I think what John is saying is that people commonly use R^2 as measure of > model fit where something like root mean squared error (RMSE) gives a better > measure of model fit (by measuring the distance from the true model)

I don't mean to be rude, but that is definitely not what he is saying. There are two important things I'd like to clarify:

\- It is wrong to call the alternative measure "the RMSE". The alternative that the article was proposing was a made-up measure called E^2 which measures the distance from the true model.

\- The author is not suggesting that people use E^2 instead of R^2 for any case. In fact, in almost all cases it is impossible to use E^2, because calculating it requires you to know the true model, and if you know the true model it would be very unlikely that you'd be wasting your time measuring other models.

The author makes it clear that E^2 isn't really to be considered an alternative when he called it the "generally unmeasurable E^2".

<comment><USER10> I think we are saying the same thing in different words, and I might be confusing "an alternative" with "a comparison". John compares R^2 with E^2, but RMSE can be considered an alternative to using R^2 in certain cases.

If you go back to the first line: > People sometimes use R^2 as their preferred measure of model fit.

I think the post is going over why R^2 is not recommended as 2 is not only a measure of the error, but it includes a comparison with a constant model. John defines E^2 as a comparison metric which measures how much worse the errors are than if you used the true model.

Going back to a metric for determining model fit, RMSE/MSE/MAD are all alternative measures of model fit and are useful depending on the dataset.

</comment></comment></comment></comment><comment><USER12> An interesting tangential argument I had with a colleague recently was how to actually calculate R^2 when testing model predictions on new data (emphasis on new data).

He claimed the conventional way is as the square of the correlation coefficient of the two lists of data, whereas I was suggesting 1 - SSE/SST in accord with references I read (well, Wikipedia), which latter method yields lower values for his data. I know they are equal on training data when using linear regression with constant term, but generally they differ. Correlation way being scale and shift invariant to me disqualifies it as a measure for predicting _new data_.

Unfortunately he was able to barrage me with many online references that just say that "R^2 is the square of the correlation coefficient", which without very careful reading of the context (fitting not predicting), and sometimes even with such careful reading, makes his interpretation look correct. I find the whole thing rather exasperating...

It also occurs to me that just as a question of convention, that I may be wrong which wouldn't surprise me as I'm new to modeling.

So: Do most modelers report correlation^2 as their R^2 values for holdout tests? I wonder have other modelers here encountered this confusion?

</comment><comment><USER13> I find this very confusing, but I guess I'm not the intended target audience. Not that I say it's wrong, but I don't really see the point.

Do people really expect R^2 to measure the fit of the model to the true model? R^2 measures the fit of the model to the data: i.e. how well does the model perform in predicting the outcomes. In his first example is clear that all the models are equally useless: the noise dominates and the predictive power of the models is close to zero. In the second example the predictive power of all the models has improved, because there is a clear trend. The true model predicts much better than the others now, but each model predicts better than in the previous example.

In the first example, he concludes: "Even though R^2 suggests our model is not very good, E^2 tells us that our model is close to perfect over the range of x."

Actually our model is "better than perfect". The R^2 for the linear model (0.0073) and for the quadratic model (0.0084) is slightly better than for the true model (0.0064). Of course this is not a problem specific to the R^2 measure (the MSE for the linear and quadratic fits is lower than for the true generating function) and can be explained because the linear and quadratic models overfit. E^2 is essentially the ratio the 1-R^2 values (minus one). We get -0.00083 and -0.00193 for the linear and quadratic models respectively (the ratios before substracting one are 0.9992 and 0.9981).

In the second example,"visual inspection makes it clear that the linear model and quadratic models are both systematically inaccurate, but their values of R^2 have gone up substantially: R^2=0.760 for the linear model and R^2=0.997 for the true model. In contrast, E^2=85.582 for the linear model, indicating that this data set provides substantial evidence that the linear model is worse than the true model."

The R^2 already indicates that the linear model (R^2=0.760) and the quadratic model (R^2=0.898) are worse than the true model (R^2=0.997). The fractions of unexplained variance are 0.240, 0.102 and 0.003 respecively and it's clear that the last one performs much better than the others before we take the ratios and substract one to calculate the E^2 values 85.6 and 35.7 for the linear and quadratic models respectively.

(By the way: "we'll work with an alternative R^2 calculation that ignores corrections for the number of regressors in a model." That's not an alternative R^2, that's the standard R^2. The adjusted R^2 that takes into account the number of regressors is the alternative one.)

<comment><USER13> There is now a new definition for E^2 (one minus the ratio of the R^2 of the model and the "true" model) which doesn't solve the most obvious issue: getting negative values for a measure called "something squared". The values of E^2 in the first example are now -0.13 for the linear model and -0.30 for the quadratic model. In the second example, they are 0.24 and 0.10 respectively.

The graphical representation is a bit misleading. Leaving aside the fact that in the first example MSE_T is between MSE_M and MSE_C, this drawing make E^2 and R^2 seem more complementary than they really are. E^2 is the length of the blue bar as a fraction of the total length (blue+orange). R^2, however, is the length of the orange bar as a fraction of the distance from the end of the bar to the origin (not shown in the chart).

Edit: there is a new addition to the post, re-expressing E^2 in terms of a mean/variance decomposition. It should be kept in mind that the derivation presented is only asymptotically correct. In a small sample, the cross term does not vanish and the variance of the observations around the "true" value is not exactly sigma^2. In the second example, E^2 calculated using this new definition is quite similar (0.2373 and 0.0991 for the linear and quadratic models, compared to the previous values of 0.2382 and 0.0994). In the first example, however, the values we get from the new definition are far from the previous values: 0.0646 vs -0.129 for the linear model, 0.1528 vs -0.297 for the quadratic model.

Edit2: changed "approximation" to "new definition", "good" to "similar" and "exact" to "previous" in the previous paragraph. I'm not sure if he was suggesting to use this formula to calculate E^2 instead of the previous one. Anyway, it doesn't matter because this is not something that can be calculated at all unless the "true model" is known.

</comment></comment><comment><USER14> Interesting article and I find it current for some problems I'm working on at the moment.

I would add a few challanges. The example is a bit a of a strawman - a log(x) function has unique properties that make the Xmax-Xmin vs R^2 work like that. In real data, rarely does a single-variable 'true model' fit as well as the example either.

Context is needed as well - depending on the use of the model, a linear or quadratic fit may be sufficient even for what is clearly a log dataset. The real failing on only for small values of x, maybe 5% of the range of total values. For this case, a bilinear model could fit quite well for the lower 5%, then the existing model for the upper 95%. It depends on the application. I like this phrase:

"When deciding whether a model is useful, a high R2 can be undesirable and a low R2 can be desirable."

Too often statistics are dominated by 'cutoff' values that people apply blindly to all situations.

What do you think of robust regression methods, where obvious outliers are down-weighted?

<comment><USER15> I'm not the author, but I'm a huge fan of robust regression. I make between $500-2000/month off a trading strategy based on such a method. (The method is basically Bayesian linear regression, but using an error model that has a heavier tail than a gaussian.)

But a really important thing when using such methods is the lucas critique. When you need to use robust regression you are definitively in a space where all the simple and generic stuff (e.g. linear regression) doesn't work. So at this point it's important to validate the underlying assumptions behind the robust regression scheme.

E.g., in my trading strategy, I've gone to great lengths to make sure the tail behavior I'm modelling is an overestimate of reality.

<comment><USER16> Could you share more details about the robust regression you are using? All resources I could find online on robust regression would either point to Laplace distributed residuals, or some capped loss function.

</comment></comment></comment><comment><USER17> That's seem an advantage for R²: if R² go down when you add more data, you know your model doesn't fit the data any more.

</comment><comment><USER18> Had the author offered an alternative? Namely, can E^2 be calculated in practice?

<comment><USER19> I don't think you can calculate E^2 without the "true model", which you practically never have. The code uses the "true model" too: [https://github.com/johnmyleswhite/r_squared/blob/master/util...](https://github.com/johnmyleswhite/r_squared/blob/master/utils.R#L63)

I guess the post is similar to Anscombe's quartet [1]: a warning not to blindly trust summary statistics.

[1] [https://en.wikipedia.org/wiki/Anscombe%27s_quartet](https://en.wikipedia.org/wiki/Anscombe%27s_quartet)

<comment><USER20> So the solution the author proposes is both absolutely correct and absolutely useless in practice?

<comment><USER21> He's not proposing a solution as far as I can tell. He's simply using the E^2 statistic in order to illustrate the problem.

</comment></comment></comment></comment><comment><USER22> This is a weird critique of R-Squared. You (should) learn very early on that comparing R-Squared values of different models is a no-no.

<comment><USER23> And you're claiming it's weird because people learn this early on? Maybe that's where we disagree -- it's not as common to learn about the issues with R^2 as you might think.

<comment><USER22> Maybe the fact that this is in the (reasonably brief) Wikipedia entry on R2 is some evidence?

[https://en.wikipedia.org/wiki/Coefficient_of_determination#I...](https://en.wikipedia.org/wiki/Coefficient_of_determination#Inflation_of_R2)

Also, I find that the OP is actually more confusing on this topic than Wikipedia.

Not sure how else I can support that this is a basic fact about this metric. I'm not in the mood to find quotes in intro textbooks, etc.

</comment></comment></comment><comment><USER24> Learn about information theory. It is better to calculate the cross-entropy error or KL-divergence between the data and the model.

<comment><USER25> Do you have any links where KL-divergence is used in the case of real-valued response variables? Why is it better?

</comment></comment><comment><USER26> This is not very accessible for people with weak statistical backgrounds.

<comment><USER27> R-Squared is the most commonly used indicator of how good a model fits some data. The author discusses why this indicator can be misleading in some cases and shows an example. There is nothing interesting for people unfamiliar with R-Squared values or model fitting.

But in fact, it is not complicated. If you feel curious, feel free to ask any specific question you have.</comment></comment>


Ask HN: Anyone have a link to a productivity/site-black-list script? - <AUTHOR>

I remember a post a while back where someone had a script that blocked time wasting sites. I've been wasting a lot of time lately and was wondering if anyone remembers/has the link. I tried searching for it but no luck :( thanks guys :) <comment><USER2> <https://github.com/leftnode/get-shit-done> ?

</comment><comment><USER3> Add HN to it lol</comment>


Lessons Learned from Two Years of Kubernetes - <AUTHOR> https://coderanger.net/lessons-learned/ <comment><AUTHOR> Quotes:

'Kubernetes is not magic, but it is an extremely powerful tool when used well by a team that knows it.'

'GitOps Is The Way'

'Whatever language and framework you feel most comfortable with, there is probably an operator toolkit available and you should absolutely use it.'

'[secrets] still needs a lot of work, people should be expecting a workflow that is auditable, versioned, and code-reviewable like for everything else in GitOps land.'

'Native CI And Log Analysis Are Still Open Questions'</comment>


Kansas Is Flatter Than a Pancake - <AUTHOR> https://www.improbable.com/airchives/paperair/volume9/v9i3/kansas.html <comment><USER2> This was enjoyable:

 _The state is so flat that the off-the-shelf software produced a flatness value for it of 1. This value was, as they say, too good to be true, so we did a more complex analysis, and after many hours of programming work, we were able to estimate that Kansas's flatness is approximately 0.9997. That degree of flatness might be described, mathematically, as "damn flat."_

</comment><comment><USER3> Dunno, about 32 years ago I drove through KS on I-70. It had some rises and dips. Maybe I'm remembering eastern CO.

</comment><comment><USER4> I want to see much ore of this kind of thing on HN!</comment>


My game making tool attracts more girls than boys - <AUTHOR> http://rpgplayground.com/my-game-making-tool-attracts-more-girls-than-boys/ <comment><USER2> Hey, that's my tool & article!

Thanks for posting this, and it's a nice surprise someone else posted this here :).

I'll answer any questions you might have.

<comment><AUTHOR> You made a few hypotheses in the post. They sound reasonable to me, but do you plan to do some actual survey to varify them? I am quite interested to hear more about it and I am sure other projects can learn something to attract more female users.

<comment><USER2> No, I'm not really going to investigate further, I already have my hands full with other things :(.

Maybe if my product becomes more popular, I can ask the local research groups here to do a study. There's a lot of social studies going on for gaming, so maybe this would be a good fit.</comment></comment></comment>


Why Do I Code? On Accepting Donations - <AUTHOR> http://theschwad.tumblr.com/post/123408762507/why-do-i-code-on-accepting-donations

<comment><USER2> It's so important to realize that just because someone gives it away, doesn't mean it doesn't have a cost. If you use the service and want it to be around, it needs to be supported.</comment>


Ask HN: How might I blacklist code from running on WSL? - <AUTHOR> How might one prevent thier code from running on WSL. Idont want any GNU based code i develop, to run on WSL or any windows10 based system. <comment><USER2> Isn't that kind of hypocritical? The GPL3 came out because of the "tivoization" of open source code where theoretically you could see the code and modify it but you couldn't run it on the device that it was meant for.

How is it any different that you want to release "free" software and not let the user run it where they desire?

</comment><comment><USER3> [https://github.com/Microsoft/WSL/issues/423](https://github.com/Microsoft/WSL/issues/423)

<comment><AUTHOR> thank you very much! embrace extend extinguish must stop. the vague possibility of windows creating de facto, 2 flavours of GNU software is something to head off. if anyone and everyone can run any GNU code, on a win10 system, the corpse of linux on desktop will be laid out in state.

I might also add the link provided, points to some discussion that illuminates my concerns, namely the reduced functionality of the WSL environment.

</comment></comment><comment><AUTHOR> it is but i want to write code that will run on a linux system but not run on a WSL or any other type of system that is a "fake" linux installed on something else that is not linux. Is this physically possible, impossible or simply non trivial.

I would add, that win10 is not FOSS and breaks FOSS GPL3 considerations so i am not interested in developing FOSS for microsoft by fiat.

<comment><USER2> So if I run Linux software on a Linux VM hosted on Azure where the servers themselves run a modified version of Windows Server 2008, is that also unacceptable? What if I run a Linux VM on VMWare running on Windows? Since it is open source, what if I just take your code, fork it, take out the checks for WSL and release my version that does work on WSL?

<comment><AUTHOR> If you modify code i have written then its your code not mine. In particular im interested in ensuring my code has actual access to the platform, instead of a sandbox or subsystem that pretends to be linux, this is for security reasons as well as the desire to provide a true linux UX when running a GNU software, rather than the truncated linux experience that WSL delivers. I also think GNU writen to avoid lowlevel calls or network functions is a reduced functionality that can pollute linux distros and gits, unless clearly marked as a WSL app.</comment></comment></comment>


There should be a day every year for donating money to free apps - <AUTHOR>

<comment><USER2> Really?

I mean, of all the things that one could donate money to...

</comment><comment><USER3> A similar thing might be done for e-books, too. Because e-books are sooner or later falling into torrent networks becoming available for free.

</comment><comment><USER4> Or... 365 days...</comment>


Kate Spade, American Designer and Entrepreneur, Is Dead at 55 - <AUTHOR> https://www.nytimes.com/2018/06/05/fashion/kate-spade-dead.html <comment><USER2> Besides her entrepreneurial success, Spade's death is particularly notable since the cause appears to be suicide. Her brand was prominent enough that Apple Stores carried Kate Spade cases and watchbands.

According to Wikipedia, the label sold for $124M to Liz Claiborne. In 2017, it was acquired by Coach for $2.4B: [http://money.cnn.com/2017/05/08/investing/coach-kate- spade-t...](http://money.cnn.com/2017/05/08/investing/coach-kate-spade- takeover/index.html)

<comment><USER3> And she sold 100% to Nordstrom prior to them selling it to Liz. You have to wonder if this is something of a "Victoria's Secret" situation. (1)

 _As the label took over America, he lost it all, having sold Victoria 's Secret before it reached its peak.

For would-be entrepreneurs in the US, Mr Raymond's tale is a cautionary one. He is referred to in the hit film The Social Network as a symbol of the dangers of failing to understand the potential of an idea._

(1) [http://www.dailymail.co.uk/news/article-2173576/Tragedy- Vict...](http://www.dailymail.co.uk/news/article-2173576/Tragedy-Victorias- Secret-invasion-Britain-Why-man-500m-lingerie-empire-jumped-Golden-Gate- Bridge.html)</comment></comment>


How to Destroy the Myth of the Proper Solution - <AUTHOR> https://hackernoon.com/how-to-destroy-the-myth-of-the-proper-solution-94ca958def1f <comment><USER2> Isn't what he describes "the Perfect Solution" problem? In politics, it's used to block any progress by attacking the fact that the solution is not perfect. Obama talks about it often in relation to getting things done. Even if he wanted single payer healthcare, faced with it being impossible, he does the next best thing. His adversaries would blame him for an imperfect solution, but so would many of his supporters. Though there are things that he hasn't made progress on, I'd say overall his method works.

I'd take "proper solutions" to mean "nothing improper" which, to my understanding, is an extremely practical and feasible design goal for quality control purposes. Proper solutions definitely exist in this context. Encryption, handling user input, speed optimizations are good examples.

I'd go further and say, if a solution is proper (not wrong), and progressive (makes something better), it's good enough. Maximizing the better part might be subjective yada yada, but better is measurable, and there is no need to introduce the "proper" problem when dealing with the "better" problem. Whatever "better" that needs to get done should get done "properly". Isn't that what we're all already doing?

And of course, nothing is ever perfect. But it's a good moving target.

<comment><USER3> AKA The Nirvana Fallacy

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

<comment><USER4> Is that basically using Straw Man to build a solution that is too far from the achievable one?

</comment></comment></comment><comment><USER5> Took a while for me to work out that the perfect/proper/best solution doesn't exist. Took a while to work out what does exist. It goes like this (note that desired outcome starts with worst case at the top of the list, and ends with best case at the end):

Technical depth and breath + domain expertise = the best solution

The above + policital acumen = a good solution

The above + stategy = the right solution

The above + leadership = a successful solution

Anybody can obtain technical depth and breadth. Bit of training, bit of time... Technology is easy. _People_ are hard. So these days I aim to be successful, and try daily to improve the soft skills listed above to make sure I can do that.

</comment><comment><USER6> > There's no such thing as the "Proper Solution", there's only the best > solution we are able to come up given the current knowledge and > circumstances

I think that is the definition of a "Proper Solution".

Another way to define a "Proper Solution" is: the fastest solution that still manages to be maintainable while meeting all of the requirements for the project which is not "over-engineered".

I think that's the broad-spectrum "proper solution". I don't think there is any application that wouldn't want to meet these requirements.

<comment><USER7> There are two places I see the fallacy frequently pop up:

1\. Over-engineering. This often comes in the form of trying to perfect something before releasing it, and/or long projects with fluid, changing requirements.

2\. Criticizing old code/systems and their developer without any understanding of the context and trade-offs made at the time.

In my experience the first is common and the second is even more common. The worst is when #1 and #2 combine into someone trying to replace a functional system with an improved "v2" that is more complicated and no better.

<comment><USER8> I think #2 is aggravated by lack of documentation. How would any new developer ever understand the context and trade-offs made at the time if they were never written down? If there's no records, it's either reverse engineering, or re- engineering.

</comment></comment></comment><comment><USER9> I dunno, we live in a era of technical debt. Calling out hubris over claiming something perfect is not my priority when so much known slap-dash abounds.

<comment><USER10> That's fair, but I think the article's point is, too. It's really easy to make perfect and proper the enemy of incremental improvement and shipping product. The "right" solution requires X that's always three months off. Discussions derailed by someone's need to describe the "right" solution that they know doesn't apply to this situation, but it's the cool thing on the internet and we "should" do it. There's value in framing a discussion.

</comment></comment><comment><USER11> Learning, effort, team rapport, enjoyment, cost and time: choose up to n ∈ Reals, n > 0, using a Poisson distribution where λ = 1... but usually do without all of them and fix legacy code yesterday and make it pretty... oh and change everything again, right now. (Tension of fine-tuning to apparent/actual needs with what's possible... Office Space/Dilbert vs. the few whom bring customers nearer to the tight iterations and visible progress of actual agile shops making something gradually useful, fairly quickly. In traditional offices, there is a core insecurity of not appearing incapable or making a mistake, so big deliverable guesswork fails to meet requirements or stay within time/cost budget, and "do what the boss says". Also, random vendors taking forever and doing almost "nothing" because they were not milestone deliverables but charge by the hour, no customer-side PM usually.)

</comment><comment><USER12> My architect loves the "perfect solution" even if it means a butt ton more work. In times where he is wrong, he will fight to the death his solution (which is the only valid solution).

He's not the one that maintains the code. He's not the one that knows the product, or business case in detail.

If I disagree with him he will throw some random fact out which may not have much weight. If I say, well your solution will take three additions weeks to implement and does not buy us more and is less performant. He would say the equivalent of...the sky is blue.

Does anyone else have this issue, and know how to counter back?

<comment><USER13> Well it seems like (I'm guessing here) your architect is trying to say that his solution will hold up better in the long run.

In terms of arguing, if you guys are going around in circles one good way is to write down the key points of the argument or merits on a whiteboard/paper. Like solution one offers 1) speed 2)cheap versus solution two offers 1) stability or something. I've always found that people good with talking, but have a vacuous argument tend to break apart when it is laid out in writing.

<comment><USER12> Yeah a lot of his arguments are for long term solution, the "perfect solution".

Real life example from last week. We needed quick turnaround for a JMS cluster to fix a P1 incident that has been haunting the business for a few weeks. Our other applications use file based persistence store on its own NAS.

I proposed we used JDBC backed persistence store - use our existing DB and just add the scheme. I work in a huge company, so new infrastructure for the NAS takes a while to get.

He was against it, said JDBC store is not performant. He wanted a new NAS, and the JMS cluster had to have its own dedicated resource, and not use the existing one (which my teammate proposed and was shot down by him)

That application would have a max of 10 messages on that queue per day to trigger a process...no performance needed really.

Forward to the next day, when he proposed his solution to operations. He got chewed up by another architect and the operations guy for a solution that requires a whole new NAS. They settled on using an existing NAS.

Quite a bit of details, hope my coworkers don't browse HN.

</comment></comment></comment><comment><USER14> There are indeed proper solutions. Bridges need to withstand certain weather conditions, skyscrapers need to sway in a certain way, and software systems need to operate with certain requirements like transactions per second, latency limits, memory bounds, etc. Saying proper solutions don't exist is just an excuse for hackers to ship broken products.

If you consistently can't ship proper solutions then either your design process is broken or the problem is between the chair and the keyboard. There is no myth here.

<comment><USER15> I think the author's objection is to the idea of _the_ proper solution, the one perfect solution that can't be improved on. Such a thing might exist, but what you almost always need is actually an adequate solution - bridges that don't fall down, even if they aren't the perfect bridge, etc - so time spent chasing that golden ideal is wasted.

</comment></comment><comment><USER16> It's really about maximizing value/cost. A large portion of software is created for and funded by commercial purposes and usually, they care about nothing besides cost and results. For instance, what stack we are using, they could care less. Not your technical manager, I'm talkng about the execs that allocated the budget so that you have a job. Obviously at Google they would care higher up the chain than at Wells Fargo.

As engineers we value efficiency for its own sake as we see the beauty in it and so serve the same goals as our corporate bosses. We were directed to pre- package these optimal end-products. Of course, it failed. But have found greater success in standardizing not the solution, but the process we do to find the best solutions.

</comment><comment><USER17> So basically the aphorism "perfect is the enemy of the good".

</comment><comment><USER18> On a related note, I think people should tone it down on calling their pet processes a "best practice".

</comment><comment><USER19> Great is the enemy of good enough</comment>


Ask HN: How do you organize all your photos? - rajesh-s There's a drastic change in the number of pictures we take of every memory. What tools/flow do you use to organize and build a db of photos? Maybe even backups too.<p>There are ways to organize movies, shows, music that I've come across but nothing solid for photos. <comment><AUTHOR> I've struggled with this for the last 18 years, and quit my tech job to build a solution. It's in closed beta right now, but I'm going to send out another wave of invites next week. Read more and sign up here: [https://blog.photostructure.com/introducing- photostructure/](https://blog.photostructure.com/introducing-photostructure/)

</comment><comment><USER2> I just dealt with this crap storm of a project last month. We had 40k photos scattered across three laptops, old hard drives, and sd cards. First I just crudely copied all of the folders on to an external hard drive and ran a freeware duplicate remover to clean out about 20% of them. Then I used a python script to go through this giant pile of pics and copy them in to folders by year and month based on the created date. It also added yyyy-mm-dd to the beginning of each file name. Now we are slowly going through month by month and adding simple tags in the file name (event, location, names). It's far from perfect, but I didn't want to deal with keeping everything synced in a database or locked in to a certain OS or app, plus it should still be searchable in 15 years when we are all running Windows 30 and Mac OS Ozarks or whatever.

<comment><AUTHOR> May I ask, how are you saving the tags? Are you writing to sidecars?

Be careful with overwriting your originals. Many years ago I used jpegtran to rotate losslessly, but didn't realize it was removing all the metadata as well.

I added a bunch of heuristics to PhotoStructure to infer missing tags based on sibling files, specifically because I'd borked so many of my own photos.

FWIW, I've tried to make design decisions that will hopefully allow libraries to be very long-lived. PhotoStructure can copy unique (by SHA) originals into a dated subdirectory, and has what may be the most advanced duplicate image detection around (just added in the newest version). Your library is cross- platform (for example, stored on your NAS, created on your mac, then opened on your Windows box, and everything just works). The sqlite database is a straightforward schema.

<comment><USER2> I just put the tags in the file name, like "2019-12-25_xmas_bob_grandma.jpg". Obviously you can't go crazy with a bunch of tags, but I think I can get by with 2 or 3 tags at most. I was afraid to use sidecar info or xattr because I think that data can be lost if the files get moved between file systems (ie eventually moved from the current hdd to the nas I have yet to buy, etc). I definitely kept my raw unorganized folder on the ext hdd for now, but I've run several scripts to make sure I didn't inadvertently overwrite or miss anything.

</comment></comment></comment><comment><USER3> At the moment, I use iPhoto and iCloud photos. But this method does not scale.

I would love to have a more scalable cross-platform solution. Maybe something like Adobe Lightroom that didn't require a huge monthly subscription, plus all the storage costs.

<comment> rajesh-s Yeah when dealing with files this volume I'd prefer a self-hosted or local storage

</comment></comment><comment><USER4> 1) Photos taken from my mobile phone (android) are backed up to "Google photos". This allows me to search by dates/objects/people/location etc. Google also allows me to cast (screensaver) it to the television using chromecast.

2) Photos taken from DSLR are backed up to the folder on external drives(2) and also synced with google photos.

This set-up is working fine for many years. I haven't explored any other tools in recent times.

<comment><AUTHOR> Just FYI, Google Photos backups will not retain most of the metadata in your images and videos when you try to recover your originals using Google Takeout.

</comment></comment><comment><USER5> I created [http://gallery.hd.org](http://gallery.hd.org) back in the day (a) to make photos available for free when there weren't many eg for school projects and (b) to origanise my own photos!

I am not taking many at the moment, so it's been less of an issue...

</comment><comment><USER6> I mostly have them backed up using backblaze. I just dump a lot of them into my hard-drive from time to time.

Also, google now offers unlimited photo storage (as long as you are okay with compression) if you have google photos. Its free.

</comment><comment><USER7> I sync them to my laptop and keep them there for 30 days. Within those 30 days, I either post them in Whatsapp/Facebook stories or send them to family/friends. Then, I just delete them.

</comment><comment><USER8> I copy the photos to my laptop and also leave them on SD-card :) If I need more space for new photos, I just take another SD-card.

<comment><AUTHOR> Please do not use SD cards as a long term backup.

Most cards will suffer bitrot in 5-7 years, and may be completely unreadable in 10+ years.

None of my several handful of cards that are 10+ years old are viable anymore (and they were stored in a climate controlled, low humidity, antistatic bag).</comment></comment>


Using Nginx to load balance microservices - <AUTHOR> https://hagbarddenstore.se/posts/2016-03-11/using-nginx-to-load-balance-microservices/ <comment><USER2> "highly available web applications."

but nginx will drop traffic during reloads...

<comment><USER3> This is false. Nginx will spawn new workers with the changed config and gracefully shutdown the old ones once the new ones are online. There should be no drop in traffic or dropped requests while this happens.

<comment><USER2> Before making this statement, think of how the following states can really be non-disruptively handled:

1) requests in transit to nginx (in-flight) 2) TCP handshakes just completed (not yet accepted) 3) TCP handshakes in progress (clients will retry if server doesn't RST)

Nginx cannot know if requests are in transit nor it can handle just established TCP conns. It also does not drain the backlog queue in the old processes. It simply tears down estimated 'idle' connections.

Try a test with heavy load and you will see. More network latency more errors...

That's exactly why Nginx Plus offers dynamic upstream modification features as opposed to relying on reload.

</comment></comment></comment><comment><USER4> did you consider haproxy?

<comment><AUTHOR> In the cases I use this setup, HAProxy won't fit, since I route based on URL values. I do have HAProxy in front of my nginx machines though.</comment></comment>


How not to design an airline website - <AUTHOR> http://www.trimgairlines.com/ <comment><USER2> If you click on the "Play" button more than once, it starts multiple, out-of- synch instances of the theme.

</comment><comment><USER3> At least this is inadvertently entertaining.

The worst major airline so-called 'self service' area is Virgin Atlantic. You can check in, that's it. Stunningly poor last Christmas when LHR was shut down and phone lines were clogged.

</comment><comment><USER2> Thank you, this made my day. I submitted it to "Webpagesthatsuck.com".

</comment><comment><USER4> What's next, we will be forced to view something like this on the in-seat screens in front of us on the plane.</comment>


How Software Errors Contribute to Spacecraft Failures (2003) [pdf] - <AUTHOR> http://klabs.org/DEI/lessons_learned/aerospace_corp/scsra.pdf

<comment><AUTHOR> Another paper based on OP, from the same author, published in 2007 and including discussion of non-software failures: [http://klabs.org/DEI/lessons_learned/aerospace_corp/lessons_...](http://klabs.org/DEI/lessons_learned/aerospace_corp/lessons_from_mistakes.pdf)

Other lessons learned from the space industry: <http://klabs.org/DEI/lessons_learned/>

</comment><comment><USER2> This slide deck doesn't go into enough detail and I think the Arianne 501 section is not entirely correct; if you're interested in this topic, I enjoyed reading Space Systems Failures [1].

My spouse used to work as a EE in the aerospace industry and I collected some awesome stories from her. The degree of cultural pathology there is difficult for outsiders to comprehend.

[1] [http://www.amazon.com/Space-Systems-Failures-Disasters- Satel...](http://www.amazon.com/Space-Systems-Failures-Disasters- Satellites/dp/0387215190/ref=sr_1_1?ie=UTF8&qid=1344864492&sr=8-1&keywords=space+system+failures)

<comment><AUTHOR> That is definitely a good book on the subject but I thought HN would appreciate a short overview more than a 400-page book to read in their spare time.

I currently work in software in the space industry (for about 5 years now), and I definitely agree that the cultural pathology is difficult to comprehend. I didn't realize how difficult since I haven't worked in any other industry, but seeing the comment sections on recent Curiosity-related posts here on HN has shown me how much the community wants to understand and how wide the understanding gap is.</comment></comment>


Show HN: PaperPup – Discover new articles from blogs and websites in one UI - <AUTHOR> https://paperpup.herokuapp.com <comment><AUTHOR> Hey HN! I had the week off for the 4th of July holiday but canceled my vacation plans due to COVID, so I figured I'd do one of those "7 days of code" things where I do 7 different projects in the week. I wanted to create some things I would use and keep my programming skills sharp since I do data analytics rather than software engineering as my day job.

This was supposed to be Day 2, but ended up taking me about 3-4 days to get to the current state.

The problem I wanted to solve is that basically, I am addicted to Twitter. I get my news from Twitter, so I'm constantly pulling it up and scrolling through it throughout the day. But there's a lot of noise on Twitter--a ton of low quality content, mean-spirited comments, and so on. I wanted a way to stay on top of the news that met the following criteria:

1\. One place to see new articles/posts from a bunch of different sources. I didn't want to have to pull up each news site individually.

2\. No comments or noise--just the latest headlines.

3\. Customizable - I can add new sources I come across, group them in different ways by subject.

4\. Public - If someone else added some interesting news sites, it would be cool to see that and find something new to follow myself.

5\. No authentication - Handling passwords and user state is a pain. Just let everyone see everything!

So I made "PaperPup" (the name came from the idea of your dog fetching you the morning paper). While there are other RSS aggregators out there, a lot of them feel clunky to me and don't necessarily have the public aspect I wanted. In technical terms, it's a Rails API backend with a "kind-of-vanilla" HTML/CSS/JQuery single-page front-end. As I mentioned I'm not really a software engineer, so this is nothing fancy; I wanted to make sure my skills on some of the basics were still up-to-date rather than experimenting with whatever the hot new languages/frameworks are these days.

Anyway, I hope you all like it! If you have any suggestions or questions (technical, feature-wise, or other apps to use), I'd love to hear them.

<comment><USER2> Looks nice! Congrats on shipping!

One thing that irked me was the lack of a back functionality. You could use a hash router and just make pages for the categories so one could easily go back to the home page :)

<comment><AUTHOR> Ah yes that's probably something I should add. It irked me too when I was starting out but then I got used to using the "Home" button and forgot that I needed to do something about it.

UPDATE: There is a back button now.

</comment></comment></comment><comment><USER3> It's a bit tighter than Memeorandum. That's kind of cool...

<comment><AUTHOR> Thanks! I actually hadn't come across Memeorandum before, but it looks neat. I like its simplicity as well, and the previews it shows. One issue I ran into making this is that not all RSS feeds seem to contain descriptions, so it was hard to make something like that work and look consistent.

<comment><USER3> Yeah - It's actually pretty neat because it headlines the stories that people (blogs) are talking about.

There used to be a browser plug-in (Memeorandum Colors) that did an SVD breakdown of the top 1500-or-so commenting sites and came up with a "line" from Deep-blue to Deep-red (blue, baby-blue, white, pink, red) and would shade every commenter according to their "bias".

[https://www.wired.com/2012/04/opinion-baio-site- bias/](https://www.wired.com/2012/04/opinion-baio-site-bias/)

It was neat! I liked the site a lot more when the add-on worked. I fixed it for a couple of generations, but FF (which I use) started making it a lot harder to keep up with.

</comment></comment></comment><comment><USER4> Really good site. Any plans to add more content or allow user submissions for links to content?

<comment><AUTHOR> Thanks! Users can add new RSS feeds already, though it's a bit hidden. If you click the "New Collection" Button, there's a link at the bottom of the pop-up that says "Don't see your favorite blog or website? Add it here" which lets you add a new feed.

</comment></comment><comment><USER5> Hey nice work! Any plans for responsive/mobile optimized format?

<comment><AUTHOR> It's something I'd like to do, since I've noticed using it on my phone isn't the best experience (though also not the worst-hopefully it's the same on other kinds of phones! Let me know if not).

It'll probably be the next big "feature" I work on.

<comment><USER6> If you'd like some help, let me know. I don't have a ton of time to spare but my gut sez you don't need a ton of time :)

Otherwise, kudos! Best of luck.</comment></comment></comment>


Best online video courses for Data Structures and Algorithms - <AUTHOR> https://www.techiedelight.com/best-online-courses-data-structures-algorithms/ <comment><USER2> Not recorded lectures, but the 'best' book I've found lately for a good intro is [1]"Basic Concepts in Data Structures" by Shmuel Tomi Klein. It uses pseudocode so can be done in any language. Look at the preview table of contents. There's a cheaper paperback and Amazon has used copies.

Another good book is CMU's parallel data structures and algorithms course [http://www.cs.cmu.edu/~15210/schedule.html](http://www.cs.cmu.edu/~15210/schedule.html) which uses this [2]free book

[1][http://www.cambridge.org/ca/academic/subjects/computer- scien...](http://www.cambridge.org/ca/academic/subjects/computer- science/algorithmics-complexity-computer-algebra-and-computational-g/basic- concepts-data-structures?format=HB&isbn=9781107161276)

[2][http://www.parallel-algorithms-book.com/](http://www.parallel-algorithms- book.com/)

</comment><comment><USER3> If you don't mind dropping a few bucks on Coursera, Tim Roughgarden's algorithms sequence adopted from his Stanford lectures and MOOC are exceptional:

[https://www.coursera.org/specializations/algorithms](https://www.coursera.org/specializations/algorithms)

Can't recommend enough. The material and instruction are top-notch.

<comment><USER4> They are actually available for free on the Stanford online course website.

</comment></comment><comment><USER5> CS 61B UC Berkeley. I don't know if it's the best but it's the only series on the topic I've ever watched all the way through: [https://www.youtube.com/watch?v=QMV45tHCYNI&list=PL4BBB74C7D...](https://www.youtube.com/watch?v=QMV45tHCYNI&list=PL4BBB74C7D2A1049C)

</comment><comment><USER6> Not sure how this compares with the other links shared here but, I have found MIT's OCW, especially the parts on Hashing to be pretty concise.

[https://ocw.mit.edu/courses/electrical-engineering-and- compu...](https://ocw.mit.edu/courses/electrical-engineering-and-computer- science/6-006-introduction-to-algorithms-fall-2011/)

<comment><USER7> MIT lectures are already mentioned in the end.. and from your link, one of the tutor is same (one with pony) and the content also looks the same..

</comment></comment><comment><USER8> While I'm always suspicious of the word "Best" when applied to a list this does look quite interesting. Looks like a lot of the material overlaps but I'm guessing that's not a bad thing for complex material like this.

</comment><comment><USER9> Using the word "best" isn't always quite appropriate. I think it is better to mention, "Best for <whom>".

</comment><comment><USER10> Any suggestions for kids (age 5-12) -- to teach just basic concepts?</comment>


Footgun Prevention with AWS VPC Subnetting and Addressing - <AUTHOR> https://ukcloud.pro/aws-vpc-subnetting-and-addressing-6dd627a0ef50 <comment><USER2> Google Compute Engine makes VPC networking so much easier than AWS. They automatically create solid defaults with a /20 subnet per region (4096 addresses) which can all communicate with each other privately. No need to setup VPN's for cross region private communication or deal with NAT instances or internet gateways. Private traffic is always private. If you want to expose a VM just attach an IP address (static or ephemeral).

Also a cool trick is GCE instance names automatically get mapped in your VPC DNS. If you create an instance named web1, all other instances should be able to ping web1 out of the box with no additional configuration.

I can't stress enough how much better GCE is than AWS in terms of sane defaults, user experience, performance and cost.

<comment><USER3> GCE does have a huge benefit in having been built several years after AWS organically grew into a set of services that now in retrospect seem to have obvious defaults. From my very limited experience with GCE, it seems to have its own oddities that make managing it from an organizational level weirdly difficult, but I can't argue about the details in a well-informed manner. I will say that while the lack of dead-stupid cross-region VPC peering is annoying in AWS, having talked to some of their engineers about the issue, it seems that their reluctance to make global features dead-simple stems from hard experience of their own in the risks of global interdependencies and the failure conditions that can result.

But to your specific details, I'm curious about the "private traffic stays private" and "no NATs required". So does GCE provide implicit NAT, or does it just work how AWS public subnets work (ie, give it an IP and it's on the Internet, don't give it one and it isn't)?

<comment><USER4> >>> having talked to some of their engineers about the issue, it seems that their reluctance to make global features dead-simple stems from hard experience of their own in the risks of global interdependencies and the failure conditions that can result.

Poor excuses. "It's too hard".

It is very hard to make global services. Google was the first to beat the technology long before every one else. Most of their cloud services are worldwide. They proved that it's possible.

Having spent much time in AWS. It seems the technology that runs it is exclusively mono region. All regions are segregated and independent, like a full AWS clone. There are no service that span regions.

AWS is simply not global. IMO it hints that AWS does not have the technology.

<comment><USER5> 1) Mono-region is a feature not a bug. Regulatory requirements, citizenship requirements, the ability to not have a single global point of failure, etc. are all huge benefits to the regional breakdown as it stands today. Nothing prevents you from deploying multi-region.

2) IAM is effectively global. Route53 is effectively global. AWS 'has the technology', they've just chosen a different engineering stance than Google, and are very up front about that.

<comment><USER4> 1) Locality requirements should be fulfilled by attaching or limiting workloads to regions. Not by having the entire infrastructure and everything only ever exist in a single place (which breaks numerous legal requirements by the way).

2) ELB/ALB are not. S3 is not. AMI only exist in a single region. EBS cannot be moved, ever. Billing is not really.

AWS is heavily region centric. For instance, it is impossible to list all instances attached to your account.

In command line tools and the web UI, it asks you a region at startup, and you will only see instances in that region.

<comment><USER5> 1) They'd have to figure out how to constrain their service teams who support. It's not just customer locality that's important.

2) Yep, agreed there. Again, the choice that was made :)

</comment></comment></comment></comment></comment></comment><comment><USER6> With all the ceremony required to get private subnet instances talking to the internet, why not just put all instances on the public subnet but cut off incoming connections using a security group?

<comment><USER7> Defence in depth? An extra layer between an attacker and your secret data is rarely a bad thing.

The tradeoff against convienence is worth it for some environments. E.g. what if AWS has an issue with applying security groups properly and it fails open?

Arguably, failing open is the right thing to do _in some cases_ as it avoids causing an outage for your users. However it does expose them to a risk they may not have been prepared for.

I know OpenStack had an issue a few years back where, when the component responsible for managing the security group rule implementation was reset, it failed open until all rules were rebuilt (at the time, this was implemented as iptables rules on the hypervisor's). Another bug (well, poor implementation) meant it could take several minutes or more to rebuild the rules.

It happens, and you should be aware of and understand the risks of things like this happening when designing your infrastructure and choosing which tradeoffs are worth it for your particular use case.

<comment><USER6> The defence in depth concept makes sense. The good news is that if I understand correctly, security groups fail closed - so that makes things a little safer.

Just spoke to an AWS Architect, and the points made were similar - more secure default state, less chance of screwing up - ham fisted attempts at security groups can open things up too much, private subnets are tough to expose unintentionally, adding multiple security groups makes the rules less restrictive, possibly in unintended ways, etc.

</comment></comment></comment><comment><USER8> x

<comment><USER9> Amazon doesn't know how many resources you're going to spin up and how many ENIs they will need, so it's hard to really tell you how big of a subnet to create.

You can also use the AWS NAT Gateway which doesn't require you run your own NAT instance

<comment><USER10> Annoyingly, the VPC NAT Gateway is more expensive than running your own nat instance. If your traffic is low enough to be handled by a t2.small or lower, it's cheaper to run your own. Most of my NATs are nanos or micros.

AWS also double-dips on the traffic charges for the VPC NAT - you're charged for the traffic it transfers, but you're also charged for the same traffic in the general bill, from what I've been able to glean. Given that traffic is where AWS is not competitively priced, it's something to be cautious of.

<comment> Pirate-of-SV NAT Gateway support bursts up to 10 Gbps[1] and t2.small something like 125-200 Mbps [2]. For production use cases this can make a huge difference.

[1] [http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc- na...](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat- gateway.html)

[2] [https://stackoverflow.com/questions/18507405/ec2-instance- ty...](https://stackoverflow.com/questions/18507405/ec2-instance-typess-exact- network-performance)

<comment><USER10> Sure, but you also don't need a big NAT Gateway if you're doing the majority of your external chatter via an ELB. Our setup is basically production load goes through an ELB, and incidental traffic goes through the default route (the NAT), so the NAT really only handles traffic like me ssh'ing in and wanting to install a tool, or config management setting up a new server.

But yes, if you're going to be sending big traffic through the NAT, a t2.small doesn't have the network performance.</comment></comment></comment></comment></comment>


Things I Learnt After High School About Selling - <AUTHOR> http://www.nilkanth.com/2011/04/11/3-things-i-learnt-after-high-school-about-selling/ <comment><USER2> He forgot one big one "he who names the price first, loses." While he was a very capable engineer, it took an experienced sales professional to extract real value for the software he was selling. Frankly, I'd have given her a HUGE bonus for getting the price she did. It's certainly worth the lesson she'd taught him.</comment>


Schools of philosophy that should be better known (in the West) - <AUTHOR> https://granta.com/10-schools-of-philosophy/ <comment><USER2> It's nitpicking time. I'll only address the Indian ones because that's what I'm familiar with.

1\. Madhyamaka. Can it really be said that it is not well known in the West? It is the basis of Tibetan Buddhism which is pretty popular. Perhaps "pop" Buddhism doesn't go into all the details but I've met plenty of Westerners who at least know who Nagarjuna was and usually much more than that.

2\. Charvaka. A few days ago here in HN I wrote about a theory that the charvakas may not have been the anti-religious radicals of popular belief. Be that as it may, Madhavacharya was not a "14th century Charvaka philosopher." He was an Advaita Vedantin who after becoming a monk became the Abbot of the premier centre of Advaitic thought, the Shringeri Matha and wrote many classics of that philosophy. In his Sarvadarshanasamgraha ("Compendium of all Schools of Thought") the first (and lowest) place is given to a description of the Charvakas but they had already gone extinct by that time so unlike the other schools, Madhava's description is not based on primary sources.

3\. Nyaya. It should be noted that Nyaya is also "intimately connected to religion." Nyaya says that Ishvara (God) is the Prime Mover of the universe who has set the atoms which make up matter (a theory of Nyaya's sister Vaisheshika school.) into motion. Specifically the Vedas are the source of the true religion because the testimony of an apta (expert) is valid knowledge and Ishvara the most expert of them all is the author of the Vedas. Udayana mentioned in the article wrote a treatise called Kusumanjali which offers many cosmological and ontological arguments for the existence of God. Navya ("neo") Nyaya is perhaps more interesting from a philosophical view. It is a 15th century onwards combination and progression of the older Nyaya and Vaisheshika schools that concentrated on valid means of knowledge. It anticipates many of the ideas of the formal logic that developed in the West from the 19th century onwards.

4\. Jainism. I think Jains would be miffed to learn they borrowed concepts from the Buddhist canon. In fact both Buddhism and Jainism developed at the same time and in the same geographical region. It would be fairer IMO to say both borrowed from stock cultural tropes and folk parables.

Sorry this is the Internet. I have to be pedantic — it's the law. But I did actually enjoy the article.

<comment><AUTHOR> You don't seem pedantic to me. Thanks for the additional information!</comment></comment>


Wakemate Blog - Final Wristbands - <AUTHOR> http://blog.wakemate.com/2010/08/10/final-wristbands-3/

<comment><USER2> Please for the love of god update your homepage image; it still shows a product that is a magnitude of different than the shipping product.

<comment><USER3> _a magnitude of different_

You probably meant something in English here.

</comment></comment><comment><USER4> I did notice that wakemate/paypal charged my credit card this week... I guess that means that you'd better be damn close to shipping these.

<comment><USER5> You were charged. That it was a negative amount is a worthwhile distinction.

<http://blog.wakemate.com/2010/08/06/paypal-refunds-complete/>

If that isn't the case, PayPal is stealing from you. Though we are pretty damn close, regardless.

<comment><USER4> My apologies - I spoke in haste. Yes - I got my refund. I'd only glanced at my CC statement - and noticed wakemate in passing - and assumed it was a new charge.

(On a somewhat related note (and I'm not holding this against you at all) -- technically I'm down 30 cents on wakemate. Paypal initially charged me $5.61 AUD and then refunded my $5.31 AUD. I realise that it's $5 US both times - just thought it was worth mentioning)

</comment></comment></comment><comment><USER6> I browsed through half-a-dozen pages, including "How it works" and "Product Tour" looking for the phone hardware and software requirements. No sign of them. I am not going to buy something without this information, and you have not made it easy to find.

</comment><comment><USER7> <http://www.wakemate.com/tour/> is broken FYI - tried in Chrome and Firefox. There is no ability to move through the slides.

Besides that this looks like a great product.

</comment><comment><USER8> Stop giving me updates. Ship me my product.

You are terrible. Seriously.

I'm not entirely convinced I haven't been suckered into buying into some giant fraud and there is no product.

<comment><USER9> Come on. Hardware is hard. They've clearly made a huge amount of progress recently, and I'm glad to see them update the blog. That doesn't excuse their pretty bad communication over the past few months, but they're a small startup and they're learning. They're improving. They're iterating.

If any group of people should be able to give a company like Wakemate some slack, it's HN.

<comment><USER10> "If any group of people should be able to give a company like Wakemate some slack, it's HN."

I'm really surprised by a lot of HN'ers reactions on this Wakemate thing indeed. What is it that makes many HN'ers so upset about this? What makes this so different than, for example, the Diaspora guys, who generally get sympathy from the HN community?

<comment><USER11> The Diaspora guys, so far, haven't taken pre-orders and then had a half-year delay.

But the thing most people are annoyed with were the lack of updates. Delays are o.k. if you know there is progress. Except we didn't know for a long, long time.

They are doing much better right now, and I'm still as excited to get my Wakemate :)

<comment><USER12> Right, instead the Diaspora guys took $200,000 of everyone's money then went into hiding. That's way better...

<comment><USER11> You pre-ordered to _buy_ a wakemate, you _donated_ to support Diaspora, that's a vital difference.

</comment></comment></comment></comment></comment></comment><comment><USER13> It has a simplicity of an Apple product, but not its polish. Yes, the wrinkles need fixin' to be perfect :)

<comment><USER14> i am sorry we are not as perfect as Apple. yet.</comment></comment>


Ask HN: Launching side project in 2wks with $4k mktg budget. How do I spend it? - <AUTHOR> Pretty much what the title says - I've spent the last couple months writing a career advice guide for early career developers (https://www.crackingthecodingcareer.com/). I have 4k in presales thanks to early supporters from Twitter and my blog. I just set a launch date for Jun 1st and realized I might as well go for broke on this thing and just use the presales entirely on prelaunch marketing.<p>I've hired a friend to help me do some small design work, but I feel like I could go for something a little more ambitious with this budget. Got any ideas for how to spend my money? <comment><USER3> After launch, you will have a better idea about how to spend the money...or to put it another way, after launch hype fades, how you follow up really matters. The bigger the launch the more it matters and the more resources it takes. Good luck.

<comment><AUTHOR> definitely, prepared to do 1yr of followup. just focusing on the launch now. thanks!

<comment><USER3> The question suggests the money might be a distraction in the form of shopping. "Marketing" is not a concrete plan. Easy brainstorming might be displacing the hard concrete things that need to be done and the things that can be improved between now and launch in two weeks. Good luck.

</comment></comment></comment><comment><USER4> Give it free printed book samples to hundreds of influential people and media. Ask for honest feedback in return (preferably on Amazon)

<comment><AUTHOR> maybe not hundreds, but yes reviewers are planned for. thanks!

</comment></comment><comment><USER5> I'm working on a similar project at the moment - marketing a relatively niche book to a quite specific market (though very different to this one - <USER2> examination of how money moves through the digital music streaming ecosystem, targeting people working deep in the music business).

It's hard to say "spend $x here and $y on this". But here are 20 things that you can try.

Some things we are doing or will try, and in no particular order:

1\. You've not got any pixels on this site. You probably want to use them ASAP as many people who are hitting this page won't necessarily buy immediately, and so you will probably want to remarket them.

2\. Worth doing a couple of what MarketingBro types call tripwires - a reduced version of your content (but that still gives some value) for which you charge a relatively nominal amount like $5. This gives you a qualified lead but also lets you take that $5 and roll it into further marketing.

3\. In a similar vein - worth providing a couple of free "checklist" or cheat sheet type resources - and then a little drip email campaign showing the value in your book. Get an email address. Look at engagement across the emails (use email octopus or something similar to monitor clicks and opens) and make a personal offer to people as they give signals that look like they are engaged.

4\. Maybe think about also upselling book sales into an e-learning product.

5\. Embed the newsletter sign up button in that page, don't make me click. This is your primary way to get potential leads.

6\. Sharing content when you have a pixel in place is a good way to start building audiences to market to.

7\. Think about the different channels you can use to market - site like hn, Reddit, Twitter. Offer genuine value so that you're not just spamming tide the thing you are shilling.

8\. Find relevant Facebook groups and other communities where you audience hangs out.

9\. Set up a Facebook page for your book (either with the name of the book or your name, and focus on you as the brand).

10\. Join groups as your page.

11\. Share a video explainer to those groups about why you made the book and the value it offers. Plug the first chapter (or one of the pieces of content above) in exchange for an email address. By sharing the video as your page you can pixel the people who watch and retarget.

12\. Spend on good video content.

13\. Work out who your audience actually is - what age they are, where they live. Who has $50 to drop on your book and why?

14\. Use something like dux-soup to do some automated LinkedIn lead gen, but again, light tough is important here, and ensure you are giving real value. Maybe focus first of all on finding 20 people who you can give the book to for free who will give you strong testimonials - ideally video. Work out what that testimonial should say. Target based on criteria that make sense for your audience - first or second job in dev roles.

15\. You can probably target Facebook ads against people who have completed various coding boot camps or other criteria.

16\. Use your personal experience as a hook. For this sort of thing my gut feeling is that a personal approach will appeal much more than a fake "corporate" identity. I have really struggled with this with one of my clients over the years and he's finally admitted that trying to present his business as a sizeable concern when actually it's just him and a couple of other guys punching way above their weight was a mistake. When we finally shifted the way we presented things from "we are a business with 7 divisions" to "this is me and I'm the expert" he got much better results.

17\. Check out convertkit (no affiliation).

18\. Try some guest blogging focusing on your story and why you wrote the book (and why you are in a position to offer the advice to people). Work out who might carry this content and reach out with a suggested article.

19\. Are there any podcasts you can guest on or sponsor?

20\. Strategic partnerships - who has a list that this is relevant to? Offer them a commission ("affiliate marketing") for people who buy through their list - discount coupon is an easy way to track.

Happy to chat more about this - we are both tackling the same thing.

<comment><USER6> > When we finally shifted the way we presented things from "we are a business > with 7 divisions" to "this is me and I'm the expert" he got much better > results.

That's a nice list! Can you go into more detail about the tip above and what happened?

I'm undecided what to do here when e.g. I'm launching a paid app that's just me behind it. I think for a book though, it feels obvious that when you're selling a book or a course, you should really be pushing that you're behind it and you're the expert. Similar for consultancy/freelancing.

</comment></comment><comment><USER7> read the book "traction" \- you'll have a better idea on how to spend it without wasting it.

<comment><AUTHOR> thank you!</comment></comment>


24 hours at a tech festival - <AUTHOR> http://www.themartec.com/articles/24-hours-at-a-tech-festival?utm_source=HackerNews&utm_medium=Post&utm_campaign=BuzzConf <comment><USER2> GIANT ARTICLE-OBSCURING POPUP!</comment>


U.S. Underwrites Internet Detour Around Censors - <AUTHOR> http://www.nytimes.com/2011/06/12/world/12internet.html?pagewanted=all

<comment><USER2> I like this, but it feels hypocritical after the recent domain seizures and bullshit internet and digital media laws, and past censoring / banning of documents. It's OK to break other nations' walls, but not your own, apparently.

<comment><USER3> The US Government isn't some big monolithic entity with one goal, it's made up of many factions, each pulling in a different direction.

<comment><USER4> Believing in "The Machine" - a single coherent entity running things seems almost like the belief in Thor, the god of thunder.

Sure, stuff happens for crazy reasons. That's not because of the agenda of some mysterious weather god, or an elusive organization; it's because of a complex system of dumb entities bumping into each other. You can rationalize it as gods or Illuminate, but it's probably just random noise.

Sometimes stuff like the Patriot act can give a single actor a disproportionate amount of power, but they usually have no idea what to do with it; thankfully.

</comment></comment></comment><comment><USER5> Amazingly, ICE (Immigrations and Customs Enforcement) is censoring parts of the Internet in the US, while we try to export the uncensored Internet to the 3rd world.

I guess the Internet should be free, as long as you don't violate copyrights...

<comment><USER6> When has freedom ever meant violating the rights of others?

<comment><USER7> Traditionally, the united states restricts freedom of speech _legally_ in a few fairly well defined cases. In all of them, due process is involved.

These domain seizures are such a disturbing issue because there is _no_ due process. They don't even attempt to pretend like it exists.

Since when has freedom ever meant violating the rights of others indeed.

<comment><USER6> _These domain seizures are such a disturbing issue because there is no due process._

I agree. What I reject is the entirely different idea expressed in the previous post, to the effect that violating other people's rights is an essential component of the Internet being free.

<comment><USER7> The previous post is explicitly referring to a situation that involves gross abuse of rights. Rights _far_ more important than any "right" to copyright protection.

And yes, I am suggesting with a straight face that some rights are more important than others.

<comment><USER6> _The previous post is explicitly referring to a situation that involves gross abuse of rights._

Which I said nothing about in mine.

One might speculate that I omitted such reference because I found no particular fault with what was said about it. I might even agree that domain seizures have various bad properties. If pressed, I might even acknowledge that my objection stems from the same root assumption that people have rights and that having those rights violated is _not cool_ , merely taken to the potentially heretical length that it remains _not cool_ even when it's not a government doing it.

Alternately, one might conclude that because the banner I wave is not purest White that I must be the vanguard of an approaching army of Black, crusading enemy of freedom and probably no fun at parties.

<comment><USER7> _Or_ , I could just take your refusal to clarify your thoughts as confirmation that you're just here to troll, and never actually intended to make a well thought out point.

<comment><USER6> Please accept my inclination to never post on this subject on HN again as a sign that I was not trolling. It is always exhausting to try to explain what is to me a fairly intuitive and moderate point to an audience that seems quite devoted to misinterpreting it as another salvo in a battle I have no interest in fighting. I am just deeply tired of doing it reflexively out of some weird sense of obligation that you or I or someone will be the better for it when experience tells me in <h1><blink> that boiling replies are never going to simmer down.

I have no obligation to explain anything to you, nor you to me. Let's leave it at that.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Money well spent. Anything we can do to increase communications outside of officially sanctioned methods within the borders of these regimes is a good thing in my book.

The article is lite on exactly how communications within a geography link up with the rest of the larger internet but you need to forgive the poor reporters who are obviously in way over their heads technically. I give you nonsense exhibit A:

"Developers caution that independent networks come with downsides: repressive governments could use surveillance to pinpoint and arrest activists who use the technology or simply catch them bringing hardware across the border."

To the four cool dudes hanging out with briefcase gear on L street in DC: Pack those beasties with mesh wifi AND satellite uplinks. Make a few hundred and let uncle sam distribute them/pick up the bandwidth tab.

<comment><USER9> > _Money well spent. Anything we can do to increase communications outside of > officially sanctioned methods within the borders of these regimes is a good > thing in my book._

I agree. I would also add that in my book, "these regimes" includes the USA, UK, EU, Australia, etc.

<comment><USER10> And this, ladies and gentlemen, is why we're so slow in making progress in fighting against the genuinely oppressive regimes in the world -- because when we _should_ be helping those who really suffer from oppressive regimes we're too busy complaining and finding false equivalence with our own.

"Oh yeah, it's a big problem that the house across the street is on fire. But it's also at least three degrees warmer in here than I'd like! It's important that we go get some hoses for the people across the street. But it's _also_ important that we stop my housemate from turning the thermostat up so high. Let me tell you more about my annoying housemate..."

<comment><USER11> More like we help the neighbor down the street, while ignoring the shoddy wiring in our own house. We save the neighbor's house, while our own lights on fire and burns down.

There's no reason that we can't help others and ourselves at the same time.

<comment><USER12> Actually there is... time and focus are limited resources.

Meetings and discussions should be focused on one topic---say for instance stopping the abuses of power by a genuinely totalitarian government. If we want to talk about the encroachment on civil liberties in a social democracy, that is good and well but it should be held at a different time.

Conversation about the former shouldn't suffer from interjections by proponents of discussing the later simply because its an issue that's "closer to home".

</comment></comment></comment></comment></comment><comment><USER13> Could we maybe use that Shadow internet to circumvent the the censoring and shutting down of networks in the US?

</comment><comment><USER14> So the government wants to develop communication links with hot zones. I find it more likely they want reliable communication with agents in conflict zones without needing agents to carry specialized equipment that could tip off local governments [0]. After all, if you install one of these Internet-in-a-suitcase devices in a conflict zone, you're likely there for more than a package delivery. What better way to blend in than mixing with hundreds of local citizens trying to use the same shadow network to communicate with the outside world? The risk still seems high, but it seems marginally better to be identified as a protester than a spy.

[0] Except for, of course, the Internet-in-a-suitcase itself.

<comment><USER15> Couldn't an agent just use a satellite phone? I thought they were worldwide.

<comment><USER16> Satphones draw attention in much of the world. It's hard to pretend to be an ordinary peasant when you're carrying a device that costs the equivalent of two year's wages. When the US and Afghan authorities are detaining people for possessing a digital watch[1], a satphone is a total liability.

WiFi-enabled smartphones are ubiquitous and dirt cheap - used shanzhai handsets cost just a few dollars. A smartphone's firmware is the ideal place to hide crypto.

[1] <http://en.wikipedia.org/wiki/Casio_F91W>

</comment></comment></comment><comment><USER17> I had assumed we were doing this, and am happy to see it confirmed. Creating wifi access points is quite a simple thing to do and the benefits it provides to free speech are quite obvious. With a budget as big as the U.S.'s, blanketing an area with a ton of powerful wifi points(satellite uplinks, etc.), is incredibly cheap too.

<comment><USER18> The grant was $2M, not the individual "suitcases".

<comment><USER17> Thanks! Edited.

</comment></comment></comment><comment><USER19> On the other hand, if I were a senior official in the US Government, I sure would want to be the first to know all about renegade gatherings in countries which I do not approve of.

</comment><comment><USER20> Transparency and detours around censors abroad

... but supports censored internet within the US?

the "S. 968, the PROTECT IP Act" seeks to do exactly the opposite... within our own country

hypocritical? ... stunt to confuse public?

</comment><comment><USER21> Perhaps I am missing the point, but isn't this just the 21st century version the School of the Americas and the CIAs radio broadcasts / clandestine media efforts?

I certainly don't oppose freedom, but willfully causing destabilization in foreign countries, even if that country has a brutal government seems to violate the concept of state sovereignty, at least a little bit.

[http://www.radiosurvivor.com/2011/03/30/how-the-cia-used- rad...](http://www.radiosurvivor.com/2011/03/30/how-the-cia-used-radio-in- the-1954-guatemala-coup/)

<http://www.soaw.org/>

</comment><comment><USER22> Not mentioned: Obama admin targeting Tor developers, despite the fact this technology is completely neutral.

<comment><USER20> link?

<comment><USER23> He's probable referring to Jacob Appelbaum, the Tor developer who has been harassed by the Obama administration because of his links to Wikileaks.

<comment><USER22> I am. Refer to twitter.com/ioerror

</comment></comment></comment></comment><comment><USER24> Why is the US government doing this? Primarily because, for the low low price of building networks they receive dragnet surveillance capabilities in foreign unstable and potentially hostile countries. See the SF fiber split dragnet surveillance. See the Onion episode about "The Facebook Project" - 'normally it would take CIA operatives weeks of tracking down hotel receipts, but people just put stuff on Facebook now!!'

</comment><comment><USER25> Is the real reason the US is trying to do this is the fact that it wants to remain friendly to the next people in power? If the US helps the dissidents it seems more likely they will be friendly to the US in the future. Since the next regime may or may not be friendly to the United States.

</comment><comment><USER26> I consider this slightly hypocritical.

Only a despot would mess with DNS w/out due process.

How did revolutions occur prior to the creation of the TCP/IP stack?

</comment><comment><USER27> This is a very simplistic view on development of societies.

Freedom must always come accompanied with responsibilities. In the West, we learn that early in school and (hopefully) life.

I have lived many years in countries where people have not learned that. As a consequence, they all still want freedom (for themselves), but when you start talking about responsibilities, you are not so popular anymore.

But it's very popular at home (i.e. in the West), so who cares about the victimes of all this simplistic "development aid"...

<comment><USER28> I agree that freedom comes accompanied with responsibilities, but not the simplistic, "don't rock the boat" type of responsibilities that 6th Grade teachers talk about.

Thomas Drake had a responsibility to expose the NSA's massive waste. Elssberg had a responsibility to expose the Pentagon Papers. Assange and company have a responsibility to get the US diplomatic cables out there. Those forsenic economists (<http://www.slate.com/id/2203121/>, <http://www.iies.su.se/~ekaplan/coups.pdf>) have a responsibility to figure out who profited from knowledge of US-backed coups in Central America.

Freedom isn't free of cost. We all have a responsibility to spill the beans about immoral actions by secretive organizations.

<comment><USER27> Agreed.

However, we have learned to not abuse freedom for selfish profit, but to maintain and protect it. We learned that freedom is the freedom of speech for others. And to accept conflicting opinions peacefully.

This is not a given everywhere, though. Where Social Capital is lacking, freedom can easily become a trigger for a breakdown of personal and public security. Where loyalties are mainly based on family ties or group boundaries, freedom can easily lead to more hate and large scale physical violence. Where education is poor, even the most obvious lie will find people that get angry about it and look for "retaliation", often physical.

I am of course not saying that freedom of speech is bad. On the contrary. But is has to be dealed with carefully, and differently in differend societies, taking into account each societies values and development process. Otherwise it may easily (again!) destroy more than it creates. Just think of the "elections" desaster in Africa in the 1990s. A huge (and forseable) tragedy, but it sold well in the West.</comment></comment></comment>