Hacker News new | past | comments | ask | show | jobs | submit login
Including “And. And. And. And. And.” in a Google doc causes it to crash (support.google.com)
1473 points by patneedham on May 5, 2022 | hide | past | favorite | 411 comments



``` TypeError: Cannot read properties of null (reading 'C') at Ccf (https://docs.google.com/static/document/client/js/157553674-...) at Bcf (https://docs.google.com/static/document/client/js/157553674-...) ```

Has something to do with grammar. The document does not fail when `Show grammar suggestion` is turned off.


Also, Therefore, And, Anyway, But, Who, Why, Besides, However.

Each in caps 5 times with the same word with a period and space after each word and newline at the end is what I have found so far.

Can anyone find others?

Edit: added words that work found in other comments, and found more.


How about "Whereas", "Insofaras", "Notwithstanding", "Thetruthofthematter", or "Despiteallobjections"? Didn't try them, but these were "reserved words" in Go (actually an easter egg) until 2017 (https://stackoverflow.com/questions/2489803/notwithstanding-...).


This is the strangest parsing fact I've learned since PHP having a token named T_PAAMAYIM_NEKUDOTAYIM. (Because the parser was developed in Israel.)

https://stackoverflow.com/questions/592322/php-expects-t-paa...


I don’t speak hebrew but someone online said that this is an unnecessarily literal translation of "double colon" and it’s not what most developers would call it. Take that with a grain of salt though.


The history of that entire fiasco is quite comprehensivly summarized at https://phil.tech/2013/wtf-is-t-paamayim-nekudotayim/ .


What a childish rant that blog post is though...


That was a nice history lesson actually. I remember being confused at the error message, looking it up, being confused at the explanation... because I hadn't learned static calls yet. I may not have even understood classes at that point, but that was way back in the day.

If PHP support has to handle the same stupid question about the meaning of a very unnecessary term that's confusing people and causing more support requests than anything else... then it made sense to change it.

I'm glad I read the blog post; it clears up a LOT of thoughts I had about the error... calling it childish seems off. Maybe you had a dog in the fight at some point?


> Maybe you had a dog in the fight at some point?

No! But read the part where Rasmus Lerdorf "beams into" the conversation and his opinion is dismissed with "let's take a vote".

I mean, if you wanted a language that wasn't intentionally designed by Rasmus Lerdorf, you kinda picked the wrong one. This is what I was referring to.


Seems plausible since afaik the other constants were in English, so this seems to be a developer's joke.


It was a joke, a troll really, that just gave PHP haters something else to deride the language with to people who don't know it that well.


If you look it up, this token can have two names. It is indeed a double colon :)


Oooh now I wonder if it literally means "dual intestine".


Nope, it's literally "twice colon" where colon is specifically the punctuation mark. פעמים נקודותיים


Ahh dreams dashed.


I thought we were talking about colons?


Dashed? Em-dashed? Hyphenated? Or just subtracted?


U+1F4A8


Widely known because the token names were surfaced to users in error messages, so some common syntax mistakes would produce deeply unhelpful "Unexpected T_PAAMAYIM_NEKUDOTAYIM" errors. Hopefully they eventually did something about it, but it was like that for years and was one of the many things that put me off PHP for life.


> Widely known because the token names were surfaced to users in error messages, so some common syntax mistakes would produce deeply unhelpful "Unexpected T_PAAMAYIM_NEKUDOTAYIM" errors. Hopefully they eventually did something about it, but it was like that for years and was one of the many things that put me off PHP for life.

One can like or dislike PHP for a variety of reasons, but surely being put off it for life because a non-English string is exposed to the end user is a bit much.


As another commenter said it was "one of many things". Also, it's not the fact that it was non-English that was off-putting. It's more the fact that the T_ identifier was used, presumably via a macro.

People are often defensive about PHP, but at the end of the day we choose our tools. I wrote a significant amount of PHP for a brief period and out of maybe 20 or so languages I've used professionally I found it by a wide margin the least pleasant to work with. Supposedly it has improved a lot, and I'm glad if so. But I have no desire to use it again, and am unlikely to ever have a reason to.


Also the only information available to the developer when it was added in PHP 3 in 1997, good luck Googling that error. They didn't add the actual token to the error message until PHP 5.4 over a decade later.


No, it shows a certain sloppiness around the language. This has all been cleaned up and a lot of effort has gone into resolving most issues in PHP.


"One of the many things", so not the only thing, but a thing nonetheless.


They weren't reserved words. The lexer just discarded those tokens entirely.


Given the gay abandon with which people like to sprinkle them in fancy sounding sentences, perhaps this was for the best.


whomst'd've'ly'yaint'nt'ed'ies's'y'e


Probably the weirdest one I've found is "Dearness."

"Although", "Besides", and "Moreover" also trigger the behavior.


How did you stumble on Dearness?


Started running through the entire dictionary in batches of 500 words to see if each batch of 500 triggered the behavior, then binary search within the batch to find the problem word(s). Got bored partway through D.

Edit: Got unbored. Discovered that "Firstly", "Secondly", "Thirdly", and "Fourthly" trigger the bug, but "Fifthly" and above do not.

Edit 2: The first word can actually be any of the "problem" words -- "Also. And. And. And. And." also has the issue.


Upvote for unbored. And a perfect illustration for HN xD


That sounds about right for HN, well done.


Interestingly, "Or. Or. Or. Or. Or." doesn't trigger it.


By DeMorgan's laws, typing this in a Google Doc causes OneNote to crash.


By DeMorgan's Law and Bill and Ted's Excellent Low Precedence Right Associative Postfix Sarcastic Not, "Or. Or. Or. Or. Or. Not!" crashes.


I love this comment and I live Bill and Ted’s Excellent Adventure so I transitively love you.


I see Google has finally implemented the Zombie Strunk & White AI like I requested years ago.

I did not expect them to weaponize it, but Skynet does as Skynet does.


Probably just getting triggering excessive backtracking on some regex.


Ironic, from the authors of RE2. They know the correct way to implement regexes.

Though, when I worked on Google's indexing system, some researchers were having machine learning generate regexes to run on every page in the visible web... and mis-implemented the feature to re-compile the regex to DFA (which re2 effectively lazily converts to NFA via memoization) for every single page load. The speed of the indexing system dropped in half one day, and <Edit: Name Witheld> dug into it. <Name Withheld> took the gperf graph showing the giant node for regex compilation and wrote a savage meme "Your mother doesn't work here. Optimize your own code.", and sent it out to the researchers in question and also the indexing team. Maybe 6 months earlier, I cut into the same researchers for writing and approving C++ header file changes that defined (and leaked) macros "DO" for "{" and "OD" for "}" so that they could write C++ a bit more like Bash. As I remember, the macro leak for DO caused compilation errors in SpiderMonkey, which I fixed. After fixing the breakage, I just left an extra comment on the code review "Really? Leaking DO and OD macros to avoid typing curly braces?" without emailing any lists. They were really embarrassed removed DO and OD within a couple of days, and <Name Withheld> didn't know that I had laid into them a bit 6 months earlier.

(I had implemented some very coarse-grained super-lightweight type-based data flow analysis into SpiderMonkey, which is why some of the Google headers were being included while compiling SpiderMonkey.)


Some people might get off on that kind of culture. But this story makes me glad I don’t work there for some reason.


There's a good deal of responsibility in writing code that is going to run over every single page (and PDF document, MS Word doc, the higher ranked Flash animations, etc.) in the visible web.

For my part, I once made a bad assumption about how the Google SAX-style parser handled callbacks for zero-length XHTML start-stop tags. I presumed that <title/> would get a callback with the end-of-open-tag and start-of-close-tag pointers being equal, at the character after the close of the tag. Instead, the parser called the callback with the start-of-close-tag pointer after the start-of-close-tag pointer. (I had misinterpreted the API as passing pointers to the start and end of enclosed content.) I had test cases for un-closed <title> tags and <title></title>... but when my code hit production, the few pages (fewer than 1 in a million) that expressed an empty title as <title/> caused my code to try and construct a string with negative length and crashed that portion of the indexing system. I was right to feel very embarrassed for my oversight.

I remember the savage meme so clearly because it was quite out of the norm, and I felt bad for the guys since they were so quick to fix things even when not publicly shamed. (Only the author and reviewer got notified when I left a comment on their code review.)


What does it mean that you were right to feel embarrassed? You were wrong to make the mistake, sure, but that happens. That’s what a mistake is. It’s not clear to me what shame helps in this instance. If somebody has a pattern of not meeting a quality bar with their code that’s one thing, but otherwise cutting people up for mistakes really seems like bad culture. Aren’t you supposed to practice blameless postmortems and all that at Google?


There wasn't a post-mortem in my case.

I had thought of the case for <title/> but basically out of laziness talked myself out of writing a separate test case for it, presuming the test cases for a zero-length title and an un-closed title covered the corner cases. (The entire document was guaranteed to be converted to valid UTF-8, perhaps with invalid character substitution characters, by that late in the Content Converter pipeline.)

So, as soon as someone asked me if I had changed the title parsing code, I was 50% sure of which corner case I had screwed up before looking at any code. It took me about 30 minutes to submit a code fix with updated test cases. I think less than 1 billion documents had been processed, resulting in less than 1,000 pages missing updates due to my bug.


Parent comment is onto something. You sound traumatized.


I was a couple years out of school, and felt a lot of responsibility. It wasn't really a big deal, but it didn't feel like it at the time.


What a great story nevertheless.


It helped me empathize with young engineers dealing with their first high responsibility bug.

About 4 years ago, I was managing a guy right out of school who pushed a minor bug that broke real-time risk calculations for a major multinational financial institution in the middle of the European trading day, prior to the NYC open, and people were yelling over email that they were trading blind. Someone had committed an important change right after his, so a simple rollback was highly sub-optimal.

