Exec Shuts Down Non-Cleaning Service - <AUTHOR>

Just received this email:
Dear Exec Errands Customers,
Thank you for being great customers of Exec. Sadly, Exec Errands will be shutting down on Friday, September 20. Exec as a company will continue to operate our cleaning service.
Errands that have already been scheduled for after September 20 we will unfortunately not be able to perform. We apologize for any inconvenience this causes.
Thanks for using Exec.
Best Regards,
Justin Kan
CEO, Exec <comment><USER2> That's too bad.

Best of luck as you move forward as a cleaning company.

The biggest issue I see with most on-demand cleaning services is that they don't do the type of cleaning I actually need done. I don't need my surfaces dusted as much as I need laundry picked up, washed, dried, and folded, and trash, like soda cans, the occasional pizza box etc. gathered up and tossed.

Basically I want an on-demand cleaning service I can call when my place is a total mess, without doing any pre-cleanup.

<comment><USER3> Hire an independent immigrant maid service. It sounds... I don't know, evil or something, but corporate maid services are terrible while independent hard- working low-skill immigrants (typically middle-aged women) have been awesome for me.

I pay $25/hr and my house cleaner comes twice per week and vaccuums, does laundry, takes out all the trash, picks up everything, etc. Literally anything you can think of.

<comment><USER2> Make that into an app, and I'll be your first customer. It's the convenience factor that bothers me. How do you differentiate a good housekeeper from someone who's going to steal my nutella? (I don't keep much of value in the house.)

<comment><USER3> No question that this needs to be done. The problem is mobilizing said labor force to accept technology. My maid barely checks her email once per week.

The depression of wages and lack of adopting technology/communication go hand in hand, to no surprise of anyone here.

I just met her through a moving service when I hired people to pack up and move my belongings when I bought a new house. Actually need to put boots on the ground for this kind of thing.

<comment><USER2> SMS-based maybe? Pretty much everybody's got a cell phone.

</comment></comment></comment></comment></comment><comment><USER4> I'm surprised to hear this. Of course there's always more going on under the hood but I've had nothing but totally positive experiences using Exec Errands.

Curious if anyone has some more insight into what happened. Not enough demand? Money-losing?

<comment><USER5> Justin's last company, Justin.tv started off as a general purpose streaming video company, then found out the video game streaming was the bigger opportunity and spun off Twitch.tv which has become a much larger and more important company.

Exec started as a general purpose errand company, perhaps they found that cleaning held an opportunity to build an important company, so they're trimming the fat to focus.

</comment></comment><comment><USER6> Aren't they going to have the same problem like Tutorspree, that once you have the contact info of a cleaner that you like, you simply work with him/her directly and bypass the (hefty?) exec transaction fee?

<comment><USER7> hopefully. it's great to hear of rent seeking ventures failing.

</comment></comment><comment><USER8> I guess "do things that don't scale" can't really work forever... Sad.

I think it's unfair to compare Exec to TaskRabbit, as the former offered a much more curated experience. I believe the problem lies right there: it's really tough to intermediate supply and demand for broadly define "services", this just doesn't scale... Beyond the initial phase in which you are working really hard to amuse early customers, that is.

I for one have been amused by them in multiple occasions, Execs have helped me do things as diverse as assembling furniture and moving stuff around.

</comment><comment><USER9> I think Exec and TaskRabbit share(d) a similar problem in that they are so broad that consumers aren't sure what to use the platform for. Renewed focus on a single service makes sense, but they face competition from Handybook and Homejoy. It's probably also difficult to differentiate in this market since the maids are all likely independent contractors.

</comment><comment><USER10> I thought I read somewhere that their most popular service was furniture assembling. Was that not the case?

</comment><comment><USER11> 0\. HomeJoy was already in this space. HomeJoy was PathJoy, yc iirc.

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

1\. Any big pivot will take time for trust to return.

</comment><comment><USER12> Consider Zarly was originally exploring this model, before they pivoted elsewhere.

I'm interested to see if TaskRabbit and Postmates stick with it, or eventually pivot away.

<comment><USER13> TaskRabbit has made a recent shift into a B2B play, too, as they've never been sustainable. They also made a shift in company size laying off several staff members.

