Diversity at Amazon - <AUTHOR> http://www.amazon.com/diversity <comment><USER2> I find it fascinating that this new wave of post-modernist "equalism" demands segmenting and dissecting every group into ever smaller minorities. Black, Asian, Latino, Gay Asian, Lesbian Latino, Hetero Black Woman, etc.

Ignoring for a minute that post-modernism is an absurd philosophy based on the denial of empirical science, how is this in any way productive? Would it not make more sense to focus on an employee's skills and experience, rather than their genetic and ethnic backgrounds?

It is increasingly obvious due to the irrationality of these initiatives that this is indeed a form of political posturing, and nothing more.

Ironically, a community of entrepreneurs such as HN would pay the highest price for ignoring empirical evidence in favor of political posturing. Small companies can't trade political posturing for special treatment by the government. That practice is firmly reserved for established monopolies such as Amazon.

<comment><USER3> Ignoring for a minute that you're the one that inexplicably brought post- modernism into the discussion (and even more inexplicably tie it to anti- empiricism)...

What empirically shows diversity is bad? Empirically speaking, certain groups are underrepresented in hard science. Empirically speaking, intelligence differences between those groups is somewhere between highly disputed and nonexistent. Therefore, a well-managed company would seek to exploit that arbitrage opportunity.

edit: Empirically, good working environments improve business results. Most decent people see the benefit in a diverse workforce in furthering that goal. And it would be beneficial if it just weeded out the types of personalities that are strongly averse to diversity.

<comment><USER2> _Empirically speaking, certain groups are underrepresented in hard science._

And this is wrong, why? Post-modernism is at the heart of the entire "equalist" movement precisely because it ignores the scientific process of modernism.

It begins with an a-priori assumption: racial and sexual representation in all disciplines must be in proportion to the population. If the representations are even slightly off, there is discrimination, racism and sexism. Proponents of this line of thought then look for statistics and conjure up conspiracy theories to explain these deviations from their own asserted optimum.

This line of thought is absurd to anyone with basic training in scientific reasoning. Unfortunately, scientific literacy is a rarity in the modern world which was built by it.

<comment><USER4> > This line of thought is absurd to anyone with basic training in scientific > reasoning.

Not at all. You're only giving part of the story ...

racial/sexual imbalances -> racism -> laws -> money transfers into specific (small) ethnic groups. (and lots of things that come down to money transfers)

So how exactly is this line of thinking absurd ? It provides a clear advantage to minorities to fight for these kinds of "absurdities".