Remembering how I felt years ago, I reassured the new guy that people were yelling over email because it was important, not because they were mad at him. I told him that I thought he was the most familiar with his change and the most capable person to fix it, and that he should do his best to calm down and focus, but he should let me know if he needed help, and I would do my best to calm folks down. I told him he would probably remember that mistake the rest of his life, but nobody else was going to remember it a week later. He had the bug fix in production in under an hour.

He sent me an email from home that night worried that he had let the team down, and I reiterated that he was going to be the only one who remembered the mistake longer than a week. The post-mortem follow-up was just to reiterate to authors and reviewers the importance of corner-case tests, and nobody brought it up later.

I really only remember it because my manager sent me an email that night praising how well I handled the new guy's first big production bug.


"I reassured the new guy that people were yelling over email because it was important, not because they were mad at him"

This is outstanding advice, and very well put. I shall be borrowing it, thank you!


For someone who sort of justified a humiliating response to a mistake a few comments above, this seems really well done! Congratulations.


I have to say you tell good stories about how wonderful you are.


That's a fair criticism. Deep down, I usually have a pretty high opinion of my abilities. I think I'm pretty good at hiding it in person, but I'm less good at hiding it in my writing. I feel happiest and most excited to write when I'm thinking about some of my happiest memories. I try to also be open about the mistakes I've made. I've generally been much more lucky than skilled.

I've definitely written more than one bug where post-mortem estimates were over $10,000 in losses.

August 20, 2013, I finished a code change (in Hong Kong) to Goldman's global algorithmic trading system and sent it out to a colleague in Europe to review. A friend of mine was a machine learning person in our Tokyo office and was in town for work, so a bunch of us had dinner and a small number of drinks. I stopped by the office on my way home to check if the change had been approved. It had, and I hesitated a bit to put it in production, because I had a couple of drinks and it was late at night. However, rationalized that I had written all of the code while awake and without a drop of alcohol, and pushed the change into production.

I woke up the next morning to read news [1] that Goldman had lost up to 100 million dollars in an automated trading problem within 1-2 hours after I pushed my change. I couldn't see how my change could possibly have caused that error, but was still a bit panicked until I reassured myself that my cell phone would have been called once a minute until I woke up if I had made a change that caused a loss of that magnitude.

I went into the office and saw that a chat window I had open with a friend in the NY office showed "presence unknown". An email sent to them bounced. So, I walked over to the derivatives (Flow) Strats desk, sat down in an empty chair next to one of my friends, and just quietly said "... so " and the name of my friend in NY. My friend on the Flow desk's eyes got wide and he said "how did you know?". I actually didn't know until the Flow Strat's reaction confirmed my guess.

My friend in New York was actually very careful, but he had been working under time pressure late at night and pushed a bug into production. He'd been more responsible than I had the night before. I got really lucky, and he got really unlucky. He's actually a really solid engineer. He caught plenty of very subtle bugs in other people's code, at least once when he hadn't been asked to review the code.

After August 20, 2013, if at all possible, I push changes into production before noon, and not on Fridays.

If memory serves the "maybe $100 million" ended up being around $28 million.

And that's the time that I could have easily caused a $28 million loss.

There was also a time I misplaced a paren and had a bad actor noticed, they could have used 60 million customer computers in a DDoS UDP traffic amplification attack. My test cases weren't matching my hand-worked-out examples, but I eventually just gave up and assumed my code was correct and put incorrect values in the message authentication code test vectors. Never roll your own crypto, especially if your test vectors aren't coming out as you expect. That was 2004.

[1] https://www.cnbc.com/id/100976404


It's your fault, you were the manager, the yelling should not even have leaked to the developer, it should have stopped with you.

Edit: if you are managing someone who is new in a job, it's your job to make sure they don't push bugs to break important stuff in the first place.


I don't think we can assign blame in a complicated situation based on a two-paragraph retelling, please have a bit more empathy.


The "yelling" was coming to the team email list, asking for ETAs and progress updates for when real-time risk would be back up. Roughly 4 people at the time knew the bug could be traced to the new guy's commit, and none of those people were doing the "yelling". And it was Goldman, so the "yelling" was kept very professional (no swearing, strictly enforced). But, there were literally tens of billions of dollars that needed to be dynamically hedged, but that wasn't possible without real-time risk, the European markets were open, and markets in the Americas were going to be open within a couple of hours. Trading and management were making sure that that everyone on the team email list understood that this was drop-everything important, perhaps using all caps.

Yes, I and the person who reviewed the change bear more responsibility than the new developer. Also, I say "new guy", but the person who had interned with us the Summer after "the new guy" had already joined full time at that point, so "the new guy" had been working full time with the team for at least 9 months at that point. I also remember the room where it happened, which wasn't the first room we were in, so maybe he had been with us full time more like 18 months. In any case, it was the first time when he was trying keep the weight of billions of dollars out of his head and calmly but quickly fix a bug.


> It's your fault, you were the manager, the yelling should not even have leaked to the developer, it should have stopped with you.

That's impractical in organizations with flatter structures and general purpose communication channels.

What would you suggest, kicking everyone off of internal IRC/Slack/mailing lists/etc.?


Did you consider the fact that you probably know nothing about the dynamics of their workplace, the structure of their management/leadership, etc. before assigning blame?


I don’t think laziness (in this comment or the ones about the bash-like C macros) is the right word.

I guess there is some pressure/tiredness/newness/taste/external factors driving the choices, test count, and style guide aberrations.


Probably typing on a non english keyboard. When I learned C a long time ago, I read somewhere 'isnt it nice that one doesnt need a lot of keystrokes like for begin and end', and I thought pls give me begin and end instead of this unpleasent slow hand movement.


Spot on. It's the reason many non-native speaker developers I know nevertheless use an English keyboard layout. I personally made my own hybrid layout that is basically an English US layout with the letters rearranged according to my native layout.


The author was born and raised in Brooklyn and went to Cornell, if I remember correctly. As far as I know, English was his only language, and he was almost certainly using either US QWERTY or Dvorak keyboard layout.


In that case it is bizarr.


> I thought pls give me begin and end instead of this unpleasent slow hand movement

Have you tried trigraphs? (/me ducks.)


