Paul Graham on Building Companies for Fast Growth - <AUTHOR> http://www.inc.com/magazine/201309/issie-lapowsky/how-paul-graham-became-successful.html <comment><USER3> I'm really disappointed that this was Paul's top of mind criterion for rejection, "One quality that's a really bad indication is a CEO with a strong foreign accent."

That reminds me of an incident earlier in my career when a recruiter ranked candidates on their 'communication skills', which really was a proxy for whether they were an immigrant or not, in order to try to avoid discrimination laws.

[http://www.freshbooks.com/blog/2007/07/23/immigrant- quebecoi...](http://www.freshbooks.com/blog/2007/07/23/immigrant-quebecois- newfoundlanders-not-wanted/)

Besides, it's _failing to communicate clearly and be understood_ that makes a bad leader, regardless of the behavioural cause (foreign accent, mumbling, random trains of thought).

<comment><USER4> It's not our top criterion. It's just one that I'm willing to talk about publicly, because there's no way to fake it.

We're not against funding people from outside the US, and we fund a lot of them. But 564 startups is enough to see patterns, and the empirical evidence about very strong accents is striking.

And I am talking about failure to communicate here. I don't mean strong accents in the sense that it's clear that someone comes from another country. I'm talking about accents so strong that you have to interrupt the conversation to ask what they just said.

<comment><USER5> It's a good thing you not a football manager, imagine Lionel Messi, Ronaldo,Zinnedine Zidane or Ronaldhino coming to your team. These are some of the best footballers in the world, all speak different languages but can walk on a field in England and beat an offside trap, request a pin point pass through top rated defenders at a speed of 100mph. Most people just don't want to take the time to try and understand someone because the expectation is that you are in America and you must speak english.

In football, you can't go an complain that you don't understand your teammate, you getting paid $200 000 a week, so shut up and make it happen. Park Ji Sung and Patrice Evra became best friends yet one spoke korean and the other french, teammates would laugh commenting on how they don't know how they communicate. The issue is that they were both willing to learn to understand each other, having mutual respect for each others culture but bottom line no football player can use language as an excuse.

My first language is English, so i was amused when moving to LA, an asian girl from UCLA was at one of the teller windows and i guess that she could not fully understand this girl so she just bravely says to here coworkers that "this asian girl is so dumb, how did she get into UCLA, she can't even fill out a deposit slip". The amazing thing is that she felt so natural saying it as she knew other americans will not mind what she said, even though she is a teller and the young girl is attending a top U.S College.

I would also like to add that many football coaches take jobs where they cannot speak the home language fluently but are still successful. I feel that Europeans are more accepting of foreign accents than Americans and i have worked in Europe and stay in the U.S.

<comment><USER6> Is there an aspect of association football that depends on language like a CEO in an English-speaking industry does? My impression is that the majority of success-oriented communication in soccer is nonverbal.

<comment><USER5> "My impression is that the majority of success-oriented communication in soccer is nonverbal."

No, if payers wore mic's you would hear it is very verbal as well, just lip read sometimes or in preseason watch a warmup game since the crowd is small you can hear all the calls, "wazza backdoor" etc, is mainly between one to three words, but you use everything you have. Then half-time, the strategy sessions are all talk. I forgot to mention when the coach can't speak english or any other home lanhuage but still is successful.

<comment><USER7> Sir Bobby Robson spent a good deal of his management career at Sporting Lisbon, Porto, and Barca without speaking Portuguese or Spanish. You might have heard of his translator--Jose Mourinho.

<comment><USER8> Other interesting tidbits...

Southampton are currently managed by a guy who speaks no English: [http://en.wikipedia.org/wiki/Mauricio_Pochettino](http://en.wikipedia.org/wiki/Mauricio_Pochettino)

Giovanni Trapattoni manages the Republic of Ireland national team (and is one of the highest paid international managers around) speaks notoriously poor english. When he managed previously in Germany, he was also known for mangling the local tongue.

Jose Mourinho is a fascinating character. He is highly educated and speaks 5 or 6 languages fluently. He is one of the most tactically astute managers in the modern game. He's also notoriously paranoid, convinced everything is a conspiracy against him, which seems to stem from an incident in his childhood where an uncle was a wealthy member of the ruling elite, but a peaceful coup meant that the family lost a lot of their wealth. Here's a good documentary covering his recent managerial career:

[http://www.youtube.com/watch?v=EFdAd6nqQ9Y](http://www.youtube.com/watch?v=EFdAd6nqQ9Y)

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> That's a very Kate Courteau picture incidentally. She's our architect, and is the reason YC looks so distinctive. It's hard to get simple right, but she does.

<comment><USER9> I love the way she used a super wide shot to pull in so many graphic elements - beautifully done, Kate Courteau.

<comment><USER9> oh I see now that she didn't take the actual picture but Jason Madara did that -

<comment><USER10> Like food styling, architectural photography is a discipline unto itself.

</comment></comment></comment></comment><comment><USER11> "One quality that's a really bad indication is a CEO with a strong foreign accent...they must just be clueless if they haven't gotten rid of their strong accent."

I'm curious to learn more about this. I'm certainly not accusing YC/PG of being racist in the least, but although I don't have an accent, I feel like I know numerously brilliantly smart people with heavy accents, many of whom happen to be Indian-born Stanford students or Google employees. I think we all know that "brilliantly smart" doesn't necessarily correlate with "great CEO", but it has to suck that something like your own accent puts you at a huge disadvantage applying to YC.

<comment><USER12> "they must just be clueless if they haven't gotten rid of their strong accent"

Specifically "clueless". I agree with that but I also think it's an attitude as well in some people. I think even if it was explained to them they might not think that it would benefit them. In that case they are not clueless they are simply rigid in their thinking, right?

As the saying goes "when in rome do as the romans do"

Along those lines I am surprised at the number of people who are foreign born who don't change their names to something more Americanized.

Back when people came to this country at the turn of the century I believe the immigration people would give people americanized versions of their names so they wouldn't experience as much rejection or racisim. Maybe it was for other reasons as well.

Now you can look at it as wrong that people jump to conclusions or you can simply do what is practical and attempt to lessen the disadvantage that you are in if someone perceives you in the wrong way. If I am a member of a religious group and I know that people that I am selling to are biased against that religious group I see it as practical not to wear any symbol of that religious group. It's a business decision.

I'm not saying that someone needs to totally hide the fact that they are Indian, Chinese, or whatever. I'm simply saying you can make the name a little easier for people in America (where you live) to remember it. That's in a sense basic marketing.

Lastly, I've been approached by people trying to sell me with really difficult names to remember. I am less likely to connect them with others simply because their name is so hard to remember.

<comment><USER13> I've actually asked some American (one of them being my boss) on whether I should be using an American name to make it easier for everyone at work.

I received two "It's weird" answers, and haven't asked the third person yet.

Considering that my name is relative short (the first 4 letter of my username, Americans tend to remember the "h" and "a"'s position swapped though), would you consider it a difficult name to remember or not?

<comment><USER14> Nhan? I'm assuming that sounds like 'non', so it's probably easier to use your real name. I do know some people who abbreviate their names, though, if there's a workable abbreviation (e.g. Siddahrta / Sid).

<comment><USER13> Take a look here: [http://www.forvo.com/word/nh%C3%A2n/#vi](http://www.forvo.com/word/nh%C3%A2n/#vi)

The "h" is not a silent sound, and I think pronouncing as "non" is part of the reason why American tends to mix up "Nhan" and "Nahn".

<comment><USER15> To me, when listening to that, it sounds like "Nyen" or "Nian", which isn't a sound that any English word I can think of correlates with an H. Perhaps sharing one of these spellings with people will help them. You might experiment with different people and see where you get your best results.

</comment></comment></comment></comment></comment></comment><comment><USER16> > There is a secular trend going on, in which launching a start-up is a more > common thing to do. It used to be there were two things you could do after > college: go to grad school or get a job. Soon, I think there will be three > things: go to grad school, get a job, or start your own company. I suspect > this will be one of these economic transformations on the scale of the > industrial revolution.

That's a very interesting topic, and is something I wonder about too. Historically speaking, the amount of capital required to start an internet company these days is amazingly low. Will this last? Maybe in the future, to even get started, people will need more horsepower in terms of servers, or storage, or something like that, and this low-capital period will be seen as an anomaly. Or maybe the trend will continue and spread to other fields. Are there others that are ripe for a similar transformation, where it gets super easy to start something new?

Also, I like this quote/thinking:

> The way you'll get big ideas in, say, health care is by starting out with > small ideas. If you try to do some big thing, you don't just need it to be > big; you need it to be good. And it's really hard to do big and good > simultaneously. So, what that means is you can either do something small and > good and then gradually make it bigger, or do something big and bad and > gradually make it better. And you know what? Empirically, starting big just > does not work.

</comment><comment><USER12> "He is brilliant and hilariously funny."

How is being hilariously funny an advantage in terms of working for YC?

<comment><USER4> That's actually a very interesting question. I've noticed for a while that the people who are best at giving advice to startups tend to be funny. It's not a job where it would be good to be the humorless variety of smart. I think the reason is not that being funny is important per se, but that being funny and having good ideas about startups are so similar that it's impossible to find one without the other.

<comment><USER16> One component in humor is taking an idea out of context. This is in some ways related to "lateral thinking" where you try and brainstorm by randomly changing marketing bits (price, place, promotion, product) to come up with a new way of seeing things. I think some people with a creative/entrepreneurial mindset automate this process in their heads. So you could see humor as a similar creative process to that of some innovators: being able to see the world in a slightly different/skewed way. In one case, it makes you laugh because of the incongruity, in another, it may help you see ideas for businesses where others do not see them.

<comment><USER17> More generally, I would tend to say that humor is often about finding odd connections. I can easily imagine that being an important ability for giving good advice to businesses.

</comment></comment></comment></comment><comment><USER12> " If a place has really good food, it can be in an obscure location, charge a lot, and have really bad service, and it will still be popular. If it has bad food, boy, it better do something really special to get anybody in there."

The "special" can be "location". Food on the NJ Turnpike (or similar) is an example of a captive market where quality of food is not the key ingredient but landing the contract and being merely acceptable can still be very profitable.

Likewise being in Times Square, if you can afford the rent, can be profitable because you are not worried about repeat business but simply grabbing the tourists that will only be a customer one time.

<comment><USER18> Just to be clear, this rule doesn't work for McDonalds - as it's an established brand. Their food is awful, but the place tends to be clean and tidy - with a toilet. Interestingly, where I live, Burger Kings tend to be filthy and poorly maintained, with slightly better tasting food. They are also popular - so cleanliness doesn't seem to be a major contributor.

<comment><USER19> McDonalds' food is awful by what standard, precisely? From a health standpoint, sure. From the standpoint of a foodie, yes. From the standpoint of pretty much anyone who is accustomed to nicer food, in nicer circumstances, sure.

But McDonalds isn't competing on the dimension of "quality" as other restaurants might define that term. McDonalds is competing on scale and consistency. A Big Mac [1] in Jakarta tastes identical to a Big Mac in Cleveland. A pack of fries in Moscow tastes identical to a pack of fries in Istanbul. If you walk into a McDonalds in any part of the world, barring a few local specialties on the menu, you know exactly what you're going to get, and exactly when you're going to get it. That's pretty damned remarkable.

McDonalds runs a marketing and logistics company, not a restaurant chain.

[1] Insert Pulp Fiction reference here.

<comment><USER7> Also, McDonalds is pretty tasty if you're too poor to consistently afford better. Their fries in particular are an amalgam of fat and salt, two of the most pleasing flavors that are available cheaply.

<comment><USER19> McDonalds' fries are the perfect fat/carb/salt delivery vehicle. I would pit them against heroin in their ability to hit the brain's pleasure centers. :)

I once heard a story in grad school, from a professor who consulted with McD's in Marketing. I'm not sure if this story is apocryphal, or maybe entirely fictional. But it goes like this: why are McDonalds' fries so thin? Why didn't they make thicker fries, which were all the rage back when the first few franchises were getting off the ground? It's because thinner fries can be grabbed by the handful, while thicker fries get picked up one by one. As a result, people scarf down thinner fries and will consume more volume in a single serving.

The story made me think, because suddenly I became aware of the fact that I'm a cluster-grabber of McD's fries. I have friends who pick out one at a time. Every now and then, on those rare occasions we grab fast food, I'll pay attention to who eats fries how.

</comment></comment></comment></comment></comment><comment><USER20> Something interesting: a lot of people thought Airbnb was terrible, including YC and Fred Wilson.

I was 23 when Airbnb was founded. I had had many happy experiences with Couchsurfing.

For me, and many Couchsurfers, the idea of an upscale, paid couchsurfing was trivially obvious. None of us built it, but I assumed someone would.

I'm not sure what the lesson is.

<comment><USER21> The lesson learned is to build things you love but others don't yet understand. Thats the key to emerging markets

<comment><USER20> I guess what I found interesting is that this was something MILLIONS loved and yet it was a very specific demographic so the wider world missed the potential.

Heck, most people, if you pitch them on Airbnb today, will say: "That would never work". Half the people I know outside the tech niche haven't heard of it.

So something can be quite large, well proven, yet seem like a lousy idea if you have a set of blinders on.

</comment></comment></comment><comment><USER22> Does anyone know what has been PG's ROI on his investments is, for all we know it could be below industry standard.

Also, by PG's own words he only invests in the relentlessly resourceful. What do they need PG and later round VC's for? I always get the feeling with PG that something hidden is at play, he's a really really clever guy. There's a sucker getting played when he's around. (For example, Zuckerburg is not as smart as PG keeps enthusing, there's a lot smarter guys than him, so I think he's got some sell YC companies to Facebook flow going on. Another, Andrew Mason is just a terrible business guy - why is PG linking with him - <USER2> experience at knowing how to keep investors from realizing what's actually happening).

<comment><USER23> >> Does anyone know what has been PG's ROI on his investments is, for all we know it could be below industry standard.

Hell no. Just do the math:

[http://ycombinator.com/nums.html](http://ycombinator.com/nums.html)

The total value of YC companies is more like $12B today. That makes their average 6% stake worth around $700m or so. Around 600 companies total, at around $20k each - a total investment of just $12m or so by my calculations.

$12m to $700m in <10 years is about as good as it gets in investing.

<comment><USER22> If that's true, then that's astounding. Why isn't some huge wall street fund swooping in to this? Do people not know. The White House should be calling in PG for advice.

<comment><USER24> That's a good question. The main reason is that the hypothetical Huge Wall Street Firm doesn't see a way to reproduce the project at scale. They don't have pg et al, and while YC is applying mass-production techniques to startups, by the standards of markets where APIs exist to conduct transactions they're still in the early industrial revolution.

If pg was just a decision engine for Startup#fund(amount), a vaguely specified API which could put hundreds of millions of dollars to work on _any given day_ and which didn't require artisanal mentorship and connection-making of the fledgling startups, you would expect somebody from Wall Street to already have said "We can offer you an _arbitrarily high_ amount of money to do that for us."

<comment><USER22> That's a good point - PG is essentially decision engine.

All YC investments are public and some investor could go through and build PG's model using videotapes of all those founders. Collect all this data, put a few data scientists on it, and build a virtual PG.

The connections don't matter if you're a huge fund, you can buy your way to a meeting with Presidents, silicon valley types are puny in comparison.

This is a golden opportunity for oil tycoons (tesla and google are going to be demolishing them in the next few years with electric self-driving cars, they better get in the tech game, and so far PG has been most reliable at it).

<comment><USER25> _you can buy your way to a meeting with Presidents, silicon valley types are puny in comparison._

Ah, but how do you know who to talk to? What presidents of companies, what SV types?

</comment></comment></comment></comment></comment></comment><comment><USER26> With hands in pocket he has not been captured mid motion. He is therefore purposefully guarding entrance into the "Y". The blue _exit_ door is for anyone who cannot answer his questions three.

<comment><USER27> "What have you made?" "Who wants it?" "How do you know?"

</comment></comment><comment><USER28> "We were the kind of start-up started by nerds who were really good at programing and really, really bad at sales and business. Now I would know exactly what to tell my previous self, which is that I should be spending all my time selling."

Is this a case of playing to your personal weakness, or is it playing to your personal blind spot? In either case, how long until you say, "This is important, but I'm not good at it. I have to bring someone in to do it while teaching me." My impression is a good salesperson quickly pays for themselves.

<comment><USER29> In my experience, a good salesperson is either a total drag or big boost.

The total drag happens when a salesperson is brought on too soon. When the product is not aligned with the market (pre-product/market fit), there is little a good salesperson can do. In this situation, everyone gets frustrated as success does not happen and costs increase.

Post-product/market fit, a good salesperson can certainly accelerate growth. The use of the word "accelerate" here is deliberate as the founder(s) should be the ones to spark growth.

Initial sales should always be made by the founders for several reasons: 1\. Your initial idea is likely misaligned with the market. The only way to figure this out is to be listen directly to customer's rejections and stall tactics. 2\. Customer's will initially be positive (before you ask for money or ask them to do something), and watching this change from positive/supportive to neutral/negative forces a good reality check. 3\. The founder(s) bring the most excitement to the sales process. You need to be the spark for interest/excitement about the solution. Salespeople will then feed off of your excitement.

<comment><USER28> Fair enough - you don't need them too soon. But in this instance, the starting point is the founder deciding (in hindsight) that spending all of their time in Sales would be good.

</comment></comment></comment><comment><USER30> "Nobody knows what they're capable of until they try it. Maybe half a percent of people have the brains and sheer determination to do this kind of thing. Start-ups are hard but doable, in the way that running a five-minute mile is hard but doable."

Worth remembering.

</comment><comment><USER31> It is amazing how much value and change in the world has occurred because of ycombinator companies, direct and follow on effects. And all of this for the paltry sum of 1.7 billion (ish) dollars.

The 1,467 Billion we've spent on the war(s) so far could have made ~850 ish entire ycombinators, on the order of 450k startups. As well as exhausting the entire io and ly domain name spaces.

<comment><USER32> The limiting factor on YC is not cash.

<comment><USER31> With the kind of money I present, one can farm and not just spear fish.

</comment></comment></comment><comment><USER33> Is anyone else digging the Tevas with long sleeves look being sported by PG?

</comment><comment><USER34> Everybody got excited about the foreign accent thing, but my favorite quote was actually "it's easier to be an investor than it is to start a company". So very true. I just launched an incubator, and I've been telling VCs to drop the attitude.

</comment><comment><USER35> What I am wondering about is: would Einstein be a good start-up founder?

<comment><USER36> History says no. He was never able to build a great business with the fashionable blouses he designed. He never was able to scale his refrigerator company beyond the customer discovery phase and sold the patent to Electrolux... Google these if you think I am joking.

<comment><USER35> I found the patents for the blouses / refrigerators, but it seems to me that this was more of a hobby of his, not a serious startup endeavour.

My imaginary scenario is more like this: let's assume that there is something like the relativity theory of programming, i.e. in order to build programs of a certain size and complexity you HAVE to use the relativity theory, otherwise you'll fail. Now, could Einstein have built a software company that takes advantage of this?

</comment></comment></comment><comment><USER37> Funny --- next time when YC rejects a company with foreign founders, you should ask them "Was it the idea or the accent?" :D Hilarious ...

</comment><comment><USER38> Has there ever been a bubble in low liquidity assets like startup equity? I would think high liquidity is a huge piece of a bubble.

</comment><comment><USER39> So, one of the purposes of the application video is to judge a person's accent? Is that fair?

<comment><USER40> What would fairness have to do with the success of a startup? Put two founders on stage at a conference and the audience won't be fair either. Extend that to other events, web video, TV appearances and other audio/video media. He's not in a position to change other people's prejudice with his investments.

<comment><USER39> By "Is that fair", I meant: Is that fair to say? As in, is that what it means (?).

</comment></comment></comment><comment><USER41> I hope that Paul doesn't consider a Boston accent to be "a strong foreign accent."

<comment><USER40> I do! I was born and raised here. I dropped it in high school and am happy I did. America doesn't tolerate regional accent diversity like they did in the past. People listen more if you speak Generican.

</comment></comment><comment><USER42> I cackled to myself 4.6x.

Honesty is the sniper of the mind.

Thanks 'pg.

</comment><comment><USER43> In the tradition of Dijkstra...</comment>


An $814M Mystery Near the Heart of the Biggest Bitcoin Exchange - <AUTHOR> https://www.bloomberg.com/news/articles/2017-12-05/mystery-shrouds-tether-and-its-links-to-biggest-bitcoin-exchange <comment><USER2> I found this comment, by Richard Berger on SeekingAlpha, compelling:

> STOP! and think about what this author has revealed. Even IF Tether is NOT > running a fraud, the arbitrage positions that automatically exist between > Bitcoin and any tether are real and do create incentive to create an > arbitraged feedback loop whereby a pegged tether between Bitcoin - > any_generic_tether - USD does exist and self feeds, driving up Bitcoin > exactly as the author contends may be happening with the current Tether. So > long as such a scheme emerges naturally out of the system design, the design > is fatally flawed and must asymptotically compound grow to an infinite > exchange rate (impossible and unsustainable by definition), or it must > ultimately collapse.

> Thus, the author has demonstrated a basic inherent flaw to crypto-currencies > that can not be repaired other than by legal estoppel. Legal estoppel will > never occur because jurisdiction is off-shored and proving a case by case > would generate infinite litigation along with each estoppel creating a > crash. This in itself would kill the cryptos as surely as the fatal flaw > itself will.

> It is meaningless to argue WHETHER the author's speculation as to Tether's > actions are fraud. The ONLY question is if his identifying of the nature of > the available arbitrage can exist in reality. If it can, crypto is dead. No > other conclusion is available.

[https://seekingalpha.com/article/4129543-bitcoin-one-way- go-...](https://seekingalpha.com/article/4129543-bitcoin-one-way-go- true#comment-76992585)

<comment><USER3> That author is plain wrong and shows deep ignorance about bitcoin and the crypto-market.

An unsustainable price of bitcoin will lead to the collapse of other exchanges since people cashing out on these exchanges requires enormous amount of _real_ money.

This will create a situation where the price of bitcoin in Bitfinex is _higher_ than other exchanges by a big gap. This is not the case, actually the opposite is true: Bitstamp, Gdax, and Gemini prices where higher for substantial durations in the last few weeks.

You can only artificially pump the price to an unsustainable high for a very short period of time (2013/mtgox) or have this market restricted (no withdrawals/deposits, etc...). However, this is not the case. You can withdraw/deposit to bitfinex and their coldwallet shows 1.6bn usd worth of bitcoins.

TL;DR: The author fits the "butt-hurt" category, refuses to accept the reality and tries to find non-real argument for his hypothetical flash crash.

Disclosure: I currently hold no Bitcoin but some bitcoin cash positions. I also think the market is in a bubble. But a bubble with real people dollars flowing in.

<comment><USER4> Naive question: when an exchange sells, I assume they can decline to buy if they don't have a buyer or too much inventory?

For example, if suddenly everyone wants to sell BTC, the price would drop, at which point the exchange could buy the BTC at a much lower price, or not buy at all?

(unless they commit fraud, massively purchase BTC without having the actual money to back it, then not be able to wire money out of our accounts?)

<comment><USER3> The exchange doesn't sell/buy. It just connects the buyers/sellers. There are brokers that do that but you can't call them an exchange. I also think regulation prevent exchanges from trading on their own exchange to avoid front-running and since they have lots of information about the users/deposits/etc...

<comment><USER5> From coinbase TOS:

You acknowledge that the quoted Buy Price Conversion Rate may not be the same as the Sell Price Conversion Rate at any given time, and that Coinbase may add a margin or "spread" to the quoted Conversion Rate.

<comment><USER3> Coinbase is not an exchange, it is a direct seller. Gdax is the exchange.

<comment><USER5> Same TOS

<comment><USER3> I'm having trouble locating it but it is the same for Gdax except that it is individual market makers who make the spread and not coinbase itself.

<comment><USER5> Thank you for the clarification.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> When something doesn't make sense, usually it's because information is missing.

Every market participant knows that Tether doesn't prove their reserves, and yet the market exchange rate to USD stays in a tight band between 0.98 and 1.02 across multiple exchanges.

If the market doesn't trust Tether, then it should trade at a deep discount to USD, not at parity.

Similarly, the conventional wisdom says cryptocurrencies are in a massive speculative bubble. The negative sentiment on Bloomberg, WSJ, NYT, Twitter (not to mention HN) far outweighs the fanboys.

This is the most unregulated free market we've ever seen with many exchanges in many countries, person-to-person facilities like [https://localbitcoins.com](https://localbitcoins.com), margin trading, short selling, futures, options, etc.

If everyone knows the whole thing is a Ponzi-bubble-hype-scam, why isn't that information reflected in the markets?

There must be missing information that would make this make sense.

<comment><USER7> Tether is how you short bitcoin -- it's hard to move USD out of exchanges, people are worried about a bitcoin (or "all cryptocurrencies") drop, so they move into tether hoping to buy back in after bitcoin goes down without having to do the expensive/difficult bitcoin-usd move.

This assumes that the price of bitcoin will go down but the rest of the system (exchanges, tether, mining, etc.) will stay intact.

As long as people want to short bitcoin there will be lots of demand for tether at a little over a dollar that the tether company will be happy to supply. These people will balance out anyone who wants out of tether in the short term, and it's impossible to lever your "tether goes down" position.

In the future, when people decide to turn around and sell in bulk for a little under a dollar, tether might not be able to make good, particularly if they were holding their balances in bitcoin instead of USD like they claim.

Bitcoin shorters might be willing to gamble that they can move faster than the tether market will collapse in that situation and not be the bagholder.

There's no way to short "the whole mess" aside from just not getting involved in the first place or trying to get your money out while you can.

<comment><USER8> > _Tether is how you short bitcoin ... so they move into tether hoping to buy > back in after bitcoin goes down without having to do the expensive > /difficult bitcoin-usd move._

"Shorting" means borrowing bitcoin and then selling the borrowed bitcoin. What you've described is simply selling bitcoin for USDT, unless I'm missing something.

<comment><USER7> It's short in the sense that you're selling before you buy and profiting off the thing bought/sold (bitcoin) going down between the two trades. Sell -> wait -> buy as opposed to the 'long' position of buy -> wait -> sell.

Since nobody-ish lets you borrow for bitcoin margin trades you have to "borrow from yourself" (already own bitcoin) and be long-bitcoin in the long run for that to make any sense.

But if you're a to-the-moon true believer that also thinks that bitcoin is in a bubble and going to make a temporary correction you could make a ton of bitcoin by being right... if you can actually make the trades and not get screwed by a counterparty.

</comment></comment></comment></comment><comment><USER9> > Neither Tether nor Bitfinex disclose on their websites or in any public > documents where they're located or who's in charge, but information is > available elsewhere.

> Jan Ludovicus van der Velde is CEO of both Bitfinex and Tether, Torossian > said by email on Dec. 3. A LinkedIn page for someone named J. L. van der > Velde, who identifies himself as Bitfinex's CEO, says he speaks Dutch, > English, German, Italian and Chinese, attended National Taiwan Normal > University from 1985 to 1988 and was previously CEO of PAG Asia Inc

I'm continually amazed that people will put $1,000s of dollars (or coins, or whatevers) in the custody of an entity whose location they can't even identify, let alone locate.

The only thing I can see stopping them from running off with whatever assets they currently do have are either:

\- They're extremely profitable.

\- They're broke.

\- They're scared of mafia style entities following up where regulation hasn't.

<comment><USER10> Well, they're also on the regulatory radar, now, almost certainly. Now if they try to run off, that turns into a fugitive-like situation versus a potentially just oops-type one. There's a lot of leeway for business fuckups in most jurisdictions. Although in this case, there seems to be a strong case for fraud, so who knows.

</comment></comment><comment><USER11> Aside from the discussion on Tethers I am sure this is not going to stop cryptocurrency buffs from talking/selling another round of "stable" coins.

The unfortunate thing is time and again same old story is presented about either:

how the company releasing the coins will act as lender/buyer of last resort or

how "markets" will prevent the peg from going out of whack.

The former logic forgets about how it puts a lot of power in hands of one company and leads to questions, like Tether.

While latter logic forgets markets are not efficient. And sometimes it can remain irrational longer than someone can remain solvent.

This whole thing is not a maths problem but an economics and market microstructure problem, two apparently least understood topics in cryptocurrency circles.

<comment><USER12> > how "markets" will prevent the peg from going out of whack.

One only needs to read about Long-Term Capital Management to see how flawed this is.

<comment><USER13> If anyone is looking for books to read during holiday down time, they could do worse than 'Liar's Poker' [0], followed by 'When Genius Failed' [1], following the career of John Meriwether and the rise and fall of LTCM.

[0] 'Liar's Poker', Michael Lewis

[1] 'When Genius Failed', Roger Lowenstein

For a 'light reading intro to finance' trilogy, add 'A Demon of Our Own Design: Markets, Hedge Funds, and the Perils of Financial Innovation', by Richard Bookstaber.

<comment><USER14> JWMP is the successor to LTCM, built using the same models with less leverage. They also blew up in 2007-2009.

It's cool, I just submitted a paper on LTCM yesterday. AMA?

<comment><USER13> Will you be writing the third book in the Meriwether trilogy? :)

</comment></comment></comment></comment></comment><comment><USER15> Tether shows the problem with non-shortable securities. If even 1% of traders believe it's valuable and 99% don't, the 1% can happily trade amongst themselves at full value. If there were a short market, the majority non- believers would drive the price down.

I think you could find 1% of cryptocurrency traders that believe any theory you care to name.

<comment><USER16> You can short Tether on Kraken.

<comment><USER17> Shorting Tether is pretty strange, since if it works as designed it will essentially never increase in value, there's no risk on that end. And if it's a fraud that collapses, the short pays off big.

Can somebody explain how that effect would get priced into the market? I can't think of another commodity like that.

<comment><USER18> The price is the interest you pay on the borrowed short shares

</comment></comment></comment></comment><comment><USER19> There has been a blogger/journalist tracking this and writing some great analysis on Tether and BitFinex

[https://medium.com/@bitfinexed/](https://medium.com/@bitfinexed/)

<comment><USER20> It's really unfortunate that Bitfinex is now suing this person because of simply trying to bring some transparency to the situation. I'm really glad the news outlets are picking this up and hopefully Bitfinex and their shady PR firm stop trying to silence this person.

</comment></comment><comment><USER21> This whole discussion reminds me of the Argentine peso. Pegged to the dollar, economy slumps, harder and harder to back with actual dollars, then government decides to float the currency.

US did this moving off the Gold standard as well. I guess these backing commitments are useful for some stability? But it won't entirely eliminate risk, so instead of relying on the wild swings of the market you're now relying on a single institution's trustworthiness / solubility.

Take the risk you're willing to accept and hedge the others? A market for all kinds I guess! Either way, this model feels like it's already been run at scale a few times.

</comment><comment><USER22> I'm not sure but, isn't this how the real banks operate, too? For example let's take a legal, legit, Bank named X in a country. If all the account owners wanted to retrieve their money, at the same time: can that bank serve that demand?

Because normally for every 1 dollar deposited inside, bank can give away 5 dollars worth of credits to other people. (the ratio changes in every country probably).

So accusing a virtual currency corporation with "you don't own all that money you claim" applies to a real, physical currency banks. I guess.

<comment><USER23> Fraction reserve lending doesn't mean "for every 1 dollar deposited inside, bank can give away 5 dollars worth of credits to other people" \- it means that if people deposit 5 dollars, you can give away 4 dollars of them as loans and only keep 1 dollar in reserves (as opposed to keeping all 5). It still has to have more assets than liabilities, except that some of those assets can be not available on demand, but loans to other people.

It does mean that a short-term run (e.g. if all depositors request all of those 5 dollars back) can be a problem, but it's a problem of liquidity (you have enough assets to pay _all_ of them back, but they aren't available right now), not one of missing assets. Tether, on the other hand, has not properly shown that they have enough assets to buy back 100% of tethers to USD at a 1-to-1 rate; we don't expect them to hold 800m dollars in large bags of cash, but we'd expect them (just like a "real physical currency bank") to show that they hold 800m of assets backing this.

<comment><USER24> The banking system can expand an initial deposit of $100 into a maximum of $1,000 at a 10% reserve ratio when subsequent loans are re-deposited. ($100+$90+81+$72.90+...=$1,000). This all gets counted as M1 money.

<comment><USER23> Yes, the total supply of funds in circulation is increased by making it circulate; however, this question was about solvency. We're not expecting Tether to hold 800m in liquid reserves, but we definitely are requiring Tether to have 800m in assets (as they claim to do) and to demonstrate that it really is so.

The claims others have on you must be balanced by claims you have on others, otherwise you're defrauding your depositors; and if you want to accept money from the public, your words can't be taken at face value but need to be verified (and publicly supported) by trusted, independent external auditors.

</comment></comment></comment></comment><comment><USER10> Can anyone with a more studied background in economics help hypothesize the after-effects on Bitcoin and other altcoins if this 814M 'digital counterfeiting' for lack of a better term, is true? For example, 800M has been artificially pumped into the Bitcoin and general crypto ecosystem, like air in a bicycle tire.

And this is a game theory sort of question, too:

If this is true: now, what?

<comment><USER25> If people want to pull dollars out of bitfinex, and can't redeem tethers, then the price of bitcoin will skyrocket on bitfinex due to tether hyperinflation (we're probably already seeing that, and have been for months). People will be buying bitcoin at basically any price on usdt denominated exchanges, and start moving them to other exchanges to sell. At that point, you'll start to see price differences between usdt and usd exchanges, as the bitcoin price skyrockets up on bitfinex and drops on gdax.

Probably at some point, bitfinex will become insolvent and shutdown withdrawals entirely. Not sure what will happen then-- probably the price of bitcoin collapses in a general panic.

<comment><USER26> Note that this basically happened with mtgox. It took a surprisingly long time to shake out.

</comment></comment></comment><comment><USER27> 2 camps:

USD 814M accumulated over a year, legit vs not legit?

You don't really need to think hard, who is these 30 mil, 30 mil deposit? If you divide by a year, they need to have an average 2.2 millions of deposit a day. That's just to Tether. That's a lot. Just moving these amount of money in any country will put your account in question.

Will you do it if their T&C doesn't guarantee withdrawal? A bank actually need a govt to issue deposit insurance for it to work? People are depositing 2.2 millions without any deposit insurance, with shady T&C?

I mean you can believe in it, but I'm definitely skeptical.

</comment><comment><USER28> Stable coin systems are going to be massively important and there's a ton of different projects trying to make it happen.

This [1] is a really solid explanation on how one of them, Dai from MakerDAO, works.

[1] [https://medium.com/cryptolinks/maker-for-dummies-a-plain- eng...](https://medium.com/cryptolinks/maker-for-dummies-a-plain-english- explanation-of-the-dai-stablecoin-e4481d79b90)

<comment><USER29> One of the other parallels that interests me is that there's very little incentive to be publicly skeptical of the nonsense.

People were immensely critical of Warren Buffett during the dot-com bubble. He was frank that their valuations didn't make sense to him, and he took a pasting for it. He turned out to be right, but only after taking a lot of heat: [http://news.bbc.co.uk/2/hi/business/1217716.stm](http://news.bbc.co.uk/2/hi/business/1217716.stm)

There's little glory or money in being critical of Bitcoin and cryptocurrencies. But there is a great deal of money and attention for hyping them. That means anybody new to the topic receives an unbalanced information diet, deepening the problem.

Even if I were a Bitcoin fan I'd be concerned about this; bubbles misallocate resources and cause a lot of damage when they pop. The taint can last a long time. E.g., it took Florida decades to recover from their 1920s land boom.

<comment><USER30> Calling bitcoin a bubble seems like the wrong word. There are basically two possible outcomes: total market cap zero, or in the trillions. How much you think bitcoin is worth depends on your guess (and it really is just a guess, nobody has any idea what is going to happen) about the relative likelihood of each.

<comment><USER31> From Wikipedia:

"An economic bubble or asset bubble (sometimes also referred to as a speculative bubble, a market bubble, a price bubble, a financial bubble, a speculative mania, or a balloon) is trade in an asset at a price or price range that strongly exceeds the asset's intrinsic value."

Seems like a reasonable description of bitcoin to me

I have yet to see a well thought out, rational, specific description of the intrinsic value of bitcoin. If it is the case that people think it will either be zero or a trillion market cap, that suggests to me that people aren't thinking seriously about the real world end game for bitcoin and thus that there's is no solid bounding of the potential intrinsic value

Bubbles are formed by people who think they are being rational, but in fact are not. One sign that you aren't being rational is when you don't think critically, quantitiavely, specifically and probabalistically about possible future states

<comment><USER32> Is Gold in a bubble right now? Because the current price of Gold strongly exceeds the intrinsic value of the material and it has been like that for a while.

Bitcoin has pivoted away from being a currency. Bitcoin is now a store of value, like gold.

<comment><USER31> gold has always been a weird instrument since it was decoupled from fiat currency, and it has a unique position because it has been around for a long time so investors sort of understand it. the value of gold is determined a lot by confidence in the asset's performance as a "non correlated" backup medium of exchange. there is a long track record here, which matters, despite how "soft" and "squishy" this line of thinking may seem to someone who doesnt work in markets. bitcoin doesnt have this: it is not widely used as a store of value, and it does not have a track record. basically, the perceived probability of it going to zero is infinitely higher than the perceived probability of gold going to zero

this article does a much better job than i just did: [http://www.businessinsider.com/economist-jim-rickards- bitcoi...](http://www.businessinsider.com/economist-jim-rickards-bitcoin- versus-gold-price-manipulation-2017-12)

and heres an intersting history of gold: [https://www.investopedia.com/articles/investing/071114/why-g...](https://www.investopedia.com/articles/investing/071114/why- gold-has-always-had-value.asp)

</comment></comment></comment></comment></comment></comment><comment><USER33> >every tether is always backed 1-to-1 by traditional currency held in our reserves

>There is no contractual right or other right or legal claim against us to redeem or exchange your tethers for money. We do not guarantee any right of redemption or exchange of tethers by us for money

Then it's not backed by anything, is it?

</comment><comment><USER34> Rising complexity of financial instruments? Check. Uncertainty about the capital backing of a booming market? Check. FOMO fever? Check.

Where have I seen this before?

<comment><USER35> The sheer scale of these potential frauds - including the total ambiguity of massive $ raised for ICOs is not only consistent with the shenanigans of the .com - it's much worse.

In .com - companies were creating value, and we all assumed people would pay for 'email' \- turns out consumers would not - so many businesses failed, and there was a stampede out of equities.

All of this coin and ICO fraud, including 'regular company' valuations of 300x P/E rations - is absurd.

In 2000 - the bubble was popped with a little bit of an interest rate hike that caused major funds etc. to scramble, causing a stampede.

Markets are definitely emotionally positioned for a black-swan event to cause a scramble.

The markets have to correct for all this sketchy/possible fraud going on.

<comment><USER36> Parent was talking about the 2008-2009 GFC, not the 2000 .com stock bubble. The .com stock bubble was just speculation about a new technology, not massive worldwide fraud.

<comment><USER37> [https://en.wikipedia.org/wiki/Enron_scandal](https://en.wikipedia.org/wiki/Enron_scandal)

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

</comment></comment></comment></comment><comment><USER38> BTC Trading volume over the last 24hrs is $6,795,970,000 ([https://coinmarketcap.com/currencies/bitcoin/#markets](https://coinmarketcap.com/currencies/bitcoin/#markets))

Tether trading volume over the last 24hrs is $803,868,000 ([https://coinmarketcap.com/currencies/tether/#markets](https://coinmarketcap.com/currencies/tether/#markets))

At most tether can make up 11.8% of BTC's daily trading volume. If tether tanks, then it seems that worst-case BTC could suffer a 10% drop in demand, ceteris paribus.

Please tell me if there is a flaw in this logic. Seems like there is a valid critique about BTC being boosted by tether, but that doesn't come anywhere close to explaining the exponential growth of value in BTC.

<comment><USER39> It could be misleading to look at volume. For example how much of that $6.8B is due to wash trading? Also Bitcoin is paired with literally hundreds of altcoins, which make up a portion of that volume. We would want to focus on how much BTC is purchased with USD vs how much is purchased with USDT.

</comment></comment><comment><USER40> What is that style of art/animation the video uses? I feel its aesthetic is really 'greasy', kinda covered in grime from cigarettes. I've seen it before in order graphic design.

<comment><USER41> It looks like 60s graphic design with a vibrant modern color palette to me, but when it first opened I thought 80s PBS

</comment></comment><comment><USER42> I find this whole set of crypto-currency experiments fascinating. It's a grand libertarian experiment -- what happens if you create a new market, without any government regulator? It looks like you initially have chaos (makes sense), and I _think_ there are now groups of people working together. The one thing we definitely don't have is transparency. I'm a bit worried that the groups of people working together are manipulating prices, but without transparency, I have no idea.

</comment><comment><USER43> Is there a single person in HN that has profited more than $1M through Bitcoin? And I mean someone who has actually sold and now has $1M more in the bank?

<comment><USER44> Are you looking for a documented case, or just wondering about the probabilities? The former is "no", and even if there was, I doubt it was formally verified. Think about it, if you made millions in bitcoin, why would you paint a huge target on your back by posting to an online forum? The latter is "probably yes", considering that at least 20% of hners heard about bitcoin when it was cheap (< $100).

</comment></comment><comment><USER45> I would highly, highly recommend moving money off of Bitfinex in the near future (especially if you are a U.S. customer)...

<comment><USER46> Yeah, good luck. They only recommend using a few exchanges, only one of which seems able to get your money back into USD...

</comment></comment><comment><USER47> If your anxious about things going to crash because of tethers the best way you can hedge against the volatility is watch the markets like a hawk lol. Can be very profitable too with all the volatility

Checkout the live charts and forecasts at [https://bitbank.nz](https://bitbank.nz)

<comment><USER48> Problem is there's no safe rail to exit a position.

You can sell to USD but can't withdraw overnight and deposit in the morning so you're exposed to counterparty risk which in the crypto sphere is enormous.

Only safe position is to be out of this market currently.

</comment></comment><comment><USER49> Why would anyone buy more new tethers @ $1 when they're selling for less than $1 at Kraken?

</comment><comment><USER50> Basically Tether does what banks did in 19th century - printing their own dollars. It worked for banks back then because of gold reserve. Without enough gold ( or dollar in case of Tether) reserve we have an opening scene of Cryptonomicon in the near future.

</comment><comment><USER51> This is off topic but since a lot of people seem to be experts I just wanted to ask.

Can someone explain this to me

[http://000fff.org/uploads/bitcoinprice.png](http://000fff.org/uploads/bitcoinprice.png)

The flat-lines. I have seen it several times. Is is because of lack of data of trading or lack of trading or what's making the price flatline like that?

<comment><USER52> It's due to large order volume at those prices. If an unusually large limit order or group of limit orders is placed at $11,800, then incoming market orders can chip away at the remaining volume available at that price but not move the externally visible price.

<comment><USER51> Thanks

</comment></comment></comment><comment><USER53> [https://makerdao.com/](https://makerdao.com/) is a decentralized stablecoin that is coming soon hopefully.

</comment><comment><USER54> This sounds like what would happen to stocks if NYSE/NASDAQ are able to print USD to just keep the stock market going up...oh, wait the FED is doing that...

</comment><comment><USER55> Is ETH a better alternative?

</comment><comment><USER56> WARNING: Auto-playing video with possibly loud sound.

<comment><USER57> Why sites continue to do this is beyond me.

But, fortunately, disabling auto-playing in Firefox is actually not that hard. about:config, then set "media.autoplay.enabled" to false. Done.

<comment><USER58> Yes, but I do want YouTube and other sites to autoplay.

<comment><USER59> There's also addons that let you remember a choice per site.

[https://addons.mozilla.org/en-US/firefox/addon/disable- autop...](https://addons.mozilla.org/en-US/firefox/addon/disable- autoplay/?src=api)

<comment><USER58> That's a great idea (especially disabling preloading as well). Unfortunately, it doesn't seem to actually _do_ anything on FF 58.

</comment></comment></comment></comment></comment><comment><USER60> all the "safeguards" the financial instruments have, didn't stopped them from crashing the economy in 2008, bitcoin is actually a response to that, I did lost my job then and had quite a hard time, now the same bankers tell me what is fraud and what is not.

In my country banks moved away from their social propose lending, and they just take high commissions for everything (eg. ATM commission for seeing how much I have in my account) and buy state bonds with deposits money, they advertise credits, but they don't actually credit businesses they credit people who don't need a credit and have enough real estate guarantees to pay the loan in full, so they won't lose interest profit.

<comment><USER36> If you had securities investments in 2008, your money is fine, as long as you held it for a few years before or after 2008. Only if you cashed out stocks in 2009 or sold your last house in 2010 would you be hurting.

For the larger economy, there's no reason to expect Bitcoin would promote general economic health/growth more than national fiat currency.

<comment> etr-strike Stocks only recovered because of unprecedented money printing by central banks across the world. That experiment is, at best, half over. I'll trust in bitcoin, thanks.

<comment><USER61> That's not an entirely accurate representation what the Federal Reserve does, but even so, it's their job to issue bonds, which helps regulate the economy.

</comment></comment></comment></comment><comment><USER62> There's a lot of FUD, but very little evidence of wrongdoing. It seems mostly like one person on a campaign to discredit Bitfinex because of some grudge. [https://twitter.com/Bitfinexed](https://twitter.com/Bitfinexed) is the person spreading the FUD, they're also shitposting all over Reddit and elsewhere. Seems like now the 'media' is going along for the ride and enjoying the ad revenue.

<comment><USER63> If it's FUD it's easy to disprove, but since Bitfinex or whoever's behind Tether is not transparent about whether it actually has that $800M+ in reserve, the alternative is that they just printed fake money for profit.

Who are you and what's your angle? Are you on Bitfinex' payroll?

<comment><USER62> Feel free to troll through my internet presence. There's a link to my bio in my HN profile.

I have never used Bitfinex, and do not own any USDT.

<comment><USER64> All bitfinex has to do is prove they have the money. but they can't do that.

<comment><USER62> They have publicly refuted the claims, but people are still running around with pitchforks.

<comment><USER23> They have _not_ publicly refuted the claims, because a meaningful refutation cannot consist of their own statements about their own situation - it must include a trusted third party/auditor claiming that they have verified books and assets of Tether, and have verified that the claims match reality.

</comment></comment></comment></comment></comment></comment><comment><USER65> Is this another scare story to create a temporary trough in the BTC price?

</comment><comment><USER66> Patio11 has commented on this already [https://news.ycombinator.com/item?id=15745532](https://news.ycombinator.com/item?id=15745532)

</comment><comment><USER36> Why does HN have an active discussion of every rehashed ("hashed", hah!) crypto ponzi/pyramid/fraud scheme that flies, but not every new MLM?

There were always be scammers peddling garbage backed by lies. It's getting boring.

<comment><USER67> Probably because people in the tech industry are far more likely to be involved with cryptocurrency than an MLM scheme?

</comment></comment><comment><USER68> I yet have no reason to believe anything else but articles like this having just a single reason: to drive BTC price down so people can make money off the dip.

</comment><comment><USER69> For a decentralized solution to the problem of a price stable cryptocurrency check out BitShares and bitUSD

[https://bitshares.org/technology/price-stable- cryptocurrenci...](https://bitshares.org/technology/price-stable- cryptocurrencies/)

You can see it has not been as stable as USDT but it has certainly been hovering around $1 USD:

[https://coinmarketcap.com/currencies/bitusd/](https://coinmarketcap.com/currencies/bitusd/)

</comment><comment><USER70> For all the bad press that Bitfinex gets, they're the only exchange that I know which lets you sign up for an account and start depositing, trading and withdrawing cryptocurrencies in less than 10 minutes. At least when my money is on Bitfinex, I know that I can take it all out at any time... With that kind of liquidity, I wouldn't care if Bitfinex was owned and operated by a colony of wild monkeys.

I don't care if they get hacked, so long as they don't get hacked during that small 10 minute window when my funds are sitting on their wallets.

By comparison, I've been waiting for 1 month and a half to get my account verified on Bittrex (to enable withdrawals). Ticket #347145

<comment><USER71> That ability to withdraw even from Bitfinex appears to be limited to small (1 BTC) amounts. They like others have quite onerous verificatiin and anti- moneylaundering documentation requirements and give themselves at least a month to review your papers. You, like most people, won't need to get out a lot of money, until you do... and then you may not be able to. Good luck :^)</comment></comment>


Ask HN: Best email service for kids? - <AUTHOR> Looking for an email service for my Godson to use. It would have to have white listing for incoming mail and some mechanism for parental oversight.<p>Has anyone had good experiences with this? Also interested in whether people think it's a good idea for a nine year old to have their own email.. <comment><USER2> My only suggestion would be to set him up with a Gmail and try and play around. I think there could be mail forwarding in the settings.

Although its probably just best to let get his own personal address. I had an email at the age of 10.

</comment><comment><USER3> I can't think of any good _parent oversight_ mechanism except from receiving a copy of every message that is sent or received from that inbox and this doesn't sound like feature.

</comment><comment><USER4> Just a question, what does he _need_ email for?

<comment><USER5> I was visiting some family recently and their ~5yo son was interested and playing with code.org. You can do the exercises without a login but with a login (which requires an email address) you can save progress and have a profile to share with others.

</comment></comment><comment><USER6> I would love to invite you to use Kids Email, it has awesome parental controls - no ad and no spam.

</comment><comment><USER7> Please tell me that he's not a Nigerian prince.</comment>


Ask HN: why not just use Eclipse? - <AUTHOR>

Having been a Java developer for years, I now really can't stand the language anymore. While trying other languages, I also attempted to move away from Eclipse. What I was looking for is something that can be more easily extended than Eclipse.
For example, the Rails plugins for Eclipse I have seen were really crap. Basically, they provided a dropdown menu for the rails generator scripts - big deal. I would like to create something that is a little bit more context sensitive, for example it could at least offer command line completion for the rails generator scripts (so if one generates a migration, you don't have to look up the column types in a book).
I have now tried vim for a while, but find that I only use the basic functionality because I am too lazy to look up how things work all the time. Right now I lost patience when I couldn't edit two files in two windows, and I simply switched to gedit for the time being. I have been an Emacs user for years, but also never really liked it - mostly because of the way it handles multiple windows and buffers.
I would consider switching to gedit, it seems nice and easily scriptable (Python), but I don't like that it is not cross platform (I presume it isn't). If I invest in learning a dev environment, I would like to have it available on Unix, Windows and OS X.
Ultimately, I wonder if Eclipse is really so bad? Why waste time configuring those "basic" editors to feature something remotely offering the tools of eclipse? By this I mean among other things integration into versioning tools (subclipse - haven't looked into git yet), bug trackers (Mylin - trac), and also structural navigation of code. For example I was working on a javascript game and really would have liked to be able to jump to functions by clicking on them, and Eclipse provides that. Maybe vim can be made to do it (ctags or whatever they are called?), but to get it to do it would be a major effort involving hours of googling for tutorials. And most likely, it would still not be as nice...
What are your thoughts? What would you recommend? <comment><USER2> Some IDEs are great. Some text editors are also great.

 _Maybe vim can be made to do it (ctags or whatever they are called?),_

Don't use ctags. Use cscope. And stop being such a pansy about configuring your tools. If you consider yourself a professional, it is worth learning.

Basically, there's no right answer to the question, but there are wrong _reasons_ to choose. If you want to go with IDEs because you don't want to think too hard about your tools, I would say that's a bad reason. Your IDE skills are going to suck if you go in with that attitude. A better reason might be: you want to work with your code at a higher level than mere bytes in a buffer. I know guys who can make Eclipse or IntelliJ do insanely perverted things to their Java code, automatically. Good for them!

I prefer vim because I generally work in scripting languages where a refactoring IDE doesn't help much. I like the fact that my editing session can live in a screen, which can be resumed from anywhere in the world. vim+screen is the most rock-solid dev environment you can get. And since vim is so ensconced in the unix way of small tools combined, there are few features of IDEs that I can't at least emulate.

Meanwhile, my TextMate-using colleague accidentally searched for the letter 'v' in our entire codebase, and his laptop locked up for 10 minutes. The best part is that he did it AGAIN by accident a few minutes later.

</comment><comment><USER3> ActiveState Komodo does it for me. Linux, Solaris, Windows and Mac.

</comment><comment><USER4> I generally avoid IDE's fulle stop - and I find eclipse to be a complete pain to work with :(

I work in Python, PHP, C++, Perl and Html (if that last one counts ;)) so I find that a text editor (NP++ - win32 only sadly - is my current fav) and a LAMP/Py server setup work well.

It costs more in setup time but I find it makes working faster in the long run :D

(although I know for RoR/Rails it would be a bit more difficult to take this approach)

<comment><AUTHOR> But what is the pain with Eclipse? My reason for avoiding it was to get out of the mindset that all coding is complicated and can only be accomplished with the aid of an IDE. Certainly true for Java development, which would be impossible to handle without code completion, code generators and special navigation tools for the massive amount of files required.

However, some things an IDE offer are simply nice and useful, what is the point in not using them? Maybe IDEs really are a step in the evolution of software development?

<comment><USER4> Well (as an example) using the PHP module importing or creating a project was a complete pain (it's not simple or logical to me).

I also found it slow (expecially to close down).

I just had a lot of pain with it (quite a while ago now - hence not really rememebering the specific issues :) sorry).

I like the _concept_ of IDE's - but I've never seen one that works really well. Eclipse always just felt bloated to me :(

As for advanced features you mentioned: a lot of text editors (I dont know about for Java but certainly for the languages i use) have code completion (which IMO would be the most important of the 3 things you mention).

</comment></comment></comment><comment><USER5> Wow. It's amazing to find people who still write code in a text editor. It really says something about the sad state of IDEs for most languages.

I understand that many people from the PHP, Ruby, Python, and to a certain extent, Java communities may have never seen a really good IDE such as VS.NET in action, and are therefore simply ignorant. I would guess that Eclipse has a lot to do with it too, since so many people use it as their definition of a benchmark IDE, even when it's at least one generation behind the state of the art.

At the end of the day, code is not text. It has complex relationships that can be exploited to aid your productivity. A good IDE that's continually compiling in the background is truly an amazing thing to behold.

<comment><USER6> > Wow. It's amazing to find people who still write code in a text editor.

Umm... Why? Personally, I find it amazing how much some developers rely so much on IDEs and are unable to write even the most trivial programs in a text editor. An IDE can be a crutch that will slow you down in the long run. Sure, they're great for verbose languages like Java and C#, but they have very little to offer when developing in some of the other languages you mentioned.

<comment><USER5> Do you honestly have the entire class library for your language memorized? And all the member names of all your classes? And all the public interfaces of all the 3rd party libraries installed on your machine? And the entire Windows API?

Do you never deal with long member names that would benefit from a quick ctrl+space?

Are you really that quick at opening code files and scrolling down by hand to method definitions?

Do you genuinely prefer to use command-line tools to search your codebase? And replace? And if so, how do you safely rename variables, methods and member names?

I don't think that language choice has all that much to do with it. I'm currently working on a medium sized Python project, and spend maybe an hour a day cursing Eclipse for not knowing the contents of my own classes, let alone the Python and Django libraries. Honestly, I don't feel sped up!

<comment><USER7> _...And the entire Windows API?_

Quite simply, you've shown why some of us prefer to work with compact frameworks in the online space.

The normal web stack, as a vocabulary, is really only a few thousand "words" in size: HTTP verbs, HTML tags, CSS selectors, JavaScript/jQuery/etc. API, and your choice of agile web framework interfaces (perhaps with a little SQL mixed in for good measure).

Once you're relatively literate in the weird pidgin that is the modern web stack, it's pretty easy to rely on the auto-complete engine already wired into your head.

If your class member names are too long, or your method defs are buried inside some 10Kloc monster source file, perhaps you should consider some light refactoring to clean things up. Similarly, if you find yourself heavily relying on search-and-replace outside of single files, you may may have a bit of a coupling problem in your system.

</comment></comment></comment></comment><comment><USER8> I like Vim, so I use Netbeans with the jVi plugin when I need an IDE. I would use Eclipse because of its more extensive language support, but there are no decent plugins that offer vi style navigation AND code-completion.

</comment><comment><USER9> I really can't stand using an IDE, but I understand why others would. There is just too much going on and it just seems to get in my way. Give me a decent text editor and a couple terminals and I'm ready to go.

</comment><comment><USER10> You can get decent file navigation in Emacs by using Nav (Google for emacs nav), but it won't help with other Eclipse features that Emacs doesn't have.

About refactoring of scripting languages, Python has Rope, with bindings for Vim and Emacs. It's not a comprehensive or bug-free solution, but it's a start and has at least one solid developer. I submitted a report for a tough Rope bug and one of the Rope developers fixed it in a few days.

</comment><comment><USER11> IMHO nothing comes close to IntelliJ. Whether it be Java, Grails, or Rails. It's a pleasure to use. I did a stint of using Textmate (which is a brilliant texteditor), but just lacks the refactoring tools that IntelliJ provides.

</comment><comment><USER12> I'm told NetBeans has considerably better JRuby support and integration than Eclipse.

<comment><AUTHOR> I've tried Netbeans recently and couldn't stand it. Don't remember why, but another comment here makes me think that NetBeans was maybe really doing too much code completion, helper popups and what not.

Also I think it only did "menu entry for generator script", just like the Eclipse plugin. Maybe it was better at code completion, but I would really like some helper for the generator scripts, because I don't know the command line options by heart (and don't want to memorize them, either).</comment></comment>


GCHQ report on 'Mullenize' program to 'stain' anonymous electronic traffic - <AUTHOR> http://apps.washingtonpost.com/g/page/world/gchq-report-on-mullenize-program-to-stain-anonymous-electronic-traffic/502/

<comment><AUTHOR> There's no specific details of how they're staining. The two clues I can find:

\- It's called "User Agent staining" \- "Each stain is visible in passively collected SIGINT and is stamped into every packet, which enables all the events from that stained machine to be brought back together to recreate a browsing session."

I'm wondering if they're not staining the browser user-agent string itself, but somehow modifying another part of the browser fingerprint (e.g., any of the things listed at [https://panopticlick.eff.org/index.php?action=log&js=yes](https://panopticlick.eff.org/index.php?action=log&js=yes)). If it's in "every packet", it would have to be a piece of info that is always sent by the browser.

<comment><USER2> Yeah, while the Post seems to be talking about the user agent string, I don't think that's what they used, the Post just misinterpreted the document's use of the phrase User Agent to refer to the browser.

<comment><USER3> Indeed [http://en.wikipedia.org/wiki/User_agent](http://en.wikipedia.org/wiki/User_agent)

Some slides on a way to do this: [http://prezi.com/p5et9yawg2c6/ip-packet- staining/](http://prezi.com/p5et9yawg2c6/ip-packet-staining/)

Their solution was to re-route traffic to a package management device which clamps on a stain. Ipv6 makes this easy, if the traffic is Ipv4 they tunnel it inside Ipv6 with the stain header in Destination Option header.

Not sure how you would prevent this, besides the obvious answer (dont visit terrorist forums). Jondonym routing traffic through 3 mix servers might help so long as they don't stain your traffic at source by compromising your system. Making your own Tor bridge node is another solution to at least have some sort of safe entrance into the network. Seems they are unwilling to exploit relay nodes and bridges in the leaked slides.

<comment><USER4> and this naturally comes to mind:

[https://tools.ietf.org/html/rfc3514](https://tools.ietf.org/html/rfc3514)

</comment></comment></comment></comment><comment><USER5> It baffles me that the Post and Guardian decided to release this on a Friday.

<comment><USER6> For several days Jacob Appelbaum has been complaining that the Guardian has been sitting on articles about Tor at the request of intelligence agencies.

You could speculate here that their response to his public pressure was to release with additional redaction and on a friday. ::shrugs::

<comment><USER7> The UK is a _terrible_ place for challenging anything potentially remotely conceviable as a national security concern in journalism. I think Assange said it has the highest concurrent number of active media gag orders of any nation.

</comment></comment></comment><comment><USER8> I think more telling than this disclosure is a reader's reaction to to it:

      > Why is the WaPo obsessed to publish every secret it can?
      > If we are going to be kept safe from terrorists, then
      > some techniques need to stay secret. However, I expect
      > the WaPo would be the first to run articles wondering
      > why something gets blown up, after those who would kill
      > us, now can plot and organize without fear of being
      > caught. Shame on you.

The fact that endpoint attacks are occurring should be obvious to anyone understanding the motivations and capabilities of the agencies. What is not obvious is that the general public fail to understand where this trend leads. They also don't understand how far it has already progressed.

<comment><USER9> The commenter you cite certainly doesn't articulate it very well - his comment is pretty knee-jerk with a healthy dose of fear mongering. There is a reasonable argument buried in there, though (I think). From a civil liberties point of view, it matters a lot more to convey to the public an understanding of who and why they're targeting rather than how. Here's a hypothetical, admittedly contrived analogy:

We've all seen crime movies where the criminal calls the police from an unknown location to make their demands and state what horrible outcome will occur if their demands aren't met. They're using the communication method to hide their location and (sometimes) identity. The police immediately flip on their call tracing device which starts counting down the time it takes to identify the caller's location. The criminal mastermind always hangs up with 2 seconds left on the clock because he knows it takes exactly N seconds to trace the call, for whichever value of N the scriptwriter chose. Fast forward a few years and our hypothetical police department now has access to technology that allows them to trace calls phone calls instantly. Until the criminals find out about it, they'll continue to call in and make their demands, giving away their location and enabling the protagonist to jump in and save the hostage or defuse the bomb or whatever. When the knowledge becomes widespread that phone calls are instantly traceable, the criminals start conveying their demands through some other non-traceable means. The advantage moves from the side working to protect the public over to the side working to harm it.

The only people it would benefit to have outside knowledge of this technology are the ones being targeted by it. It doesn't matter to general public how the police are getting their information, only that it's being used solely against legitimate targets. What the public needs to know is that independent review is being conducted to ensure the technology isn't abused and turned against them, and to be immediately informed if it ever is. Showing the public the police department's sources and methods in my hypothetical example had the net effect of making the public less safe. In real life, if it turns out that the NSA is establishing a huge Orwellian surveillance network for nefarious purposes then the public needs to see real examples - politicians being blackmailed, backdoor financial manipulation, ordinary people being threatened and coerced, etc. That would enable the public to stand up and take action against the NSA; if the public can't get their elected government officials to stop overt abuse, that's when a leak of sources and methods would be justified so that the public can protect itself. If it turns out that the NSA has been using its technology to collect against legitimate foreign intelligence targets, then the public hasn't benefitted at all from finding out how the NSA collects against its targets.

Personally, I prefer the solution mentioned recently on the EFF website [1] - establish independent oversight panels with both the legal and technical expertise to identify abuse and either stop it or notify the public.

[1] [https://www.eff.org/deeplinks/2013/10/47-prominent- technolog...](https://www.eff.org/deeplinks/2013/10/47-prominent- technologists-nsa-review-panel-we-need-better-technical-oversight)

</comment></comment><comment><USER10> "[redacted] mechanism that leverages GCHQ's huge passive SIGINT access to deliver CNE payloads to targets."

It doesn't sound very passive, if they are delivering content to target machines trough this. If we are discussing "evercookie", this would mean they could have capability to modify http traffic and inject "evercookie code" into it. If they do have capability todo this, it would sound more feasible than actually owning the target machines and using rootkits/malware to deliver things.

</comment><comment><USER11> From a security operations perspective... if this is simply causing unique markers to be placed on the end user systems, then looking for these to appear in the clear... it's nothing new, really. Still rather cool, but not new or ground breaking.</comment>


A Chrome/Firefox extension to check the live CO2 em of the California grid - <AUTHOR> https://chrome.google.com/webstore/detail/energy-lollipop/jolcdgpgpdlpjafhepiicopakoiifdfm?hl=en <comment><USER2> This is one of the most interesting things the climate movement has put out. It actually makes you feel like you can do something about it, instead of just freaking out about burning Earths.

</comment><comment><AUTHOR> Firefox version here: [https://addons.mozilla.org/en-US/firefox/addon/energy- lollip...](https://addons.mozilla.org/en-US/firefox/addon/energy-lollipop/)

Feedback welcome!</comment>


Adding tests when you don't have time to - <AUTHOR> https://understandlegacycode.com/blog/3-steps-to-add-tests-on-existing-code-when-you-have-short-deadlines/ <comment><USER3> Meh. I keep running into this thing.. I want to test a (legacy) system but it wasn't designed with testability in mind. Every time I look for advice, I run into a stumbling block where the advice seems to apply to systems that were designed to be testable.

In this case, right at step 1. Capturing the output and making sense of it while simultaneously allowing for normal variation e.g. due to timing is one heck of a big job and requires a lot of mocking. It's not a job that can be done in hours; probably weeks, if you want something that doesn't get thrown away the next time you have time to spend on testing.

<comment><USER4> Small changes. If possible, pick a bit of logic and extract it into a (unit) testable function. Release it, see if anyone shouts. Repeat.

Even then, it is often hard to justify this work/find the time. It depends on how long you think you'll be working with the codebase really.

Edit: the above assumes you have something like CD/fast release cycle. If not, then it's not really viable unfortunately.

<comment><USER5> That approach is almost guaranteed to introduce bugs into complex systems. It's fine if you're doing something directly useful at the same time, but just be aware of the risks.

Though that dependent on what you mean by legacy. If nobody's touched it in 5+ years it might very well be unchained when the system is completely replaced with something else. It's well worth adding tests if something is or will be in active development.

</comment></comment></comment><comment><USER6> I don't really understand the obsession around snapshot testing. Seems like a lazy way of doing testing that doesn't add any confidence that you're doing the right thing. It just adds confidence that the initial value you got the snapshot from, is the same going forward, which is not super valuable.

Snapshot testing is basically what used to be referred to "master-knows testing" (don't remember if this is the exact term) where only the one who initially created the test knows if it's correct, because the intent is not exposed at all. Instead, a properly written unit tests exposes what you want that unit to do, and focuses on only that part, so you can change things in the unit without breaking those specific parts. Snapshot testing would ruin this.

> You want to add tests, but you don't have time to!

This also seems like a weird thing. The idea behind testing is to save you time. If you're taking longer time because you're adding tests, you're doing something wrong! The whole idea is to make the feedback if something is working or not faster, not slower.

<comment><USER7> Snapshot testing is useful for catching regressions and nothing else. It's better than nothing, and in some cases is the only thing you can do if you don't properly understand what all the inputs and outputs of a system mean.

For example if working with a large legacy codebase, it's important to maintain previous functionality and only change it if you can rationalize why. People and other systems might be relying on something that's a bug, or a side effect that's not obvious.

If you don't do this, then you can either choose to have no tests, or have to tear down the whole system to understand it.

<comment><USER8> >Snapshot testing is useful for catching regressions and nothing else.

Visualizing and eyeballing snapshots in behavioral tests is a highly effective way of catching bugs and defining behavior (edit code - run test - <USER2> output is correct, if it is, lock it down).

I find them to be vastly more effective _and_ cheaper to build than unit tests even on greenfield code bases.

<comment><USER6> The painful part is "verify output is correct" which only the person who initially did the test, can actually say it's correct or not.

If a new person joins the codebase and sees that a snapshot is now different, how they know what's correct or not? What I've seen in the wild is 1) talk with the person who authored the test or 2) just say yes and move on.

<comment><USER9> I mean you should have the context of your change right. If you're submitting a change to reduce the margins on everything, you should expect to need a new snapshot.

If you're are doing a pure refactor of your css, you shouldn't see a change. Unless your css rules are order dependent and now you caught that.

</comment></comment></comment></comment></comment><comment><USER10> Enough with the memes. I enjoyed the boromir meme the first thousand times but I'm only clicking this article because I want to see what you have to say not to browse r/memes lite. It also is a poor deflection of the fact that a deep topic such as this is getting such a light treatment. If the article is not much in plain text the gifs colours and box shadow doesn't make it good

</comment><comment><USER11> This is a shortcut to achieve better coverage, brittle, possibly wrong, and not maintainable; and it is not really giving you any additional confidence on the code. If you're pressed for time, why waste it on something with close to zero value? Coverage by itself is an empty goal, you're better off with no tests than this.

<comment><USER12> Suppose you're the first person to touch this code in a while. You don't really know how solid it is, but given there's no tests you would be justified in being a bit nervous.

Now you need to change it.

Any future bug discovered is probably going to come back to you, given you are now the last person to touch it and the perceived expert on this legacy monstrosity. Having proof of how the code worked before you touched it not only prevents regressions while you're working on it, but also prevents having to do this sleuthing on the fly with someone wagging a finger in your face. Not only that, but depending on dependency drift you not be able to easily go back and prove the old functionality after the fact, so having this in a CI log will be valuable for your sanity and reputation.

<comment><USER11> I don't think that scenario is realistic. If you're making a change that doesn't alter a function's output, why is the code for that function being changed at all? That would only be possible if the snapshot didn't capture all the relevant outputs to being with.

Most likely the output _will_ change and you'll be left with a random blob of data to figure out what went wrong instead of clear specifications.

</comment></comment></comment><comment><USER13> This is some of the best testing advice I've read. I follow the first two points with enormous success. The third idea seems like it would solve a lot of the cases where i've stumbled. Much appreciated!

reminds me a lot of how github's scientist works. [https://github.com/github/scientist](https://github.com/github/scientist)

</comment><comment><USER14> Every time I forget there is always enough time to write tests, I quickly find I've been grinding gears trying to sort something out that a test would have helped me visualize much faster.

<comment><USER15> The less time you have for tests, the more useful having tests will be. - 'Testing Axiom 203'

</comment></comment><comment><USER16> >> You can't afford spending days to write the tests that should be here in the first place.

We had an outage because of some code that got pushed to production, and no tests were written for it. It was a very simple bug, basically a list was being appended to instead of replaced. Nobody noticed for a while because of the right data 'being there', which made things worse because a lot of things had to be re-worked after the bug was fixed, as they were going off the bad data.

I mentioned that any new code should have tests. And the manager replied with "We don't have time to write tests", and I had to bite my tongue to not reply, "because we're spending all our time fixing simple bugs and reworking data"

<comment><USER17> I don't understand the line of thought that automated tests are too time consuming to add. You know what's more time consuming? _Manual_ testing. It takes forever. And if you have to fix a bug somewhere, have fun manually testing everything again, if you can even remember all the manual tests you should be running.

For example, a project I work on is available in Asia. They put their last name first. So anything related to names needs 2 tests to make sure it works right. Oh, there is legacy data, so customers might be missing first, last, or both names. So add another 3 tests onto the pile. You're looking at 5 tests right there.

Let's say the feature you're working on related to names has 3 dimensions. Well, now you potentially have to run 5*3=15 tests. If one of those fails and you bugfix, you have to re-run those tests. Have fun with that if your tests are manual.

</comment></comment><comment> rooam-dev When I hear "add tests" it's always a red flag to me. Imho tests are not optional, they are implied, they are a tool to build your stuff (like scaffolding). If tests are added at the end, how would one know the code written before that was correct?

The later tests are added, the less of their value is leveraged.

<comment><USER18> IMO, where tests are adding most productivity is when they enable rapid refactoring. When you test with that goal in mind it doesn't really matter much where in the cycle tests are added.

<comment> rooam-dev Yes, it should not matter 3 or 30, once you start to test the higher level/API then some classes don't need a separate test, because they are tested when being invoked by other tested code.

</comment></comment></comment><comment><USER19> I'd argue that if you feel like you _have_ to use snapshot testing to meet a deadline, you probably don't even need the test in the first place.

It's one thing if you're using snapshot testing like your average test, to make sure things don't break when you make changes. But if you're in a bind, is a snapshot test really better than your own eyes?

Maybe it's better to release the thing in that case and add better tests asynchronously to the deadline.

I suppose the snapshot test in a pinch is not so bad if it's just changes being made to legacy code. But I'm not sure I'd do such a thing when building new features.

</comment><comment><USER20> It seems the author is using legacy code to mean "bad code I didn't write". My experience with legacy code is that it exists on one server set up by someone who left the company 10 years ago, only runs on a particular version of a runtime that isn't available to download any more, and if you run it locally, it makes hard coded calls to the live environment, breaking it. Having a unit test framework is the dream.

</comment><comment><USER21> You can also skim chapters in this book. Best book I've read on the topic, highly recommended ( Working Effectively With Legacy Code ) [https://www.amazon.com/Working-Effectively-Legacy-Michael- Fe...](https://www.amazon.com/Working-Effectively-Legacy-Michael- Feathers/dp/0131177052)

</comment><comment><USER22> A "snapshot test" like this would save me time if I wanted to check that the same input yields the same output for some module. -- I can see wanting that if I'm adding new code which doesn't change the old part of the module much, or if I'm changing the implementation (but not the interface) of the module.

But, yes, in many cases it's not a good automated check.

<comment><USER23> I like to "make the change easy, then make the easy change". This looks like 2 commits: 1st a refactor to make code more straightforward around the area I'm about to change, and 2nd to actually make the change. Ideally, the 2nd should be a small, local, easy to reason about change, enabled by code cleanup in the 1st.

The 1st commit in this sequence is a pure refactor, and definitionally should change no behavior. The "snapshot test" described sounds perfect for this, especially in unfamiliar code. Ideally, I'd go even further, and have a compiler prove for me that my refactor produced a perfectly equivalent program from a black-box perspective. Snapshot testing is great because it gets pretty close, very cheaply, whereas the full program equivalence problem is impossible.

<comment><USER24> Very simple - I really like that, thanks for sharing.

</comment></comment></comment><comment><USER25> At a previous job, we had a law called "Peeler's Law", named after an engineer who was a top front-line bug-fixer: if you don't have time to add a test, that's when you need to add a test the most.

<comment><USER26> I find this to be a double-edged sword. It's undoubtedly true that the _system_ needs tests, and if they can't be easily added, it _needs_ refactoring. And it often saves time in the mid/long run.

All of this is true. But what's best for the system isn't necessarily best for the programmer. If you're under pressure to show results in order to keep your job or get a good performance review, buggy untestable code is better than no code because you spent time writing tests. Remember, _if_ the goal is to keep your job and/or get that raise.

"But," you may argue, "in that case your job is terrible and you should quit."

I often see this advice in the bubble that is HN. The reality is that a lot of programmers can't change their jobs that easily because of a multitude of problems (age, difficulty interviewing, social anxiety, bad economy, disabilities, pressing financial problems, etc).

<comment><USER27> Well, even if you decide not to quit the decision will be made for you if you choose to continue to develop a system without proper testing. Eventually your customers will fire you.

<comment><USER26> You would think so, but this is very often not true.

You'd be surprised by in how many businesses you can simply plod on with no repercussions, but if you try to test (and reduce your apparent immediate output) you can get a bad review or a PIP. In some, automated testing is not even something they are aware of. But what happens to the software, you say? Well, all software eventually ends up either working/used or not working/abandoned, and tests often have very little impact in this decision...

This was for example the case in the "shared services" unit of a MAJOR oil & energy company. Probably the first you will think of.

</comment></comment></comment></comment><comment><USER28> Isn't this considered "Change Detector Test"?

Basically what your test does is to ensure there's no change to the result (compare the new serialized output to the old one). Google's ToTT had a good write-up on this topic: [https://testing.googleblog.com/2015/01/testing-on- toilet-cha...](https://testing.googleblog.com/2015/01/testing-on-toilet- change-detector-tests.html)

<comment><USER29> X considered harmful, barf. What is with these pretentious pricks who feel the need to hold "strong opinions" (TM) to be considered a "senior" (TM). Sometimes testing the blackbox is all you got, thats it. Change detector test is an absolutely valid way to prevent code from changing behavior, that seems to be a pretty basic need and a very common form of regression. If you haven't seen the case for when that might be necessary then you live in unittest heaven or maybe you don't have a whole lot of experience dealing with other peoples legacy code or with real business deadlines. Good fuckin luck!

<comment><USER19> I think that even the most "pretentious" opinions are worth learning about, but people need to have the confidence to go their own way and do their own thing when an opinion doesn't make sense to them. In programming, there are very few things that are objectively bad, and even then what's "bad" is often limited to who will be working on a given project.

The best example at the top of my mind is semicolons in JavaScript.

Opinions on semicolons seem to have changed a lot since I began to seriously learn JavaScript. I remember most people saying to "always use semicolons" without really explaining why. Some of the more seasoned developers would point out a few reasons why not using semicolons could lead to issues, yet even though one with a fair amount of knowledge about how JavaScript is interpreted could simply avoid those issues in the first place, people would still use said reasons to label semicolonless JavaScript code as "objectively bad". It didn't even matter to these people whether the code actually worked perfectly well, or if the code was just as readable, or if it was the preference of the authors of the code. The zealotry towards semicolons entered the point of obvious signaling of senority; most of these people just came off as pretentious and unhelpful.

If someone says you shouldn't do something, but what you want to do makes perfect sense to you, go ahead and do it. You might run into issues, or you might have no problems at all. I use semicolons in JavaScript today, but I never had problems when I used to write it without semicolons despite how I was told by everyone that it was "dangerous".</comment></comment></comment>