[https://news.ycombinator.com/item?id=6358282](https://news.ycombinator.com/item?id=6358282)

</comment></comment><comment><USER14> What a shame, I've been using Exec for ikea furniture and it was great. The cleaning service is incredibly expensive vs Homejoy which provide an incredible service.

</comment><comment><USER15> Interesting. Seeing more of these startups focus on small niches instead of "we'll find someone to do anything".</comment>


New York City could be the biggest winner of tech's West Coast exodus - <AUTHOR> https://venturebeat.com/2018/11/08/new-york-city-could-be-the-biggest-winner-of-techs-west-coast-exodus/ <comment><USER2> Universities training tech talent won't help Midwest cities all that much if all the developers decamp for the coasts immediately upon graduation anyway.

</comment><comment><USER3> Ya because moving everything to the next most expensive city to live in makes sense...</comment>


Toilet paper shortage? Learn how to hygienically clean your butt without it - <AUTHOR> https://medium.com/@iwaninzurich/toilet-paper-shortage-learn-how-to-hygienically-clean-your-butt-without-it-a875cbb06cbe <comment><USER2> Quite interesting. At my old place I bought an attachment for my toilet that essentially turns it into a Japanese like toilet. The spout hides behind a small enclosure and running the water reveals the spout and water flows. Cos me some $50 dollars if I'm not mistaken, and has been a great purchase. Easy to install and I find it keeps you more hygienic in general.</comment>


Google I/O 2017 - <AUTHOR> https://events.google.com/io/explore/ <comment><USER2> Already been solved by a group on Discord, the dates are the 8th-10th of May at the Shoreline Amphitheatre. I won't spoil the answers to the rooms :)</comment>


Tesla is not essential business as defined in the Alameda County Health Order - <AUTHOR> https://twitter.com/ACSOSheriffs/status/1240062681635123201 <comment><USER2> I live close to that plant. I hope they don't just keep spreading that virus and negate the effort we are doing by the "shelter in place". I'm a dialysis patient myself and have no idea what this virus will do to me. I'll probably be cannon fodder if the health system is overloaded.

<comment><USER3> Are you in contact with people from the plant or do you use separate toilets, cafes, and supermarkets?

Shelter in place is about preventing person-to-person spread of the disease through direct contact or via intermediary such as a bench, chair or physical currency.

COVID-19 is not going to spread from the plant to your house without some kind of transmission mechanism.

<comment><USER4> It could plausibly spread between workers at the plant, whether while working, while commuting, while on break, while passing through doors, or via touch surfaces such as doorknobs.

<comment><USER3> Same everywhere. Grocers are still going to be open.

</comment></comment></comment></comment><comment><USER5> Why is the Sheriff the one pointing this out on Twitter?

EDIT: The earlier coverage included this quote: "What's essential about automobile manufacturing in the midst of a viral pandemic? "That's a good question," said spokesman Ray Kelly, promising more information would be forthcoming. "We're in uncharted waters right now.""

There are different ways to interpret that, but they seemingly were not confident at the time. Still a strange way to "correct" it, though.

<comment><USER6> Isn't Twitter where official government business is handled now?

</comment></comment><comment><USER7> Have other car factories had to shut down, or is the Tesla plant unique for being in an urban area?

The UAW seems to be trying to get Michigan/Midwest plants shutdown, and of course the southern plants aren't union.

<comment><USER8> Some are shutting down. Tesla is different because all their cars are ordered by someone and so shutting down impacts customers. Others are just building for market and since people are not buying now they are more interested in shutting down production because it just builds up inventory that they need to sell (often meaning a sale).

I'm not going to comment on if they should shut down. With the right provision it is safer to go to work than stay home bored and tempted to go out and do something. this assumes many things not all that I'm aware of, and they might or might not be possible in the factory

<comment><USER9> Tesla stopped building cars to order long time ago. They do keep inventory like anyone else. Smaller than others but still.

<comment><USER8> If you are correct I stand corrected.

</comment></comment></comment></comment><comment><USER10> We've already had a few tesla related posts on this exact topic the past few hours alone.

[https://news.ycombinator.com/item?id=22606140](https://news.ycombinator.com/item?id=22606140)

[https://news.ycombinator.com/item?id=22607357](https://news.ycombinator.com/item?id=22607357)

<comment><USER5> Those were about Tesla's decision. This is the government saying that Tesla's decision was unlawful, which is a different subject.

</comment></comment><comment><USER5> To be fair to Tesla, they are much less likely to spread the virus than some of the "essential" services that are allowed to remain open.

To be fair to the county, finding that perfect balance of what is essential and what is not is impossible. I can't blame them for coming down on this side of things.

<comment><USER11> To be fair to the employees, it's nice to be able to stay safe

<comment><USER12> Won't they pretty much all get it eventually? The quarantine is more about reducing the rate of infection not preventing infection to reduce load on healthcare system.

<comment><USER13> And getting it later as opposed to now falls under the definition of "safe", as cases with complications will have greater odds of being properly treated.

</comment></comment></comment></comment><comment><AUTHOR> [https://www.zerohedge.com/technology/elon-musk-chooses- keep-...](https://www.zerohedge.com/technology/elon-musk-chooses-keep-teslas- fremont-factory-open-despite-alameda-county-lockdown)

</comment><comment><USER14> > Aw, you mean @elonmusk actually has to follow some rules?

No. No he doesn't. Privilege has its privileges.

</comment><comment><USER15> The previous thread on this: [https://news.ycombinator.com/item?id=22607357](https://news.ycombinator.com/item?id=22607357)

</comment><comment><USER16> Are there any other factories in the SF Bay Area that require 10,000 on-site workers?

</comment><comment><USER17> It will cost Tesla less money to fight the quarantine order than to shut down production.

Odds are Tesla wins in court and the authorities also know this, so won't actually do anything because they don't want the precedent.

I'm not clear on how the Sheriff can act without a warrant or something, but sure he can tweet.

</comment><comment><USER18> Sad how most of the comments on that thread are focused around it being a conspiracy to affect Tesla's stock price.

<comment><USER19> The Tesla fans are true believers.

On another site any comment or story that even seems negative is swarmed by fans there to tell you how it is.

I asked a question a few times out of honest curiosity...the fans were there to tell me all about how the thing I didn't say was wrong and that I was surely a troll. Nobody bothered to answer.

</comment></comment><comment><USER20> Im really very tired of people who want to help me to save my life. I am not asking anybody to visit some places, but they don't want me to visit them too. And thats its basically a global hysteria, global stupidity and what happens when office have so much power to declare a lockdown. So so so stupid.

<comment><USER21> It isn't about you, especially if you're healthy and below 50. I do care about the people you'll help infect, including my wife who works in a hospital, the elderly in my home, my colleagues, my elderly parents, and plenty of other people I care about. I and others should absolutely go to bat for the health of their loved ones and dependents.

It's disappointing technologists interested in building things doesn't get the community aspect of that, but not my fight.

<comment><USER22> What about the people you care about who lose their jobs, get evicted, lose the businesses they spent years to build, suffer the permanent long-term effects of impoverishment (even temporary periods of unexpected unemployment still have a lasting negative effect on health outcomes)? Or maybe you're in the upper middle class, like most readers here, and don't know what life's like for the restaurant workers, hairdressers and the like who are about to lose their livelihoods.

The lockdown is essentially asking the younger generations to make a massive sacrifices to support the older generation that has demonstrated very little willingness to make sacrifices to support the younger generation (accept a slightly lower standard of living to fight climate change).

<comment><USER23> The older generation is not one homegeneous group.

There are a _lot_ of impoverished older generation people. No cash, no house or no liquidity, tiny pension if that.

Those people are seriously at risk, and there is nothing they could have done for younger people along the lines you have described.

Do we treat the impoverished old like their lives don't matter as much, let them die because they happen to be in the same arbitrary statistical grouping as other, unrelated old people you feel could have sacrificed more?

Couldn't you come up with a fairer statistical grouping for "could have sacrificed more" at least, e.g. the rich?

The younger generation is not a homogeneous group either.

Among them are a _lot_ of vulnerable young. People with respiratory problems, reduced lung function, among many other conditions, or lacking physical or mental capacity to look after themselves. Also every young person who needs hospital care for things like dialysis, when hospitals are unable to provide it.

Do we just not care about the physically vulnerable young either?

The lockdown is about protecting an _extremely large_ number of vulnerable or unlucky people of all kinds. It's that simple.

Some of those are children, some young, more middle-aged, and most old, although we are currently not sure how the statistics pan out for middle-aged and below when hospitals are severely overrun.

<comment><USER22> >Do we treat the impoverished old like their lives don't matter as much, let them die because they happen to be in the same arbitrary statistical grouping as other, unrelated old people you feel could have sacrificed more?

Something used in public policy is Quality Adjusted Life Years. An 80 years has a much smaller expected lifespan than a 10 year old, so something that reduces the 80 year old's expected lifespan by e.g. 2 years could be compared to the effect that poverty or environmental damage has on the 70+ expected years of the 10 year old's life.

>Some of those are children, some young, more middle-aged, and most old, although we are currently not sure how the statistics pan out for middle-aged and below when hospitals are severely overrun.

We have this from the Wuhan numbers, where hospital beds were completely insufficient at least for the first month.</comment></comment></comment></comment></comment>


Show HN: Large – Get anything your team needs via Slack - <AUTHOR> http://hirelarge.com <comment><USER2> Who designed this? I really like the design.

Was it you awwstn/austin?

<comment><USER3> You looking for a UI designer?

</comment></comment><comment><USER3> This is genius!!!

So is assembly btw</comment>


If Bitcoin Looks Like It Isn't Trading, It's Because It Isn't - <AUTHOR> https://www.wsj.com/articles/if-bitcoin-looks-like-it-isnt-trading-its-because-it-isnt-11575637204 <comment><USER2> Bitcoin has about $133 bil marketcap.

NYSE symbols with the twice (2X) this marketcaps according to Yahoo Finance:

UNH (UnitedHealth Group) mcap: $262 bil, trading volume: $1.2 bil

KO (COCA-COLA) mcap: $231 bil, trading volume: $0.6 bil

MRK (MERCK) mcap: $225 bil trading volume: $0.7 bil

Therefore, for Bitcoin to be tradeable as similar stocks it has to show $0.25-0.5 bil for $133 bil mcap or $0.5-1.0 bil for $250 bil mcap.

Binance alone showed $0.3 bil today but the volume is usually $0.5-1 bil. I don't think that Binance is wash-trading, so all this FUD is mostly due to a lack of understanding.

<comment><USER3> I have a hard time believe its anything other than market makers providing the illusion of trades. Have you seen the price swings? If there was real volume and real transactions asides from trades, how would such insane swings be possible?

<comment><USER2> I don't have a crystal ball to claim I know what happens but swings are often due to futures trades and exchanges interested in liquidating longs and shorts.

I understand why exchanges are interested in wash trading but I don't know why market makers would provide any illusion since each transaction costs in order of 0.075% of its value.

<comment><USER3> I believe market makers are paid by exchanges to provide liquidity.

<comment><USER2> What you are referring to exists in regular stocks markets but not in cryptomarkets (at least, when we talk about relatively reputable exchanges).

Take Binance as the largest crypto-exchange. Market makers are the ones who put buy or less limit orders. Market takers are the ones who put market order to "eat" limit orders. Market markers are not paid to provide liquidity. However, their fees decrease from, e.g., 0.075% per trade to say 0.030% per trade if they trade millions $ per month.

</comment></comment></comment></comment></comment><comment><USER4> Many reasons to be dubious about bitcoin and its liquidity and how much wash trading goes on, but it seems a bit odd to judge it by the amount of outstanding coin being traded. How much gold that exists is actively traded? Or even the same question for a typical company stock?

<comment><USER5> Because Bitcoin is (at least theoretically) a currency. You're comparing it to a commodity or store of value.

The power of a currency is the ability to trade it for goods and services. If that is no longer happening with Bitcoin it has morphed into something else entirely.

<comment><USER4> I've never owned or traded bitcoin, but as I understand it the main attraction is that it's like the gold standard (of course for people who don't understand why the gold standard was a bad idea).

<comment><USER6> Bitcoin attracts three different niche markets:

\- Crypto enthusiasts who are infatuated with the technology or the math involved

\- Anti-Fed Libertarian types who want to use something that isn't controlled by a government

\- HFTs and speculators who either use it in part of their models or as a pump and dump vehicle

Some people also use it to buy illegal stuff, but most of them have moved onto Monero as the primary privacy-based cryptocurrency.

<comment><USER7> > Crypto enthusiasts who are infatuated with the technology or the math > involved

I agree that it attracts these people, but I can't figure out how they make the leap from "clever math" to "this has monetary value and I want in."

</comment></comment></comment></comment></comment><comment><USER8> > About 9.1 million bitcoins, representing about 51% of those outstanding, > haven't changed hands in at least six months, according to Flipside. About > two million of those bitcoin haven't moved in more than two years.

Transaction volume has always been a difficult metric. For one thing, most transactions are likely to happen off-chain. That can occur in a centralized system like Coinbase. This has always been a possibility dating back to the first exchanges like Mt. Gox.

More recently, Lightning Network means that decentralized off-chain transactions can play a bigger role in Bitcoin's total transaction volume. Lightning involves two parties setting up a contract (Bitcoin has supported them from day one). This contract defines rules that allow the parties to update a private transaction (without counterparty risk) until settlement on the block chain is required. At that point a transaction is published. That transaction may represent one, a handful, or hundreds of thousands of intermediate transactions. There aren't very good ways to determine how many, and this will tend to make Bitcoin's transaction volume ever more opaque over time.

Exchanges are starting to support Lightning as a method to move bitcoin in and out.

Second, absolute transaction count doesn't take coin value or age into account. For example, I can just flip the same 0.001 BTC back and forth to myself rapidly. That would add many transactions but wouldn't reveal much of value.

An alternative metric is "bitcoin days destroyed" (BDD). BDD equals the value of the coin being spent multiplied by its age in days, summed over all transactions in a given period:

[https://bitcoin.stackexchange.com/questions/845/what-are- bit...](https://bitcoin.stackexchange.com/questions/845/what-are-bitcoin-days- destroyed/847#847)

When BDD spikes you know that either old coins are being spent or that lots value in younger coins is being spent. That metric might be more economically valuable. There's a realtime chart here:

[https://blockchair.com/bitcoin/charts/coindays- destroyed?int...](https://blockchair.com/bitcoin/charts/coindays- destroyed?interval=full)

<comment><USER6> Lightning network comes up just about every discussion involving bitcoin transactions, but because it requires the bitcoin network to make confirmations, Lightning only scales with the number of transactions, not users. This is still a problem.

Example of the problem:

* For 2 users to make 10,000,000 transactions between each other, it would take 10 minutes on the lightning network.

* For 10,000,000 users to make just 2 transactions between each other, it would take _46 days_ on the lightning network.

This means that if the entire state of Georgia used Lightning Network as a payment system, people wouldn't even be able to pay their monthly rent on time. Lightning Network is an over-engineered solution to a Bitcoin problem, which is why nobody is seriously adopting it.

<comment><USER9> Where can I read more about how you came up with those numbers? I didn't knew that side of lightning.

<comment><USER6> It's napkin math based on the Bitcoin network's hard limitations of 4-7 transactions/second, so assuming 5 tx/s, then there's 432K transactions/day limit.

Since lightning requires Bitcoin to settle transactions between parties, it means that the more users there are making transactions, the more it needs bitcoin.

If it's just a handful of users making a million transactions, then there's no problem since lightning will do the math and then settle on Bitcoin with a handful of transactions. If there's a million users making a handful of transactions, well, then lightning needs to settle a few million transactions on Bitcoin (which takes weeks).

<comment><USER10> > If there's a million users making a handful of transactions, well, then > lightning needs to settle a few million transactions on Bitcoin (which takes > weeks).

Sorry, but you seem to be entirely ignorant of how lightning works. Lightning does not need to settle transactions on Bitcoin. If I pay someone using lightning then that payment is as good as good. The person who received the funds could go on and pay someone further. Notice there was no need to make an on-chain settlement transaction for this to work.

<comment><USER6> > If I pay someone using lightning then that payment is as good as good.

Lightning is an I.O.U. that is not good until you settle on Bitcoin. If you are not using Bitcoin to settle transactions, then you there is zero guarantee of getting paid. Stop spreading these lies about the Lightning network.

Trading I.O.U.s on an obscure network is not a payment solution outside of sending money between your friends. For businesses and other untrusted parties, they will settle immediately on Bitcoin which is why Lightning is not being used seriously today. The same way businesses don't trade in third party checks today.

<comment><USER11> Lightning isn't an IOU, its actual Bitcoin. What you are doing is trading payment states in channels, these payment channels contain real Bitcoin, locked in smart contracts. You can settle (and close) for your channel for Bitcoin any time you like, and there is a punishment mechanism if you try to cheat (steal) and replay an old channel state.

This style of network, or a higher order version of it will certainly be the way that we further decentralize our economy and scale to every human and system. It is nonsensical to store full transactions between everything in an immutable ever growing data structure for all time. You can condense what needs to be stored forever in channels, or go further smaller still and store commitments+proofs.

We need to move past the blockchain to store all the things model. It was cool when it was small, but we need to be thinking about how to implement higher order payment or economic concepts rather than raw txs.

Finally, to your point about businesses not trading in third-party checks... Kinda! When the store takes your payment over the PCI network, the card holders bank and the vendors bank trade some payment state between each other, and delivery of funds can take days to clear. Its all businesses trading slates, e-checks, e-balance sheets. In essence lightning isn't too dissimilar to how things work now with electronic $s.

<comment><USER6> A _commitment to pay Bitcoin_ , that is signed or unsigned, cashable at any time, is an IOU.

It's the same as a signed check, except lightning is passing itself as a network to spend the equivalent of third party checks. Businesses and untrusted parties do not do this, so they settle (cash checks immediately), which Lightning can't handle at scale with users.

If Lightning wasn't really an IOU, then it wouldn't need Bitcoin to settle transactions, now would it?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> [http://archive.is/pjKoB](http://archive.is/pjKoB)

<comment><USER13> thanks for this!

</comment></comment><comment><USER14> While I was working at a crypto fund I did an experiment with the ceo of one of the largest liquidity providers at the time in crypto, we analyzed how many trades were printing compared to the depth of market at this one particular exchange (I forget which now because it was a while ago). We noticed there was significant fake volume on the exchange, for example an order of 50 bitcoin would print at some level, and the depth of market and pricee would not change at all, even at the level of interest. This went on pretty much all day.

That being said I don't think bitcoin's trading volume is a majorly faked. I think there are a few bad actors in the exchange industry, especially during the bubble, who were trying to give the illusion of volume and popularity to drive more clients so they could extract their fees + raise money.

If people are truly worried about this issue then just trade on a regulated exchange like CME.

</comment><comment><USER15> How many AAPL shares have not been traded for the past 2 years? And how many BRK.A?

Bitcoin gives the opportunity to answer those questions contrarily to the complex and somewhat opaque equities ownership rules.

</comment><comment><USER16> Where is the lightning network, so people can buy common, small dollar amounts of goods and services with BTC? IMO that's going to be the next catalyst, it's slowly fading out until it's at least technologically possible to go mainstream.

<comment><USER17> LN has some fundamental issues with regards to security that I don't have time to go into there. However any L2 protocol based on BTC is going to have a hard time getting bootstrapped for the simple reason that there isn't enough throughout in the mainnet to transfer a sufficient amount of balance to a second layer. With the UTXO pool fragmented as is I don't think there is much hope of improvement.

<comment><USER16> What is the alternative, wait until 500MB blocks are feasible for both blockchain storage and PoS bandwidth?

<comment><USER18> They pretty much are.

</comment></comment></comment></comment><comment> ur-whale This article is severely misguided if it uses actual transactions on the blockchain to measure Bitcoin trading volumes.

</comment><comment><USER19> So most bitcoin isn't moving. That's not new.

</comment><comment><USER20> Tried to buy some on Coinbase the other day, said it would take 5 days to show up in my account. Doesn't inspire confidence in me.

<comment><USER21> That has nothing to do with the Bitcoin protocol, rather it's a "security" measure by Coinbase.

A typical Bitcoin transaction, even with minimum fees, confirms in under an hour.

<comment><USER22> I know a Dutch bitcoin payment provider [0] whose transactions typically confirm within less than a second. In short: That's because the risk of a 51% attack on the network to steal my restaurant payment is in all practicality zero. So you don't even have to wait for a confirmation from the network, just the transaction showing up on the network is enough, given the transaction fee is reasonable.

[0] [https://www.bitkassa.nl/](https://www.bitkassa.nl/)

</comment></comment></comment><comment><USER23> Wall Street Journal hinting not to trade bitcoin. What did they say about it in 2010?

<comment><USER24> The same thing your typical Bitcoin advocate in 2019 was saying: "What's Bitcoin?"

</comment></comment><comment><USER25> Any time WSJ or Forbes writes about the bitcoin I get the feeling that their actual frustration is that they (the Wall Stree speculators) cannot control it the way they are used to.

Always feels like sour grapes to me - for some reason that pleases me. Bitcoin is an equalizer in that respect.

</comment><comment><USER26> This is the way bitcoin ends, not with a bang but with a whimper.

</comment><comment><USER27> Bitcoin is clearly Art. Not gold, not money, not cash, art.

</comment><comment><USER28> A lot of illegal business is done with bitcoin. It wouldn't be a huge surprise if some lost their capacity to trade, in one way or another.

</comment><comment><USER29> trading escalates when it is volatile, bitcoin has been relatively well less volatile in past days

</comment><comment><USER30> And a million crypto Libertarians just learned why deflation is bad for an economy.

</comment><comment><USER31> why do you post a paywalled article?

</comment><comment><USER32> Bitcoin is a scam inflated by cryptography and currency illiteracy. Same category as flat earthers and Anti vaxxers.</comment>


A Comparison of Image Hashing Libraries - <AUTHOR> http://totems.co/blog/comparison-image-hashing-libraries/ <comment><AUTHOR> I realize now that I could have given the basic principles behind each of the two libraries compared here:

libPuzzle: Splits the image in blocks and compute the hash based on the relationships between the adjacent blocks brightness.

pHash: Computes the 8x8 DCT ([http://en.wikipedia.org/wiki/Discrete_cosine_transform](http://en.wikipedia.org/wiki/Discrete_cosine_transform)) representation of an image (lowest frequencies of the image). It then sets the hash by comparing each of these 8×8 values to the mean DCT value (very resilient to non-structural changes in the image).

I updated the post with these informations

</comment><comment><USER2> I just finished writing about distance hashing functions with a slightly different angle. I visualized the distances between a bunch of images using two different techniques, one of which was pHash (discussed in the parent article). Mine isn't quite as in-depth performance wise, but it makes for pretty pictures. Some of my work is here: [http://www.josephcatrambone.com/?p=619](http://www.josephcatrambone.com/?p=619)

I'm going to upload the SHA distance tonight.

</comment><comment><USER3> libpHash is actually quite slow for what it does. I spent a fair amount of time investigating image hashing algorithms a few years ago and at that time I saw 10-20x improvement over libpHash just by implementing the similar phash algorithm described in Neil K's blog.* With Puzzle being both slower and dramatically less accurate on my body of test images. Perceptual hashing can be surprisingly lightweight -- by the end of the experiment I was really just benchmarking image loading libraries. If speed is a concern you are probably better off foregoing these libs and writing the 2-3 dozen lines of code (really!) it takes to roll your own, or better yet implementing a comparable, even more lightweight algorithm like dhash.

* [http://www.hackerfactor.com/blog/index.php?/archives/529-Kin...](http://www.hackerfactor.com/blog/index.php?/archives/529-Kind-of-Like-That.html)

* The main difference being that libpHash applies a gaussian blur over the image, which can be made redundant by using a decent resampling algorithm.

</comment><comment><USER4> I wrote this after spending way too much time on this problem earlier this year--nothing new, but is a fair chronology of my approach.

[http://download.picturelife.com.s3.amazonaws.com/press- kits/...](http://download.picturelife.com.s3.amazonaws.com/press- kits/ImageSimilarityWhirlwind.pdf)

<comment><AUTHOR> Nice write-up! Very interesting.

</comment></comment><comment><USER5> We've been using phash for an image board for a while now and are quite happy with it. We only use it to detect reposts when someone uploads an image. It gives some false positives quite often, but that's totally okay for our use case. We specifically set it up to err on the safe side. Users are only presented with a "Are you sure your upload is not a duplicate?" message.

Currently we're just doing a `WHERE BIT_COUNT(images.phash ^ inputHash) < 12` in MySQL over 400k rows, which still works reasonably well (~200ms) given that it can't use an index for the XOR/BIT_COUNT operation. To my knowledge there's no way to speed up this query in MySQL, so if we continue to grow we probably have to write a small daemon that is able to search hashes more efficiently.

<comment><USER2> What is your data type for inputHash and images.phash? ByteArray? Character array? Blob?

<comment><USER5> Just a 64 bit integer (BIGINT).

</comment></comment></comment><comment><USER6> Some relevant interesting StackOverflow questions:

[http://stackoverflow.com/questions/4196453/simple-and- fast-m...](http://stackoverflow.com/questions/4196453/simple-and-fast-method- to-compare-images-for-similarity) (my own :)) [http://stackoverflow.com/questions/75891/algorithm-for- findi...](http://stackoverflow.com/questions/75891/algorithm-for-finding- similar-images) [http://stackoverflow.com/questions/596262/image- fingerprint-...](http://stackoverflow.com/questions/596262/image-fingerprint- to-compare-similarity-of-many-images)

</comment><comment><USER7> Is an image hash a very different beast from the hashing function used in passwords etc? In the latter we want large sensitivity to small changes, while in an image hash we want a measure sensitive to similarities.

Naively I'd expect image hashing to be like cross-correlation (non-linear) while password hashing can be done with shifts and modulo-2 (linear).

</comment><comment><USER8> Be sure to enable javascript or you won't be able to see the gist with the results. (Obviously including a plain table in the post would be too much work:-\\)

<comment><USER9> You also won't be able to use most of the internet in 2014, so this point seems moot.

<comment><USER10> I run no script 100% of the time for more then a year.

Only time I have issues consistent issues is "Show HN:" posts and start-up websites. Most my day to day browsing is hardly affected by this.

</comment></comment></comment><comment><USER11> The Phash library is GPL licensed. If you are building a closed source commercial product, you need to purchase a license.

<comment><AUTHOR> node-phash implementation is MIT-licensed [https://github.com/aaronm67/node- phash/blob/master/LICENSE](https://github.com/aaronm67/node- phash/blob/master/LICENSE)

<comment><AUTHOR> Sorry node-phash is just a wrapper. pHash license is indeed GPL v3. Which means as you say a commercial license should be obtained for commercial use

<comment><USER12> Aren't they/you using it for a hosted web platform? Then it wouldn't matter, as long as it is not the AGPL.

<comment><AUTHOR> Correct, I was just commenting for general commercial purpose use!

<comment><USER13> No, for closed source distribution. Commercial can be open or closed source. GPL does not prohibit commercial use, it prohibits not sharing source under same free terms.

</comment></comment></comment></comment></comment></comment><comment><USER14> Isn't SURF patent-encumbered?

<comment><USER15> SIFT is patented. SURF is a similar and alternative method to SIFT.

<comment><USER16> SIFT and SURF are both patented in the US.

SIFT: [http://www.google.com/patents/US6711293](http://www.google.com/patents/US6711293)

SURF: [http://worldwide.espacenet.com/publicationDetails/biblio?CC=...](http://worldwide.espacenet.com/publicationDetails/biblio?CC=US&NR=2009238460&KC=&FT=E&locale=en_EP)

More info: [http://opencv-users.1802565.n2.nabble.com/SURF-protected- by-...](http://opencv-users.1802565.n2.nabble.com/SURF-protected-by-patent- tp3458734p3463927.html)</comment></comment></comment>


Ask HN: Getting Around University/College - Hard or Easy? - <AUTHOR>

As a freshman or recent transfer to your University, would say it was hard to find the classes/offices you needed?
Which university did you go to and what made it so difficult or simple and easy?
Any suggestions how to make the system better? <comment><USER2> I went to the University of Oklahoma.

It is very easy to find whatever you're looking for.

1) Explore campus a lot, even if you don't really have a purpose. There were things that I was finding my third and fourth years. You will eventually learn where all of the buildings are and the random class gifts and old meeting places and anything else cool your campus may have.

2) People will be helpful. "Hey, you do you know where the engineering building is?" You've found your answer.

3) My school had maps everywhere and online if all else failed.

My only complaint: Some of our buildings were too small for their original purpose or got re-purposed for other reasons. They became a mishmash of offices, class rooms, and every other function you can think of. If you were looking for a building by type (say, engineering), it could be difficult, because a few different buildings might all have overflow for that building.

</comment><comment><USER3> I went to the University of California, Los Angeles. I found it very easy to navigate, but I had an advantage. As a Los Angeles native whose dad is also an alum (UCLA Dental School '75), I spent much of my youth here. We always went to basketball games at Pauley Pavillion, and since my middle/high school was right down the street, UCLA was the closest library. It also didn't hurt that Westwood was _the_ place to go see movies back in 7th/8th grade (usually followed by all-night arcade free play at Ackerman Union).

But for people not that familiar with the campus, I guess it could be a little confusing.

<comment><AUTHOR> would you say that as a newbie it is hard to find your way around from class to class or to learn where all the 'scattered' administrative offices are?

also, were the building and classroom # coded normally or arbitrarily? that can be frustrating, i know from my university, they labeled the building with random letters - who knows how the freshman understand it!

<comment><USER3> The numbering of the classrooms within a building seemed random. For example, Royce 162 is next door to Royce 190. 163-189 don't exist. These rooms were pretty small, so it is unlikely that they would be split into 30 smaller classrooms. Similar story with the 3 massive lecture halls in the chemistry building (Young Hall, but not named after me): CS24, CS50, and CS76. Why weren't these named CS1, CS2, and CS3? But that confusion only lasts a day or two.

<comment><AUTHOR> That's confusing, but like you said its probably minimal.

By me, on the course schedule they listed your courses and class numbers. I.e. 2304A, where A represents Whitehead building. How are you supposed to know that?!

The building codes for the most part make sense, but some don't. The classes make sense.

</comment></comment></comment></comment><comment><USER4> The primary function of the university is to enervate the optimism of youth. Education is a secondary goal. Learning to navigate an insufferably confusing bureaucracy with grace and determination is thus the whole point of college. How else would we train the bulk of our citizenry to quietly endure forty hours a week in front of a computer screen?</comment>


Famous Graphics Chips: Microsoft's Talisman - <AUTHOR> https://www.computer.org/publications/tech-news/chasing-pixels/microsofts-talisman <comment><USER2> _> So, tiling wasn't a good choice for PCs and workstation, but as mentioned, ideal for power starved mobile devices._

It's fascinating to me how some technologies that seemed at one time like also-rans suddenly became hugely relevant when mobile became A Thing. ARM, for instance, started out in the mid-'80s aimed at the desktop market (the "Acorn RISC Machine": see [https://en.wikipedia.org/wiki/Acorn_Computers#New_RISC_archi...](https://en.wikipedia.org/wiki/Acorn_Computers#New_RISC_architecture)), got clobbered when the market coalesced around Wintel, and simply to survive retreated to one of the few niches where their chips had a clear advantage over Wintel's: applications that required low power consumption.

That was a tiny market for a long time, but then mobile became A Thing and Intel, who were focused as they always had been on performance over efficiency, missed the shift completely. So ARM, which had been diligently focusing on efficiency for years, went from being a footnote to history to being one of the key architectures of modern computing.

<comment><USER3> It is also interesting that Intel (after buying the Strong ARM line from DEC) were the manufacturers of some of the fastest ARM-based mobile chips in the late 90s and early 00s but sold the line to Marvell in 2006 right before the mobile explosion.

<comment><USER4> Another example from that track they already failed twice at memory tagging support, while SPARC's became mainstream on Solaris and ARM's will become a requirement for future Android versions.

</comment></comment></comment><comment><USER5> Tiling was also "secret sauce" of Nvidia Maxwell GPUs

</comment><comment><USER6> This reminds me of the Atari 7800's architecture. The screen is composed of horizontal "zones" with variable heights. Each strip renders one or more objects (sprites or tiles), stopping the CPU to do a DMA transfer on each scanline. A lot of this is controlled by display lists in RAM, but some settings (palettes for example) have to be changed on-the-fly via interrupts. And sprites invariably span multiple zones, which is another PITA.

</comment><comment><USER7> It's an interesting design in how it straddles between old and new rendering pipelines. It's effectively allowing the definition of 3D sprites that can be posed, imaged, tweaked and placed with the first half done eagerly and the latter on-demand during frame output. As pointed out, the challenge would be determining how complex a scene can be produced per frame and staying under the limit as there doesn't seem to be a way of varying frames/sec.

</comment><comment><USER8> The whole thing sounds insanely complicated, and unclear that the complexity could ever be hidden behind a standard OpenGL-like 3D API.

<comment><USER9> The point where it all falls apart if the application falls behind for one frame is a showstopper for game development.

<comment><USER10> It used to be the norm in game development to sync with the refresh rate of the CRT.

<comment><USER11> Is it not still the norm? (Though, with an LCD screen of course, not with a CRT.)

Many of my games include some form of vsync option, I think. (E.g., Factorio calls it "Wait for VSync", 7 Days to Die "VSync", Zandronum (a modern Doom port) "Vertical Sync").

My understanding was that it was a trade-off between smooth graphics at the display's framerate, or a faster framerate with potential tearing (on-screen artifact). With it off, you'll "see" something as soon as the currently rendering frame renders a pixel containing whatever is relevant. But with Vsync on, you'd need to wait until the next frame renders (and for it to hit a relevant pixel), introducing a slight delay, and tearing when the new frame overwrites the old frame at the point where the display is currently "drawing"/displaying.

(Though it does seem like it is defaulted to "off". It's my understanding the pro gamers like the lower latency over the visual artifacting.)

<comment><USER12> This is not the norm; wait for vsync means the frame will be displayed during the vblank; if it takes you 6 frames to draw, then you have a frozen image for 6 frames.

GP was talking about rendering each frame in lockstep with the vertical refresh; there is no option to wait, you will instead get a partially drawn frame (TFA mentions the runway disappearing in flightsims; that's a common artifact because much of the geometric complexity was on the ground, so when you are landing, the complexity would spike, the engine would lag behind and some things just wouldn't get drawn in time).

</comment></comment></comment></comment></comment><comment><USER13> I can't remember if talisman passed whql. But I don't think it could.</comment>


Russia appears to have surrendered to SpaceX in the global launch market - <AUTHOR> https://arstechnica.com/science/2018/04/russia-appears-to-have-surrendered-to-spacex-in-the-global-launch-market/ <comment><USER2> This is a fatal mistake for Russia if it wants to remain a global player and lead in at least a few sections of tech. (It already has huge problems with brain drain due to immigration)</comment>


The Blind Men and the Elephant: A Story of Noobs - <AUTHOR> http://yehudakatz.com/2010/02/09/the-blind-men-and-the-elephant-a-story-of-noobs/ <comment><USER2> This is just another example of the "clear only if known" (COIK) problem, which is pervasive especially in tech. The proper way to explain a complicated system to someone who doesn't know anything about it already is to start with the most basic of simplifications, start with a mental model and build up from there, adding levels of detail at each step, making sure that each level of detail makes sense in the context of the previous level. Working from overly simplistic, inaccurate abstractions down to the nitty gritty details.

Instead what tends to happen is that people describe each component in detail and the entire system in too much detail. None of it makes sense because none of it has context, but eventually with persistence and immersion it may make sense, but it's a lot more difficult than it should be. Nobody sensible tries to teach someone about how cars work by giving them a circuit diagram of the EFI system, yet that's not too far off how many devs are introduced to complex systems in software engineering.

The problem is far worse than this may seem though. Because at a very fundamental level software engineering lacks a common set of abstractions and a common language to even properly discuss software design at a wide range of levels of abstraction. This is reflected not just in problems educating "noobs" but also in the very design of most software. This lack of vocabulary and mental models is devilishly intertwined with a distinct lack of design patterns at certain scales in software, which helps explain why so much software tends to be a tangled mess of crap rather than well-designed and modular. We build big ball of mud after big ball of mud instead of tractors, cathedrals, and cruise ships partly because we don't have the intellectual tools (vocabulary, models, design patterns, etc.) to tackle design problems on that scale.

Compare the complexity of software architecture patterns such as MVC or layering to the construction patterns of, say, an automobile, a house, or an airplane. When you start doing that you realize just how incredibly young this field still is.</comment>


Yahoo Discloses New Breach of 1B User Accounts - <AUTHOR> http://www.wsj.com/articles/yahoo-discloses-new-breach-of-1-billion-user-accounts-1481753131 <comment><USER2> This is being discussed at [https://news.ycombinator.com/item?id=13180101](https://news.ycombinator.com/item?id=13180101)

</comment><comment><USER3> In case you are looking for the important information, it seems to be MD5 hash without salt.</comment>


Ask YC: Quitting Etiquette - <AUTHOR>

I accepted an offer for a summer internship in Silicon Valley several months ago (I received 2 offers very early). I signed and sent in the standard at-will employment contract, all that fun stuff.  Now, an idea/product has surfaced/been developed that I feel has huge potential and would like to pursue through YC.  I don't, however, want to burn bridges at this company (which is pretty prominent in Silicon Valley).  How bad of a career move would it be, assuming I get accepted at YC, to turn down this company a month before my internship to accept a YC offer?  Is this as poor a business practice as I think it is?<p>On a different but related note, while I appreciate that the business we are in moves quickly, I feel very strongly that the whole application process is way to late in the game, specifically because most internship offers come long before April 2.  While I know that YC is not an internship, I think there is significant overlap in the type of people who get Silicon Valley internships and the type who apply to YC.  I think the choice between accepting an internship and applying to YC with no guarantee of getting accepted is avoidable by making the process slightly earlier.  I'm mostly saying this to see how people feel on the topic, partially to satisfy my own curiosity but also to allow PG and the crew to see if they are missing out on a lot of potential founders because of this. <comment><USER2> Some things you should probably figure out for yourself:

\- What's stopping you from pursuing your idea now?

\- Will you continue to pursue it if turned down at YC?

\- Can taking the internship help you pursue your idea later (e.g by making connections)?

\- How well connected are people at the group where you would be an intern?

\- How much competition was there in the internship program? If you decide not to go will the company have a reasonable chance to get another good candidate?

Declining an offer is not quite the same as quitting, but you should still act professionally. Imagine being in the position of the company and think about how someone could decline your offer in a way that wouldn't upset you. If you do decline, try to find a way to occasionally stay in touch with the people you would have worked with if they are the kind of people you would want to know in the future.

<comment><AUTHOR> Great questions! They may have been rhetorical but I have already considered them, so I figured a reply is warranted:

I do intend to pursue my idea, but I feel the connections and, more importantly, the full-time workload of doing it through YC would be very beneficial (there's a lot to be said for coding all day and then coming home to code all night...I think we can all agree that 8 hours of coding, especially if it isn't interesting, can be pretty draining). I've heard amazing things about the YC connections, and while I'm sure the company in question does have very good connections, I feel they probably pale in comparison to YC.

I will be working on the idea either way, but I am a strong believer in the idea that one is much more likely to succeed if there is the pressure of it being your primary focus and goal (I believe PG said this in an essay, though I don't recall which one), thus my need to decide between YC and moonlighting.

<comment><USER2> One semi-rhetorical question I forgot before: which of your choices has the greater opportunity cost? Is your idea something that offers significant first-mover advantage, or is it something that you'll still have a good market for even if other companies are already doing it by the time you ramp up?

</comment></comment></comment><comment><USER3> IANAL, and this is NOT legal advice, but:

Since you'll be in California, you can take advantage of California Labor Code Section 2870-2872 ( <http://caselaw.lp.findlaw.com/cacodes/lab/2870-2872.html> ), and do your startup (that doesn't relate to the internship-company's business, nor result from the work you do for the company) on your "own time without using the employer's equipment, supplies, facilities, or trade secret information".

Then, you'll get your pay from the summer internship (if they're not paying you, GTFO; you'd essentially be paying SV rents for the "privilege" of working for them!), and have a head-start for the winter round. You'll also have gotten more done self-fundedly, which will help you stretch any stipend you might get from YC.

</comment><comment><USER4> Assuming you're pretty sure you're going to do the YC thing either way, the right answer is: renege on the summer offer. It's at-will employment, and your will is not to work there. Apologize nicely, and tell them you hope for future opportunities at their company. Internships are just expensive recruiting anyway.

<comment><USER5> I'd never do that.

<comment><USER4> Yeah, but change out "internship" for "full-time position," and it's another story entirely.

</comment></comment></comment><comment><USER6> Do you live in the Valley, or would you be moving here for the summer to do your internship?

Can you afford to not work and not take the internship this summer? If you can, why not pursue the idea anyway. If you get in to YC, great. If not, keep working on the startup and see where it takes you.

Why are you taking an internship? One of the main reasons to take an internship is to get job experience, and I'd say that starting your own business is pretty good resume-able experience. The vibe that I'm getting in the Valley right now, is that if you want a job, and you have decent skills, you shouldn't have too hard a problem getting it. It's an employee's job market right now. So, I wouldn't worry about screwing over your long term job prospects too much.

Another reason to take the internship is to get contacts. But, the kind of contacts that you'd make as an intern probably aren't going to be all that great. You're better off moving to Silicon Valley, starting your own business and doing the Meetup/conference things. Networking in Silicon Valley is pretty easy to do, and contacts come pretty easy. It's really a small town.

Another reason to take the internship is the pay. Which, is usually pretty low. If you're hard up for cash, I'd say that you're better off taking a coding job for the summer. From what you've said, though it doesn't sound like that's a big issue for you right now.

And, if you're worried about stepping on the companies toes--don't. Sending them a polite, professional letter explaining that you've decided to pursue other opportunities, should suffice. If they throw a fit or hold a grudge, you really didn't want to work for them anyway.

</comment><comment><USER7> I try and remember that you don't owe an employer anything besides your word. You work, they pay. Besides that you're free to make up your own mind about your life.

If you want to do it, then do it. Be honest and open with your former employer... If you're good enough then they'll hire you again if that's what you want later down the line.

If they don't and you're good enough then you'll always be able to find another job.

</comment><comment><USER8> I wouldn't let something like not wanting to disappoint keep you from pursuing an opportunity that could change your life (I think someone already mentioned opportunity cost).

That being said, if you know anyone else you know and trust, and whom you would vouch for, given the skills required for the internship and who would take the internship, then I'd recommend him to the employer if they still need someone to fill the position.

This is a practice I learned from being in a band. Booking agents hate when you cancel, but love you for it if you provide another band to play in your stead. Granted, I know this is much easier to do with a band than with an internship.

</comment><comment><USER9> YC sounds like a fantastic opportunity. I would pour-your-heart into the application and if you do get the offer - write a hand-written letter ( _no email_ ) and FedEx it to your internship contact. In the letter, tell your internship liason exactly what you told us - explain your feelings for why you regret turning them down (tell them how you feel, don't use logic). people buy on emotion and rationalize with logic (even the most logical people). Carpe diem!...

</comment><comment><USER10> If you REALLY think your idea/product has huge potential why are you worried about your "career"? Your startup IT IS your career!</comment>


StackOverflow's apology on the removal of a moderator(post not votable) - <AUTHOR> https://meta.stackexchange.com/q/334248/3834 <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=21153224](https://news.ycombinator.com/item?id=21153224).</comment>


Are entrepreneurs in the US biased against developers from East? - <AUTHOR>

I am a developer from India who has had few interactions with some budding developer-entrepreneurs from US. It might not be proper to judge based on these interactions but I felt like something was not right. Their behavior was one of smug feeling of superiority which might be hinting at their insecurity.<p>This might be an one off case or just an issue with me. But I am interested to know how others feel about the perception that entrepreneurs in US have of Indian developers and how they treat/interact with them. <comment><USER2> You are running into a two issues, the first being that you are dealing with people who not too long ago's jobs where in jeopardy due to the outsourcing craze. It seemed like ever business man in America could not figure out how to get on this outsourcing craze and fire all of their development staff. A lot of us saw it happen to our good friends, and some of us where too close to the hot seat for comfort. It's unfortunate and it's unfair to you personally, but people like to attach a face to their outrage given that it was Indians taking their jobs naturally they became the face of their frustration. Not everyone thinks like this, and I don't believe that their is racist intent, eastern Europeans experienced this as well, they where late to the cheap outsourcing game so it was less sever, I imaging that if they had been as early to the game as India, they would see the same amount of discontent taken out on them.

The second and I believe more sever issue, is cultural differences in the way India and America do business. It is no great secret that as a culture you guys do not like to deliver bad news. I think it is because as a culture you are as well far more respectful than Americans on average. Coming from the American south, I see this all the time. As a culture we in the south had a concept called southern gentry (this culture has died out) part of there culture is that your are considered of a less social status if you are not hospitable and respectful, there are a group of people that see this as a weakness due to a mis-match of cultures. I was part of the first generation in the south that was more culturally compatible with the rest of America so I see the contrast between the two very well.

Anyway I am derailing with back story to get to my point, the point is this aversion to bad news when applied at the management and project management level can be disastrous to a project. Not getting a complete picture of the bad issues can leave people in the dark and hamper their decision making process. 9 times out of 10, when I hear an India outsourcing horror story it has everything to do with the management of the project and nothing to do with the quality of the developers.

You guys experienced a gold rush, when we decided to outsource development to you, some of your business infrastructure and practices where not ready to do so, it is a natural product of two cultures colliding. I would not take it personal, and would recommend trying to look at the human issues involved, something American developers would be well served to do as well.

<comment><USER3> I couldn't agree with you more on the cultural differences and delivery of bad news. I have seen this happen multiple times. The first couple times I thought it had more to do with the way our (US) project managers and developers were communicating the scope and details to their Indian counterparts. After multiple more instances and first hand interactions I came to learn that the biggest issue was the outsourced developers (even from bigger companies) were not giving feedback when issues arose or there were delays. I also found that they would deliver something that was completely off-spec, simply because they didn't understand the original spec.

<comment><USER4> China and Japan both have a similar issue with bad news and saying "no".

When I worked in China, both my students and school administrators would avoid saying "no". If you are relying on some piece of work being done for product/project success, this approach can also be disastrous because people will say "Yes" to some request that they have absolutely no intention of performing/completing and you may not find out something wasn't done until something fails.

That being said, it's not a race issue, but a cultural issue. Someone of Chinese or Indian descent raised in the US are unlikely to present this cultural incompatibility.

On the otherhand, I think that if this cultural incompatibility exists, it is the manager's responsibility to neutralize it by demonstrating that delivering bad news (or saying "no" when the answer is in fact "no") is valued. This would be preferable to declining a good candidate for the task at hand.

</comment></comment></comment><comment><USER5> From my experience with programmers/engineers 'IN' India and China is that they seem to be far less flexible/creative. They know what they know but if you ask them to solve a problem that they haven't encountered they struggle. I used to outsource a ton of work and remember all the crazy, convoluted solutions they would come back with, most which didn't work or follow the requirements.

I really think it has to do with their structured life and education system that focuses on accomplishments and not on problem solving/creativity (and the fear of being wrong). If I want a generic well-known structure built they are fantastic, but if you push the limits they tend to struggle. I learned to design everything myself and then give them exact instructions on how to accomplish each broken down task. The work improved drastically once I began following this rule.

</comment><comment><USER6> short answer: yes

longer answer: everybody is subjective. don't think programmers of the east think too greatly of programmers from the west, or programmers from down south. everybody carries a set of cultural assumptions. when outsourcing work (no matter if it's abroad or around the corner) the best approach is to harness the best qualities of every team, not to force them into being something that they're not. the same thing is true when you're working with people in your dorm room.</comment>


Is it better to turn up the volume in the software or on the speakers? - <AUTHOR> http://superuser.com/questions/492281/from-a-quality-perspective-what-is-better-turning-volume-up-in-the-software-i <comment><USER2> I was surprised by the best answer as it seems to me to be more or less wrong.

Let's ignore the discussion about dynamic range and bit depth etc., and assume that the volume control on your operating system controls the DAC rather than doing the stupid thing of digital volume reduction. The fundamental issue is signal to noise ratio on the analog line. If you turn the volume too far down on the computer and turn the volume up on your speakers, the sound on the analog line is too low with regard to the electrical noise and will be hissy. If you turn the volume up too much on the computer and turn the volume down on your speakers, then the signal will be so loud as to produce distortion either in the DAC or on the line itself. You're looking for a middle ground: as loud an output from the computer that you can produce without causing distortion in your loudest music parts. Once you've got that set, change the volume on the speakers to compensate.

<comment><USER3> > assume that the volume control on your operating system controls the DAC > rather than doing the stupid thing of digital volume reduction

Is this a safe assumption though? As much as I consider myself knowledgeable in this area, this is way off my radar.

Even if this assumption does hold, the answer does make a good point when it comes to per-application volume controls, which are certainly performed digitally.

Your point on SNR is a very good one, particularly on the low-end, but I would question whether any computer at max volume would produce a signal strong enough to cause distortion. I generally run my computer at around 90% volume but that's merely a habit carried over from having an analog hifi stack.

<comment><USER4> Guy with some sound knowledge here. It doesn't matter if the attenutation is done digitally (as described by the top SE comment) or in analog fashion. The answer is always the same. In the music biz the general rule is: you want to put as much gain as early in the chain as possible. In other words, start at the source of the sound, and working your way towards the speakers, turn it up as loud as you can without distorting it.

Take the example of a guitarist. He turns his guitar up as high as he can, then the amp gain as high without distorting it. Then at the sound console. etc

The reason for this the later in the chain you are, the more electronics and cable is involved which adds noise to your signal. Highest signal-to-noise is achieved by ensuring you have as much signal as you can running thru from the get-go.

In the case of a computer, again it doesn't matter how volume changes are done- crank up your software as high as you need (but not beyond the point of distortion), then adjust it further at the speakers.

<comment><USER5> _> Take the example of a guitarist. He turns his guitar up as high as he can, then the amp gain as high without distorting it. Then at the sound console. etc_

Without distorting it? Are you sure you have some sound knowledge? That doesn't sound like you know many guitarists... ;)

qv. <https://www.youtube.com/watch?v=4gDsbOraiqg>

<comment><USER6> I've worked in Austin as a live sound mixer (FOH engineer, as we say) for a while now, and it's evenly split-some will say build your gain structure using the exact method; up until you clip, and back off from there.

</comment></comment></comment></comment></comment><comment><USER7> Let's try to put this discussion on the right track. (There doesn't seem to be any posts here from people who actually design analog circuits.) The SO post reduces to comparing two versions of noise: One from (A) software control of the DAC and the other (B) from hardware.

(A) Pretend that everything except the DAC was noiseless: The noise would be due to the nonlinearities and quantization in the DAC.

(B) Pretend that the DAC was perfect: The noise would be dominated by the noise-equivalent input-power introduced by the resistance present in the components (including the transistors used for amps).

In short: (A) is a function of how wide the range of bitcodes that you use. The smaller the range, the larger the noise component relative to the signal.

OTOH: (B) is a function of temperature: All of the noise power before the final dial to your amp is passed through as is the signal, so the ratio stays constant. There is also a constant noise power introduced after that final amp, but I would guess it is negligible compared to the amplified noise power.

So tl;dr = For a decent sound card, maximize the software volume and then use the analog dial.

</comment><comment><USER8> Garbage in, Garbage out.

Max your software (usually this is 80% to prevent clipping and distortion), then attenuate speakers to 50% (analog boost is much worse than digital as it raises the noise floor).

Source: Mixing at studios for last 10 years

<comment><USER9> I came in to say the same thing (having been in bands and recorded quite a bit and working with sound engineers).

On a similar note, I learned and practised all this in another country and I always thought it strange why when I, for example, flipped to American channels, the volume would increase dramatically. I think a similar phenomenon occurs in radio (Loudness Wars) and in malls, etc. Now I wonder if it occurs in American software.

<comment><USER10> It makes me very glad that Windows ... either Vista or 7 and on have allowed individual-app volume control

</comment></comment></comment><comment><USER11> The best answer neglects to address something I've noticed in the past: Many phones and portable media players seem to clip when you set their volume to maximum -- that is to say, what reads as "100%" sounds more like "120%". I haven't measured this effect, and I've never seen it documented anywhere, so I don't know whether or not it's just my imagination -- but I've personally observed it with pretty much every phone I've owned.

On the PC, though, I rarely set my system volume to anything other than 100%.

<comment><USER12> I've noticed this too. I suspect it is, at least in part, due to the poor quality of the DACs on most phones.

I used to own a Samsung Moment; trying to listen to music on it was almost unbearable due to the quality. It must have been dumping bits left and right during the conversion. I tried 320kbps Mp3s, Broadcast Wavs, Flac -- it didn't matter everything sounded like it was crushed down to a 32kbps.

I'd be interested in seeing a phone dedicated to high quality playback of music. As a somewhat audiophile-ish guy, I would snatch up such a piece of technology.

</comment></comment><comment><USER13> The "best" answer seems wrong or at best misleading -- I would be very very surprised if the user-visible OS master volume control, which typically controls the sound card directly, was not directly controlling op-amp gain at some later stage of the sound card.

Assuming this is true, the correct option would be to maximize any application volumes (e.g. YouTube), to maximize master volume to a level just below the sound clips (distorts) at the amplifier input, and to reduce the amplifier's pre-gain (if it has any) so the master volume control has a reasonable range.

This method will minimize the _three_ (not just one) culprits of poor computer audio quality: quantization at the application layer, electronic interference over the physical connection, and clipping at the pre-amp.

<comment><USER14> Alsamixer for Linux makes this much easier, as it shows the actual level in dB (at least for any sound card I've ever owned). For example, 0dB (maximum volume without clipping) is at ~74/100 on one of my cards, not 100/100.

<comment><USER15> This is true. This is hardware-specific, which you may have hinted at when you said "on one of my cards". The onboard Intel sound card on my Debian system shows 0dB at 100/100 in alsamixer.

</comment></comment></comment><comment><USER16> If you can't tell the difference by listening to it, it doesn't matter.

<comment><USER17> I was thinking exactly this, but then remembered that this goes for all audiophile matters across the board, and people who are into that probably won't listen to this advice anyway.

</comment></comment><comment><USER18> Why do you guys think every sound application bothers to put a volume control? Wouldn't they figure every device that plays sound already have its own volume control?

For example if you built the YouTube player, what makes you think you need a volume control?

<comment><USER19> Maybe I want to listen to Youtube in the background while listening to something else at the same time? Per-application sound controls can be important at times.

Or if some Youtube video has obnoxious sound and I want to mute it, but want to keep my music playing from Spotify.

</comment></comment><comment><USER20> From "best" answer: _Reducing volume in software is basically equivalent to reducing the bit depth_

This is really only true when The Audio System represents samples as integers and not floats like CoreAudio does.

<comment><USER21> I don't think that's the case. Here's your pipeline:

App->CoreAudio->HWSoundCard->Speakers(or amplifier)

By using floats in the sound API you don't reduce the bit depth on the first step but you still do on the next two steps. Imagine a scenario where you want to set the volume at half the maximum volume. Your two options are:

1) You set the app to 50%. Core Audio handles that as floats but still has to program the hardware to only output half volume, so if the HW itself doesn't take floats the bit depth is halved. And the HW will always have to output half the voltage so the "voltage depth" of the third step is always halved.

2) You set the speakers to 50%. All the pipeline functions at 100% bit/voltage depth all the way to the speakers/amplifier. Only then, at the final amplification stage, does the signal not get boosted to 100% and only to 50%.

How much this affects real world performance beats me...

<comment><USER20> In theory yes, but our ears can't hear below ca. 0 db, so the bits lost below 0 db were wasted anyway.

So if you use a 24-bit DAC, those bits doesn't matter...

<comment><USER22> For digital signals, 0 dB usually means full power. That scale is typically denoted dB FS ("full scale"). Other scales are dB SPL ( "sound pressure level"), which is what you where probably referring to.

So in other words, you are probably saying that reducing the signal loudness is reducing your signal-to-noise ratio and thus your audible dynamic range. However, your noise floor is probably far higher than 0 dB, more like 20-30 dB SPL (if you're lucky!). A normally-loud (that is, non-damaging) music playback will probably be at about 50-80 dB, so your usable dynamic range will be about 30-60 dB, which translates to about ten bits. Most environments will be worse.

0 dB are actually pretty hard to come by. Even well-insulated acoustical measurement chambers only go to about 10 dB. Only several meter of acoustic foam and a solid foundation and a purpose built air conditioning can go down to 0 dB. So, umm, 0 dB is usually a rather useless figure for non-scientific purposes.

</comment></comment></comment></comment><comment><USER23> I'm surprised no one has discussed battery life yet.

One of my 'weird unverified theories of life' is that turning the volume on portable device down (laptop/phone/mp3 player) and the volume on the speakers up saves the battery of the device itself. (For example when you're in a car.)

<comment><USER24> A small amount, perhaps. In all likelihood your probably better off setting the volume on the device somewhere in the middle, but this will vary based on device. Two major things come into play:

1) The input impedance of powered speakers or any external processing stage will be high. ~5-10k ohms, compared to 80-500 ohms for an average set of headphones. This means regardless of the level you use on the player the current draw will be substantially lower than it would be if driving headphones. This means the level doesn't matter nearly as much.

2) The efficiency curve of the output amplifier. Depending on the topology of the output amplifier of the device it may be more or less efficient at different power levels. If the output driver is a class AB topology it actually gets more efficient as it nears its rated output (generally the relationship is logarithmic). As a result you can actually be 'better' overall on power to using a higher power level at some points in the curve. You use more power to drive the output but you also increase efficiency reducing your overall power usage. Class AB is pretty in-efficient anyway as your only going to see 30-50% peak efficiency. With a class D output which is becoming more popular you can see upwards of 90% but your efficiency vs output power curve is generally sharper, you get much closer to peak efficiency much faster (depending on the exact design of course, most portable devices will be filter-less class D topologies).

</comment></comment><comment><USER25> If you're on a mac, you can obviate a lot of bit depth issues by opening /Applications/Utilities/Audio MIDI Setup.app. From there you can see all your audio input and output devices, and set their frequency and bit-rates. Most default to 44kHz/16-bit, but a saner setting is 44kHz/24-bit.

You can see the objective differences between 16-bit and 24-bit output in NwAvGuy's measurements of the 2011 MacBook Air's DAC: [http://nwavguy.blogspot.com/2011/12/apple-macbook- air-5g.htm...](http://nwavguy.blogspot.com/2011/12/apple-macbook-air-5g.html)

<comment><USER26> I may be wrong but as far as I know setting the output to 24 bit only makes sense if your music actually is in 24 Bit. Whatever you set in the Audio/Midi configuration is used as system-wide default output signal - including iTunes and so on. Of course you want to avoid any further conversion in your signal chain, which is why it is recommended to match the output configuration in Audio/Midi settings with the bit depth and sample rate of your music library, which most likely will be 44,1 KHz/16 Bit - unless, of course, you got your hands on higher quality masters.

Considering your advice of setting the output to 24 Bit while your audio collection is (most likely) encoded in 16 Bit, should trigger a conversion while outputting the audio signal - this conversion is useless, of course, as you can't turn this material into something it isn't (imagine upscaling 720p video to 1080p, new packaging, same old content/quality). Yet, and correct me if I'm wrong, the conversion still happens and alters the signal.

So, to avoid this match those audio/midi settings with your music library. There are also expensive iTunes alternatives that deal with this problem by adjusting the output settings to the currently playing audio file on the fly - in case your library consists of mixed bit depth/sample rates. I don't use those solutions though.

<comment><USER27> Upscaling from 720p to 1080p will not lose any information if it's done properly. Similarly, upscaling from 16-bit to 24-bit will not either, and running the audio output at 24-bit has the advantage that quantization noise from volume scaling is a non issue. This means software volume controls will not result in perceptual quality loss.

</comment></comment></comment><comment><USER28> This seems like it should be a simple straightforward issue, but I still have problems with ocassionally getting clipped audio (or some kind of distortion, I'm no audio expert) on Windows 7 with Realtek's "HD Audio" chipset/driver.

As far as I can tell, I rarely if ever have this problem with the same hardware in Linux with PulseAudio (though I can intentionally cause it using alsamixer by pushing "Master" to 100%) and didn't have this problem in the past on Windows with Creative Labs soundblaster cards.

<comment><USER29> PulseAudio does nice things: it looks at the requested volume level for each input and output, and arranges the actual controls on each intermediate stage to keep the values as high as possible without clipping, while also making use of knowledge of each mixer's stepping values to give you finer control than your hardware would give you by default :). It does rely on your sound hardware correctly reporting its actual amplification characteristics, but it seems that most hardware is pretty good nowadays, or at least consistent enough to get worked around.

</comment></comment><comment><USER30> While we're at it - please use a logarithmic scale for your volume slider if you're implementing one.

</comment><comment><USER31> This gets even more different when devices contain a digitally controlled potentiometer between the DAC and the amp. I believe Macs do this, with the main system volume control actually stepping down the voltage of the signal being fed to the amp. Since this is an analog control one doesn't lose bit depth when turning down the volume and thus this is a fine system to use.

Not all machines work this way, though. One way to check is to hook up an external amp and headphones, turn the computer's volume way down and the amp up to listen levels. If the quality is crap the it's probably just decreasing the bit depth. Or you can do a teardown on the sound pathway.

(Oh, if it isn't clear by this point, keep all your apps turned all the way up for best quality. Only turn them down on an individual, as-needed basis. All- software stuff has to decrease bit depth to decrease volume on a per-app basis.)

</comment><comment><USER32> More of this on the frontpage please.

</comment><comment><USER33> Other posts here are making the point that the range in digital controls often includes some dB gain by the time you get to MAX. That digital boost can be very useful when using a laptop with barely audible speakers. I like how VLC makes it explicit with a volume control that goes up to 200%. It would be nice if OS level volume knobs worked the same way so you could always chose your level of distortion vs gain.

</comment><comment><USER34> In the software. Noise early in the signal chain counts for more than noise later. If you can get noise-free gain by changing a scalar value in a register, it'd be a mistake to turn it down in favor of increasing the gain in an analog stage later on.

For the case where an analog potentiometer immediately follows the DAC, of course, there's no practical difference.

</comment><comment><USER35> Which reminds me, why isn't having a single volume control a solved problem?

<comment><USER36> Because you can have more than one application with sound output. I like listening to music while I play games; I set the music to 80%, and I set the game to 15-20% volume. This cannot be implemented in one single volume control.

<comment><USER37> It would be nice if all your running apps volumns could be controlled from a single place though, rather than having to hunt around for menus in each app.

<comment><USER38> There does happen to be at least one operating system that supports this: Windows. ^___^

<comment><USER39> Yep, since at least Vista, I think. The UI guidelines recommend against in-app volume controls for everything except media players:

[http://msdn.microsoft.com/en- us/library/windows/desktop/aa51...](http://msdn.microsoft.com/en- us/library/windows/desktop/aa511278.aspx#mixing)

<comment><USER36> This doesn't work well with games. Yes, you could change the volume settings from there, but most 3D games are full screen and it's not usual to alt-tab the game just to modify the volume settings.

</comment></comment></comment></comment></comment></comment><comment><USER40> Stupid idiot answers all.

Volume should always be controlled as close to the source as possible. Anything else is simply inefficient and a waste of processing power.

There is no reduction of bit depth. total hoo-eee.

</comment><comment><USER41> I tried increase volume via VLC and macbook pro speakers got fried, will stick with using external speakers and changing volumes on them

<comment><USER42> That's because VLC lets you adjust the volume above 100%. Generally not a good idea. If you avoid that, you should be fine.

Also worth noting, if you attenuate the signal (in software) from the computer you generally won't attenuate the noise, meaning that at the same perceived loudness from your speakers the sound will include a lot more noise. On my 2007 MacBook Pro this is very audible.

</comment></comment><comment><USER43> I once thought about a naive streaming audio compression: If the client volume is 50% or less, send only the relevant bits.

</comment><comment><USER44> +1 to the best answer-- always turn up your iPod before your speakers, folks. It makes all the difference.

</comment><comment><USER45> if you have some cheap speakers, set hardware volume somewhere over 50% and then never touch it. Use the software volume. That's because the hardware volume button will almost certainly break (mine were Logitech).

</comment><comment><USER46> Isn't this one of those 'it depends' questions?</comment>


Developing iOS apps with Swift - <AUTHOR> http://www.slideshare.net/newgenapps/developing-ios-apps-with-swift

<comment><USER2> Who is your target audience for this presentation? It doesn't do enough to say 'why' someone should adopt Swift (and use your services), be them a developer or business owner.

Also, be careful - the first two slides might give the impression that in order to use the new features in iOS 8.0, one must adopt Swift (which isn't true). "Mapping Obj-C to Swift" contains some inaccuracies that may be clear when you give the presentation but written down don't make sense (e.g. "-" becoming "func").

</comment><comment><USER3> "#define changes to let"

God, no. You shouldn't declare your constants with #define...</comment>


Many California State Entities' Information Assets Vulnerable to Attack - <AUTHOR> http://www.auditor.ca.gov/reports/responses/2015-611/2 <comment><USER2> "at its current pace it would take the technology department roughly 20 years to audit all reporting entities."

Also, interesting data presented here: [http://www.auditor.ca.gov/reports/2015-611/auditresults.html](http://www.auditor.ca.gov/reports/2015-611/auditresults.html)</comment>


Ask HN - Ever feel useless? How to get over it? - <AUTHOR>

If the topic is irrelevant, then feel free to downvote, I'll delete it.
I've been feeling pretty useless, for a few months now.  I have a job that I like and good in, I help my company make money, I don't leach from society etc etc.  But deep down, I know I am probably not adding much value to the society (except helping some corp make money, which I'm not sure is anything to be proud of).   There is absolutely no meaning in the work I do, and office gossip just depresses me a bit too much.  I can't leave that easily (visa status, family situation etc etc).  I'm ashamed to say that thoughts of suicide have crossed my head a few times.  I do some volunteering work, give money to charity etc, but all of those seem to be very small, insignificant, just 'feel good' stuff.
Anyone in similar situations got over it?  Any advice? <comment><USER2> Nobody's useless. It's easy to get wrapped up in the impression that we are defined by our jobs (especially around this site), but we aren't. I have had some unrewarding jobs myself, with little big-picture purpose and no easy way out, but the solution is to find (and make) value in other activities. Cultivate a hobby or an art or a programming side project that is important to you. Even the small "feel good" activities you mention are not insignificant if they impact someone else - and if you choose activities that are more interesting to you I suspect you will find them to be more satisfying.

</comment><comment><USER3> What do you do?

Sometimes I get bummed out over work. As others suggested, if you don't love what you do, don't let that define you. You have a family, and hobbies outside of work. Think of your work as paying the bills for these.

Additionally, potentially look for a new job that is more interesting. No downside in looking/ applying right?

</comment><comment><USER4> I suggest reading Victor Frankl's Man's Search for Meaning. Sounds like you just need to reframe your current life in a way that gives you meaning.

<comment><USER4> your projects look interesting, thanks for sharing</comment></comment>


Loon kills bald eagle by stabbing it in the heart - <AUTHOR> https://www.bbc.com/news/world-us-canada-52779727 <comment><USER2> Dang needs to kill this before the Canadian nationalists arrive to laugh at us Americans... /s

<comment><AUTHOR> I removed the clickbait in the title on purpose!

> Canada v US: Loon stabs eagle through heart

Admittedly it was decently done, but I felt it violates the clickbait rules.

</comment></comment><comment><USER3> Holy shit I thought that was a whole different sort of "loon" when reading the title

<comment><AUTHOR> Aww, that was an unfortunate side effect of me removing their clickbait "Canada v USA" that it had...

</comment></comment><comment><USER4> "Who would think a loon would stand a chance against such a powerful predator?" she wrote."

I dunno... Ask Steve Irwin about stingrays if you see him in the afterlife.

Sometimes, feces occurs.

</comment><comment><USER5> And thus, natural selection marches on: the next bald eagle will likely not be so weak to loons!</comment>