Yes, "laziness" is unfair and imprecise, a laziness on my part. :(

I think it was an issue of familiarity and comfort, not newness. The author joined Google before I did. If you're basically working with one other person, and you're rarely getting code reviews from outside your coding pair, and few other people interact with your code, it's easy to develop some bad habits and forget that your code choices have externalities. To be fair, the externalities were usually rather small.


This may all be a matter of different nuances on words like "embarrassment" and "shame", but personally, I would put higher trust in someone who firstly recognizes that they could have done better and secondly regrets that they did not, and I would prefer to be that way myself, without being rendered ineffective by it.

One can never, however, be sure that someone really feels that way ("The secret to success is sincerity - once you can fake that, you've got it made!") Nevertheless, faking it involves never saying certain things, and that turns out to be hard, so the fallible approach that I aspire to is to assume sincerity unless given evidence to the contrary.

In this view, blameless postmortems are the right way to go, at least up to a point: neither embarrassment nor regret are things that can truly be imposed from outside, and definitely not sincerity.


My recollection from my time there, as well as one of the biggest cultural differences noticeable between my and my workplaces since, is that big chunks of the company really do believe in the blameless postmortem ideal.

But culture isn't a magic tool that completely neutralizes assholes, and there are assholes in _every_ organization of sufficient size, like the "[name redacted]" character in the previous post


I probably should have left [redacted]'s name out of it. He's a nice guy, but a bit cynical and rough on the edges, at least he was 15 years ago. He fit in well in New York, brutally honest, but actually generally nice.

Edit: I should point out that we were in Google NYC, as were the researchers. We had lunch with them some times. I remember the first name and face of the guy who submitted the slow code, but forget his family name and intentionally left his name out.

New Yorker to New Yorker adds a lot of context. Google's corporate culture is generally very Californian, but this happened all within the New York office between people who generally got along pretty well and knew each other decently.

In context, there was a heavy note of respect for someone's abilities and disappointment that they weren't performing at a top level. He wouldn't have been so harsh with someone who was new or was a weaker engineer, or someone who wasn't used to New York culture.


Yeah, that might have made it sound as if he's always like that. To his credit, he was one of those that had to be involved when things got desperate, e.g. the insane and massive data recovery to prevent the index from growing stale during a PCR that wasn't properly planned for (if you were around, you know what I'm talking about).


Yea, nice guy and solid engineer. He was actually my TA for a systems engineering class back in school. He was actually very helpful in solving other people's problems, but a bit blunt in encouraging people to reach their full potential.


"What happens in New York stays in New York"? What kind of bullshit is this


> New Yorker to New Yorker adds a lot of context. Google's corporate culture is generally very Californian

As a lifelong Californian who moved to NY, this makes sense.

Though I don't know if it's a blanket excuse... There's a reason that my friends at Goldman would agree that Google's culture is better, and a lot of it has to do with the difference between CA and NY culture. I completely dismiss the claims that the difference is just about surface-level abrasiveness, instead of noticeable differences in how unkindly people treat each other. I regularly see strangers here treat each other in ways that I didn't see in 30+ years in California.

Ie, "he's from New York" isn't quite a rebuttal to "he's being an asshole at work". The work culture is more tolerant of assholes, but that barely makes it better.


I grew up in the upper Midwest, went to school outside Boston, and spent most of my adult life in New York and Hong Kong. I haven't spent much time in California, so maybe I'm placing too many of the cultural problems I saw at Google at the foot of Californian culture. I saw lots of pressure to "be Googly", which seemed to result in a lot of passive-aggression. That matches the stereotypes I've heard of LA and SF cultures.

New York and Hong Kong are both very impatient places that don't suffer fools lightly. They're both brutally honest places, but with strong shared identities. Both places have lots of people from elsewhere who are sympathetic to being new to the city.

The quintessential New York story is the woman pushing a stroller (buggy, for my overseas friends) out of a subway car. A man in a hurry is passing her, looks over his shoulder, they make eye contact and silently agree he should help. He grabs the front of the stroller, they carry it up the stairs, and he sets the stroller down at the top of the stairs. They give each other a nod, and he runs off. Never a word is spoken. On the other hand, if you stop in the middle of the sidewalk to read a map or talk on the phone in New York, don't be surprised if people bump into you, perhaps on purpose.

I just left Goldman after more than a decade. I actually really preferred the corporate culture to the Google culture, but most of my time was in Hong Kong. I even knew a couple of people who worked at Goldman, went to Google, and came back to Goldman. I don't doubt that there are some assholes there, particularly in trading, but my experience in both Strats and Technology was overwhelmingly positive. In my experience, abusive MDs didn't last long, but maybe I was very lucky. If you're having a tough time, I don't want to give out full names, but some pretty unique names: Laurent, Jia, Dunstan, and C.K. all really seem to care for their folks. The heads of SRE, One Delta Strats, and Flow Strats in Hong Kong also seem to be really great managers, but Grahaeme, Nick, and Alain are pretty common names.

At Google, a friend of mine managed a couple of small teams (on a shoestring budget, using mostly interns) and completed a couple of projects ahead of time, only to get them cancelled by middle management right before launch. One of the projects even had heavy buy-in from upper management, but he got essentially zero credit for either one because they were cancelled before launching. It was incredibly frustrating for him and he left. In my experience, Goldman runs projects much better, particularly using "Projito" internal contracts that list the value proposition, deliverables, timetable, and whose budget is paying for it.

Also, despite Goldman's reputation, I saw a lot less arrogance at Goldman than at Google. Goldman has a much more healthy respect for its competitors, though with good reason. I've also seen a few people transition from Google to Goldman and take a bit of time to adjust to the idea that Google's way of doing things is best in Goldman's operating environment. At Google, I got the sense that lots of people thought that Google was better than its competitors because they were smarter. At Goldman, I got the sense that lots of people felt they were better than their competitors because they had higher expectations of themselves.


Why am I not surprised that you are actually not a New Yorker, always the transplants that project their most negative sides onto the city culture as an excuse


(I've redacted the person's name from the parent comment and other comments in this thread. I realize you didn't introduce it originally. Probably best not to leave up though, and it isn't necessary for any of the substantive points here.)


It's also ironic that the original engineering culture at google was explicitly breaking away from this type of pennalistic shaming culture, and was seen as a big factor in the initial success.


Really?

Is there any science showing rude reviews improve some metric or some greater good?


It wasn't the best way to criticize the code review. If I could go back in time 15 years, it's also not the first mistake I would fix. It stuck in my mind because I felt bad about it. I was frustrated that I had been hounded to drop what I was doing and fix the build because of clear style guide violations that a reviewer let slip. (A couple years later, Google implemented every commit getting a full compilation and run of all tests that code-coverage showed affected the covered code. These days, I wouldn't have been hounded to fix a build break caused by someone else.)


Conversely I would prefer to work in a place like that. Professionalism at scale isn’t achievable by tolerating idiotic behaviour and being nice to everyone no matter how dangerously stupid they are being.

There is a point where someone has to put their foot down and demand things be done properly, otherwise the inevitable consequence is a giant mess leading to disaster.

You might be used to small startup teams with responsible, experienced developers.

Out there in larger industry you get people doing absolutely crazy things that break huge, expensive systems.

There’s a difference between “oops I didn’t realise this library doesn’t scale the way I assumed it did” and “rewriting language symbols because I’m too stupid to use more than one syntax forever and ever.”

The standard you walk past is the standard you accept.

Are you saying you would walk past C code with DO…OD instead of {…}?

Would you accept that standard just to be “nice” all the time?


There was a time when I would have agreed with that.

What I've learned since then is that, with a healthy company culture, you can give frank feedback -- even about stupid mistakes -- without it being a rebuke.

It's also important that you target the right problem. It's only human for smart people do stupid things sometimes. In the specific DO...OD example, I'd be more interested in how it got through a code review than the mistake itself. (Funny enough, early versions of the C source for Bash itself had macros like that.)

Now, if someone exhibits a pattern of ignoring good, constructive feedback, that's a problem. The folks I've seen like that both gave terrible feedback and took feedback terribly. That's a behavioral problem, and you only get so many chances to correct that before it's time for them to find other employment.


> There is a point where someone has to put their foot down and demand things be done properly, otherwise the inevitable consequence is a giant mess leading to disaster.

This is what management is for, too bad tech companies are too cool for that and prefer to live out lord of the flies.


I’d rather have software engineers make the decisions about software engineering than insist managers do that job.


What if the manager is a software engineer?

I would just like to know exactly how are the engineers going to make the decisions, and the key point here being that they are in plural.

They all have different opinions, preferences, levels of ambition etc, how does this spontaneously merge into a cohesive team that pulls into the same direction?

It doesn't, in any other type of group in all of society. Every group needs a leader, so how is this spontaneously going to "just work" in software engineering?

If you don't want to have a manager, you have to have something else. Democracy? Plutocracy? Gerontocracy?

I think it's pretty obvious that just leaving it to chance is not going to be efficient or any type of healthy environment, and will probably quickly start to resemble something pretty nasty, especially because their livelihood is on the line.


>things be done properly

Now if only we could all agree how that looks exactly


having spent time on both sides of the fence, i've noticed that there can be a rivalry of sorts between software engineers and ml/ds/researcher types.

researcher types often get to work on problems that swe types find interesting, so some swes get grumbly. researcher types also tend to write pretty horrific code which adds salt to the wounds.

but there also can be a sort of envy that emanates from the research side. many are fully aware of their shortcomings and are envious of the swes ability to get things done on computers cleanly.

it often seems that there can be yearning to wear each other's hats from the two groups. if i were running a company i think i'd try to break down that wall as it would probably make a lot of people happier.

of course, the right answer here isn't a meme... it's performance regression tests in the ci suite. and maybe a little training on why customizing a programming language with macros is bad.


> maybe a little training on why customizing a programming language with macros is bad

Both the author and the reviewer had passed C++ style certification. They knew why it was bad. They just got a little lazy and wanted to write their code in a way that felt familiar to them, and figured it was harmless. I got a bit grumpy at having to drop what I was doing right away to fix their mistake due to their laziness.


also, just to be clear. the macro only included open and close curlies?

if so that's silly, as it is literally 2x the work to type.

if they also included some sort of state that had to be managed, then it starts to verge towards reasonable.


I think that maybe the author felt like finding the end of a loop stood out much better that way, instead of trying to distinguish the ends of conditional blocks from the ends of loops. If you're used to poorly formatted code in an ML PhD program, it does make some sense. I've worked with a bit of academic Fortran code for my mechanical engineering degree and can sympathize. Also, D and O are shorter reaches on the keyboard than { and }.

Yes, "OD" was definitely just "}". DO might have been ") {" to allow

  while (a < b DO
     ...
  OD


That's hideous. The unbalanced parenthesis just grates.

The real answer is to just do something like

  }  // while
to show that it's the end of the loop rather than the end of an if, and not play ridiculous games trying to hide the curly braces.


> if so that's silly, as it is literally 2x the work to type.

True on a US keyboard, not true on many others.

I still find this kind of preprocessor abuse horrific; I’m just responding to your specific statement.


It would be sorta reasonable in a header that only your code uses and is unlikely to be transitively included from elsewhere.


You'd be surprised where your code ends up getting used in a monorepo when you have thousands of software engineers all working on it.


that's the downside. nobody owns anything, dependencies and deployments become opaque.

i once had a team lead in a quasi monorepo situation tell me straight up to copy-paste some functions i was interested in from their code. they made up some fishy story about deployments. was the story true? did they even know? did anyone know? who even owned it? would they even know?

or the guy who got up in arms because i touched his team's code and didn't write the unit tests that they didn't write when they originally wrote the code.

oh, monorepos.


It's funny you should say that, I definitely was the DS who wanted to be an SWE. I switched hats and am just thrilled, but I do run into a lot of my new peers who wish to go the other direction.

Finding some perfect compromise for those groups would probably be a superpower for whichever org pulled it off, I agree.


This is STEM culture in general, the closer you get to the "pure sciences" the more nasty and harsh the environment is, and vice versa.

When you go far away from the humanities, you lose some humanity.


> "DO" for "{" and "OD" for "}" so that they could write C++ a bit more like Bash.

Bash (like Bourne shell before it) uses do/done. I think DO/OD was in an Algol (68?). I'm not sure where else?

Bash does do the reversing for if/fi and case/esac, though.


Steve Bourne wanted to use `od` to match Algol 68, but there was already an `od` utility for printing octal dumps.

The original bournegol macros for DO and OD were a bit different:

  #define DO ){
  #define OD ;}
https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh...


But why it even happened?

Typically you run Flume over docjoins in your project’s quota. If you screw up, all that should happen is that your Flume job is out of quota.


This was in the Borg days, pre-Flume. As I remember, we had at least one Borg cluster to ourselves for indexing. Our quota was a cluster.

We cared because indexing latency is important. Engineers get paged and woken up in the middle of the night when indexing latency gets high. Doubling CPU usage meant doubling indexing latency. The pre-Percolator indexing system ran roughly 1,000 threads per box on roughly 1,000 Warp18 boxes. Of course, most of those threads were blocked on I/O. (Warp18 was something like 16 cores per box... I think those were the RevE Opterons that had the memory fence bug that caused the glibc semaphore implementation to not actually synchronize operations.) I personally would have written things using more async and/or non-blocking I/O, but the main reasoning in Google at the time was that massively multithreaded blocking I/O is a simpler programming model and closer to what was being taught in school those days.

Also, the indexing system's quota is huge. Someone made a mistake in their benchmark program that they thought got maximum utilization out of the Warp18 hardware. The indexing system actually got higher utilization than the hardware stress-test, resulting in cooling being under-provisioned in the Atlanta datacener (more than a decade ago, I'm sure indexing has moved now). There was a couple day stretch one hot Summer where we needed to stay on the phone with staff inside the Atlanta DC to keep track of the temperature inside the datacenter. When the temperatures started to get above something like 80 F, we needed to dial back on the number of workers in our Borg jobs.

While testing the prototype for the Percolator indexing system, we were luckily sitting right next to an engineer who planned datacenters. We luckily overheard him saying he couldn't figure out why the power usage seemed to be swinging so wildly. It was literally the power usage of a decent sized town suddenly ramping up and down. We asked him the exact times power usage was ramping up and down, and figured out it was when Frank and Daniel were starting and stopping the Percolator prototype.

My best guess is that the indexing system right before Percolator was a bit more energy efficient than Percolator, but maybe not. In any case, doubling CPU usage was a big deal. Real money, and in Atlanta, probably real carbon footprint. (The Dales was hydro, but I don't think much of Atlanta's power was renewable at that time.)


Regarding the Percolator prototype's energy usage, that's a really interesting scheduling and coordination problem. I'm curious how you solved that - perhaps by teaching Borg to correlate CPU load with physical energy usage and stagger task initiation.

It sounds like it would be even cooler to coordinate with the local electricity suppliers to spin up and shed extra load a few minutes in advance, but I'm not sure if this would actually have a practical benefit.


Hey, I just wanted to say that your comments in this discussion are awesome and I’m having a lot of fun reading them. Thanks!


> As I remember, we had at least one Borg cluster to ourselves for indexing. Our quota was a cluster.

> Also, the indexing system's quota is huge.

Well, it might no longer be the case, but for a number of years the indexing cluster was the largest in the entire fleet, especially when it came to memory. I don't know if you were around in the days of yl-i (I think), but it was edifying to rank it against the Top500...

Was the datacenter engineer Peter P?


Re2 is also slower, so they might not be using it for high volume stuff.

Also I’ve heard that Google automatically fails people who use regex in interviews, so their average engineers probably aren’t the best at it.


> Also I’ve heard that Google automatically fails people who use regex in interviews,

Hmm... I don't remember that, and I conducted over 100 interviews back when I was at Google. A blanket failure for using a regex sounds like it's missing some nuance. But, maybe that was before or after my time.

I wouldn't be surprised if they start out with some interview questions that are easy to implement as regexes, but then gradually make the question harder and more general, where a pushdown automaton is necessary for a general correct solution, and fail people who either don't get a correct answer or end up implementing a pushdown automaton by dynamically generating larger and larger regexes.


I think it's more that you need to give the O(n) of your answer, which is generally very difficult to do with regex. And even if it's possible, it might not be an acceptable O(n).

In general regexes finish instantly for normal sized inputs, but the actual O(n) might be quadratic or whatever.


> Ironic, from the authors of RE2. They know the correct way to implement regexes.

> Probably…

Conclusions.


You just triggered probably 50 sres involved in this bug.


Yup, it is also partially underlined in blue and a popup suggests to replace "And. And." with "And And" just before it crashes.


Presumably people will start running having all sorts of fun fuzzing Google Docs now that they know that it’s not an infallible, opaque product…

Any web app pentesters here willing throw in their 2c? Could this offer insights into the way data is parsed in the backend, or might result in something more interesting than a crash?


Ah. So not something with the text data model.


does it talk to a grammar check api endpoint or is it done locally?

would be funny if it were a remotely exploitable bug in an api endpoint.


> Remotely exploitable bug causing grammar check api to fail to perform grammar checks? Doesn’t sound too exciting.

famous last words. finding security relevant bugs is often a game of identifying what the original developers might have found to be not "too exciting" or places they were out of their depth and then focusing intense effort on finding their mistakes.


Remotely exploitable bug causing grammar check api to fail to perform grammar checks? Doesn’t sound too exciting.


Makes sense. I was thinking something to do with document compression but that sounds more likely.


Parsing arbitrary user-provided input? What could possibly go wrong?


google doc. is well used for typing.


I find it very poetic that this crash was triggered by a poem, here's the poem:

> Duration and the body: I thought about something I had read a while ago which said that a body, the body, is defined by duration. That a body in the present is inseparable from its previous state, that a body is linked in a continuous strand… and so on and so on… I thought about my body. It’s past. It’s present… Which made me think about the word and. And. And. And. And. And. Then.

> Now. Now. Now. Now. Now, I felt in the present like I was living always alongside a previous body. This is why I had expected to find myself in the apartment when I returned home from California.

https://durationandthebodyelizacallahan.cargo.site/


Your username screams for an equal exploit tbh.


Their password is probably PasswordPassword2


Well shit


HunterHunter


Why not PasswordPassword1?


naw, it is *** That's what I see, anyway


Took me right back one of many detentions I served at school, when Mr B Swales set us the challenge of finding a grammatically correct English sentence with five ands in a row.

The answer was as follows:

The landlord of the "Dog and Partridge" pub commissioned a signwriter to letter a new board outside. On looking at the work, the landlord declared that he liked the colour but would prefer more spacing between Dog and and, and and and Partridge.


Here's 21 in a row, by Martin Gardner:

Wouldn’t the sentence ‘I want to put a hyphen between the words Fish and And and And and Chips in my Fish-And-Chips sign’ have been clearer if quotation marks had been placed before Fish, and between Fish and and, and and and And, and And and and, and and and And, and And and and, and and and Chips, as well as after Chips?


Can't one just keep recursing further?

Only with very careful intonation and appropriate pauses after a comma can someone read Gardner's above sentence aloud such that a listener can fully grok the connection between "and" and "and,", and "and," and "and", and "and" and "and", and "and" and "and", and "and" and "And,", and "And," and "and", and "and" and "And", and "And" and "and", and "and" and "and,", and "and," and "and", and "and" and "and", and "and" and "and", and "and" and "And,", and "And," and "and", and "and" and "And", and "And" and "and", and "and" and "and,", and "and," and "and", and "and" and "and", and "and" and "and".

(sentence due to Python 3).


I mean, if you're allowing that, what's wrong with:

> You should have seen this sign, it had 1000 ands in a row, and there was too much space between and and and and and and and and and ...


He has multiplied the ands. Pray he does not multiply them any further.


It is called the "and bomb".


"I am become and"


, destroyer of ors.


The ands justify the means


The Andalorian.


If you want to draw the graph where nodes are words from your comment, and two nodes are connected when they contain the same letters, you would have to draw edges between and and and, and and and and, and ...

Explodes even faster.


This one does not follow as well


It seems like cheating to omit the double quotes around the literal instances of “and” while still including them around “Dog and Partridge.”


They said grammatically correct, not typographically correct ;-)


Swedish sort of joke-sentence you get to learn in school:

"Far, får får får?"

"Nej, får får inte får, får får lamm."

English would be:

"Father, does sheep get sheep?"

"No, sheep does not get sheep, sheep gets lambs."

No, google translate does not make it unscathed through that sentence :-)


