AWS Tagging Best Practices: Using Terraform and CloudFormation to Enforce Tags - <AUTHOR> https://cloudforecast.io/blog/aws-tagging-best-practices-guide-part-2/ <comment><USER2> I really dislike that the solutions for AWS tag shortcomings is custom code.

I'm a big AWS fan and heavy user for 5 years now, but it seems silly to me that you need to write a custom wrapper (e.g. force the creation through a managed script/template like Terraform/Ansible/CF)... Or write reactionary cloud trail policies to handle a situation where someone launches an EC2 instance without providing a specific tag.

The fact IAM policies still can't deny requests missing a tag, or deny requests by tag-value condition seems silly to me... Or one step further: allowing some auto-populated tags like what principle was responsible for making the instance in the first place.

<comment><USER3> > The fact IAM policies still can't deny requests missing a tag, or deny > requests by tag-value condition seems silly to me...

Can't it, though?

      "Condition": {
        "StringEquals": {
          "aws:RequestTag/key1": "value1",
          "aws:RequestTag/key2": "value2"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "key1",
            "key2"
          ]
        }
      }

<comment><USER4> The problem is that all IAM conditionals just give a generic "Denied" statement which is hard to debug. You at left figuring out if you are missing a uppercase character in your tag key. AWS IAM is currently not meant to be used in a devops/enforcement of best practices way. They have AWS config for that, but that's always after the fact while immediate feedback is what you need to function at scale.

A possible fix is to allow custom deny reasons but large changes like this to any already extremely large and entangled system like IAM is unlikely.

<comment><USER5> > "A possible fix is to allow custom deny reasons but large changes like this > to any already extremely large and entangled system like IAM is unlikely."

This would allow an attack to enumerate permissions by seeing what's denied.

Generic statements aren't a bug, they're a feature.

<comment><USER6> Yes, but what they're talking about isn't a security denial but a configuration check. Can you imagine if the only output to a git commit pre- hook was "no" and you were left to figure out why?

<comment><USER5> > "Yes, but what they're talking about isn't a security denial but a > configuration check."

Configuration is a part of security though.

Let's say AWS credentials are leaked. One of the most common uses for leaked credentials is to launch EC2 instance for crypto mining. A malicious actor tries to launch RunInstances on $20k worth of instances and gets denied because there isn't a tag on the instances. Would you want the error to say 'Access denied because you didn't don't have the following tag...'?