</comment></comment></comment></comment><comment><USER5> ([http://gasstationwithoutpumps.files.wordpress.com/2014/06/pe...](http://gasstationwithoutpumps.files.wordpress.com/2014/06/percent- bachelors-degrees-women-usa.png?w=873&h=907)) Shows that < 20% of CS & Engineering Degrees go to females in the US

Google employs 30% females ([http://www.google.com/diversity/at- google.html](http://www.google.com/diversity/at-google.html)) Facebook employs 31% ([http://newsroom.fb.com/news/2014/06/building-a-more- diverse-...](http://newsroom.fb.com/news/2014/06/building-a-more-diverse- facebook/)) Amazon employs 37% ([http://www.amazon.com/b/ref=tb_surl_diversity/?node=10080092...](http://www.amazon.com/b/ref=tb_surl_diversity/?node=10080092011)) LinkedIn employs 39% ([http://blog.linkedin.com/2014/06/12/linkedins- workforce-dive...](http://blog.linkedin.com/2014/06/12/linkedins-workforce- diversity/))

Obviously these companies need to hire employees to do non-engineering tasks and in an effort to seem "diverse" They likely hire only females for these jobs. It would make sense that the company had 20%/80% doing actual engineering work as there is no reason females cannot do just as good a job with the same experience. That means that half the females hired at these companies are doing non-engineering work which pays lower. This would account for the pay gap. When people ask for further diversity at these companies and equal pay what they are asking is to give an unfair advantage to the less qualified.

I am aware this is an unpopular opinion but I felt I needed to post it as I saw someone else posted it and then took it down after being harassed.

<comment><USER6> Please do some research. What you're missing is that the pay gap is measured between people in similar jobs.

<comment><USER7> I recently did some research on exactly this topic.

What I discovered is that the pay gap for people doing the same/similar job with the same level of experience and working the same hours is fairly small if it exists at all. Different studies measure it as between 0 and 7 percent "unexplained" pay gap (ie, not a result of degree, experience, hours worked, or other legitimate differences.) And it's not like these were all right-wing studies; some were coming from left-wing women's labor organizations and still saying they couldn't detect a wage gap after controlling for the relevant factors.

The one "counterexample" someone tried to post for me was about freshly hired women in medicine, who make less than freshly hired men in virtually every medical specialty -- but the study they cherry-picked data from actually discussed how the pay gap between men and women in the same specialty had widened recently, specifically because women were negotiating more non-salary perks (like family-friendly hours) in exchange for lower salary.

The actual amount of proveable wage discrimination in the US is very small -- I was looking at labor department statistics, and the total for discrimination settlements was measured in millions (in an economy measured in trillions). This included both out of court settlements and court-mandated settlements.

I don't deny that some wage discrimination exists. But the data suggests it's not nearly as widespread or systematic as commonly believed. (And IMO it's self-evident that it's not -- because if it was, the economic opportunity for companies paying women fairly would be staggering. They could get the cream of the crop of women for average male salaries.)

</comment></comment></comment><comment><USER8> I am being completely serious with this question - how is caring about "race diversity" not racist? It always strikes me as such - if you care about race diversity that means you perceive race as having a meaning, while in reality it doesn't have any. Am I the only person with such an opinion?

<comment><USER9> Let's try this from another angle:

1) Do you believe racism exists?

2) Do you believe we should do anything about it?

3) What would you do about it? _(Hint: "Nothing", is the wrong answer)_

<comment><USER10> I don't think counting how many of each they have in each bucket is the right answer, regardless.

<comment><USER7> counting buckets is a _potentially useful metric_ , not a solution. If your counts are very far away from the expected distribution (based on your area's demographics, the demographics of people with relevant degrees, etc.) then it suggests further research.

</comment></comment></comment></comment><comment><USER11> This has less information than the numbers Google, Facebook, and LinkedIn released. There manager vs non manager breakdowns but what about tech vs not tech? I'm fairly disappointed to see so little information from Amazon.

[http://www.google.com/diversity/at- google.html](http://www.google.com/diversity/at-google.html)

[http://newsroom.fb.com/news/2014/06/building-a-more- diverse-...](http://newsroom.fb.com/news/2014/06/building-a-more-diverse- facebook/)

[http://blog.linkedin.com/2014/06/12/linkedins-workforce- dive...](http://blog.linkedin.com/2014/06/12/linkedins-workforce-diversity/)

<comment><USER12> Good call, but the Amazon post wasn't meant to be "informative." It was meant to give you a warm, fuzzy feeling.

</comment></comment><comment><USER13> Note: The two donut charts for "Race and Ethnicity" are visually misleading. The color assigned to each race or ethnicity is not consistent between the two charts, so a visual comparison of the two is much less useful. ("White" is represented by blue on both charts, but green is "Black" on the overall chart and "Asian" on the Managers chart.)

<comment><AUTHOR> You're right that they're not consistent between the two charts. That can be misleading.

They are ordered by percentage descending, so you can quickly understand which is the 2nd most populous, 3rd most populous, etc. The ethnicity name is right by the percentage so you can quickly grok it, even though the colors don't match across pie charts.

<comment><USER14> You can still sort the pie charts by percentage and keep the same colors. This would aid in understanding the differences between the US and Amazon workforces which I believe is the point of using the two pie charts.

</comment></comment></comment><comment><USER15> I wonder if these numbers are actually just their full time employees or if they're including their migrant workers that they employee part time at fulfillment centers.

Harper's ran a great article on Amazon's elderly migrant workforce back in August (paywalled): [http://harpers.org/archive/2014/08/the-end-of- retirement/](http://harpers.org/archive/2014/08/the-end-of-retirement/)

<comment><USER16> Amazon does not actually own any warehouses, and it also likely doesn't employ any migrant workers. That is all contracted out. (Provides, among other things, plausible deniability and a liability shield for abuse claims/lawsuits by non-technical workers.)

<comment><USER17> Some of the contractors they work with like ABM violate labor laws like the FLSA for overtime pay, making janitors work off the clock.

<comment><USER18> Could you get more information on this?

<comment><USER17> [http://www.nbclosangeles.com/news/local/ABM-Security- Service...](http://www.nbclosangeles.com/news/local/ABM-Security-Services- Lawsuit-Guards-Break-Periods-161994885.html)

[http://www.kirotv.com/news/news/global-cleaning-company- inve...](http://www.kirotv.com/news/news/global-cleaning-company-investigated- improperly-pa/nftnH/)

[http://dockets.justia.com/docket/texas/txndce/3:2014cv03215/...](http://dockets.justia.com/docket/texas/txndce/3:2014cv03215/251267)

</comment></comment></comment></comment></comment><comment><USER19> "Look at us, we're not racist, watch while we single out and show off our ethnic people" scoff/sigh.

<comment><USER20> You have to wonder what their diversity looks like when you factor in salary. HQ versus Fulfillment centers.

</comment></comment><comment><USER21> Diversity at Amazon would mean having more than one brand of warehouse robot.

</comment><comment><USER22> Amazon posts a very positive and promising story on diversity, HN finds a way to post negative comments about Amazon.

Makes ya think.

<comment><USER23> Hackernews used to be full of people when shown something new would say, "yes AND!". Now it's full of people who shout, "no BUT!"

I came from /. to k5 to hn. Anybody ready for the next iteration yet? I am.

<comment><USER24> You might be looking for [https://lobste.rs/](https://lobste.rs/)

<comment><USER25> Yeah, I'd be interested in an invite if at all possible. I'll be the first to admit, though, that I tend to lurk and read more than actively comment.

<comment><USER24> No problem, just give me an email and I'll add you

<comment><USER26> I'd be interested as well. can you get one for me as well?

<comment><USER24> Not a problem. Just let me know what email you want it to

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> It's unfortunate they don't include any total numbers, just percentages, on the donut charts.

</comment><comment><USER12> "We're Amazon. Our global workforce is incredibly diverse, but the working conditions and real take home pay for our rank-and-file fulfillment workers are uniformly miserable."[1]

[1] Type "amazon workplace conditions" in any search engine.

</comment><comment><USER28> It must be really frugal diversity;-)</comment>


Bored in Barcelona - <AUTHOR>

I'm currently working remotely for a company based out of the U.S. but I'm bored!! Anyone in Barcelona? Is there a startup scene? I just moved into the city about a week ago. <comment><USER2> Howdy, welcome! sure thing there is. Get in touch: @andreehuk</comment>


Want a Steady Income? There's an App for That - <AUTHOR> http://www.nytimes.com/2015/05/03/magazine/want-a-steady-income-theres-an-app-for-that.html?emc=edit_tnt_20150429&nlid=66702700&tntemail0=y&_r=0 <comment><USER2> > _Thinking about money gives her a jolt, "like you're about to get into a car > accident," she later told me. There's the $3,700 for massage-school tuition > that she still owes on her credit card; the $60 a month for drugs for her > anxiety and bipolar disorder, which she might skimp on again_

Sentences like that make me sad about the reality of life for tens of millions of working Americans.

I just visited Australia after 9 years in North America, and it's like a slap in the face to realize there are no desperate people there. Almost everybody has enough money for basic essentials, and nobody is crushed with student debt or the fear of not being able to pay medical bills.

It really does feel like another planet when people earning "minimum wage" are doing just fine, are extremely happy, and likely less stressed than the career workers in North America, simply because they earn "enough to live comfortably"

<comment><USER3> The most horrifying thing is that not only do minimum wage jobs in the US barely get you above poverty, but that many people struggle even to get one of these jobs.

I'm willing to wager that many readers here have never looked for a minimum wage job. If you haven't, you may not realize how much competition there can be. It's really shocking. This is especially true in smaller towns, where there are very few jobs that _aren 't_ minimum wage. I remember, years ago when I was in high school, my dad was a local business owner in a small town and was connected with all the other business owners. On several occasions, a friend or family member needed a minimum wage job and literally couldn't get one due to scarcity; my dad had to approach the owners of other businesses and put in direct recommendations so someone could get on at, say, a Dairy Queen or a car wash.

<comment><USER4> If the job market is really that, a market, then it should not come as a surprise. It's the imbalance between the number the people seeking a kind of job and the number of jobs available that drives the salaries all the way down to minimum wage. Hence the lowest paying of all jobs are the most fiercely fought for.

Now of course there is another side to this equation: the remuneration is capped by the (perceived) value derived from the work done.

<comment><USER5> > Hence the lowest paying of all jobs are the most fiercely fought for.

That does not sound like a healthy economy to me.

Minimum wage is for employees with minimal skills. Almost always that should mean entry level positions. You don't want to run a business where the bulk of your workforce is barely qualified. You want a balance between the noobs, the competent young ones, and the old dogs who know all the ropes.

So even if for a position that has an "imbalance between the number of job seekers and the available positions", I would expect the average employee to make somewhere between 2x and 4x the minimum wage. Otherwise, what you are telling me is that an average high school kid can do the job equally well as a person with 10+ years of experience.

<comment><USER4> I am merely describing how I think the economy is running. Not how it should be running. In fact I agree with you that it is not healthy at all.

Japan used to run the other way around, where the salary was solely a function of age (or rather, how long a worker had been working in a company, but that was essentially the same). I don't think it makes for a healthy economy either. But I'm also not entirely convinced it's that much worse than the "free market" you have in the US.

I don't have any form of competence in terms of economy, but sometimes it feels like the economy we are living in right now is optimizing for the wrong things. It is becoming more and more efficient, more and more optimized, but not at all for the common good. Maybe for quarterly results?

</comment></comment></comment></comment></comment><comment><USER6> Something that surprised me when I first started hiring employees was how hard it was for people to manage their cash flow, especially at the more limited levels.

We started with a once-a-month paycheck, which my co-founder and I were used to and saved some payroll fees.

This subsequently blew up in our face within a few months as people would spend heavy @ the front end of the month, wouldn't save for things like car repairs / gas / etc, and were out at the end of the month funding living with CCs.

So I applaud this effort for a start-up - I'm excited to see where they take it.

<comment><USER7> Monthly payroll is illegal in California, for this reason.

Credit cards half one-month grace period, so living on credit cards wouldn't actually be a problem though. Spending more than income would be a problem.

<comment><USER8> Every one of the 200,000 public employees working for the State of California gets paid once a month, on the 1st.

</comment></comment></comment><comment><USER9> My understanding of this is you set up a monthly allowance with them and they save your surplus for the months where you don't make as much.

This doesn't seem like solving a problem, rather they are creating an illusion of solving a problem. Essentially they are parenting. Which some people might need. But what a better solution might be is to teach people to create a savings account and budget themselves. And not surprisingly there are plenty of apps that do just that.

<comment><USER10> They also will provide interest free loans if the user hasn't yet built up enough savings. So, in that sense, it is also a bit of an insurance program.

<comment><USER11> Yeah, it seems strikingly similar to payday-advance lines of credit, except with lower interest rates (I assume).

<comment><USER12> The loans are interest free, but given that they have an undisclosed mechanism of calculating your allowance ("Even Salary"), it should be fairly trivial for them to assure that they are almost never going to be using anything other than the customers own deferred income to pay it.

</comment></comment></comment></comment><comment><USER13> > _Even's purpose is hardly to change the distribution of wealth in society. > It is simply to redistribute one person's own limited wealth across time. > People in Silicon Valley may believe there's an app for everything. That's > their hammer. But improving the lot of the poor will require other tools, > including an old one the valley often wants to wish away: politics._

Sorry, did you read _your own article_? The whole idea is that by lightening the load of uncertainty, SOME people will be able to pull themselves out of poverty with nearly zero net spending increase. Are we to fault Even for not trying to solve EVERYONE'S problem so neatly?

</comment><comment><USER14> > Employers increasingly use cutting-edge scheduling tools like Kronos to > calculate the profit-maximizing head count for every hour and adjust > schedules accordingly, week to week or even day to day, sometimes with > scarcely any notice.

Reminds me of this short story: [http://marshallbrain.com/manna1.htm](http://marshallbrain.com/manna1.htm)

<comment><USER15> I find the idea that Kronos is 'cutting-edge' pretty amusing. Last time I had to interact with it, it was still an in-browser java applet with a user experience about on par with sticking your hand in a blender.

<comment><USER16> Yeah, their JIT stuff is like 30 years old at this point...

</comment></comment></comment><comment><USER17> From their FAQ:

Is Even a lender? No, Even is not a lender and Even does not provide loans.

yet the Article claims that: "....On bad weeks, when users fall short, they still get their salary, thanks to past surpluses or to interest-free credit from Even."

Interest-free Credit == Loan right? What am I missing

<comment><USER18> There's a legal difference between "loan", the legal transaction, and "loan", the economic transaction.

My sister had an internship once at a South American company that bought receivables. In that country (probably Brazil), loans were illegal. A receivable is a promise of payment in the future according to some schedule. So this company would buy receivables at less than full value from companies (or individuals, I guess) who wanted the money immediately. Obviously, that's a loan (technically, it also assigns responsibility for collecting payment to the owner of the receivable). But despite being like a loan in all other ways, it has the key difference of not being illegal.

I suspect something similar is going on here.

<comment><USER19> What your sister did is called factoring: [http://en.wikipedia.org/wiki/Factoring_(finance)](http://en.wikipedia.org/wiki/Factoring_\(finance\))

It is a thing in the US as well. Retailers and construction companies do it. I was looking into it for apps e.g. advance money against IAPs or ad revenue. It doesn't look like there is demand for it.

<comment><USER18> Here are some relevant selections from wikipedia:

> Factoring is not the same as invoice discounting

> Factoring is the _sale_ of receivables, whereas invoice discounting is a > _borrowing_ that involves the use of the accounts receivable assets as > collateral for the loan

> However, in some other markets, such as the UK, invoice discounting is > considered to be a form of factoring

> Invoice Discounting is sometimes referred to as Discreet Factoring as it is > essentially the same product as Factoring

(That last quote is from the page on invoice discounting)

None of that indicates to me that there's any difference at all, other than (possibly, but not necessarily) the name, between selling your accounts or borrowing against them. They're both loans, identically structured. There's no demand for this euphemistic product in new US markets because we already have finance.

Oh, another quote from the factoring page:

> in other industries, however, such as textiles or apparel, for example, > financially sound companies factor their accounts simply because this is the > historic method of financing

<comment><USER20> > None of that indicates to me that there's any difference at all

Really? There's a big difference in terms of structuring, risk, ownership etc.

When you sell the receivables, your risk is gone. Whether your customer ends up paying or not is no longer your concern. Whether he pays two months late, is no longer your concern. Whether his company goes bankrupt, or he flees the country, is not a concern. You got paid, your financial relationship with your customer just ended. You have no obligations or responsibilities. You need not sue him, chase him, you need not collect payment.

That's NOT a loan. You just sold your receivable to a collecting company. In reality, you didn't borrow money, you SOLD a loan that in essence your customer had with you, but now has with someone else.

When you borrow money, you simply borrowed money. It changed NOTHING about the fact that you still haven't gotten paid. You're still at risk of a customer not paying, you still need to chase him, maybe even sue him. You still haven't actually earned any money. All you did was increase your risk by borrowing money that you have to pay back even if you don't end up getting paid in the end.

The former is a sale of your risk, the latter is a loan. They're not the same and not at all identically structured. In fact in one way they're completely opposite.

What is preferable depends. The former carries less risk, but the discount is higher than the interest you tend to pay. For example to sell a 30-day receivable might cost you 3%, which is a lot of money compared to the <1% you pay to borrow money for 30 days, especially with some collateral (which reduces your interest rates as the risk with collateral is lower, but doesn't absolve you from your debt if the collateral ends up being worthless!).

So these are two different products with different cost/benefit rates, one offloads a lot of risk and alleviates cash flow issues at a high price, the other doesn't really reduce risk but alleviates cash flow problems at a relatively low price.

</comment></comment></comment></comment></comment><comment><USER21> This seems like just as bad as payday loans to me.

In 2013, there were 45.3 million people in the US under the poverty line. [1]

The article cited a figure of $3.4B / yr for payments to the payday loan sharks.

This startup charges $3 / week and only services cash flow positive customers. A little math presuming we cover the poor as a group with this 'service':

In [1]: 4530000 _3_ 52 Out[1]: 706680000

That's $706 million / year, or about a fifth of the total amount the sharks charge.

But we shouldn't stop there. The sharks are still necessary, since this company is only covering the predictable expenses, not the extraordinary but common visits to the emergency room, or to get a car fixed, or any number of less predictable expenses.

We still need the loan shark. And this guy is taking 20%.

[1] [http://www.census.gov/library/publications/2014/demo/p60-249...](http://www.census.gov/library/publications/2014/demo/p60-249.html)

</comment><comment><USER22> I like how someone struggling to make it on an unpredictable $700-90 a week turns into an advertisement for an app.

<comment><USER7> It's actually the reverse. [http://paulgraham.com/submarine.html](http://paulgraham.com/submarine.html)

</comment></comment><comment><USER23> > Jacobs, in her habitual bright pink lipstick and matching headband, was > explaining all this via Skype, from her "little box of a house" in Simi > Valley, to Jane Leibrock, 33, who had the more muted look of the fortunate > and was sitting in the Oakland headquarters of Even, the start-up where she > works. Leibrock — an alumna of Yale; a onetime Beijing resident and Mandarin > speaker; a street-fashion blogger; a tweeter of first-world problems ("My > personal hell would be having my earbuds pulled out over and over throughout > eternity") — used to study the user experience of privacy settings for > Facebook. Now she is a researcher for Even, which proposes, for a fee, to > help solve the problem of income volatility.

I'm off topic, but am I the only one to find NY times articles to be abusively long? is it a trend in this type of US publications?

While I find the topic interesting and I would like to know more, the article is just too long, repetitive and boring.

<comment><USER24> "Abusively long?" You should try the _New Yorker_! No, seriously, you should; it would give you a chance to appreciate long-form journalism.</comment></comment>


Corporate Subservience to China Exposes the Hypocrisy of Woke Capitalism - <AUTHOR> https://quillette.com/2019/10/15/corporate-subservience-to-china-exposes-the-hypocrisy-of-woke-capitalism/ <comment><USER2> A lot of "woke" is BS just like most political posturing. The good parts can be boiled down to "be wary of stereotypes because aggregate statistics don't work like that and our brains are biased" and "don't be an asshole."

Corporate subservience to China just shows that corporations (shock!) care about money and (shock of all shocks!) tend to lose all spine when big money is at stake. China is both a critical supplier and a huge market.

BTW a lot of "woke capitalism" is about money too. It's about not offending potential partners and customers, making people feel good, and in the case of social media keeping platforms clear of too much offensive material to make them appealing to a wide audience.

<comment><USER3> I don't think you're wrong, but isn't there a little bit more to this? I mean, Quillette is the Arch-nemesis of "Woke". Quillette gloating about moral failures of a movement that open espouses morality over money is different, than if, say, Jacobin gloated about it.

<comment><USER2> Yes I'm well aware of that. If woke is nice feel good bullshit then the opposite of woke is mean edgelord bullshit, so I'll take woke over "based" or whatever the hell it's called this week. Sometimes you have to pick the lesser evil. I just wish sane discourse would come back and this trollish social media and 4chan/8chan induced psychosis would end.</comment></comment></comment>


Show-HN: json-streamer - <AUTHOR> https://github.com/kashifrazzaqui/json-streamer

<comment><AUTHOR> Useful for reading streaming/partial json or for json objects larger than can be held in memory.

A wrapper around yajl</comment>


Ask HN: Paypal's 2FA verification accepts a COMPLETELY NEW # for "verification"? - <AUTHOR> I just had to go through a 2FA for Paypal (since I'm using a VPN), and the only 2FA mechanism it gave me was via SMS... to an analog landline.  Geniuses.
So, I add an alternate mobile number I had handy... and it happily accepted it and used it as "verification".
Am I overthinking this?  How is it a "verification" if I can feed it any unrelated number with no history with my account and it will accept that as "verification"? <comment><USER2> But you were logged in, right? I mean, that's still not the best security but this message sort of implied you weren't logged in.</comment>


The Tao of Programming - <AUTHOR> http://www.textfiles.com/100/taoprogram.pro <comment><USER2> What a classic!

Edit: It is a bit weird that this is the top story right now. Must be a slow day.

<comment><USER3> I saw it earlier on reddit, and when I noticed it on hn, I was about to flag it for being yet another trash story copied from reddit, but then I saw that it already got 15 votes. I must be too young for this, but I did't find it funny, insightful or engaging, thus I did't feel any inclination to read more than a couple pages.

<comment><USER4> "I did't find it funny, insightful or engaging"

The wise programmer is told about Tao and follows it. The average programmer is told about Tao and searches for it. The foolish programmer is told about Tao and laughs at it.

<comment><USER5> Which makes you sound like the average pseudo-science practitioner. They also keep telling others they "just don't get it", but perhaps someday, they will, of only the would 'embrace the teaching'. We scoff at that, but when someone uses the same approach with programming, while adding some Eastern sugar, we suddenly think it should be clear it's enlightening? Bollocks.

<comment><USER6> If you think the purpose of this is to be "enlightening", I suspect you may have missed the point. It's funny, in much the same way as the Principia Discordia is funny, and that's about it. It does rather a good job at it, too, imho.

<comment><USER4> I think your message enlightened this apprentice.

</comment></comment></comment></comment></comment></comment><comment><USER7> In many places, it beautifully treads the thin line between humour and wisdom -

      Grand Master Turing once dreamed that he was a machine.
      When he awoke, he exclaimed:

          "I don't know whether I am Turing dreaming that I am a machine,
           or a machine dreaming that I am Turing!."

:D :D :D

</comment><comment><USER8> I like this text a lot. There is this serene peace you get when you know your code works no matter what.

The first thing that came to mind after reading the text was Joel's article: [http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...](http://www.joelonsoftware.com/articles/LeakyAbstractions.html)

quote: "Today, to work on CityDesk, I need to know Visual Basic, COM, ATL, C++, InnoSetup, Internet Explorer internals, regular expressions, DOM, HTML, CSS, and XML. All high level tools compared to the old K&R stuff, but I still have to know the K&R stuff or I'm toast."

</comment><comment><USER9> The first time I read it was a few years ago, and it was in Russian. Brings back some memories, like when I was so crazy about programming that I learned basics of assembler using only the debug utility on windows without any books. Those were great days!

<comment><USER4> You missed the best part. Get yourself an Apple II, a C64 or an 8-bit Atari.

But get the real thing. Getting an emulator is not nearly as fun.

</comment></comment><comment><USER10> An oldie but a goodie

</comment><comment><USER11> I bought this at Book Buyers in Mountain View a few weeks ago. Its entertaining. They had a few copies, if anyone wants one.

</comment><comment><USER12> I found this book in bargain bin years ago. I guess it must merit reading.

</comment><comment><USER13> The TL;DR; of programming.</comment>


Fast Software, the Best Software - <AUTHOR> https://craigmod.com/essays/fast_software/ <comment><USER3> Author's point about Google Maps being bloated and slow is 100% true. I use that app every day and I just recalled today when I first started using Google Maps in 2009 on my good old Nokia E63 phone it was fast and so great and then since last few years the app's design keep changing (at least on Android) and it is hard to keep up with these design changes and worst of all...every design change makes the app even slower. :(

<comment><USER4> In the past 18 months I've noticed Google Maps' navigation prompts being announced just _slightly_ too late for comfort; e.g. I'm often nearly into an intersection at 30-40 mph when my phone tells me to turn onto the cross street. In that same 18 month timeframe I've moved to a new city so I'm acutely aware of this lag.

I chalk this up to Google Maps' overall bloat and sluggishness on my 2-year- old phone.

<comment><USER5> Would you happen to be playing audio through Bluetooth? My car has a delay for non-call Bluetooth audio which causes that delay for me and gets really annoying. I will often take the phone off car Bluetooth just for that reason.

<comment><USER6> On my phone it doesn't even get the audio prompts out when I'm playing music from the phone through bluetooth.

The music just cuts out for a few seconds, but there's no navigation audio.

I've turned off navigation prompts for that reason, and just check the "next turn" thing at the top every now and then.

<comment><USER7> What's even more bizarre is that for me, when using bluetooth audio I get part of the prompts, but other parts are missing. I I remember correctly, it leaves out important words like "left" amd "right". It works fine as soon as I turn off bluetooth.

<comment><USER8> I get the prompt starting, then the volume on the music is lowered.

</comment></comment></comment></comment></comment></comment><comment><USER9> One benefit of performing at the speed of the human hand not explicitly discussed here is the ability for users to _compose_ their own features (and to love doing so!).

If I need to wait even a second for a page or app to respond per click, I am a lot less likely to _invent_ in your app. I won't stretch the boundaries, I won't do things that take more than 4 or 5 clicks. The app will _fit_ me less.

I will call up and ask for a feature that is a 6-7 click combination, if I am paying.

And if you build that feature, now you will likely have a slower product overall.

And also a slower product development org. Because more features mean more product managers. And more product managers mean more coordination meetings. And more coordination meetings mean... well you get the picture.

Love this post!

<comment><USER10> The creativity with which I see people "compose" Excel actions together 100% supports your theory.

<comment><USER11> I sometimes watch analysts at my firm use excel. It's pure magic in the right hands, absolutely sublime.

<comment><USER12> In the words of one of my coworkers: Excel is the most abused tool known to man.

</comment></comment></comment></comment><comment><USER13> Gmail is now _crazy_ slow for me. Used to be nice and snappy, I dread even clicking a button in there now. I even pay for it with GSuite.

> I sigh — actually sigh — whenever I have to open Photoshop

Yep, quad-core laptop with fast SSD and I dread opening it. I remember being an early adopter with an SSD and I just used to open PS to see how fast it opened. They took that feeling away.

<comment><USER14> Use the "basic HTML" version and make it your default view. On mobile it's even worth putting up with its more desktopy appearance to avoid the bloated crap that is modern Gmail.

The site takes so f*$%ing long to load you should have no problem clicking the "Slow? Try the Basic HTML version" link, maybe with 2-3 tries to figure out where it is (it's a small link). Then you should see an option to set it as your default.

Bonus: you can actually leave it open in a tab without eating three figure MB of memory and sometimes slowing down your machine doing god-knows-what in the background. Only downside is no notifications for new mail, but 1) that assumes you consider that a downside, and 2) that's what actual, native email clients are for.

<comment><USER15> Here's a direct link to go to the basic HTML version: [http://mail.google.com/mail/h/](http://mail.google.com/mail/h/)

<comment><USER16> And the mobile-web version is even better imho : [https://mail.google.com/mail/mu/mp/](https://mail.google.com/mail/mu/mp/)

</comment></comment></comment></comment><comment><USER17> I've been taking this philosophy to heart the past few years. Working in the corporate world, I find users acceptance level to be in the tens of seconds/minutes/HOURS?! for queries and reports.

Projects I've worked on have focused on being as minimal and lightning fast as I can possibly make them. If I add a new feature/query, and it's not instant, I don't ship it until it is.

I don't know where or when this became norm, but often times the difference between hours and near instant, is a matter of a simple query optimization. Waiting more than a few seconds for something to run is infuriating to me.

<comment><USER18> The other side of the coin:

* Why waste development time on something that is only executed once a month, or once a quarter, or even once a year? If you don't need to iterate on the reports, waiting a while for something that is almost never done is fine

* Often simply adding a new index can reduce a query from hours to seconds. But why bloat your DB with an index and potentially reduce insert performance for something that's almost never needed?

<comment><USER19> > But why bloat your DB with an index and potentially reduce insert > performance for something that's almost never needed?

Oh, for crying out loud: will you _please_ stop trotting out this tired nonsense.

This _may_ have been a problem _sometimes_ in the 80s and 90s. With any good modern RDBMS, say SQL Server 2017 (but you can pretty much pick any you like the look of[1]), and a half-competent developer and/or DBA, insert performance is almost never a problem when adding an index.

You generally need some extra storage space for the index, but so what?

I have seen, with surprising regularity over the years, tables with no indexes at all where adding a single clustered index (which is the table itself) can massively improve performance. In this scenario no additional storage is required.

 _[1] I pick SQL Server because I know Microsoft started seriously addressing insert performance, which had been a problem with SQL Server 6.5 and 7, in SQL Server 2000. Nowadays, if you 're half-competent, there really is no issue worth talking about. If you're not it is, of course, still possible to do crazy things that don't perform well. All truly powerful programming languages, database systems, et al., will cheerfully hand you the rope you need to hang yourself._

<comment><USER20> Claiming they have no impact besides storage is also being disingenuous. The more indexes you have, the more noticeably slow inserts have become on some of the tables I've worked with. Of course, this was an inherent issue with the table design (massive table with lots of columns and a lot of indexes) but sometimes you can only work with the legacy system you have.

In an ideal world with a sanely (not over the top or inadequately) normalised database I'd agree with you. But in my experience there have been times where adding an index for a rarely run query was absolutely the wrong decision.

<comment><USER19> And that's fine, but you obviously did some investigation: what irks me is people trotting out this line about insert performance with no investigation.

Of course, if you over-index a table, there can be some impact but in the general case that I've seen over the years that's seldom the problem.

<comment><USER20> Oh okay, I can agree with you there. But I think as a general rule, if something is done less than once a day and it's already a heavily indexed table you can probably skip the index unless it's a massive or potentially massive table. In that case it may be worth exploring alternatives.

</comment></comment></comment></comment></comment></comment><comment><USER21> Unfortunately, people have contempt for programming in native APIs like _gasp_ Win32. I doubt universities are even producing people capable of programming proficiently in anything except Java and Javascript - which would explain why the desktop has turned into a hellscape of Electron "apps"...

[https://medium.com/commitlog/electron-is- cancer-b066108e6c32](https://medium.com/commitlog/electron-is- cancer-b066108e6c32)

<comment><USER22> There certainly are universities out there with proper CS courses teaching way more than Java and JS so your point is a bit moot. But that doesn't take away that I also have the impression that universities alone do not produce people capable of programming proficiently in anything at all especially not when it comes to programming complete programs of anything more than very small scale. They simply can't because that takes experience in writing actual software. Whether people get that before they even were in uni of after doesn't really matter it seems.

All anecdotal, but I've seen a bit too much people with CS degrees who were clever enough, had all the knowledge, could produce smart algorithms and everything you want. But the code would just work and that's that. Like: build process only works on their machine, git history like written by a child or non-existent, code impossible to integrate in other projects, trainwreck-like, violating anything you can think of and so on. Is that bad? Well, yeah, but it's also pretty normal and it's not always problematic: teach them some more in an actual team and the really good ones will be better than you in no time.

<comment><USER23> University is not coding school, either. Students have to learn about a large set of topics and precludes large projects for the most part. Some universities counter that by adding mandatory labs that have students work in teams over longer time scales. But even that is just enough to give them the bare basics of proper work experience. They will have to get that elsewhere.

Also, writing code that barely works and barely gets its job done is a skill ;). Ideally, it means that the person knows how to get something done with minimal effort when that is all that is needed. I noticed that I started to lose that when the projects I worked on became larger and had to meet higher demands. I tend to do stuipd things like one off scripts "properly" when simple hacks would get me there faster.

</comment></comment></comment><comment><USER24> I loved using Winamp over say Windows Media Player in the early days of MP3s.

You could throw hundreds or thousands of tracks into your playlist and could scroll incredibly quickly through them, even on relatively slow PCs of the day. In an age before Spotify where to have vast collections was appealing, all my friends could scan each others' playlists and immediately start playing a song.

The speed of the software really did help discover new music. Scroll, double- click, scroll, double-click, scroll, double-click.

<comment><USER25> Same experience today with foobar2000. Faster than any webapp could ever be. And, by the way, to have a vast collection is still just as appealing.

<comment><USER26> Foobar2000 is the bee's knees

<comment><USER27> It really whips teh llama's ass...

</comment></comment></comment></comment><comment><USER28> This comes up in human factors/UX, and it has some implications in both directions.

The observation is that a series of closely timed delays are experienced as a single, longer delay - or interaction - by the user.

The upshot of this is that a site where all pages are cheap but there are more of them may be more pleasant for the user than a small number of kitchen sink pages (finding stuff with the scroll bar is also slower). However, very very few of my employers have been willing to sign onto this.

Everybody wants their stuff on page 1. Page 2 at the least. Only losers have their information on Page 4. And if your stuff in on page 20... think of the shame. Can you even face your family for the holidays anymore?

What's really fucked up about this is that people consider carousels to equate to being on the front page. There are websites where I could visit literally every single page on the site in less time than it takes for the goddamned carousel to finish doing its thing. The inmates truly are running the asylum right now. Which is why I've done the Homer Simpson in the Hedge maneuver into backend work.

<comment><USER29> Backend is best end.

<comment><USER30> Not for long. The js people have discovered Node.

</comment></comment></comment><comment><USER31> One important reason I value speed in software is that it leaves me less time to get distracted. If I'm expecting something to take a few seconds, often that's enough wait time to prompt me to check my phone or reddit or something. Best case scenario I've just turned a 3 second delay in to a 10 second delay. Worst case and frequent scenario because I'm ADHD as fuck is that I get lost browsing.

An area where I think speed is neglected is when people are thinking about what to build. Something I see mentioned occasionally by people here, on reddit, and by friends: They'd like to work on a side project but don't have any ideas for something useful to build. Just take something thats otherwise already useful but slow and make it not slow! These days you can't swing a dead cat without hitting a web app that doesn't need to be a web app, or desktop app built as a web app. There's no shortage of options.

<comment><USER32> I very much agree with your first part, and slow software make me physically uncomfortable sometimes. But I think you overestimate your last point. Can you name examples of software that could (partly) be recreated faster as a side project?

<comment><USER33> Not an OP, but two things have recently come to me: 1\. Calendar view with hours/minutes on macOS. You have current date on top, or Calendar app. I want to have shortcut to access this app/view, without leaving full screen mode. 2\. Scratchpad on status bar for macOS. Evernote has it, but I don't use this app anymore. Just simple scratchpad, same as calendar view, accessible via shortcut, without leaving fullscreen. I often build an app in Xcode and want to note sth to myself, but making comments on Xcode would mess up building process. And I don't want to leave fullscreen mode to go to Notes app - slow, distracting and I have to create new note in correct folder.

</comment></comment></comment><comment><USER34> Speed is important. But what can be more important for the end user is the _perception_ of speed.

A decade or so ago I was looking into reporting tools. Crystal Reports was getting expensive and I was looking for an alt. Some of them were faster at generating a several hundred page report but CR did something the rest didn't do. Instead of making me wait for the entire report to generate (several minutes) it would allow me to view the pages _as they were generated_. This meant I could read the first few pages while the rest were still in process. This made CR _feel_ many times faster than the others.

<comment><USER35> I think the important part is _responsiveness_.

I once made an app with an export feature. It was pretty slow (I benchmarked it against other tools and my tool was an order of magnitude slower)

But it was extremely responsive. The status bar updated frequently and was accurate, and a cancel button responded immediately.

People in reviews wrote that my app has great performance! Nobody complained that an export would take a minute! I did not expect that.

But then I realized that perception of speed / responsiveness is more important than actual speed. My app reacted instantly to user input, and never lagged, even while processing an export. I even wasted a lot of CPU cycles updating the UI to show status. But the result was an app that felt fast, and people really liked it.

</comment></comment><comment><USER36> > A typewriter is an excellent tool because, even though it's slow in a > relative sense, every aspect of the machine itself operates as quickly as > the user can move.

For some reason, coffee machines with a built-in reservoir for coffee beans annoy me a lot more than the ones with a filter. For one with a filter, I know I have to put some coffee in it and fill the reservoir. I can determine the strength of the brew by this as well. The ones with built-in reservoirs should be able to give you a cup of coffee, but it is incredibly annoying when you have to suddenly refill the reservoir.

While the total work you do is less, the machine is unpredictable. It feels like the machine now controls you, instead of the other way around.

</comment><comment><USER37> So true. It is infuriating to know how much faster have become the last 20 years and to see how software manages to feel as slow as 20 years ago.

<comment><USER38> I remember Windows 95 on my Pentium 4 being lightning fast. Like, I've barely finished clicking the icon and the program is already up and running.

With Windows 10 and my i7, I usually expect a loading screen or two before I can use what I just clicked on (esp. Microsoft Office).

<comment><USER39> It might be nostalgia but ...

I believe the peak of user experience was Windows 98 sp2 when USB actually worked.

I miss how you could hear the computer loading stuff when the HD made the arm moving sound. When it took time to open "My computer" you could hear the floppy drive looking for a floppy and the delay was fine becouse the reason was obvoius.

I also miss the snappiness of Win32 GUIs just starting up in a heartbeat. No animations to hide bloat. If it crasched there was a blue screen and pushing the power button actually shuts down the PC power instantly.

Oh, and spamming ctrl-alt-delete resets the computer.

</comment></comment></comment><comment><USER40> Code bloat is such a strange phenomenon, the way it almost inevitably grows over time. I've recently been noticing this with the Android emulator.

I created two emulator instances, API levels 21 and 28 (Android 5 and 9 respectively), identical emulated hardware. The API 21 VM is _much_ faster than the 28 VM. It's perfectly usable on my Mac where the newer OS is unbearably sluggish.

Why is that? With every Android release, there's a song and dance about the work being done to reduce yank ("Project Butter" etc), so why does it keep getting slower?

Google have lots of amazing engineers, the world's best datacenters and a vast pile of cash, so if they can't win the fight against bloat, what chance do the rest of us have?

<comment><USER41> I may be wrong on this, as I've only worked on one software team, not at Google, but at least on my team I notice the intense pressure to deliver new features, as well as new product managers who are evaluated on their ability to work with developers to ship fast, results in performance becoming a second class citizen without a very senior very technical owner who ruthlessly shuts down features and projects to protect these properties.

In short, I feel it's more an org problem.

<comment><USER40> I basically agree, but at the same time, companies compete hard over speed and benchmarks, so it's not like performance isn't on their radar at all. And yet the bloat problem exists. Maybe they're focusing too hard on low-level benchmarks (JS execution, 60 FPS rendering, etc) and ignoring overall app performance.

</comment></comment></comment><comment><USER42> 6 years ago I joined a Swiss company that was running its entire operations on a custom built solution on top of Lotus Notes.Boy did we hate it...Every time you try open something you get this progress icon that used to take anywhere from a few seconds to half a minute. I must give credit to the designers in terms of functionality-it did all we needed(I did borrow some design solutions for my next job), but the lack of speed!!!! I even made an analysis on lost productivity and produced to my manager...Then Americans bought the company and eventually ditched that crap all together:)

<comment><USER43> The pain with lotus notes is real. I had to work with it for 3+ years and was blown away that someone was able to make an email client that took literal minutes to perform any given task. I always think of it whenever I see any IBM announcement for new tech.

<comment><USER42> The real takeaway is that despite of all its sluggishness,IBM probalby made billions out of it...This serves as a brilliant example to a lot of technical people out here that things they deem important may not be the same as what the end client thinks they are. Apart from this,my first and hopefully the last experience of lotus notus could be easily expanded into a pretty long article about desing, software vendors and product development...It used to take about a year to add a button on the page layout...

</comment></comment></comment><comment><USER13> Users (desperately): "We need fast and correct software!"

Most companies: "Here, have this shitty UI redesign that makes our product worse and 50x slower!"

</comment><comment><USER44> This article really speaks to me. It's well written, and written like a rock collector talking about each one of his rocks in his rock collection, only the rocks are apps of different speeds.

There was a related thing that I heard from a previous CTO that changed my outlook on how to write web apps: "Users shouldn't be able to tell that they're using a web application. A web application should feel native. That is, it should load instantly."

</comment><comment><USER45> > That said, Sublime Text has — in my experience — only gotten faster. I love > software that does this: Software that unbloats over time. This should be > the goal of all software. The longer it's around, the more elegant it should > become. Smooth over like a river stone.

This ^ time's a million

</comment><comment><USER46> Should there be a leaderboard for interaction speed? This might encourage employees to petition for speedups internally.

"We're on track to be the slowest productivity app on iOS! Let's prioritize those responsiveness fixes!", etc.

</comment><comment><USER47> I do not understand apps that add animations that can't be fully turned off like os x and others. The designers of such apps are clearly delusional in thinking that I want my user experience slowed down the millions of times I'm going to use a feature like changing spaces in os x. That's not an exaggeration. Same thing with unskippable cut scenes in video games. Or anything like that that's not essential and is going to either be happening thousands or millions of times or takes longer and a split second. These designers, as most designers, are designing for eye candy, not usability. They should be fired for such stupid and human unfriendly decisions. That's how bad such UX is. Especially Apple's which makes their spaces completely unusable.

</comment><comment><USER48> The worst thing about _developing_ slow software is that it has a broken feedback loop. I suppose that affects other qualities than speed, too.

<comment><USER49> This is pretty much the one thing keeping me from writing some long diatribe about how performance doesn't matter for a large amount of software.

I've got a tool that analyzes ...lots... of data, and takes about 2 hours to run. This delay completely does not matter at all, when it's working. But man it's brutal when I have to debug some problem.

</comment></comment><comment><USER50> This is why I hate Python. The default for Python is slowness and an incompatibility with the multicore world we live in. What does it sacrifice these two first class citizens for? Shaving a few seconds off of writing types, which has also been proven to be fundamentally incompatible with team written software. Now we all get to write slow cli tools and write type annotations anyway.

I would love to see people put efficiency at the top of every requirement list. With languages like Rust you don't even have to sacrifice productivity or safety to get it.

<comment><USER51> Python is pretty speedy for its intended use case of flexible scripting, though certainly can bog down in large projects or lots of for loops.

Python puts programmer read/write efficiency at the top of the list.

<comment><USER11> Then why isn't there a function to flatten a list in Python?

I'm not sure what Python's priorities are, besides majorly sucking.

I can write software in Scala or OCaml or Racket in less than half the time of Python, while also being 10x faster.

Python needs to die. It's the most worthless language I've ever been forced to use.

<comment><USER52> > Then why isn't there a function to flatten a list in Python?

There's a function to flatten an arbitrary iterable into a flattened iterable and a function to turn any iterable into a list.

> I can write software in Scala or OCaml or Racket in less than half the time > of Python, while also being 10x faster.

Many people, on many types of problems, find the reverse of the first relationship.

<comment><USER11> What tangible advantages does Python have compared to Racket? The only thing I can think of are the high quality data science libraries.

</comment></comment></comment></comment></comment><comment><USER36> A lot of people are unaware of how insanely fast computers are. If you can do a computational task in a year, a computer should be able to do it _well_ within a second.

At a previous employer, we had a test that took about 45 minutes, which most people just accepted as a fact of life. Unfortunately, we had to use this test a lot. After I optimized it (in my own time, because the team lead didn't think it had priority), it took 5 freaking seconds. Probably still far from optimal, but way more manageable.

</comment><comment><USER53> Does anyone know of any other lists of fast software?

<comment><USER54> The list at suckless.org is generally OK. Not all the software on that list is fast, but are generally of focused quality

<comment><USER55> The irony seems to be suckless.org itself seems to suck. I couldn't find the list of software. Can't be bothered reading walls of text that seem to tell you nothing useful

<comment><USER56> Not sure how it looks on mobile, but the list is right across the top, with sublists under core and tools.

<comment><USER55> yeah, I worked it out in the end, but the Ux design is so bad there is no way I'm taking their recommendations for software seriously. Given the upvotes my original comment is getting, seems others are having the same issue.

<comment><USER56> Sorry for trying to be helpful.

</comment></comment></comment></comment></comment></comment><comment><USER57> I find it helpful in terms of UI to bin things into fast and slow. I do this across the board, so in development, somethings will just be slow and trying to optimize seconds away is pointless. I also do this in the UI so that long running operations indicate that they will take a long time and there is usually a visual queue feature so users can see what operations are running, how long they have taken so far and expected completion time. An example is raster operations on large raster datasets. They just take a long time on standard business laptop hardware that my users typically have. Image saturation analysis or reprojecting lidar data with standard algorithms can be an hours long process if the dataset is a few GB.

But the process of queuing that operation up should be lightning fast and the context menu to cancel a running operation or check it's status should be equally so.

</comment><comment><USER58> When it comes to write software when you can write something "faster" in the same time that you can write something slow you should always write it the "faster" way. It's Obvious but... not really.

For example when it comes to web development, today most of the people still choose solutions that by default always do diffing of the whole (virtual) DOM to decide what to change in the DOM and server side build ton of object to render HTML and destroy them after the rendering for each request (ex: React). You can argue that the React ecosystem will save you time in writing code because you can find a lot of good reusable components. Yes, but as you code grow, moving to a different framework (ex: Svelte), when and if necessary, is going to be a pretty large job.

You need to pick the right metric. The main one I alway look at is the ROI. Usually I take "user satisfaction and delight" as the "Return" and the time I need to develop the feature in that way as "Investment". The second parameter is usually the risk involved.

If writing it "faster" take 10% more time and is safe may still be worth to go the "faster" way. But when writing something "faster" start taking 200% and more risk is added, you want to be very careful. Is it really worth spending so much time on it?

Fast enough is fast enough.

You do not have to make everything the fastest you can. If a page takes 10 secs to load, what is the advantage for the user if you make it 10x faster? It is a huge win.

What if it loads in 1sec and you make it load in 100ms? Still a win.

But now what if the page takes 100ms to load and you make it 10x faster? Not a lot of people will notice the difference.

And if you have a page that loads in 10ms and you can make 10x faster nobody will even notice it.

So if you like to optimize, go look for places where "10x faster" actually matter.

It is more complicated in practice but keeping these principles in mind will save you a lot of time to work on what really need to be done.

<comment><USER59> > You do not have to make everything the fastest you can. If a page takes 10 > secs to load, what is the advantage for the user if you make it 10x faster?

The point is not to make it 10x or 100x or 1000x faster, it's to make it so that it is never slower than a monitor frame (e.g. less than 7-8 ms nowadays)

</comment></comment><comment><USER60> I haven't used Mac OS for a while

> macOS dialogs for closing an unsaved file have shifted from "Don't Save, > Cancel, Save" to "Delete, Cancel, Save."

Does that mean if I write some essay, save it, then make some changes and close the application, it will ask this? This would imply like it would delete the whole file from disk instead of just discarding the changes I made since saving. I really hope I am wrong here and there is a different dialog for this case, otherwise this is just very horrible.

<comment><USER61> The "Delete, Cancel, Save" is when you close a _new_ document without having saved it. In your scenario, it's basically saving as it goes. The document will just close, without a dialog, but your changes will be saved.

macOS is trying to do away with the concept of "unsaved changes" altogether.

<comment><USER60> Thanks, that makes sense then for that dialog. Doesn't seem as bad as the author makes it out to be. But in general, I'm not really a fan of this implicit saving stuff, but maybe I'm just getting old and unable to adapt. :)

<comment><USER40> As a long-time Mac user (long enough to remember OpenDoc!) I massively dislike it. It's becoming difficult to open a document without accidentally making some trivial change, which is then auto-saved. If the doc happens to be in Dropbox, you see the change notification and wonder, _what did I do?? I just wanted to look at it!_

</comment></comment></comment></comment><comment><USER36> One of the reasons I always get annoyed when I work in windows: Programs take forever, I need the mouse for everything, and god, the installation times.

I recently started working at a company where we use Linux workstations. I work on a machine where I don't have sudo rights. Yesterday I asked a co- worker if he could install a package for me. From the time of me asking and the time that the package was installed on _all the workstations_ , there was about 10 seconds. Nice.

</comment><comment><USER62> Great post. On the topic, the Bloomberg terminal is a dinosaur and is slow to start from what I remember but email and most of the features are pretty much instant in their response. There is plenty of resistance from customers to newer features which tend to be more 'modern' looking and feature-full but have noticeable latency. To give an example, there is a feature to price mortgage backed bonds, the 15 year old (maybe older?) version loads instantly, takes command line arguments, on the other hand the new version takes maybe a few seconds to load and matches 98% of the old functionality plus 30-50% of new capabilities. The new one is basically universally hated.

</comment><comment><USER63> One app that I've always found refreshingly fast - Trello.

Sure, it has way less features than other products, but I wouldn't be surprised if Jira's inherent slowness is what turns off a lot of people.

<comment><USER64> I'm so irritated by Jira's slowness that I'm actively evaluating alternatives. The leading contender is something I'd never heard of before - Clubhouse.io. It's missing a few things, but it's fast and slick and the difference is compelling enough to make me think the limitations are worth it for the speed boost. I'd love to hear others' experiences if anyone's used it extensively?

<comment><USER65> I totally agree with this, Clubhouse is slick and fast. I enjoy using it everyday :)

</comment></comment></comment><comment><USER66> I used notational velocity for many years. It was great because of its brutal focus on note taking / finding and it _was fast_ indeed. 10/10 this message needs to be spread!

</comment><comment><USER67> Performance matters! It is important to find the source of the slowness - <USER2> example I discovered some CSS animations are useless and very slow. Vuetify material button felt very slow on touch until I removed that useless material ink spreading effect, which IIRC even had to modify DOM after touching it to work. I still believe JS apps can work fast, if only developers cared more about speed than all those useless animations and transitions...

</comment><comment><USER68> Could someone please recommend a fast video editor?

I have been on the lookout for one for quite some time now. I'm looking for something a little more user-friendly than say FFmpeg, but all the very feature-light and also feature-rich alternatives seem incredibly clunky and slow, even on my fast machine.

Thus far I've tried Shotcut, Premiere and Sony Vegas. I would be very grateful for any suggestions!

<comment><USER69> Have you tried Blender for video editing?

</comment></comment><comment><USER70> Nobody likes slow software, and we know that it's bad, but we keep writing it. How can this possibly be turned around?

<comment><USER14> Not sure how to fix business, but for B2C getting rid of the ability to monetize user data would help. Right now businesses go: well we're gonna have to vacuum up all their data anyway, and our price is free, so who gives a shit if we write it in slow and bloated HTML+CSS+JS? All that matters is that we're on every platform _yesterday_ and sucking up that sweet sweet personal information.

</comment></comment><comment><USER71> I once worked with an ortho imagery rectification program that was so wonderfully designed I described the hours long task of rectification as a "ballet for my hands"

There's something just so wonderful about elegant, fast interfaces.

</comment><comment><USER72> > Close to the metal craft.

Loved this phrase.

</comment><comment><USER73> Any Windows recommendations for something with the speed and elegance of nvALT?

<comment><USER51> There's a less beautiful Python/Tk remake called nvpy

</comment></comment><comment><USER74> Speed is important for me too. BUT only for the software that I use daily. I could find faster alternatives for some software that I use. But what's the point when I rarely use them.

<comment><USER75> If you daily use software that you use rarely, there may be a point.

<comment><USER74> I am sorry but I don't understand you. There are two categories of software I use. One that I use daily and the other I rarely use. Speed is only important for me in the first category. I hope that clears things up.

<comment><USER75> The point is that rare software may get used every day ... just not the same particular piece of rare software.

Or put another way:

"Scientists have calculated that the chances of something so patently absurd actually existing are millions to one. But magicians have calculated that million-to-one chances crop up nine times out of ten." ― Terry Pratchett, Mort

</comment></comment></comment></comment><comment><USER76> A non sarcastic tl;dr: it's not that fast software is better, but rather that slow software feels worse. I don't know that anybody could disagree with the sentiment of how using something _feels_ : everybody likes things to be snappy and responsive, like the app is getting out of the way and letting you get on with your work.

</comment><comment> awinter-py speed matters [http://jsomers.net/blog/speed- matters](http://jsomers.net/blog/speed-matters)

</comment><comment><USER77> Not all optimization is premature.

</comment><comment><USER78> Have to do a crazy zoom in to see the street names...

</comment><comment><USER79> The real reason in vast majority of cases, why most of our software seems slow is not because someone used Javascript instead of Win32 C or something else programming language related. The real driver of slowness are the network requests for everything.

You could build your software in assembly but if each action has to hit a rest endpoint, the network request will utterly dwarf anything else happening locally.

So as more and more software moves to browser as web-apps this slowness is unavoidable.

Consider how more quicker and responsive Thunderbird feels to using gmail, a web-app.

<comment><USER80> Well, let's take one of the problem apps; Slack. It is slow because it eats a lot of memory and makes my computer slow. You are right that networking makes apps slow, but not to the point they feel slow now. If I have a background thread getting Slack messages and nothing came in, why is the entire thing slow as molasses? I know most apps/applications simply do 1-1 page to web api req and if the web api req is slow they give up (usually with some stupid message that they cannot connect / reconnect) but why would that be slow; you can do that blistering fast with win32. And yet my Slack is usually stuck and sluggish?

There is a lot of laziness going on: not such an easy relationship between slow web and frontend as you describe. Most apps can work fine with stale data for most uses; they just do not because then the developer has to think about it and that costs money/time and takes talent.

<comment><USER81> Slack is a great example. My first thought was Jira. It's a great software for functionality, but it's so unbelievably slow that I tend not to use it at all. We have a quite powerful server for Jira and just five users. It should work out fine, but I encountered waiting times of a minute to just load the start screen. It feels like running all the time and as soon as you need to do something in Jira you're trapped in quicksand.

<comment><USER80> Jira, also Youtrack... Why are these systems so slow :( They had almost two decades to optimize.</comment></comment></comment></comment>


Araucaria obituary - <AUTHOR> http://www.theguardian.com/crosswords/2013/nov/26/araucaria-john-graham

<comment><USER2> I will miss his puzzles enormously. One of my life goals was to get drawn as one of the winners of one of his Saturday puzzles. Despite submitting a few hundred completed puzzles over the years, I was never drawn out of the hat (perhaps there's a moral here about making your goals dependent on random events over which you have no control). There were clearly lots of other people who also enjoyed completing his puzzles.

</comment><comment><USER3> I remember spending many enjoyable Saturday mornings attempting the Guardian crossword - more often than not set by Araucaria.

These things have an interesting way of marking the passage of our lives.

<comment><USER4> I could never quite get my head around his clue style. I'd usually manage cryptics from the other setters, but seeing his name I'd get a sinking feeling that I'm not going to get far.

And then... I found myself skipping the puzzles set by others, but tackling the ones from Araucaria. As Camus put it, "The struggle itself toward the heights is enough to fill a man's heart."

<comment><USER2> The different styles of the setters is one of the nice things about the cryptics. I could usually complete an Araucaria puzzle (admittedly after more time that I'm prepared to admit here :-) but show me a puzzle by Puck and I'll probably just sit there staring blankly at it. Different setters suit different people.

Apart from Rufus, everyone should be able to solve a Rufus puzzle ...

</comment></comment></comment><comment><USER5> I managed about half of his final puzzle, from November 16th. Even solved the "nil by mouth" one without making the connection. Now I am sad.

</comment><comment><USER6> Another fan here. How gratifying and unexpected to find such a niche story on the HN front page, won't last.

<comment><AUTHOR> I should think there's quite a lot of overlap between British hackers and Araucaria fans. Certainly among my acquaintances there is.

Less so in other places, no doubt.

<comment><USER7> [shamefaced] I almost completed Tuesday's quick crossword.</comment></comment></comment>


Founders: Know When To Hold 'Em - <AUTHOR> http://ycuniverse.com/founders-know-when-to-hold-em

<comment><USER2> nice article. Thanks for sharing</comment>