Aaron earned an iron urn.


This really only gets people with a certain accent though.



The The or Adam and the Ants or Bananarama?

I always wanted to start a Yello cover band called Purple, just to perform a song called "Oh No!"

Mmmmm, Ugly... More ugly... Such a bad time... A really bad time...

https://www.youtube.com/watch?v=6jJkdRaa04g


For doing that on hard/impossible setting, try doing it in Danish as a foreigner. Every person in Denmark I discussed language with, at one point gives this example.


'''Between (("Dog" and "and") and ("and" and "partridge"))''' for those of you trying to parse along at home.


> "Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo" is a grammatically correct sentence in English

https://en.wikipedia.org/wiki/Buffalo_buffalo_Buffalo_buffal...


It's easy enough to use a single "and" in a sentence, but "and and" and "and and and" and so on are more difficult


Clearly you've never taught intro boolean logic.

Try saying "a Nand and an And" in a way that your students can understand you.


May depend on pronounciation .. do you pronounce the NAND gate as /æn-ænd/ or as a one-syllable world /nænd/ ?


a NAND, and an AND with proper stresses and pauses, it's not that hard to say clearly...


Curiously, if someone wanted to put that on a sign suddenly you can take the story to as many "and"s as one might want...

So, the the trick is using it as a conjunction and a noun.


A russian equivalent based on the fact that foreign words aren't declined: Человек человеку волк, а зомби зомби зомби


I heard it with "Fish and Chips".


I would love to know what other tasks Mr B Swales had in his detention assignment rotation!


My homework was to write a sentence with 5 ands in a row, so I wrote "and and and and and."


Why did that lead to detention?


I could be wrong, but I think it was a task the teacher set during detention


Discovered by Eliza Callahan triggered by a poem in the middle of her novel. (Friend of a coworker) That poem can be found here: https://durationandthebodyelizacallahan.cargo.site/ - if viewing on mobile you have to Request Desktop Site for some reason, at least on Android it initially shows up as a Lorem Ipsum page


As arguments for the thesis that the tech world needs to embrace the humanities go, an author discovering a bug in a google product by writing a poem is pretty good, if maybe a bit too on the nose.


Perhaps that is the missing link for why tech is so artificial and not humanly. we could use some more art than capitalistic efficiency in the Apple logo