<comment><USER6> Yes, because lacking a tag isn't a security boundary. The account has permission to launch EC2 instances and knowing that instances need to have tags isn't a password designed to keep malicious actors out, it's a safeguard.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Something that's pretty nice in AWS CDK is that tagging is recursive - so if you add a tag to eg. a top-level ECS service object then the tags are applied to all of its children automatically. [https://docs.aws.amazon.com/cdk/latest/guide/tagging.html](https://docs.aws.amazon.com/cdk/latest/guide/tagging.html)

<comment><USER8> There's a long-running Terraform issue for the equivalent if you want to chime in:

[https://github.com/terraform-providers/terraform-provider- aw...](https://github.com/terraform-providers/terraform-provider- aws/issues/7926)

</comment></comment><comment><USER9> This is one of the bread butter use cases on the opensource cloud custodian project (auto tagging, tag enforcement workflows, retro-active tagging from cloudtrail, etc). [https://cloudcustodian.io](https://cloudcustodian.io) (now a cncf sandbox project).

<comment><AUTHOR> 100% agree. We're big fans of CloudCustodian and use it ourselves. However, it can be tough for some org to get approval with using open source tools.

</comment></comment><comment><USER10> Tags are not supported for some VPC components (on creation). In that sense, Azure Resource Group and Google Projects is way better for organising and project based permissions.

Source: [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Ta...](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag- ec2-resources-table)

<comment><USER8> Can you provide a more detailed comparison? I've run into a variety of GCP services which can't be labeled so I'm curious that this would be described as "way better".

<comment><USER10> Let's say I want to create an IAM to allow creation for a specific project (Full deploy), I can't enforce it on VPC.

</comment></comment></comment><comment><USER11> We use cloudposse's label terraform module for everything. It works really well and it lets you use common values for everything. Paired with terragrunt it removes most of the pain of tagging for us.

</comment><comment><USER12> Use a tag policy and you can use whatever tool you want</comment>


Braces are the future Hear, hear you Rubyists & Coffeeists - <AUTHOR>

So, apparently, even the most indentation scoped languages are accepting that braces are the real deal and the way to do things right
If you check this SOF answer http://stackoverflow.com/questions/101268/hidden-features-of-python#112303 you may notice the line sayin'
"from __future__ import braces"
Finally, no more lexical nonsense, just pure and clean visual scoping by following the braces! Victory!
:D <comment><USER2> DANG IT! Ya got me all excited... Man, I would really like to see braces implemented properly in python. The lack of braces/indentation method sucks for providing easy visual clues.

</comment><comment><USER3> SyntaxError: not a chance</comment>


The Publicist Who Dreads Getting Caught for Her Illegal Airbnb - <AUTHOR> https://www.thecut.com/2019/03/publicist-illegal-airbnb-pay-the-bills.html <comment><USER2> The problem with Airbnb is that it transfers the cost of the increased traffic to the other residents. Some party asshat barfs in the lobby sofa and everyone in the building has to pay for that.

I applaud their chutzpah, but if I find them operating in my building, they will get tossed out with all the civil penalties we can muster.</comment>


Client-Side JavaScript Audio Waveform Visualizer - <AUTHOR> http://gun.io/blog/client-side-javascript-audio-waveform-visualizer/

<comment><USER2> Is this roughly what Soundcloud is doing, or are they doing it server-side?

<comment><AUTHOR> They do it in Flash - and I think they do the actual computation server-side. There are other javascript version, but they do it server side as well. This is the first client side implementation that I'm aware of.

<comment><USER2> Very cool. I figured they didn't use Flash since it works on my iPad.

Have you used the Echonest stuff at all? Its pretty slick too.

</comment></comment></comment><comment><AUTHOR> This only works in Chrome for now!

</comment><comment><USER3> This is awesome.</comment>


Show HN: A minimalistic cloud provider - <AUTHOR> https://datamantle.com/ <comment><USER8>
      $ whois datamantle.com | grep "Name Server"
         Name Server: NS1.DREAMHOST.COM
         Name Server: NS2.DREAMHOST.COM
         Name Server: NS3.DREAMHOST.COM

Hrm...using dreamhost for their nameservers. Interesting choice.

      $ whois $(dig +short datamantle.com) | grep OrgName
      OrgName:        Google Inc.

Not dogfooding their own service? I think I'll pass.

<comment><USER9> Whats wrong with using Dreamhost for nameservers, does it make any difference at all?

<comment><USER10> Not the op of that comment, but in my experience, DH is something to be avoided :) it's been a few years, but still have unpleasant memories of cryptic errors, stability issues, and a clunky control panel.

<comment><USER11> Also that time they messed up their auto-billing and stole $7 million from their customers.

<comment><USER12> "Stole" is very misleading. Yes, their billing system had a bug and charged a bunch of customers in error. But DH handled it very well, were very transparent about what happened, refunded all the money (of course), and even went so far as to reimburse people that incurred overdraft fees.

<comment><USER11> "Even went so far as to reimburse people"!? They directly caused those people to lose money! _Of course_ they reimbursed them; the alternative would have been to reimburse them after a slam dunk legal case.

Dress it up however you like, they took $7 million that wasn't theirs.

<comment><USER13> And then they gave it back, that doesn't seem that bad. They made a mistake, and they fixed. No one is perfect.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Quick rundown of alternatives and up/downsides (e.g. everybody has Debian so that's not noteworthy) of which I've personally used the first four:

      - <USER2>
        has FreeBSD
        has Fedora
      - <USER3>
        has FreeBSD
        has Fedora
      - <USER4>
        has Fedora
        cheaper than the others
        relatively fast CPUs
          e.g. Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
        UI not as nice as the others'
      - <USER5>
        has OpenBSD
      - <USER6>
        only does daily (rather than hourly) billing

<comment><USER15> Vultr: Lets you upload your own ISO, and run whatever OS you want

</comment></comment><comment><USER16> [http://upcloud.com](http://upcloud.com) simple efficient and cheaper than many. Yet it's quality, so it isn't really cheap like providers like [http://time4vps.eu](http://time4vps.eu)

<comment><USER17> ovh is a cheaper (& better?) alternative : [https://www.ovh.com/us/vps/vps- ssd.xml](https://www.ovh.com/us/vps/vps-ssd.xml)

      OpenStack KVM
      1 vCore
      2.4 GHz
      2 GB RAM
      10 GB SSD
      Local RAID 10
      $3.49/month

<comment><USER18> I'm currently running some OVH boxes and my largest gripe is the low storage space.

That's the only thing that would draw me to another provider

<comment><USER19> Scaleway (scaleway.com) offers similar pricing to OVH but with more storage. They only have a datacenter in France, though, so if you use the OVH data center in Québec it will not be of much use.

I personally haven't tried them, but they are part of Iliad, the large French telecom / Internet business, so I would expect them to be reliable and to stick around.

<comment><USER18> Wow those look like an amazing deal! Storage really is my bottleneck on a couple of projects...

I'm in the UK so France is perfect.

Thanks

<comment><USER17> If feasible development wise, you could also try 'outsourcing' your storage to S3 or something similar.

<comment><USER18> S3 actually works out more expensive for the majority of my use cases

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> "Sign up to view more plans"

Except that after I sign up, I still can't view the plans until I set up my billing details. Meh.

</comment><comment><USER20> This looks interesting, but I'm _very_ hesitant to try a new cloud provider with anything critical. What do people do to gain confidence in a cloud provider, other than wait and see if early adopters report anything breaking?

Also, does this provide access to a management API, to programmatically start, configure, and stop servers?

<comment><USER21> We're working on the API (we use one internally, but we just need more testing / robustness of it before we launch anything)

<comment><USER20> In an ideal world, consider providing a standard API (e.g. OpenStack) rather than a provider-specific one.

</comment></comment></comment><comment><USER21> Thanks everyone for the comments!

If any of you want to try the service for free, use the promo code LAUNCH and it'll add credit to your account.

<comment><USER22> Still need to add credit card details. Can understand why you might want to do that, but it is now a barrier too high for me in order to just try out something which could be interesting.

EDIT: As per the comment below, this does indeed work. I initially tried on my phone and I kept seeing an error to complete the missing fields. On my desktop, it worked. Thanks.

<comment><USER23> You can get the free credit if you just press ENTER after entering the promo code (without needing to enter the credit card details). It's not very intuitive, but it worked for me.

<comment><USER21> I've fixed this by adding a button for replying :)

</comment></comment></comment></comment><comment><USER24> What's the bullshit?

<comment><USER25> I guess the bullshit is "everything that you might ever possibly want that isn't a Linux KVM instance".

</comment></comment><comment><USER26> How is this different from Digital Ocean?

<comment><USER21> We aren't other than our Waterloo, Ontario location.

We're focusing on some new features which are comparable to Digital Ocean.

</comment></comment><comment><USER27> It's a dollar or two cheaper than DigitalOcean, with hybrid drives instead of SSDs. I don't really see any appeal; DigitalOcean already pitched this years ago (and has done very well)

</comment><comment><USER28> Why is minimalism a benefit here?

Other than that it doesn't look too different from DigitalOcean, which comes with great support and the confidence of a lot of people using it.

<comment><USER21> No benefit, we just wanted a straight-to-the-point VPS. An alternative for those whom want a VPS closer-to-home (Waterloo)

<comment><USER29> I really appreciate the lack of BS in this comment. Thank you for refreshing simplicity and transparency.

</comment></comment></comment><comment><USER30> Can I pay with bitcoin? if not then why? I currently use vultr and it spins up/down instances when my program needs it an automatically pay them with bitcoin

<comment><USER21> We're going to integrate this with Stripe _soon_.

<comment><USER31> +1 for Bitcoin

</comment></comment></comment><comment><USER32> I would suggest you display payment methods on the website. If I need to register to see it, I am not going to look at it at all

</comment><comment><USER33> There's an issue using smaller vendors if your app happens to scale. AWS and the like have a modular approach where you can add things that are bottlenecking your scaling. Like additional DB instance, etc. That's a killer feature if you're stuck with unexpected growth

</comment><comment><USER34> Trying to register but keep getting a 502 Bad Gateway error. Is it just me?

Edit: Even the home page throwing up 502 now.

<comment><USER34> Looks like they were rebooting or something. All working fine now, got the $5 credit using the promo code LAUNCH (without cc)... Can't wait to spin up an instance and try things out!!

</comment></comment><comment><USER35> I'm wondering what the policy on hosting seedboxes and torrenting is?

</comment><comment><USER36> Not sure if this is helpful, but here's some output from one of their 4 USD/month servers:

      root@localhost:~# lscpu
      Architecture:          x86_64
      CPU op-mode(s):        32-bit, 64-bit
      Byte Order:            Little Endian
      CPU(s):                1
      On-line CPU(s) list:   0
      Thread(s) per core:    1
      Core(s) per socket:    1
      Socket(s):             1
      NUMA node(s):          1
      Vendor ID:             GenuineIntel
      CPU family:            6
      Model:                 2
      Model name:            QEMU Virtual CPU version 2.1.2
      Stepping:              3
      CPU MHz:               1899.998
      BogoMIPS:              3799.99
      Hypervisor vendor:     KVM
      Virtualization type:   full
      L1d cache:             32K
      L1i cache:             32K
      L2 cache:              4096K
      NUMA node0 CPU(s):     0
      Flags:                 fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good nopl pni cx16 popcnt hypervisor lahf_lm abm

      root@localhost:~# sudo lshw -short
      H/W path      Device      Class      Description
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>
                                system     Bochs
      /0                        bus        Motherboard
      /0/0                      memory     96KiB BIOS
      /0/401                    processor  QEMU Virtual CPU version 2.1.2
      /0/1000                   memory     512MiB System Memory
      /0/1000/0                 memory     512MiB DIMM RAM
      /0/100                    bridge     440FX - 82441FX PMC [Natoma]
      /0/100/1                  bridge     82371SB PIIX3 ISA [Natoma/Triton II]
      /0/100/1.1                storage    82371SB PIIX3 IDE [Natoma/Triton II]
      /0/100/1.2                bus        82371SB PIIX3 USB [Natoma/Triton II]
      /0/100/1.2/1  usb1        bus        UHCI Host Controller
      /0/100/1.3                bridge     82371AB/EB/MB PIIX4 ACPI
      /0/100/2                  display    GD 5446
      /0/100/3      ens3        network    Virtio network device
      /0/100/4                  storage    Virtio block device
      /0/100/5                  generic    Virtio memory balloon
      /0/1          scsi1       storage
      /0/1/0.0.0    /dev/cdrom  disk       DVD reader

The RAM is ECC, according to the "dmidecode -t memory" command.

      root@localhost:~# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
      16384+0 records in
      16384+0 records out
      1073741824 bytes (1.1 GB, 1.0 GiB) copied, 12.5635 s, 85.5 MB/s

</comment><comment><USER37> Just a current curiosity: how did you choose a minimum password length of 8 characters? Was there any insight into the decision or did it 'feel right'?

<comment><USER38> I've seen many articles that suggest a minimum password length of 8 characters. For example, the latest update published on Naked Security - [https://nakedsecurity.sophos.com/2016/08/18/nists-new- passwo...](https://nakedsecurity.sophos.com/2016/08/18/nists-new-password- rules-what-you-need-to-know/)

</comment></comment><comment><USER39> You're only in Waterloo, Ontario, right? Perhaps you should price yourself significantly lower than a provider like Digital Ocean that offers more choice.

</comment><comment><USER40> Will definitely give it a try. Looks really promising, and love the low prices.

PS: Your front page has a tiny bit of horizontal scrolling. Have a look at your CSS.

<comment><USER21> Thanks man! I'll fix that.

</comment></comment><comment><USER41> The website graphics reminds me of Kihi Hosting, which also was from Canada.

Is this company a descendant of Kihi Hosting? I used to like Kihi hosting.

</comment><comment><USER42> How is this differentiated from Digital Ocean?

</comment><comment><USER43> Your twitter / fb link is wrong

</comment><comment><USER44> IPv6? If not, this is a non-starter.

<comment><USER21> Unfortunately the DC we're at has yet to implement IPv6.

</comment></comment><comment><USER26> Can I use it in Europe?

</comment><comment><USER31> Trying it out from Brazil. Any heads up? Doesn't get cheaper than Bluemix/Softlayer (currency difference), but I am willing to try and :-)

You say you are cloud provider... Can I work with containers? Auto scaling?

<comment><USER31> OK: I liked to get up and running in less than 5 minutes.

Feedback/idea: maybe you can improve the flow putting the ssh/key before setting up a server (and maybe even making a before step).

Some twitching when mouse-over the "deploying" status icon after setting up a server. Plus, apparently didn't update the status when it got online, needed to refresh the page.

Problem: Started with Ubuntu 16, successfully ssh'd into it, but couldn't run `apt-get update` and had some script using apt before I even first logged ([http://i.imgur.com/exATwTD.png](http://i.imgur.com/exATwTD.png)), I think it's this same issue: [https://github.com/boxcutter/ubuntu/issues/73](https://github.com/boxcutter/ubuntu/issues/73)

Will post more as it comes or you can reach me on twitter (@aleattorium - <USER7> are open)

<comment><USER31> On the same machine... When deleted got in a weird flow... Was forced to login again and it tried to come back to the machine original URL after it was deleted and gave me a 404.

</comment></comment></comment><comment><USER45> www.arubacloud.com is cheaper as well. I'm using a 1GB RAM Ubuntu for 1 USD/month</comment>


Show HN: Calendar for Visual Cortex - <AUTHOR> https://lightpad.ai?hn <comment><USER2> Interesting. I have spatial sequence synesthesia [0] and number form synesthesia [1] and this feels a little weird to look at. It disagrees with my mental model of dates. But that's just me.

\---

[0] [https://en.wikipedia.org/wiki/Synesthesia#Spatial_sequence_s...](https://en.wikipedia.org/wiki/Synesthesia#Spatial_sequence_synesthesia)

[1] [https://en.wikipedia.org/wiki/Synesthesia#Number_form](https://en.wikipedia.org/wiki/Synesthesia#Number_form)

<comment><AUTHOR> thanks for the perspective! how do you perceive time then?

<comment><USER2> It's very hard to describe as it's a structure that exists in my "mind's eye" and difficult to understand it. In fact, what I am about to write will probably sounds a bit bonkers.

I am able to switch to different views depending on the scale. For instance, when thinking about the week I see one thing than when I think about a period spanning years.

The week-view is very much linear at the start of the week but something weird happens near the weekend - it kind of twists back to the start - I can see the following week when I am thinking about Saturday or Sunday.

The yearly-view does a similar thing around winter and spring. The depiction on your site is actually somewhat representative of the general shape - if you take it and twist it a bit in 3D space you kind of get to what I see.

I realise all of this sounds insane haha. I honestly didn't even know it was a _thing_ until a few years ago when I happened to read about it.

<comment><AUTHOR> Whoa, ok. I'm even a bit jealous!

I know that many people perceive time as a spiral

<comment><USER2> Feature request: synesthesia view ;)

Anyway, cool project, I hope it takes off. My only feedback would be that the minimalist website design makes it a little hard to parse information (especially the pricing screen).

<comment><AUTHOR> haha, yeah thanks for the praise. I'll look into parseability.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> I think linear layout lets you use your excellent visual cortex for planning, freeing up your consciousness to focus on the tasks at hand. It also has notes and tags Brutally honest feedback is welcome. I'm also looking for early adopters. Integration with Google Calendar is on top of my dev stack.</comment>


Payments Startup Melio Raises $144M to Fund Expansion - <AUTHOR> https://www.bloomberg.com/news/articles/2020-09-08/payments-startup-melio-raises-144-million-to-fund-expansion <comment><AUTHOR> Can someone explain the revenue model and the problem being solved? Also, why would I, as a Melio user and bill payer, make a bank transfer to Melio instead of my supplier directly?</comment>


"I spent a week in a VR headset, here's what happened" - <AUTHOR> https://www.youtube.com/watch?v=BGRY14znFxY <comment><USER2> Cant watch the vid. It s been 2 hours. Can anyone tell me what happened?

<comment><AUTHOR> He basically spends a week in VR, though allowing himself a passthrough - which is, from what I gather, a video stream from a camera within(?) the headset that allows him to "see" his room.

He does various games and activities and interacts with people through various chats. He has his peaceful moments and energetic ones, such as working out, but grows bored and lonely by the end of it.

Interesting to think if there were more immersive/interesting things to do within VR would he have felt the same way? Or at least not as quickly?</comment></comment>


Moving to UK, with a job to start in there already. What do i need? - <AUTHOR>

Hello,
Couple days ago i posted here on YC about how to get a job in UK and moving in there, and got plenty of bad answers, not actually bad but bad for what i wanted to hear.
Well the thing is i got a job in UK, an agency is just waiting for me to start in there, but i would need to move. What should i do? get a travel visa and then try to 'exchange' to a work visa showing i got a work in there?
And to someone who already live in UK/London... how much would i spend to 'live' in there, get a small apartment, low food, bus and stuff like that, just the basic. Any ideas?
Thank you <comment><USER2> From what I know (living in the UK and not needing to know about UK visa's) don't try and "game" Immigration - if you get a travel visa with the knowledge you have a job here already, it won't be looked well if it's discovered during your arrival in the UK - if you have a job, apply or ask the agency to sponsor a work visa for you - when it comes to Customs & Immigration, honesty is best

<comment><AUTHOR> That's good to know, what i want is not really trick the immigration but to know what would be the most righteous and feasible choice.

<comment><USER2> Best advice I can offer if the agency who recruited you can't help is to talk to one of the British Consulates in Brazil and look at [http://www.ukba.homeoffice.gov.uk/countries/brazil/?langname...](http://www.ukba.homeoffice.gov.uk/countries/brazil/?langname=UK%20English)

</comment></comment></comment><comment><USER3> You'll get more specific answers if you give more background. What country are you coming from (or at least is it a EU country)? Where in London do you want to live and do you want to flatshare?

The first person pronoun 'I' in the English language is always capitalised.

<comment><AUTHOR> Hello Paul,

Thanks for the tip in English. I will be working with Web Development, and the agency is in Knightsbridge London. Today i live in Brazil (non-EU country).

</comment></comment><comment><USER4> The company who hired you should offer assistance in helping you relocate. Just ask the HR representative you dealt with.

Of course, if you misled them into thinking you were already living in the UK, you might have some bigger problems...

<comment><AUTHOR> Actually no, they know I am outside EU, but they just didn't do any offer to help, but i will be trying to talk with them.</comment></comment>


Considering performance in the small is not "premature optimization" - <AUTHOR> http://www.joshbarczak.com/blog/?p=580 <comment><USER2> Physician, heal thyself.

It always seemed evident to me that Knuth's exhortation was about making sure that the thing you were optimized was in fact a major contributor of code time usage -- and that your change was an improvement.

Telling people to avoid, for example, bounds checking because it might turn out to be a cycle soak later sounds like a good way to make your software worse, not better, in the hopes that a few instructions saved will make the difference. I once worked on a code base once with three different half-right hand-hacked versions of date formatting code. I replaced them with strftime(). Certainly the call was slower, but I was provably better off optimizing the timer routine that ran 50 times a second than worrying about hand-formatting dates into strings.

<comment><USER3> I think the principle of charity that dang has recently been trying to promote applies here. It's probably safe to assume that the author isn't suggesting that software be allowed to critically fail more often in the interests of micro-optimization.

The PDF he linked to for bounds-checking is a series of slides that notes that conventional approaches to bounds-checking incurs a 60% runtime performance hit, and that there is another approach that works as well but incurs only about a 23% runtime performance hit.

Aside: rapidly improving energy efficiency has probably been one of the greatest technological developments of the last 20 years; it would be _amazing_ if software development practices could be similarly adapted. Like, is it possible to have a demoscene approach to software development while still keeping portability and maintainability? Imagine the transformation in software we could see in the next 10 years if someone figured out how to do that.

<comment><USER4> Mobile battery life might be just the thing that pushes this over the critical point. The first party to create a smartphone with a four week battery life because they made their (tightly integrated) system work on a 5 Mhz cpu will make a lot of money.

<comment><USER5> Smart phones have poor battery life due to background data sync (radios are expensive to power up) and screen usage.

Turn airplane mode on, leave your screen off, and your phone will last a long time.

<comment><USER6> Airplane mode is not fair. After all, "dumb" phones last for many days even without airplane mode, as long as you don't over use them. The fair test is this: how long will it last when used as if it were a dumb phone. Answer: pretty good, but much less than an actual dumb phone.

<comment><USER7> Dumb phones typically don't need to use their radio to do things like check mail though.

<comment><USER6> That's because they typically don't check mail, at least not in the background. That's fine. Turn off the mail check feature of the smart phone. Now will it last as long as the dumb one? Not quite. I would know, since I do have that feature turned off. As well as location tracking.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I had a professor that used to say, "Make it work and then make it work fast." The point being that you need to both understand and solve the problem before you can figure out how to make the solution faster. It is the reason that the concept of a prototype exists in every engineering discipline.

As an additional perspective, compare the solution of an engineer with 2 years of experience to that of an engineer with 5 years of experience. If the solutions are drastically different then interpretation of a rule such as "avoiding premature optimization" will be drastically different as well.

Like any overly simplified statement, it is actually highly subjective. The author of the article even calls out the specific context in which their interpretation of Donald Knuth's rules are being applied, "I've listed lots of relatively low-level things up there, but that's just because it's the level I work at." and as such their interpretation doesn't necessarily apply in other contexts.

Premature optimization is a problem if you're approaching it from a place of ignorance. If you're doing it mindfully based on experience and domain knowledge then it starts to make sense. But even under these conditions your best intentions can be wrong. I've been in plenty of situations where I thought I'd identified a code bottleneck only to have a far easier, cheaper, and better solution completely unrelated to code come to light.

<comment><USER9> > Make it work and then make it work fast.

The version I've always heard is:

Make it work, make it right, make it fast.

[http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast](http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast)

</comment></comment><comment><USER10> Today I had to debug code with some database calls within 5 levels (at least) of for-each loops.

I stopped measuring at ~40,000 database round-trips.

"Engineering time costs more than CPU time" was the attitude, and for the original problem in its original specification, the solution was clearly OK.

But here we are, now needing to work out the original specifications, work out the current implementation (in case they differ anywhere), and work out whether it's worth re-writing it top-down or just fixing the worst of the loops.

And I'm not blaming whoever wrote this originally, it must have done its job to make it into the code base, but it really sucks to have to unpick it because an assumption of "database calls are free" is an assumption that unravels in a really messy way.

<comment><USER8> "...for the original problem in its original specification, the solution was clearly OK."

That statement leads me to believe this was technical debt that went unpaid and not a failing of design. Additionally, if your company is in a successful enough position to spend the time required to pay down this technical debt then if I were in your position I would count myself as lucky.

"...it must have done its job to make it into the code base...", exactly right! Every time I hit one of these situations I view it as a way for me to, "Try and leave this code a little better than you found it." I'm all about making things easier for the next guy who comes along.

</comment></comment><comment><USER11> "The website is temporarily unable to service your request as it exceeded resource limit. Please try again later."

Cache: [https://webcache.googleusercontent.com/search?q=cache:zjuUa-...](https://webcache.googleusercontent.com/search?q=cache:zjuUa- xmVy0J:www.joshbarczak.com/blog/%3Fp%3D580+&cd=1&hl=en&ct=clnk)

<comment><USER12> This was a very nice essay, and I'm glad to have read it.

But it's impossible not to gloat at least a little bit about someone lecturing us about low level efficiencies from a site that can't manage to serve static blog content to a few hundred visitors a minute (or whatever it is that the top slot on HN drives these days).

<comment><AUTHOR> The essay is about software you write. The author most likely didn't write the blog software nor the web server software.

<comment><USER13> No he didn't write it. He had a much easier job, to pick software that does do it right.

<comment><USER14> He likely doesn't give a shit about that.

If my blog is unreadable for five minutes a month, I am perfectly happy and I'm not going to change anything.

<comment><USER13> Doesn't give a shit? Seriously?

I wouldn't dream of keeping a blog that couldn't handle a HN traffic spike. That's the whole point of having a blog.

Failing at this is like launching your startup's MVP to an audience of the first fifty people who were able to load your product launch page before it crashed under the load. In other words, a giant, easily-avoidable waste of effort.

<comment><USER15> > I wouldn't dream of keeping a blog that couldn't handle a HN traffic spike. > That's the whole point of having a blog.

It seems possible that some people don't care that much about HN traffic spikes.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> All too often premature optimization is brought up as the antidote to carefully think about what you're implementing prior to actually opening up the IDE and start coding tests madly.

Thinking is hard, and takes time, and we want to get the feature out now, immediately, and worry about performance later. If at all.

And, sad to say (for an engineer), it's not clear that from a "business" perspective it's wrong. Hard to argue when accumulating features seems to matter more than crappy software. We have a lot more software these days, to run all of these bright new pieces of hardware, and perhaps because I'm an old-timer, the general quality seems to have degraded significantly. But the novelty of the stuff certainly has exploded, and I'm continually delighted by the twists and features that folks are coming up with, while being saddened by crashes, slowdowns, need for restarting, etc.

</comment><comment><USER17> For some reason, the vast majority of developers take 'premature' to be a synonym of any.

If CS majors spent a fraction of the time learning how to optimize the way EE/CEs do, we'd need a lot less magic from the latter.

<comment><USER18> A huge amount of CS is algorithms and data structures. My undergrad degree also required two semesters of learning how a computer works from a logic gate level upwards, culminating with writing a simple pipelined CPU in Verilog. After three years I had a pretty good understanding from both the high level (algorithms) and the low level (caches, etc).

CS programs vary, but basically all of them give you the tools needed to write efficient code. They generally don't teach you much about software "engineering", though, which remains a chaotic mess of a field.

<comment><USER19> Part of the problem, is that Dijkstra's complaint is often still quite relevant: "Software engineering, of course, presents itself as another worthy cause, but that is eyewash: if you carefully read its literature and analyse what its devotees actually do, you will discover that software engineering has accepted as its charter 'How to program if you cannot'."

</comment></comment></comment><comment><USER20> Yes, yes it is. Simply asserting the opposite doesn't suddenly invalidate an entire industry's decades worth of experience.

One good point from the essay though is Knuth's example of 12% speed increase for low effort is definitely worth doing. I agree.

A better way of putting things is:

Considering low effort, small performance improvements that don't affect other factors such as code readability or system maintainability is not "premature optimization".

If you are considering performance "in the small" and it affects maintainability you are indeed prematurely optmizing.

</comment><comment><USER21> "Premature" means "before measuring"

<comment><USER22> There are many optimizations that make sense to do "before measuring" because they're free and easy to do as a matter of habit. For example, the use of value types in C# is just as easy as classes--you just need to know how your runtime works and pick the correct allocation method.

It takes me literally no time whatsoever to know intuitively that, yes, this should be a struct rather than a class. But I've seen developers dismiss this as "premature optimization" rather than _knowing how my software works_.

<comment><USER23> Can you quantify the % performance gains you've gotten from this on a given project? Because from what you've said here, it seems entirely possible you're not actually writing appreciably more performant code than they are. This is why the measuring is usually how you know how your software works.

<comment> mark-r I think you missed the point of the parent comment. If there's two ways of doing the same thing, and one way is clearly more efficient, there's no reason not to do it the efficient way. Get in the habit, and you won't even waste brainpower thinking about it. 99% of the time it might not make a difference, but for that 1% you're ahead. You're also covered if a change somewhere else causes your code to be executed a lot more often than you expected it to be.

<comment><USER22> Agreed. Though, to answer your parent post: when helping friends with XNA or MonoGame projects, I've shaved entire milliseconds off of frame times (particularly notable when you have a 16ms budget) by removing needless reference types, either by unpacking and using primitives or by replacing those reference types with structs.

Or, when I was at TripAdvisor, we (not me originally, though I inherited it) greatly improved typeahead performance by dropping the built-in collections classes (which used boxed primitives, because lolbrokengenerics) in favor of Trove (or Colt, I can't remember) and the reified primitive types. If I write Java today, I reach for Trove as a matter of course just because it means I never write List<Integer>.

This stuff matters. Getting in the right habits is not hard and will pay off in the ten percent of cases where it matters.

</comment></comment></comment></comment></comment><comment><USER24> [https://xkcd.com/163/](https://xkcd.com/163/)

<comment><USER25> It's incredible how there is always a relevant xkcd comic.

</comment></comment><comment><USER26> The problem I have found is not early optimization, but knowing what to optimize early and what can wait. Everything in a system can be optimized, but there obviously isn't the time to do this.

I work in Android, so optimizing I look at first is bitmap loading, backgrounding tasks, and sqlite queries. Usually, this is where 90% of the performance benefit comes from.

<comment><USER27> Exactly. I've been working on a codebase where we're trying to make a rush-job project into something mature and reusable. One of the developers on my team was concerned about our obviously and grossly inefficient business-logic layer that applied business rules to a given record. I told him not to worry about it - lo and behold, we ran a profiler and the business layer was barely a blip on our performance problems, and our dynamic GUI stuff represented the lion's share of wasted time.

</comment></comment><comment><USER28> He is right.

He is right about premature optimizations and also right about craftsmanship.

Many performance problems stem from bad overall design decisions, bad abstractions and bad data structures (summarized: craftsmanship). I always wonder, how fast today's processors have become and how slow they get with today's software.

One of my first computers had 64k of memory and a processor that was so incredible slow compared to today's processors, that it is unbelievable. And still, they made so many good software with it. In today's programs the resources of this computer would not suffice for the idle loop.

Also the first Unix computer that I worked on, had only 8MB of memory and had X11, LaTeX and many other stuff!

It was a long way down the road of abstractions, that today's computer could hardly live with 1GB of memory and 1GHz processor (2 cores, please, please!) for basic usage.

The real art in computer science is, to know where to optimize -- to use your time most effectively.

</comment><comment><USER29> Hmm, he complains about the awesome bar being coded inefficiently, but I'm on a several year old laptop and the awesome bar is pretty much instant at showing results for me when I type a key. So his evidence is not compelling in my experience. Reading his links, it sounds like his memory error checking tool is what causes slow down, not the usual Chrome code. Kind of bizarre he is pointing fingers at others when his stuff is the problem that needs to be worked on.

His whole argument boils down to: > Considering performance in the small is not "premature optimization", it is simply good engineering, and good craftsmanship

But that's the same reason German industry tends to compete so badly right now. They do a lot of hand trimmed and finished components that really could have been better designed for automation and require less custom craftsmanship. His argument seems to boil down to aesthetics.

</comment><comment><USER30> I'm very happy to see this article and more people taking this mindset.

Many people don't even know the context or the original quote. And many times I've seen discussions about improving a piece of code shot down by a single incantation of this Knuth. It's sad.

</comment><comment><USER31> Considering performance is a basic tenant of software architecture and engineering. Obsessing about it needlessly is the "premature" part. Considering the business case is the most important thing to remember.

</comment><comment><USER32> Brilliant blog. Thank you for writing this. Optimization is important! You don't have to tune everything to the fastest possible speed. But remember, in web programming, you may be writing a function that is called 10 or 100 or 500 times per request. That little optimization will add up quickly.

Be smart when developing, and know where the easy optimizations and common pitfalls are in your language and toolset. Optimize as you can without sacrificing maintainability.

</comment><comment><USER33> "As a developer, I am tired of my IDE slowing to a crawl when I try to compile multiple projects at a time. I am tired of being unable to trust the default behavior of the standard containers. I am tired of my debug builds being unusably slow by default."

Don't forget web browsers. Web browsers are horrible.

</comment><comment><USER34> Nobody's arguing that speed isn't important. What's more important is to get things right.

And no, incorporating speed in the specification doesn't make any difference. Suppose the spec says, "page must load in 200ms." Fine, if you don't care what correct page loading means, you're perfectly served with a blank one.

What's at the root of such intellectual capitulation? Complacency? Absence of skills? "Correctness is hard, let's just randomly perturb settings instead while fiddling with a stopwatch. Correctness is hard, let's just conflate motion with progress."

Whence the shabby treatment of correctness like porn: I'll know it when I see it.

</comment><comment><USER35> TLDR : sometimes you need to optimize.

I don't understand what's new.

<comment> mark-r It's not a question of optimize/don't optimize. There's a continuum, and the pendulum swings back and forth. The author makes a case that the prevailing industry attitude is too far on the "don't optimize" side.

And stop quoting Knuth to justify it.

</comment></comment><comment><USER36> This article is not that well optimized. It could have been much shorter. I think just the lesser-known Knuth quote would be enough.

</comment><comment><USER37> Your small is another man's big. So, "don't prematurely optimize" could be said another way, "a different point of view is like losing 80 IQ points" or you could say it positively like Kay does [http://en.wikiquote.org/wiki/Alan_Kay](http://en.wikiquote.org/wiki/Alan_Kay), but I think he's only positive because he drinks once in a while.

</comment><comment><USER38> We changed the title to a representative sentence from the article. If anyone can suggest a better one, we'll change it again.

<comment><USER39> Please don't. As a reader, not seeing the same article under a different title when I return to the homepage is much more valuable than having the "right" title.

<comment><USER38> The article's title is both linkbait ("Stop Doing Bad Thing, Plus Famous Person") and misleading: people are mostly not misquoting Knuth, as the article itself points out ("Donald Knuth once wrote these unfortunate words"). To leave that title unchanged would violate both of the HN guidelines about titles.

<comment><USER39> Then please violate and/or change the guidelines.

<comment><USER38> Misleading and linkbait titles on the front page would make Hacker News much worse.</comment></comment></comment></comment></comment>


Anthony Powell chronicled the languid world of the English middle class - <AUTHOR> https://newrepublic.com/article/151605/anthony-powell-book-review-john-banville <comment><USER2> I do not know if the article mentions it, Powell's 'A Dance to the Music of Time' may be the longest novel in English language.

<comment><USER3> no, apparently it's 'the blah story' [https://theblahstory.wordpress.com/](https://theblahstory.wordpress.com/)</comment></comment>


Dear Stack Exchange, Inc. - <AUTHOR> https://dearstackexchange.com/ <comment><USER2> I suspect that the average user of SE will not care one bit about this whole drama.

I do find it frustrating, puzzling, and sad how SE appears to have treated Monica Cellio. She provides an excellent summary (from her perspective) here: [https://cellio.dreamwidth.org/2064709.html](https://cellio.dreamwidth.org/2064709.html)

<comment><USER3> As a self-described "average user of SE", I find this drama pretty similar to drama I've seen circling around the Quora "community" for the last 6 months or so: confusing.

I use both SE and Quora to get answers, especially to extremely-niche questions. I understand that some people do use them for community and that people do interact and know each other on both platforms, but it's hard to understand complaints about a subpar community when the goal of the site doesn't seem to revolve around a community at all.

To me, SE is a Q&A site. It exists to let people ask questions and get those questions answered. If you took away the community entirely, would it be any less useful?

This probably comes off a bit flippant to the situation, but it's meant to illustrate that you're right: I'd say I'm a pretty average user of SE (in that I just use it to get answers, and occasionally write my own answers when I can, and so far it's worked perfectly well for me) and I don't care one bit about community-based drama.

<comment><USER4> > If you took away the community entirely, would it be any less useful?

so for a while, due to strange quirk of circumstance, i had the inside track of a profitable adult website. it was your standard "streaming adult videos, no ads, charge hefty subscription" model. one morning the ceo says let's do community. everyone's going social. lets have blogs, message board, the whole shebang. Announcement made with much fanfare. The idiot audience thought community means they could talk to their favorite pornstar :) once the ceo clarifies that no, community doesn't mean that, they turn on him like a pack of wolves. what do you mean, you want us to talk to each other ?! like random perv from oklahoma should message arbitrary perv from cleveland about which vid gets him off ? wtf ?!! the poor ceo's got his back to a wall. he says, we'll be the world's largest adult community. the peeps are like, dude, largest community of pervs ? fbi will have a ball. half of us are scared our employer or our spouse or worse, teenage son hacks into our account. now you want us to have wacky avatars & actually talk to each other on a messageboard so whatever we say persists for posterity ? it quickly went downhill from there. they brought in a moderator, sort of like dang. he was supposed to police the crowds & tamp down on contentious disagreement. but hardly anybody participated, so they had to broaden dang's role. so now everytime a video was posted, poor dang would have to watch the whole video and make insightful comments like "lady featured in this clip at 7:15 is the same lady in that other clip at 9:20" and so on. soon he became an encyclopedia of porn trivia. people actually started showing up on the community board just to poke fun of his wide acumen. Around that time i quit. But it was quite the experience. Community can be a major hassle.

<comment><USER5> This was an interesting read. If you wrote more of these stories out into a longer blog format I'd totally read it!

</comment></comment></comment></comment><comment><USER6> While, in the beginning, a very active user, I've long now given up on that network. I can't remember when was the last time I asked a question without being forced to defend it for a period of at least a few hours, why it shouldn't be closed as a duplicate, offtopic or ... It used to be an excellent network, but nowadays it's just script-kiddies-playing-admins/editors playground. It is no longer a productive technical community, so I've gone back to specialized forums. Pity, I really liked the sites in the beginning.

<comment><USER7> I don't understand this cry against moderators. These people are volunteerily giving their time to keep quality bar high without any payment. If these people weren't there then SO will be full of duplicates, off-topic and opinion based Q&A just like Quora. A general tendency I have seen is just to ask (often poorly stated) questions without doing simple search to see if it is already answered. Someone needs to respect those people picking up garbage on the street.

<comment><USER8> I think SO is poorly designed as a system. It certainly does encourage people to ask not-so-great questions. It doesn't handle them particularly well. And then expects people to clean up the mess for free. Those people of course feel stressed and overwhelmed, so are inclined to be rude, aggressive, and hasty in their decisions.

Like ldigas, I long ago gave up on SO because of bad moderation experiences. I'm grudgingly willing to respect those mods as humans, but I certainly won't as moderators. They do a poor job, needlessly offending and discouraging contributors. They could quit any time. They could go on strike at any time. But no, they just kept on.

I can definitely muster up some sympathy when people trapped in bad jobs are jerks. They are doing it to survive. But people who volunteer to be jerks? That's on them.

<comment><USER9> As someone who answers quite a few quesitons on SO I'd really like to see posts that were perceived as wrongfully closed to see if I agree (haha) and also to see how to fix the system.

Of course I have no hope that S.O. will change anything. When they started their "be nice" campaign I suggested the "CLOSED: This is a duplicate" message should be changed to "CONGRATS: This appears to be a duplicates so you win! There is already an answer [here]!"

In any case there are rules. One is "post the code you're having trouble with in the question, not a link offsite." The offsite link is useless if the code changes there or the offsite site goes offline. Some not insignificant percent of the time the question will just have a link to offsite code. I'll leave a comment saying effectively, "please add the code to the question" and then I vote to close, reason "missing code". The person never adds the code. Are they like you claiming S.O. is rude and unreasonable? Did they get their answer somewhere else and never come back to follow up? I have no idea.

Actually the rule is even more specific. "Make a minimal repo and post it the question itself". Almost no one makes a remotely minimal repo which is fine, but in general lots of people fail at the "repo" part period. In order to help them we'd need to download code, setup dev environments, make up test data, etc...."

What I do know is I often spend 30 to 240 minutes writing working examples for a single answer. I do that volunteerily for reasonable questions. When someone barfs out a "give me teh codez" question it can be very angering. They're basically asking for free labor. If that's not rude I don't know what is.

Here's a recent "give me free labor" question

[https://stackoverflow.com/questions/58206647/removing-the- ba...](https://stackoverflow.com/questions/58206647/removing-the-background- on-this-webgl-animation)

Here's a recent "teach me an entire CS course" question

[https://stackoverflow.com/questions/58165198/how-to- process-...](https://stackoverflow.com/questions/58165198/how-to-process- model-data-in-unit8array-in-webgl)

And here's an answer I spent over 150 minutes on, trying to understand their code, trying to make a working sample, running into bugs, when I looked up 2.5 hours had passed.

[https://stackoverflow.com/questions/58101753/drawing-a- torus...](https://stackoverflow.com/questions/58101753/drawing-a-torus-in- webgl)

And another more typical 30 minutes on this one

[https://stackoverflow.com/questions/58111380/in-webgl-the- pe...](https://stackoverflow.com/questions/58111380/in-webgl-the-perspective- cameras-are-added-to-the-canvas-or-to-the-3d-model-its)

note I'm not trying to brag. I hear your complaint often. I just don't run into it myself. Instead I see lots of volunteers answering questions and only voting to close the bad ones and they are bad ones.

<comment><USER10> > As someone who answers quite a few quesitons on SO I'd really like to see > posts that were perceived as wrongfully closed to see if I agree (haha) and > also to see how to fix the system.

This person[1] was getting unexpected results when calling is_integer. According to the duplicate, the solution is that they should call is_integer... which is what they were doing. The original close voter commented 'sorry I didn't read your question properly before suggesting the dupe', but it remains closed.

The question was answered in the comments: this surprising result was due to floating point error and rounding done by the print function. However, it could not be posted as an answer, because the question was closed. I voted to reopen, but the vote failed.

[1]: [https://stackoverflow.com/q/49847677/331041](https://stackoverflow.com/q/49847677/331041)

EDIT: The share link I posted takes me to a different question when I'm logged in than it does when I open in an incognito window. WTF.

EDIT2: Apparently serving completely different pages to logged-in users and logged-out users is by design. [https://meta.stackoverflow.com/q/271077/](https://meta.stackoverflow.com/q/271077/)

Here's a link to question [1] that should work for everybody: [https://stackoverflow.com/q/49847677/331041?noredirect=1](https://stackoverflow.com/q/49847677/331041?noredirect=1)

EDIT3: It doesn't work. Sorry. I tried my best, but only logged-in users will get the correct page from the links I posted.

<comment><USER11> >The question was answered in the comments

It's lucky that the person who answered had enough carma to write comments. SO's job seems to be to prevent users from answering questions.

</comment></comment></comment></comment></comment></comment><comment><USER12> It's incredible that pronouns can bring down an entire community. Pick you battles please, we're losing good things because of this silly conflict.

<comment><USER13> Ben would you mind then being called she/her then if that is so silly? I'm a hetero woman and I've been called a male few times when gaming and this is not silly, people are rejecting your identity and I can't even imagine how bad this is for trans/NB people.

<comment><USER14> People are not "rejecting your identity" if they use the wrong pronoun. That is an emotional interpretation of an error.

<comment><USER15> Some people are. There are people who intentionally use the wrong pronoun, exactly because they reject someone's transgender identity. We cis-gendered people may not notice this, but to transgender people, it is every-day reality to be confronted with someone who insists on denying their identity. Consider the stupid bathroom bills in a couple of US states for example.

So against that background, it's entirely understandable that they react more emotionally also to accidental mistakes. That doesn't mean overreaction is a good idea, but it's a backlash against a long history of having their identity denied. If we don't like the backlash, maybe we should work harder to address the original hatred that it's reacting to.

</comment></comment></comment></comment><comment><USER16> > We are disappointed with the lack of responsiveness to community concerns. > On Meta Stack Exchange, bug reports, feature and support requests go > unacknowledged, sometimes for months or years, and some excellent posts > never receive a staff response. Meanwhile, there have been cases when staff > have responded to complaints on Twitter almost immediately, taking action > without due process and without consulting with the impacted sites.

It's sad that more and more companies ignore normal support channels (a very well established and proven one in SE's case) and only answer to Twitter shaming. For one thing, it's very unfair to those of us who don't (otherwise) use Twitter — I have to keep an account just for tech support, and even then I highly doubt my requests are valued as much as ones from accounts with 10k or more followers.

</comment><comment><USER17> I don't understand why gender/pronouns is even being discussed. Someone's personal feelings don't really have any place in a question/answers site. It's fine to respect a persons feelings and such when talking to a person but when answering a question or asking the question. The gender/pronoun is irrelevant.

<comment><USER18> The folks moderating SE are very pedantic about the wording of passages. Once I called SE a "forum", and I was politely told not to call SE a "forum". I would really hate to be a person that is not very fluent in English and trying to interact with SE.

<comment><USER19> One of my latest questions got as first comment : "Please use English punctuation when writing in English."

Certainly polite but a bit jarring as a non-native speaker that feels fluent. Also a bit nonsensically-bureaucratic : I made the mistake because I didn't know any better, after the comment I still couldn't correct the mistake because I still didn't know any better, I wasn't even sure what rule of punctuation I had wronged.

I would've preferred a direct edit instead of a comment prompting though I guess that can be seen as worse by some people.

<comment><USER20> > ... nonsensically-bureaucratic : I ...

Maybe you put a space before a colon, and the eagle-eyed moderator spotted it :-)

(English rarely has a space before a punctuation mark — except for a dash in British usage. Americans—I think—do this.)

<comment><USER21> Yeah exactly, in French for example you put a space before a colon, a question mark, exclamation mark, while in English you don't, it is quite hard to spot for a lot of people.

</comment></comment></comment></comment></comment><comment> u-dissolve This reminds me of the time when stack exchange updated their terms of service to include an arbitration clause. The community was in uproar over this decision, yet the clause stands to this day.

[https://meta.stackexchange.com/questions/309746/a-new-2018-u...](https://meta.stackexchange.com/questions/309746/a-new-2018-update- to-our-terms-of-service-is-here)

Stack overflow's terms of service is pretty terrible, receiving the worst rank in terms of user hostility on TOS;DR.

[https://tosdr.org/#stackoverflow](https://tosdr.org/#stackoverflow)

<comment><USER9> That hardly seems fair. For 99.99% of users everything they do on the site is publically available. There is no private messaging, no private anything. The entire history of everything on all sites being public is one of the explicit goals of the site. So "sharing with 3rd parties" means absolutely nothing. Those 3rd parties could scrape the site or they could download the archive.

[https://archive.org/details/stackexchange](https://archive.org/details/stackexchange)

It doesn't seem like they should be marked as having a poor TOS for at least half the things listed as those things are basically the known purpose of the site.

<comment> u-dissolve This simply isn't true - your most sensitive information _is not_ public, yet is shared with 3rd parties. From their privacy policy:

"We collect location information about you including your IP address, your location, browser information, and how you came to the Stack Overflow Network."

(SO also collects your email address, interests, and employment status upon registration - this is not mentioned specifically in the privacy policy)

"This is the case for individuals who have registered for an account, and non- members who engage with the Stack Overflow Network by visiting our website(s) but who have not completed an account registration."

"We share this information with certain third-parties (e.g., talent recruiters, payment processors, and advertising providers)"

[https://stackoverflow.com/legal/privacy- policy](https://stackoverflow.com/legal/privacy-policy)

</comment></comment></comment><comment> King-Aaron I remember when Stack Exchange was about fixing broken code.

<comment><USER22> Politics have crept into every aspect of life unfortunately.

<comment><USER23> Politics is part of every human endeavor: between kids on the playground, in the workplace, at the level of local, regional, national, and international governments and businesses.

Politics and the negotiation of status and access between various in and out groups is a fundamental part of being human.

<comment><USER24> Thank you. There is a tendency in tech people to dismiss politics as less than important ("just politics", "just political"). It's a fundamental part of our social fabric.

<comment><USER25> Simler & Hanson provide a pretty solid explanatory framework: [http://elephantinthebrain.com/](http://elephantinthebrain.com/)

<comment><USER26> Have only read parts of that, but describing attributes to human nature mostly fails to do so and attaches them to the author instead.

No, not everything is political. From that perspective you could substitute the term politics with "battle for share", which can be political, but doesn't encompass the whole set of politics. You can even generalize that further and it gets more primitive along the way:

"Every day is a battle for survival"

Of course it is political play to attach attributes to groups and then highlighting fault lines. But it is the most primitive form of what many people call politics.

And since it doesn't accomplish anything productive, many people have the need to remove politics from platforms like SE, because they just see it as a distraction to the topic at hand and is pitting people against each other. Pronouns do that, most of the gender discussion does that and now we have also started a new discussions about racism that won't net positive results.

All because some people crave some validation? Maybe that is not always the case, but it seems that people wanted a conflict and that is what they got.

<comment> crooked-v > No, not everything is political

Name literally anything and I will point out its political implications.

<comment><USER26> That would not constitute proof. But to humor you and me, what about cornflakes?

<comment><USER27> The food literally created due to political beliefs?

"The story of corn flakes goes back to the late 19th century, when a team of Seventh-day Adventists began to develop new foods to adhere to the vegetarian diet recommended by the church. Members of the group experimented with a number of different grains, including wheat, oats, rice, barley and maize. In 1894, John Harvey Kellogg, the superintendent of the Battle Creek Sanitarium in Michigan and an Adventist, used these recipes as part of a strict vegetarian regimen for his patients, which also included no alcohol, tobacco or caffeine. The diet he imposed consisted entirely of bland foods. A follower of Sylvester Graham, the man cited as inspiration of graham crackers and graham bread, Kellogg believed that spicy or sweet foods would increase passions." [0]

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

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> Honest Question: Why continue to support stack exchange through this? They have shown themselves to be disingenuous at best. They are now profiting off free labor. They started it because ExpertsExchange was hiding answers. They rode the high horse to hypocrisy.

Why continue helping people like that succeed?

Why not just start a new one? Leave en masse to a new playground. Speak with your answers.

Show the powers that be they can't treat the sharecroppers like this anymore.

Hasn't history shown the way? It's repeating itself all over this controversy.

Is this an inevitability? How can this be prevented?

It feels like the issue regarding Monica is just _the_ issue we are all talking about, but ultimately, it goes _much_ deeper.

<comment><USER29> Unfortunately StackExchange fell into the trap of trying to support social justice warriorisms.

Either they will fold or they will come to realize that the only ways to deal with users that are preoccupied with genders, religion, sexual orientations and whatever protected class they can come up with are to lose them or ignore them. You can't go along with their demands because there will always be a new demand, each one crazier and more irrelevant than the last one.

<comment><USER30> I'm curious as to what part of the issue was about "social justice warriorisms", especially since Monica herself and most of the other mods who resigned were okay with the principle of calling people by the pronoun they prefer to be called by.

<comment><USER31> Perhaps my reading of the situation is way off, but at the risk of making a fool of myself:

My understanding is that Monica wanted to use gender neutral pronouns throughout her writing as a general case, but that this was deemed "not good enough" (or indeed hateful) in the cases where someone has chosen specific pronouns. So I suppose this is what the GP is referring to. And I can't argue that it seems like a rather extreme position - although I'm happy to be persuaded otherwise.

<comment><USER32> _That_ is what this is about? There is something wrong with the way our culture is shifting. There is absolutely nothing wrong with Monica's choice. It is literally the most pacifist choice you could make. Anyone who feels "harmed" by her choice is only harming themselves.

<comment><USER15> I care deeply about social justice, and I'm totally on Monica's side here. Even more so because as far as anyone can tell, she wasn't even violating a CoC yet, and would probably have followed it if it was sufficiently clarified. But at the most basic level, I feel gender-neutral language should always be okay.

In fact, I think it would be healthy if language in general developed in a more gender-neutral direction. We don't use special pronouns to divide people based on other characteristics, so why gender?

</comment></comment></comment></comment></comment></comment><comment><USER33> It's terribly sad that StackExchange is less likely to respond to a well- reasoned argument by informed and invested moderators like this than a pack of idiots on Twitter hooting for blood. Cancel-culture is cancer.

</comment><comment><USER34> This is totally sad. I really wonder how a company could publish a year ago in 2018 "Our Theory of Moderation, Re-visited.":

> Trust people. > Supporting people should be your default reaction

and then a year later be in this current state.

Worse is, SE seems to unable to reactify the situation in a meaninful and trustful way.

</comment><comment><USER35> Shouldn't the CTO fire the person who was directly responsible for firing Monica? Why isn't that part of it?

<comment><USER36> because she has 46k Twitter followers and the company fears Twitter above all else

<comment><USER37> Not sure I understand - who is she that you're referring to?

<comment><USER38> Sara Chipps.

</comment></comment></comment></comment><comment><USER39> See [https://news.ycombinator.com/item?id=21175225](https://news.ycombinator.com/item?id=21175225)

</comment><comment><USER40> "Beware of words. The moment you look away, they will take on a life of their own; they will dazzle, mesmerize, terrorize, lead you astray from the reality they represent, lead you to believe they are real. The world you see is not the kingdom seen by children, but a fragmented world, broken into a thousand pieces by the word. It is as if each ocean wave were seen to be distinct and separate from the body of the ocean."

</comment><comment><USER41> I would love a nice couple paragraphs that said "here's what happened", otherwise taking any side in this is just taking shots in the dark, I'm basically reading "certain events happened with a certain individual and that's not okay"

<comment><USER2> As asked: [https://cellio.dreamwidth.org/2064709.html](https://cellio.dreamwidth.org/2064709.html)

<comment><USER42> Is there a TLDR of what happened anywhere?

<comment><USER43> Seems like there was a disagreement regarding the use of gender pronouns that resulted in 73 moderators getting "fired" or leaving.

The author of that summary mentioned one thing I found especially egregious, which is a policy that stated avoiding using pronouns was out of alignment. If I understand correctly, when she asked how they would know if she was avoiding pronouns or just naturally not writing them, she was fired. I may have this wrong as I just skimmed the summary. Also it seems she had multiple disagreements on this front before.

<comment><USER44> Is the implication that the LGBTQ+ community found it _more_ offensive to use e.g. "they" than "he" or "she"?

I'm so confused. Wouldn't "they" (the gender neutral version) be _more_ inclusive? Is there some other alternative that's even better that I haven't considered? I hope I'm not offending anyone by asking this. Just trying to make sure I understand.

<comment><USER45> Yes, people will often find it offensive if you use "they" after asked to use "he" or "she".

If someone says "I am a man, please use he/him for my pronouns" and you use 'they' \- that would generally be considered at least odd, if not inappropriate.

I don't think that means it's inappropriate to use "they" as the default if no other information exists though.

<comment><USER46> uh but using "they" as a neutral way to talk about anyone is just fine. people have been doing that for literally centuries, its called "singular they"

this is all about people wanting to be outraged for no reason

<comment><USER45> "Singular they" is indeed well used, but it's _not_ normally used when the gender of the person in question is explicitly known.

If you use "they" for someone who has specifically said to you "please use the pronouns 'she/her' when referring to me", you are being rude, not neutral.

<comment><USER47> "Where's Dave?"

"They're in the garage, I think"

is common to hear, just as

"He's in the garage, I think"

Many will mix between the "he/she" and "they" in the same conversation. Quite often referring to their closest friends and family rather than pointed attempt to misuse a pronoun.

<comment><USER48> > ["They"] is common to hear, just as ["He"]

> Many will mix between the "he/she" and "they" in the same conversation.

That does not match my observed reality at all. All natural languages I know are gendered the same way English is.

Singular "they" is already exceedingly uncommon by itself; and across all the languages, and in my whole life-time, never once I or a conversation partner used "they" instead of the specialised pronoun, or mixed in a conversation, _when the gender of the person in question is explicitly known_ as GP wrote. The same is true for all written material I read in my whole life.

<comment><USER47> All I can say is it matches mine. So we're at impasse I guess.

English speech varies. Even across the UK there are dozens of regional accents and dialects. Now add the many regional variations across the USA and other world Englishes. All with their own traits and habits, some more widespread than others. A deep rabbit hole with many forks then.

Common enough that I would not think it the slightest bit unnatural on hearing, or give it a second thought. I wouldn't give it a second thought reading it in a natural conversation in a book - not just in intentionally neutral business or net writing, so that's not going to be memorable. It's not an idiom I'd single out as localised to any one group or region. It _would_ be memorable and feel odd reading if it were all that way in a novel's quoted conversation, or nearly all names with few pronouns like some telesales scripts seem to encourage.

Not _as_ common as he/she certainly, but I dunno 1:4 or 1:8 or something. I couldn't say what proportion is names not pronouns either. FWIW My people skew international, educated, Scots and perhaps city in a part of the UK that's well north of London.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER49> Stack Exchange is now a political battleground and long are gone the days when it was a tool for sharing technological knowledge. They are now competing who is more oppressed instead of who knows more.

That's what you get when you let ideology become more important than the core of the product.

This is only the beginning of the downfall.

</comment><comment> awinter-py the free & freemium web have an arbitration gap and it will get worse before it gets better

stackexchange works because questions can get answered with relatively little money changing hands (AWS & advertisers mainly), but that means employees can't offer due process on disputes without erasing the company's margins.

these companies can't offer centralized due process to everyone because it would open them to being DDOS'd by competitors / trolls. Maybe justice can be crowdsourced in the same way as javascript questions by identifying neutral people in the stackexchange network, but that would be a huge experiment and open SO/SE to community backlash when it went badly.

<comment><USER50> If only SE could somehow get a bunch of people to work as moderators without paying them. Except that is exactly what happened; but recently SE managed to piss off a large number of its volunteer moderators, who have (among other things) written the linked complaint.

</comment></comment><comment><USER51> I have read every hn submitted articles about this drama, but I still don't get what this is all about. Maybe because of my english not being the best.

<comment><USER52> I'll do my best to summarize the situation, at least as well as I understand it.

When speaking in English, it often sounds awkward to repeatedly use the same proper noun in a sentence or paragraph. So, instead of repeated use of the actual noun, a pronoun is used.

When referring to individual people, or to some animals, the most common pronouns to use are "he" or "she", depending on the person being talked about. When referring to a group of people, the typical pronoun is "they". It's also possible to use "they" as a non-gendered pronoun for a single person.

By itself, the mere grammatical fact of these pronouns is not particularly interesting.

However, right now the United States, and other countries, are experiencing social and political tension around a broad range of related topics - how do we treat people of different genders? How do we treat people who are transgender? Or people who don't feel like they're clearly masculine or feminine? Should gender even have a great role in society?

Usage of pronouns has become a particular sticking point during this tension. For example, let's imagine a person named "Pat". Pat was born as a male, but wishes to be identified as a woman. When talking _about_ Pat, I have a few options in how I talk about he/she/them, and which I choose to use will divide me into one of two political camps.

\-----

I could refer to Pat as "she", indicating that I respect her choice and identity, which also implies that I find her framework of gender at least tolerable or imaginable.

I could refer to Pat as "they", which is typically not particularly offensive, and some people prefer it. It shows that even if I don't agree with their choice, I want to sidestep awkwardness with them. This lightly shows me as being in the gender-inclusive camp.

I could refer to Pat continuously as "Pat". This would tend to sound awkward, and Pat might wonder why I won't use pronouns to talk about Pat, and might be mildly offended, but it shows I'm at least aware enough of Pat's feelings to try and avoid serious offense.

I could refer to Pat as "he", which would indicate that I do not respect his choice. Pat would likely feel that I don't respect him at all, and that I'm being belligerent in opposing his framework of gender.

\-----

It seems like the inciting incident on StackOverflow in particular unfolded as follows:

* StackExchange began to introduce a new policy, intended to promote being inclusive of people of different genders and gender expressions.

* If I understand correctly, the policy indicated that writing should strive to be gender neutral. I believe in particular that this meant that the pronoun "they" should be preferred.

* One particular Moderator (by the username Cellio) of the site attempted to clarify, about whether writing that _avoided_ pronouns rather than using pronouns, would be allowed.

* _In Particular_, Cellio was concerned that the usage of the "they" pronoun to refer to individual people could be confusing to non-native English speakers, as "they" is more commonly used to refer to groups of people.

* Drama ensued, in which the stance of Cellio was cast as ideologically equivalent to the stance of someone who would intentionally use the wrong pronouns. (i.e., because Cellio was indicating that they did not wish to refer to a hypothetical Pat as "they", the assumption was that Cellio would refer to Pat as "he", even though Pat would prefer to be referred to by either "she" or "they")

* StackExchange thus fired the Cellio.

* Other people found this firing to be unfair, with a few reasons for finding it unfair:

People who agree with the ideological framework of gender which promotes inclusivity and sensitivity felt like the fired moderator was actually being quite reasonable, and that this was an over-reaction or misunderstanding.

People who don't agree with that ideological framework of gender see this as another example of an opposing political camp colonizing more spaces.

There are a handful of people who believe the firing was reasonable, but I don't believe I can adequately express their viewpoint.

<comment><USER51> Thanks. This whole debate is more than strange for me, having a primary language (hungarian) which do not use gender pronouns at all when referring to a person/object.

</comment></comment></comment><comment><USER53> In the early 2000s, Community Leaders (unpaid volunteers who 'worked' as moderators on AOL) sued AOL for compensation for their work under the Fair Labor Standards Act. They won $15 million.

All volunteers should do the same. StackExchange mods, Reddit moderators, etc. Stop working for free to advance the financial interests of these for-profit companies looking to exploit your labor.

</comment><comment><USER54> I don't understand how they are not actively engaging with the community. It's going to cost them every day this is not taken care of. Key people already left, more will leave, and the damage will still be here. Even if they come back to how it was before doesn't mean everybody will come back after that like nothing happened.

</comment><comment><USER55> I see the moderators as (major) part of the problem.

> There was a time when the most valuable asset of the Stack Exchange network > was the people who freely contributed their time and energy to build > communities in support of its mission.

Deleting valid or interesting questions is not something I consider to be a valuable contribution.

</comment><comment><USER56> I'm totally out of the loop about what this drama is about, and I'll stay that way.

These are unpaid community moderators. They are essentially volunteers doing this work because they want to. So let's ponder to ourselves and relate this to our own lives, what kind of relationship do we have with the organizations and people we do volunteer work with?

If you're at a point where you're so dissatisfied that you're writing a sprawling open letter, a manifesto of your dissatisfaction, going as far as buying a domain and setting up a website to publicize how upset you are, just to complain to a place that you volunteer at, you know, maybe it's time to just let it go. Maybe don't volunteer there. StackExchange isn't even a charity, it's a private for-profit company.

At the end of the day, people visiting the site just did a quick Google search and wanted their questions answered for free. They are generally unwilling to pay for this service. If StackExchange didn't exist something very similar would take its place. None of the general public needs to hear about whatever moderator drama took place, even if something criminal happened. It's not our problem.

The users don't actually implicitly value what the moderators do. So if the moderators aren't happy, they should do something else with their valuable time.

<comment> brian-armstrong This is a shockingly unempathetic way to view the situation. These people have poured lots of their time into making SO work, and they deserve to be heard. There's no way anybody could build this service without volunteers. These things don't just spring up from the ground on their own, and as someone who uses the SE properties for personal and professional reasons, I hope these moderators can find some sort of satisfactory resolution.

<comment><USER57> I agree. Without these people the site could fall into a mess of bad answers or a self promotion answer driven platform like Quora.

<comment><USER58> Sounds like they are so important they should have been compensated. I mean, if they were so critical to the success.

<comment><USER59> They've got compensated in visibility. I don't know any moderator with less than 20k points to date.

And the more points you have, the upper you stay in the ranks and you can always embed their badge in your website.

So, yes, they don't earn money, but they receive visibility

<comment><USER60> What does this visibility mean? Can it be converted to cash somehow?

<comment><USER61> I suppose if your profile on StackOverflow is high enough you could put it on your cv.

SO also has a jobs site, which I suppose can be linked to your profile if you want it to.

A company I consulted at one time was trying to improve it's profile for job applicants so they wanted people to put up their github profiles and SO profiles in some advertisements or whatever they were doing - I think it was on linkedIn they were doing this. Anyway I think they stopped because nobody had a particularly high impressive number so why would you even want to do that (but they did it)

<comment><USER60> Lots of SO points means I spend a lot of time there answering questions (usually during work hours). Not sure I'd want to advertise that.

<comment><USER61> I would totally agree with that, however I have over the years developed the suspicion that people who make hiring decisions might not be operating at the same logical level that I am.

Given both that suspicion, and how they seem to behave about prominent github profiles and such, I think that being in the top 20th percentile or so on SO and a strong focus on the tags that correlate to the terms in a job announcement might be a big draw to some HR people/managers who just really don't want to mess up one more time! After the fifth complaint or so of programmers we hire don't know how to code or whatever - it might be soothing.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER62> Dear moderators,

Stop flagging stuff as dupes, then I will support your thing. And also why do you work for free,

Love, Kevin

</comment><comment><USER63> I'm confused here. What's the TL;DR of what happened?

</comment><comment><USER46> yea these pronouns affect like 0.01% of people but go ahead and worry about them instead of everyone else and youll ruin every community

when are people gonna figure out that you cant make everyone happy and the people who whine about pronouns wont ever stop

nice downvotes lol, cant handle the truth?

<comment><USER64> Pronouns affect most people. Most people use them. If you are talking about trans people, it's estimated to be about 1-3% of people. That's roughly one in thirty to one in a hundred people.

That puts it at about the roughly same numbers as the number of redheads. It's uncommon, sure, but it's not totally minuscule.

Trans folks are also one of the most likely (if not the most likely) minorities to suffer physical violence just for who they are. All they are asking for is the same basic level of respect and politeness that anyone else gets.

<comment> barry-cotter > If you are talking about trans people, it's estimated to be about 1-3% of > people.

Transgender Demographics: A Household Probability Sample of US Adults, 2014

American Journal of Public Health

[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5227939/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5227939/)

Transgender individuals made up 0.53% (95% confidence interval = 0.46, 0.61) of the population

<comment><USER64> Health and Care Utilization of Transgender and Gender Nonconforming Youth: A Population-Based Study

Pediatrics Journal

[https://pediatrics.aappublications.org/content/pediatrics/14...](https://pediatrics.aappublications.org/content/pediatrics/141/3/e20171683.full.pdf)

Participants included 2168 (2.7%) students who identified as TGNC and 78 761 (97.3%) students who identified as cisgender.

There's a reason I give such a wide range. Maybe I should widen it to 0.5-3%, but I believe that in the past 5 years we've seen an increase in the number of people who feel comfortable with a trans or gender nonconforming identity.

<comment> barry-cotter Trans and Gender Non-Confirming != Trans

Using that article as a source for trans population is like saying 40% of the US population are people of colour, therefore 40% of the US population is black.

<comment><USER65> The TGNC group identified as transgender, genderqueer, genderfluid, or unsure. Cis people with unusual gender expression didn't count.

</comment></comment></comment></comment></comment></comment><comment><USER66> Who else remembers the world before SE, when people just did exactly the same thing as SE, but on mailing lists, and we found answers via web search, and we didn't need all this moderation, categorization, voting, etc?

<comment><USER67> Stack exchange works a lot better for me than mailing lists did. Its greatest contribution is the near elimination of duplicate questions.

<comment><USER68> Except that every new question gets shut down as a duplicate and the older question being "duplicated" is 5 years old, full of obsolete answers, doesn't address the subtle differences in what people are asking, etc.

They want to use the Q&A format to build something Wikipedia-like for each site's subject areas but the incentive structure hasn't lead to Wikipedia- level content curation.

Mailing lists, sub-Reddits, forums... they all end up high duplicative. But people are also paying attention to all those duplicated answers, and the next go 'round they contribute an even better answer, and maybe that ends up in a FAQ or wiki and someone actually puts in the effort to keep it up-to-date.

Or Google figures out the best answer based on being newest, click rates, whatever other voodoo that they do. Which, in my experience, is almost never a Stack Exchange.

</comment></comment></comment><comment><USER69> Stack exchange has had issues from the beginning with absolutely horrible people being mean aggressive and deflective, telling people they are idiots for not providing 110% of available information in their first answer. Moving to close questions as duplicates or irrelevant while the answer still hasn't resolved anything. The site supported this because it helped promote their "one true answer high on google ranking"-value drive

It's been an extremely toxic environment, which however was very useful for searching out answers to common questions after the fact.

Now not too long ago I thought from their public communication that they wanted to fix this, or at least make some serious headway towards reducing the toxicity and vile. But no. Instead they decided to hire the assholes and have them be assholes to the community moderators. This time over something as silly as the right to not always actively referring to people in gendered terms.</comment>


Microsoft offers software tools to secure elections - <AUTHOR> https://www.apnews.com/7e78189c21ce4a7cb7cb73432705c3ca <comment><USER2> Duplicate and not the original source.

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

[https://blogs.microsoft.com/on-the- issues/2019/05/06/protect...](https://blogs.microsoft.com/on-the- issues/2019/05/06/protecting-democratic-elections-through-secure-verifiable- voting/)</comment>


ARM demos the Cortex-A9's web browsing skills on video - <AUTHOR> http://www.engadget.com/2010/01/05/arm-demos-the-cortex-a9s-web-browsing-skills-on-video/

<comment><USER2> Hmm, looks like the network is the bottleneck to me. Those pages load at about the same speed, so this is IMHO nonsense.

<comment><AUTHOR> Some of the pages are refreshed, so most data should be cached locally.

I'm not sure if web browsing really is a good benchmark for cpu comparison -- I can imagine that Firefox isn't really optimized for ARM.</comment></comment>