I know you didn't write that poem, but I'm 99% certain the apostrophes in "I thought about my body. It's past. It's present." have no business being there :)


Might be intentional, simultaneously talking about the past and present of a body and also literally that it is past. It is present. It would not be weird to have that kind of wordplay in a poem.

But also this was from an early draft so it could be a mistake.


Seems like it could go either way.


it appears to be bugs all the way down


On iPhone Chrome it doesn’t show up either way.


Here's a bug I discovered in MS Word in 2004, which has survived the past 18 years of updates and is even present in the web version: https://1drv.ms/w/s!AgYiBqBjIZZpfkcvO9jnOel9T2o?e=tFA4wp If you join the two lines using a backspace at the start of the second line, the second line turns into gibberish.


Rewritten for clarity (and because I now actually know what's happening):

If you look at the XML (change .docx to .zip) in styles.xml you see the declaration of the style "BodyText3":

  <w:style w:type="paragraph" w:styleId="BodyText3"><w:name w:val="Body Text 3"/><w:basedOn w:val="Normal"/><w:semiHidden/><w:rPr><w:rFonts w:ascii="Wingdings" w:hAnsi="Wingdings"/><w:i/><w:iCs/><w:strike/><w:color w:val="FF0000"/><w:sz w:val="52"/></w:rPr></w:style>
The first line ("paragraph") has its style set to "BodyText3", but also has formatting on that section of text itself, overriding it. Once the lines are joined into one paragraph, the paragraph formatting appears in the second part because that text does not have a style to override it.


Steps to reproduce:

1. Create a Word document (most likely using the Blank document template, Normal.dotm)

2. Type text of first line; press Enter; type text of second line (technically Word calls these 'paragraphs'--Shift+Enter inserts a newline within the same paragraph)

3. Place cursor on first paragraph

4. Click a Paragraph Style from the Styles ribbon section to apply it (e.g., the second one, No Spacing)

5. Right click the style; choose Modify...

6. Change the formatting (e.g., the font to Wingdings)

7. Confirm the dialog

8. Select the entire first paragraph (doesn't matter whether you include the end-of-paragraph/newline)

9. Use manual formatting to override your changes to the style so the text matches the default style, Normal (e.g. use the listbox in the ribbon to change the font back to Calibri)

Done; if you now delete the newline, the second paragraph merges with the first and takes on its style, as parent points out.

Styles are the "proper" way to format Word documents (interesting to see what fraction of users actually use them). They're like a mix of HTML tags and styles: each paragraph (div) must have exactly one Paragraph Style, and each span of text can only have one Character Style. "Manual" formatting has highest precedence, followed by Character Style, followed by Paragraph Style. The benefits are the same as in HTML: semantic correctness and easy restyling of the entire document (e.g., by applying Themes from the Design tab). This sequence of steps is a fairly good demonstration of how they're used.

Edit: clarify


Just to clarify, this is not how I created the original document in 2004 :-) There were certainly no paragraph styles involved, and the edit actions had to include an undo, or it wouldn't happen. There was also no style inspector yet.


This is why I prefer just writing html/markdown and letting pandoc generate docx. Fiddling with the Word GUI when I know what I want and how to type it is just frustrating.


Just noticed that with this method, the backspace joins the two lines, whereas in the original it reveals the markup, but the newline between the lines remains.


Cool! This was pre-XML Word, and since introducing it became impossible at some point, I always just figured it had been a bug. Probably the bug was only in the creation, as I do remember the sequence of edit actions made no sense. I think it even had to include an undo.


So... Working as intended then, seems like.

This kind of thing can be easily debugged using the style inspector, "reveal formatting" which shows the formatting applied to the selected text and whether it's from paragraph formatting or direct text formatting.


How did you create the document? When I hit backspace it does "turn into gibberish", but because it seems to inherit the type choices from the ether between the two lines to put it into Wingdings in red with italic and strikethrough. Did you create that type setting?


I ran into it while editing an interview text that had colors for people's names. It was surprisingly easy to reproduce, but creating the buggy documents got fixed at some point. The font and styles were altered slightly for dramatic effect.


But it's not some form of this? https://xkcd.com/2109/


Aw man, the way MS Word leaves bold/italic markers lying around [the subject of that comic] and greedily applies formatting to stuff you purposefully didn't select, drives me bonkers ... mind you I caught LibreOffice emulating this behaviour the other day (after an update), I hope it can be retamed ...

RIP WordPerfect 'reveal codes'.


Unfortunately, I lost the recipe (18 years is a long time), but I vaguely recall that the first line had markup that got canceled out, and that trying to delete the newline somehow deleted the end tag for that markup instead of the newline. It also happens when pressing delete at the end of the first line.


Show all styles, then select all instances of style where it's bold and/or italic.


When I come across posts like these, I just wonder, "How in the world did the user discover this in the first place?!"

Let's place bets:

A) The user just let autocomplete "take it away" (not sure about this one since they were able to access the console)

B) Pen Testing?

C) Error copy and pasting?

D) Actual dialog in a sci-fi post-apocalyptic love story where a robot discovers the Turing test and attempts to set itself into an infinite loop.


I've heard people say it, speaking like this: "This would be a great solution to the problem, except that it would break the admin dashboard. And billing. And SSO. And partner test environments. And. And. And. And. And. This would break so many things I'm sure I could only name half of them if I tried."


Agreed--it seems likely that the user was writing dialogue, taking minutes, or something similar.

Skilled speakers frequently use repetitions of a word (like 'and') as an interjection[0]. It's a handy way of giving yourself a second to think without saying 'uhh' or 'umm' (which, for whatever reason, are considered 'bad' interjections), and seems to be a kind of defense against being interrupted.

[0] https://www.nbcnews.com/id/wbna42822623 (a Meet the Press transcript which contains eight "and, and"s and one "and, and, and"!)


Yep. I've written that formulation many many times.


Years ago in school, maybe about 1992 or so, I managed to make xdm (X Display Manager) crash and dump me a root window by simply holding down a key until the buffer ran out. I remember wondering how anybody didn't discover this before me. Similar behavior with the university phone system (repeatedly pressing '0') eventually dropped me an outside line that I didn't have to pay for (yes, for you young folks, we used to have to pay for long distance phone calls, on phones that didn't fit in our pockets).




Good to know the new guard is still leading the fight :)


I seem to remember that a few years ago some versions of either TouchWiz or Android, that you could overflow into unlocking the phone.

The number required was pretty high, but you could get to it by copy pasting an already typed (In the emergeny dialer) number for a while, crashing the lockscreen until the next reset


Sounds like CVE-2015-3860 [0].

[0] https://nvd.nist.gov/vuln/detail/CVE-2015-3860


I always suspect that software I'm using is not really tested. If there are animations or whatever is happening asynchronously monkey bashing will trigger lots of issues.


When I was a teenager, I got dropped into a shell on a VAX by doing the same thing when it was trying to identify the terminal type.


I've had a stint or two doing QA.

At one such position (reasonably well-known product within the tech world), there was clear pushback not to file bugs of this nature.

I didn't stick with that position long.


You just reminded me what we found in college (on campus). We could dial out to the other college, then back into ours, and then externally to get free long distance calls.


Apparently from a poem: https://news.ycombinator.com/item?id=31278566

That comment is from the submitter of the issue (and HN post), the poem is from Eliza Callahan (copy found here): https://durationandthebodyelizacallahan.cargo.site

The relevant excerpt: "I thought about my body. It’s past. It’s present… Which made me think about the word and. And. And. And. And. And. Then."


This is just a transcript of a stutter. Too much for modern technology to handle. :)


C seems very likely to me. I often compulsively copy and paste things. You might not call it an error as such.


E) fidgeting/futzing with stuff mindlessly while in conversation/doing something else

personally, i've happened across some pretty serious security bugs this way.


Some more options: Just a demonstration of how Ctrl-C, Ctrl-V works. Literal transcript of a stammered conversation. Poetry / word-based art.


E) Children playing on the tablet/computer.


Option D is rather romantic. Poor robot fell in love with an NFA. He’ll never hear the end of it.


Fuzzing?


Writing a novel and a character within the novel has a stutter or is stammering.


The same way a lottery winner discovers the correct numbers


Once a customer was able to destroy an old ES cluster because they copy pasted some text from a PDF into a search box ... that text got sent directly to the ES cluster without much escaping ... there were lots of "*" in there.

The query complexity exploded, ES ran out of memory, and the index got corrupted and I don't remember why, it could not recover.

We had to re-index all the data. Lots of fun.

Lesson learned: prepare for the impossible, keep your infrastructure up to date, escape queries :)


Maybe escaping the character wouldn't help if every * is telling the server to process a long loop, but some max range or time to perform the task. I can't tell which company, but I managed to do exactly that you described a few months ago, with a valid query, and it's one of those companies you can guess if I tell you the first letter of its name.


Yup seen that in a few online "stores" or companies where they use SOLR or ES. Putting in '' will make boxes explode* (ok not really).

What is twice is bad as that the worst of these, fail (at least to my eye) on two fronts.

1) Allowing SINGLE character searches. I.e No min query-length.

2) Not escaping querying - lucene(solr/es) syntax.

You can sometimes see the front-facing "html/js/api" is just a thin layer over ES/SOLR.(Which is not bad by itself) it's when you don't know the limitations or what sort of queries are x100 harder to do than orders.


> Google Docs uses a "Markov Chain" to predict the next word for autocompletion purposes. In this case, of course, since we've already written "And" 5 times, the only logical next word would be "And", as showed in Djikstra's 1989 paper on the subject. Therefore, the Markov Chain never terminates and hence the memory chain overflows with infinite ands.

Does anyone know why this bug doesn’t repro for some words other than And if this is the case?


That statement follows with:

> Obviously, this is partly intentional- Gregory Markov modelled his famous Chain after his younger brother, who would try to finish all of Gregory's sentences for him. The one way Markov could fool him would be to repeat the same word multiple times, and then say "Jinx", also I made all of this up, good luck Google Docs team


Probably because that commenter just made it up.


That comment is a joke. SmartCompose does not use a Markov Chain, it is either still an LSTM or got upgraded to a small transformer based model.


I'm not sure that comment is true based on the second paragraph of it:

> Obviously, this is partly intentional- Gregory Markov modelled his famous Chain after his younger brother, who would try to finish all of Gregory's sentences for him. The one way Markov could fool him would be to repeat the same word multiple times, and then say "Jinx", also I made all of this up, good luck Google Docs team


That was one of the funniest tech comments I've read in awhile.


How is it not code review first comment to limit that lookup to like, 10 steps at most? Baffling


Reminds me of an old joke;

– I bet you a beer you can't make a logical, grammatical sentence with five ands in a row

– I used to be a sign writer in a previous life and one of the jobs I had was to repaint the sign hanging over the door to this very pub. Except the publican was adamant that he wanted more space between the words. Where exactly I asked? In between the Pig and and, and and and Whistle he replied.


And this joke reminds me of a Garden-path sentence:

https://en.wikipedia.org/wiki/Garden-path_sentence


And here's a link to a document where you can see the bug in action. https://docs.google.com/document/d/1KKZHZpKRFRBddEvjFc-au2LM...


Google Docs crashes in Firefox on Windows 10 with your link.

When I re-create the document from scratch, it does not crash.

When I copy the link to my non-crashing document and load it in a new tab, the crash then occurs when I edit the document in the new tab but not when I edit it in the original tab.


Maybe your "spelling and grammar" isn't on by default? Try toggling it on in your "from scratch" document (little "A" icon with a checkmark).


No, it's on, just tried it again, got the blue underlines and everything. Original tab doesn't crash, new tabs crash (although I can usually get a few characters in before the crash), once I close the original tab obviously the crashes are permanent.


It's interesting seeing how many people interact with that link. +40 users in a matter of minutes, and some instant spam suggestions too. Kind of funny.

Thank you for the repro case!


And changing this link to a view-only authorization. It appears the bug is fixed.


Sort of related, last night I managed to make Clang crash by feeding it a certain C++ program: https://i.imgur.com/r5MC2aK.png

It was very surprising that there was a way to get Clang to segfault. Should I report it somewhere?

The code is basically doing a recursive template expansion with some C++20 concept constraints. So it's not quite as simple as "And. And...", but it's similar in that certain input text causes a crash. I just have no idea whether to report it, or where.


Definitely report it, it'll be fun to see what happens. https://llvm.org/docs/HowToSubmitABug.html


Thank you for the link! Maybe that should've been obvious to me, but it really wasn't -- I had no clue where to start. The segfault just said "Please attach these files to the bug report" with no more info. Really appreciated.

In that case I'll spend some time to clean up the repro case and submit it. Thanks again.


> The segfault just said "Please attach these files to the bug report" with no more info.

The message should include the URL.

Sounds like a bug that should be reported.


Clang segfaulting is somewhat common. It usually doesn't happen, but sometimes when I write some cursed template metaprogramming code it crashes and I'm not surprised. In your case, especially because you are using C++20 concepts, that is a newer feature and you probably hit some less-tested codepath.


Note that it might be worth trying the latest clang version first. The latest proper version is 14.0.0 from Mar 25, which is only a month old compared to the 7 months of 13.0.0, but if it's something that's condensable to a single file, you could test it on https://godbolt.org/z/hv41441jK, which has daily builds.


By chance, I was just reading that typing "x = 4.725" on Atari ST Basic crashed the computer. Still not fixed 35 years later :) [https://en.wikipedia.org/wiki/Atari_ST_BASIC#Bugs]


> Should I report it somewhere?

Please do. You can open an issue (Bugzilla has been deprecated) on LLVM's github repo: https://github.com/llvm/llvm-project


You should report it to their GitHub repro: https://github.com/llvm/llvm-project


I LOVE stuff like this. Reminds me of "OpenOffice does not print on Tuesdays" https://beza1e1.tuxen.de/lore/print_on_tuesday.html


This is another classic from his list "We can't send mail more than 500 miles": https://beza1e1.tuxen.de/lore/500mile_email.html


Thanks for sharing, that's hilarious :D


Haha, thanks for sharing


Reproduced on Brave browser on Mac OSX.

Hypothesis from chatting about this with people nearby - somehow this string makes the grammar engine search space too large (that's the AI that predicts your next words) and it's running out of memory.


It seems to be fixed now. It would be fascinating to read an analysis of what exactly leads to the bug.


This reminds me of when Google claimed that the number one was copyrighted [1]

[1] https://www.pcmag.com/news/google-drive-flags-text-files-con...

I don't recall that the reason for that bug was ever explained. I wonder if the reason for this one will be.


I tried this on my typewriter, and nothing happened.


I tried this on my typewriter, And. And. And. And. And. <nothing></nothing>

Probably because it's out of paper.

Related: how is paper fed into an Apple Magic Keyboard - Hebrew?

Edit: Tried to reproduced with Arabic keyboard, plugged in now. Accidentally inverted right-to-left in brain.

dnA. dnA. dnA. dnA. dnA.


That is an amazing bug.


I’m very curious what may be the root cause of this.


My money is on some conflicting rules in grammar / style checks.


My guess is on an easter egg gone wrong.


Probably something to do with the grammar check (blue squiggly line)


Favorite comment on that page: "Google is a small indie company btw"

So, more seriously, what might cause this (mis)behavior?


Typing "And. And. And. And. And." did not reproduce the bug, but copy/paste the "And [...]" from the title of this post did.

EDIT: Ah, I had to reload the page, thank you child comments.


Typing worked for me. You have to refresh.


Refreshing was the key. Just typing it in does nothing, but refreshing or opening a saved document from your documents in docs with the text in it already leads to the crash.


Does not work for me in Google Docs, no matter if copied, or reloaded, refreshed etc. Perhaps they fixed it already.


on my side it didn't trigger the crash right away but if you refresh the page, a popup with "Something went wrong" will show up


Reminds me of this episode from IT Crowd :-) https://www.youtube.com/watch?v=OqxLmLUT-qc


Reproduced in Safari on macOS Monterey.

"And. And. And. And." caused no problems.

"And. And. And. And. And. And." also crashes (5 "And."s is a substring, so makes sense).

I cannot imagine how this bug is occurring.


My wild-ass guess is a grammar check bug. Since it words on both “and” and “but,” I’m thinking it’s some check related to conjunctions.


I think this is the right track. "However. ", "Therefore. ", "Also. " cause the crash too.


Perfect prank document to send to the team. I'm just hoping it holds up until the morning so everyone can join the fun and not just those of us with bad work time habits.


OMG I showed this to my friends and now someone in my class keeps adding it to our documents.


“And.” I wrote. “And. And. And. And.”

That was the part that led to the apocalypse.

This was not a coincidence, because nothing is ever a coincidence.


"Also. Also. Also. Also. Also.\n" also breaks it.


The following also triggers the bug:

Also. Also. Also. Also. Also.


Only tangentially related, and not at all serious, but this reminded me of the Irish film "The Committments" (1991) in which a working class Dublin guy puts together a soul band. He's introduced to two promising musicians who are already in a band...

Jimmy: What do you call yourselves?

Derek: "And And And."

Jimmy: "And And fuckin' And?"

Derek : Well, Ray's thinking of putting an exclamation mark after the second "and." Says it'd look deadly on the posters.

Jimm: Psshh...

Outspan: You don't like it? You think it should go at the end?

Jimmy: I think it should go up his arse.

Outspan: Well, we're not married to it.


I've had emails crash gmail on my phone still to this day. Typically it's stuff like output logs. My guess is something to do with the repetitive lines, but who knows.


Google has responded:

> Dear Google Docs users, we are aware of the issue and working on a fix right now. Thank for surfacing this issue and sharing it with us. We will keep you posted!

> Deving

> Google Employee


I had an exam in image analysis once. There was a photo of a text "Sea and land".

The task was to "determine the cross ratio between sea and and and and and land".


Something I recently found out about is you can go to https://docs.new to create a new Google doc.


I can't get the bug to reproduce. But maybe someone else could try

Wouldn't the sentence 'I want to put a hyphen between the words Fish and And and And and Chips in my Fish-And-Chips sign' have been clearer if quotation marks had been placed before Fish, and between Fish and and, and and and And, and And and and, and and and And, and And and and, and and and Chips, as well as after Chips?


"And." x 5+, case sensitive, new line at the end. Hit refresh in your browser and it will throw an error.


It has been "Fixed. Fixed. Fixed. Fixed. Fixed." now.


“And And! And.” was Outspan Foster’s band before joining “The Commitments”[0] and later The Frames (as Glen Hansard). The screenplay was written before gDocs.

[0] https://www.imdb.com/title/tt0101605/quotes/qt0310982


I remember discovering that pasting a specific emoji to Google Slides causes the slide to become "poison". You could not view or edit it, the web UI would crash if you clicked on the slide. I discovered this by accident, but did not think much of it as I was able to work around by deleting the slide from the document overview.


Disable spelling and grammar checks in a separate doc and return to the broken doc is a possible workaround


I wonder if "James where John had had had had had had had had had had had a better effect on his teacher" does someone's grammar checker up in knots. Or any of the old standbys, like "Police police police police police police".


Or "Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo".


This topic also came up a few weeks ago. I speculate there is no upper bound. A similar example using "Hawking": https://news.ycombinator.com/item?id=30626497#30653029


omg I tried to post a reply on that support page and it errored out saying "you need to be signed in ..." while I could literally see my sign in logo top right corner of the page.

fking google.

there are good [as well as technical humurous] comments on the page.


"Anyway. Anyway. Anyway, Anyway. Anyway.\n" will break it too. Anyway...


If I had to guess, I suspect this is due to some very weird edge case with their recently implemented grammar checker.

Doesn't appear to be an issue for the android app, but that might be a cache thing.


Reminds me of this old Star Trek chestnut:

https://www.youtube.com/watch?v=4WRtqmHpLvg


James while John had had had had had had had had had had had a better effect on the teacher. (1)

Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo. (2)

[1] https://en.wikipedia.org/wiki/James_while_John_had_had_had_h...

[2] https://en.wikipedia.org/wiki/Buffalo_buffalo_Buffalo_buffal...


It's been fixed.

> May 6, 2022 Update: We have fixed an issue in Docs related to repetitive use of the word ‘and.’ This fix should soon be in place for all customers.


Maybe we can push to the front page all the issues with gmail so they can fix that too


Who. Who. Who. Who. Who.

However. However. However. However. However.

Why. Why. Why. Why. Why.


Google engineers should ask "Why." five times to get to the root cause.


An odd coincidence, I recall that pressing an operator button on an older HP calculator would also cause an error, because the stack was 4 levels deep.


Looks like HN is able to handle it just fine, though. :)


And?


worth a shot, I tried it, and it worked fine. Then again, I couldn't reproduce the original


Replicated on my end on OSX & firefox


Replicated on Windows 10 and Chrome too!


OSX and Safari replicated


Heaven brings forth innumerable things to nurture man. Man has nothing good with which to recompense Heaven.


I couldn't reproduce the bug. Just five and's with periods and spaces in the body of a document?


Can't replicate this bug in current Firefox on Ubuntu 21.10. They've probably fixed it.


The Android App does not crash, but if i try to open the file at the web version it crashes


What if you put it in a spreadsheet cell, calendar description, drawing text or email?


What's pretty annoying is that users are providing free QA for Google!


This doesn’t work on the iOS app, I’ve pasted it and typed it manually


I wonder if this is crashing due to some auto completion shenanigans


Is this fixed? Can't seem to reproduce this (chrome on ubuntu)


I think the engine is just offended by your terrible writing style.


Wonder if this was discovered because of a Mars Attack ET using it.


Buffalo. Buffalo. Buffalo. Buffalo. Buffalo. doesn't crash it


I'm glad I was here when this historical event happened.


It crashes for me in Chrome on windows 11, but not Edge.


Nothing is happening. Tried in both Firefox and Chrome.


I'm surprised Google didn't fuzz Google Docs.


Will Pat Needham get any Google Bux for finding this?


Relatedly, I have a string of text that, when pasted into Windows 11's Notepad, consistently causes it to crash. I don't know who to report this to.


Okay, I'll bite. What is the string?


Don't keep us hanging like this, what's the string?


Unfortunately I can't share, as it's related to a not-yet-public project.


Do you get the standard reporting error to Microsoft dialog when it crashes? Hopefully someone will be able to look at that. In typical cases only a small summary with the stack is uploaded so your content should not be visible to whoever is looking at the dump.


Grammar check problems strike again.


Wow, this is pretty silly, odd! :-)


Sounds like a feature, not a bug.


Guess they already fixed it.


Whhhhhy


did you decide to compress the "5 Whys" into one Why with 5 hs? https://en.wikipedia.org/wiki/Five_whys


I just repro'd the bug with 5 whys: "Why. Why. Why. Why. Why."


6th May, with the "And. And. .." crash found on Google Docs Skynet rose to the surface.


Reproduced on Edge on Windows 11 as well. What a bug! Really need to know the root cause of this.


Little Andy we call him.


lolwhat, replicated w/Linux and Chrome just now.


has anyone tried "Or. Or. Or. Or. Or."?


Actually yes. Didn't crash it!


or "&&. &&. &&. &&. &&."?


The engineer at Google will be sweating now. The secret is out.


Big Andian bug.


sounds like a markov chain going berserk


That was fun!


Repro'd


someone cut a sev2


didn't happen in firefox on Ubuntu


lol


lol


Will 100% be pasting this into a coworker's Google Doc with a white font color.


That's probably a cyber crime in most US states.

Edit: You guys have no sense of humor.


You joke, but comparing to past cases, I see no reason to believe it couldn't be considered a crime depending on who you do it to. All depends on the existence of some grumpy idiot with too much power.


Sounds like a job for the Highway Patrol


Only if it crashes MS Word 2007.


You can say this and express it as a joke but the text reads like poor criticism.


I read it as a joke, but I started with an assumption of good intent.


Following the guidelines I see

> Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith


Is there a stronger plausible interpretation than:

It is a joke, poking fun at our overly aggressive cyber crimes laws.

?


Not that I know of. I really meant that he is following the guidelines. What were you assuming I meant?


Well not for that reason, but it’s always a good reminder :)


try /s at the end of "offending" sentence, most people will look at it more kindly.


I'm sure you're great. Nothing against you, but please don't do that. Just write what you mean if you can't handle some people misinterpreting a sarcastic remark. Let's think about this for a second. What's the point of sarcasm? If you have to tell people you're being sarcastic, are you still being sarcastic? Not sure what territory, "/s" blunders into, but I'm confident it's not sarcasm. It's something else that seems kinda... dumb... like on a fundamental level. Did people think themselves above saying, "jk"? Mostly I've just seen, "/s" beg the question of why someone would go and ruin a good sarcasm, or whether the thing they labeled as such was ever sarcasm to begin with. Like the parent comment here for example, it's not sarcasm. There's no biting irony, mockery, or criticism. It's just a silly non-sequitur joke remark. You'd have to be like legitimately autistic or something to not see that, and at that point, "/s" is just a drop in a bucket. I mean hot-take here, sorry, but let's think twice before adopting social queues from reddit.


> You'd have to be like legitimately autistic or something to not see that, and at that point, "/s" is just a drop in a bucket.

I read up to this point thinking you’re being overly pedantic about the specific use of a sarc mark and overly dismissive of the benefit of intent-clarifying hints in text. All the while thinking “I’m going to comment about how much I value intent-clarifying hints in text… and then I have to decide whether I want to mention I’m autistic, and prepare for all of the ways I might be misconstrued or dismissed further.”

So here we are, you’ve saved me the trouble of making that decision. I personally very much appreciate when people signal intent when their meaning can be ambiguous. It doesn’t always feel necessary for me, but it’s never once felt like it taken away from something I otherwise understood as obvious.

My take, which is much cooler than it was when I was gathering thoughts leading up to this but still mildly hot is: what harm does it do to you if someone voluntarily makes something more accessible to someone who’s not you? If you already grokked /s from a sarcastic remark, it’s a tiny bit of information you can scroll past. I understand not explicitly recognizing and endorsing how it might benefit autistic readers, but explicitly rejecting it because it might is baffling.


To be fair, when vocalizing sarcasm, it is often marked by a particular tone. That tone is not easily conveyed online.


Unless other techniques like bolding/italics etc are employed, or you work for DC Comics... because using MORE WORDS to correctly convey meaning is SO hard, YESSIR


Indicating sarcasm is not necessarily ruining it though. Look at IRL sarcasm, it will generally be accompanied with the right tone of voice and expression / body language that make its presence unequivocal. That doesn’t necessarily ruin it


It's the same reason why I often throw a emoji on the end of a sentence to a friend. Sometimes the sentence on its own can sound aggressive or hostile and a quick fix for that is a little emoji that can help make sure my tone is clear. I view something like "/s" as being quite similar to this. You're not ruining the sarcasm, but instead ensuring your tone is properly understood.


Written works have had sarcasm, irony, and related forms of wit for as long as they've existed. While people might miss the mark, it doesn't mean we should just give it up as impossible just because we're now writing comments online.

And it probably says more about me than the writer, but I always cringe when I see /s since it seems to be implying "Hey, in case you're a bit slow, this is sarcasm. Glad to help."

Sarcasm is by definition kind of elitist. You get it, and you're in the cool group, or you don't and you go on your way. It's a puzzle to solve. Removing all uncertainty removes its fundamental essence.


/s is just a wink, you still have to figure out whether the person did really fart and if so how they concealed it. You’re just here farting and calling it higher smelling because you think you’re the only one smelling it.


The very best sarcasm is so perfectly balanced and indistinguishable from the real deal, that it will leave its audience wondering but not missing the potential for sarcasm. Then the person that delivered it will promptly move on, before the audience gets a chance to really think about it.


Social “cue” (as for an actor or musician) not “queue,” by the way.


Sorry, had two night shifts. Still owe you an answer. From my perspective. Since this is only text, no emojis ... how do you know that the person reading will get your tone / intention. Well, you don't. And thats you fundamental right: To say what you like and how you like it. This is why I phrased the remark like it is: In my opinion, your comment is 50/50 for understood / misunderstood, why not raise the odds of understanding in your favour. There is "good sarcasm" in personal communication with people who can read you. But this is a public forum ... anyway. Have a good weekend.


I agree in principle, but if there's one thing internet commenting has taught me, it's that a tragically large number of people are somehow getting though life with broken sarcasm detectors.


A lot of people have a particularly tough time understanding sarcasm in a language other than their mother tongue.


That's true as well, and a good thing to remember.


Just as a side note, I thought /s meant serious. I think I’ve might’ve have seen it used in both contexts.


I've never seen that interpretation, but I have to say -- as someone who is not a fan of the /s, I find the fact that it could be interpreted as the exact opposite of the standard meaning pretty funny. In fact I think I will start using it this way, to sow discord among the /s fans. /s


As the "end of sarcasm" marker, it means both:

"{sarcasm here} /s {seriousness here}"


We need an emotional tone markup language. ETML.


Huh, I totally missed that "/s" was a sarcasm flag. I was thinking that usually it is ":s/" not "/s", and was looking for the completion, or if they really did mean "/s" that's not the best way to find ands.


I'm surprised the SarcMark™ never took off: https://www.sarcmark.com/


I am incredibly upset by the difference in speed of writing the text and drawing the SarcMark.


[flagged]


> Consistently having trouble identifying sarcasm in print—without the "help" of idiotic illiterate marks like "/s"—is one of the signs of autism

Autistic people exist, and read things on the internet. Attempts to help them are neither "idiotic" nor "illiterate".


Not many people know this, but similar to image alt text, the <s></s> tag was originally introduced for accessibility reasons, so that people with autism and similar conditions can experience the web in the same way as more neuro-typical folks do. The tags should be invisible in the average browser, unless you've got sarcasm highlighting turned on. Unfortunately, the feature hasn't really caught on, and it remains unsupported by most software.


This is sarcasm, right?

Right?


Why does this post appear in yellow?


You're using a sarcasm markup-compliant browser.


:chef’s kiss:


Huh, that's confusing to me.

_Big_ Adams, Twain, Barry, Pratchett, and most things sardonic, sarcastic, and satiric right here, who's also "autistic AF" as the kids say.

"/s" is stupid, always has been. I'm not sure if sarcasm is sarcasm if it comes with metadata, but if you're gonna use metadata, use balanced tags!

Edit: I read the link, and laughed at it. If anything, I get into trouble using sarcasm /too/ often (esp. as a kid), I know a few other aspies like this too. I think all one can say on the topic is that if you're on the spectrum your "sarcasm center" might be poorly deficient OR pumped up into overdrive.

I know it's a long rant on this point but I really wish more people understood that with ASD sometimes these things manifest as a deficiency...but sometimes as the opposite of a deficiency (a surfeit?).


Haha


Hackernews is not a place for jokes


So why are you here?

(gotem)


It is if the jokes are really sophisticated or clever. No reddit style stuff.


Send it in your resume to annoy recruiters.


Yes, yes, let's all put this in our resumes.


but... I write my resumé in markdown and compile it to PDF with pandoc ...


I’m curious what this will do to a google form.


Sounds like a totally collaborative/supportive workspace.


Evil


haha please do this


And thus has Eliza Callahan suddenly found themselves a poet with a lot more name recognition among tech workers.


We detached this subthread from https://news.ycombinator.com/item?id=31278734.


Sorry about that - I didn't realize my comment would turn so intensely off-topic!


These things are co-creations and it's usually upvotes that are the bigger part of the problem :)


[flagged]


I've found gender to be generally irrelevant to most of my social interactions. I'm, personally, in a committed relationship and not picky genderwise anyways so, as a habit, I've been trying to remove any and all gendered pronouns[1] from my speech. I find it pretty silly that gender plays so central a role in grammar. It, IMO, elevates it above how we should conceive of it - just one of many attributes a person has and a not particularly central one at that.

I'm sorry if this habit of mine caused you offense but it's a pretty silly thing to get annoyed by.

1. Edited - originally just pronouns (not gendered pronouns).


I've contemplated a sort of 'minimally offensive' register of language where you do remove any and all pronouns (that is, the ones someone might object to, along with all other language that might be objected to) while being as natural as possible so that no one notices your lack of usage of any bit of language (though someone analysing the corpus of your writing certainly would). Seems like a technique a corporation seeking to avoid controversy would employ, though I suppose by its very nature I wouldn't notice if one were successful in doing so!

I always find it interesting to consider other languages when discussing things like this. It's generally easy to eliminate arbitrary words from your personal dialect, but grammatical gender can't be so simply ignored in most Indo-European languages, nor can it be eliminated, the status quo of gender agreement (e.g., of adjectives and the nouns they modify) being a crucial part of the evolved flow of information in each natural language.

However, I still think there's an 'elegant' resolution, which is to consider grammatical gender as 'yet another noun class system'. You can then, in a language-neutral way, move all people (optionally also animals, etc.) to one grammatical gender (now we argue over whether the 'one gender' should be the existing masculine or feminine--not all languages have the neuter!). All other words would retain current their grammatical genders (and m/f/n might be renamed to something like class 1/2/3). Words for people (e.g., man/woman) could also be moved, but don't have to, since their noun classes would now be entirely orthogonal to people's gender.

This is still too large of a change to convince people to actually adopt, but it's certainly more reasonable than the drastic alternative and more elegant IMO than the other proposals I've seen. Plus, it was never the case that grammatical genders could be always be made to agree (take, for example, two nouns of differing gender in apposition or coreference), and there's already a case like this in the German 'Mädchen' ("girl"). As a diminutive, it's grammatically neuter, so words modifying it also take the neuter. Distant anaphors formally also do, but colloquially they're often feminine.


I think that would probably end up with us in a generally better place from a technical perspective than reusing the gender neutral pronouns but given how aggressive some people have been at misgendering folks I think it'd take a rather long time to actually gain adoption. Additionally, unlike say German, there isn't really any standard board of English and it's an international language so getting countries to actually agree to such a change seems difficult.

I also, honestly, don't think it'd be significantly more difficult to switch each gender over to he or she than to use one of the novel pronouns like "ye" or "xhe" though pronunciation would take a while to normalize.

Themselves/themself is a bit tricky (as pointed out in a sibling thread) but they are tools that exist today and are pretty serviceable - I really don't think you could put "And thus has Eliza Callahan suddenly found themselves a poet with a lot more name recognition among tech workers." in front of anyone and get genuine confusion about what I was saying back - it's perfectly legible, even if some of the grammar might be off.


> Seems like a technique a corporation seeking to avoid controversy would employ

I expect it would backfire quickly, as people notice their attempts at language modification and this rapidly becomes controversial in itself.

Sort of similar to the uproar over using purportedly gender-neutral language to discuss women's reproductive issues, as we've seen recently in discussions on Roe v. Wade - women being referred to as "birthing bodies", "pregnant people" and suchlike. Which of course many find to be offensively dehumanizing or an example of female erasure.


[flagged]


"Themselves" is, at least as far as I learned english, a proper usage in that context. I adjusted "pronoun" to "gendered pronoun" above just in case, in this modern world, the meaning wasn't somehow clear. This feels like an unnecessary amount of pedantry for a simple comment.


> "Themselves" is still a pronoun, and a plural one, at that.

https://www.merriam-webster.com/dictionary/themselves, see "Can they, their, them, and themselves be used as singular pronouns?"


"Someone came into this room. I don't know them, but they took it upon themselves to take everything."

What would be the correct pronouns here in your view?


Not who you're asking, but I would say 'themself' here. I can't see that it's ('themselves' is) not plural.

(Edit: Actually the more I think about that the less I'm sure what I'd say..)


Unfortunately themself is a spelling error according to my browser, and I have to admit it sounds like the most jarring option.


I'm suddenly very interested in the distinction here - as yea themself also works in both of these contexts but themselves feels like a very distinct connotation and not incorrect. I can't point to a specific grammatical rule or learning to base this feeling off though - I don't know why it feels correct it just does.


> A reflexive pronoun is a pronoun that refers back to the subject of a sentence or clause. You can recognize a reflexive pronoun by its second half: they all end in -self or -selves. [...] Only the dual-purpose your* has two reflexive forms: singular yourself and plural yourselves. [...] But if you'd been typing in the late 1300s, themself would have been the default: it was the only version around until the mid-1400s. [...] Eventually, themselves became the only accepted form. But themself never fully disappeared.

https://www.merriam-webster.com/words-at-play/themself


Honestly, while I might say such a sentence, I wouldn't allow myself to write it.


I'm curious what the closest sentence you would allow yourself to write would be.


I'd go with, "Someone I don't know came into this room and took everything," or even, "Someone came into this room. I don't know them, but they took everything." I'm not against a neuter pronoun where it's justified, but there was no need for "themselves" here, and it was worse than several alternatives.


Okay, I guess that answers my immediate sub-question, but it misses the point about the plurality of the pronouns.

> or even, "Someone came into this room. I don't know them, but they took everything."

"Them" would still be plural by your earlier logic though. Unless you're suggesting that you think "themselves" is plural and "themself" would be the singular?


it's pretty common to use 'they' when gender is unknown or irrelevant


At the very least, you're forgetting that non-binary individuals can have feminine-sounding names.


How random. Can't wait to try this


good tool for everyone.


Did this bug emerge after their Orwell word policing update?


I’m willing to bet it’s related to this. Google docs is trying to guess something for autocomplete, similar to their gmail feature to complete your sentences.

Which means, on a privacy standpoint, whatever you’re writing and guessing, they are absolutely processing something.

We the user are the product, apparently. This is mildly creepy to me because, I do vent on google docs sometimes. And assume only I can read it..


It’s literally called a word processors, so I suppose it processes the words. I don’t have a problem with that, as long as my data is only used for purposes I have approved and to provide features I use.


How is my comment downvoted?

Top comment mentions it being grammar related, which requires processing however many written words before, to provide a possible suggestion.

Considering an “and” clause to meet all possible cases of suggestions may cause the program to crash.


I think you are probably getting downvoted because it's Google Docs, running on Google's Servers, with Google's autocomplete and grammer checkers and spell checkers and auto-templates and everything else running against it.

Of course "Google" can read your doc. That has nothing to do with "you being the product" (infact it's the opposite since free Google Docs is a loss leader for their paid GSuite product).

That doesn't mean a person is reading it.


That is a great point. Thanks for typing this out! Appreciate it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: