News for hackers. Stuff that matters.
Re:Including “And. And. And. And. And.” in a Google doc caus... by kklisura on Thursday May 05, 2022 @04:54PM (#31278294)
``` 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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by croddin on Thursday May 05, 2022 @05:29PM (#31278617)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by rob74 on Thursday May 05, 2022 @07:21PM (#31279440)
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-...).
Re:Including “And. And. And. And. And.” in a Google doc caus... by astrange on Thursday May 05, 2022 @09:16PM (#31280112)
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...

Re:Including “And. And. And. And. And.” in a Google doc caus... by nonsince on Friday May 06, 2022 @02:38AM (#31282005)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by pferde on Friday May 06, 2022 @03:30AM (#31282368)
The history of that entire fiasco is quite comprehensivly summarized at https://phil.tech/2013/wtf-is-t-paamayim-nekudotayim/ .
Re:Including “And. And. And. And. And.” in a Google doc caus... by inimino on Friday May 06, 2022 @03:51PM (#31289038)
What a childish rant that blog post is though...
Re:Including “And. And. And. And. And.” in a Google doc caus... by neycoda on Saturday May 07, 2022 @08:08PM (#31299870)
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?

Re:Including “And. And. And. And. And.” in a Google doc caus... by inimino on Monday May 16, 2022 @10:24PM (#31405404)
> 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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by mike_hock on Friday May 06, 2022 @02:58AM (#31282135)
Seems plausible since afaik the other constants were in English, so this seems to be a developer's joke.
Re:Including “And. And. And. And. And.” in a Google doc caus... by neycoda on Saturday May 07, 2022 @08:10PM (#31299893)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by krageon on Friday May 06, 2022 @04:46AM (#31282891)
If you look it up, this token can have two names. It is indeed a double colon :)
Re:Including “And. And. And. And. And.” in a Google doc caus... by stavros on Friday May 06, 2022 @02:40AM (#31282017)
Oooh now I wonder if it literally means "dual intestine".
Re:Including “And. And. And. And. And.” in a Google doc caus... by Pyrious on Friday May 06, 2022 @02:52AM (#31282091)
Nope, it's literally "twice colon" where colon is specifically the punctuation mark. פעמים נקודותיים
Re:Including “And. And. And. And. And.” in a Google doc caus... by stavros on Friday May 06, 2022 @02:53AM (#31282102)
Ahh dreams dashed.
Re:Including “And. And. And. And. And.” in a Google doc caus... by CSSer on Friday May 06, 2022 @02:58AM (#31282139)
I thought we were talking about colons?
Re:Including “And. And. And. And. And.” in a Google doc caus... by raverbashing on Friday May 06, 2022 @03:29AM (#31282366)
Dashed? Em-dashed? Hyphenated? Or just subtracted?
Re:Including “And. And. And. And. And.” in a Google doc caus... by cobbal on Friday May 06, 2022 @10:33AM (#31285597)
U+1F4A8
Re:Including “And. And. And. And. And.” in a Google doc caus... by omnicognate on Friday May 06, 2022 @03:20AM (#31282315)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by JadeNB on Friday May 06, 2022 @05:42AM (#31283237)
> 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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by omnicognate on Friday May 06, 2022 @06:29AM (#31283534)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by josefx on Friday May 06, 2022 @01:09PM (#31287540)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by chris_wot on Friday May 06, 2022 @06:01AM (#31283367)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by j0057 on Friday May 06, 2022 @06:11AM (#31283425)
"One of the many things", so not the only thing, but a thing nonetheless.
Re:Including “And. And. And. And. And.” in a Google doc caus... by bradfitz on Thursday May 05, 2022 @11:39PM (#31281051)
They weren't reserved words. The lexer just discarded those tokens entirely.
Re:Including “And. And. And. And. And.” in a Google doc caus... by cormacrelf on Friday May 06, 2022 @01:05AM (#31281510)
Given the gay abandon with which people like to sprinkle them in fancy sounding sentences, perhaps this was for the best.
Re:Including “And. And. And. And. And.” in a Google doc caus... by Cthulhu_ on Friday May 06, 2022 @04:32AM (#31282819)
whomst'd've'ly'yaint'nt'ed'ies's'y'e
Re:Including “And. And. And. And. And.” in a Google doc caus... by JoshuaDavid on Thursday May 05, 2022 @07:18PM (#31279419)
Probably the weirdest one I've found is "Dearness."

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

Re:Including “And. And. And. And. And.” in a Google doc caus... by ineedasername on Thursday May 05, 2022 @09:15PM (#31280107)
How did you stumble on Dearness?
Re:Including “And. And. And. And. And.” in a Google doc caus... by JoshuaDavid on Thursday May 05, 2022 @09:45PM (#31280304)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by hnaccount_rng on Friday May 06, 2022 @02:07AM (#31281818)
Upvote for unbored. And a perfect illustration for HN xD
Re:Including “And. And. And. And. And.” in a Google doc caus... by ineedasername on Thursday May 05, 2022 @10:09PM (#31280465)
That sounds about right for HN, well done.
Re:Including “And. And. And. And. And.” in a Google doc caus... by cmg on Thursday May 05, 2022 @06:15PM (#31278967)
Interestingly, "Or. Or. Or. Or. Or." doesn't trigger it.
Re:Including “And. And. And. And. And.” in a Google doc caus... by hoosieree on Thursday May 05, 2022 @08:40PM (#31279876)
By DeMorgan's laws, typing this in a Google Doc causes OneNote to crash.
Re:Including “And. And. And. And. And.” in a Google doc caus... by DonHopkins on Friday May 06, 2022 @05:33AM (#31283171)
By DeMorgan's Law and Bill and Ted's Excellent Low Precedence Right Associative Postfix Sarcastic Not, "Or. Or. Or. Or. Or. Not!" crashes.
Re:Including “And. And. And. And. And.” in a Google doc caus... by chris_wot on Friday May 06, 2022 @06:04AM (#31283388)
I love this comment and I live Bill and Ted’s Excellent Adventure so I transitively love you.
Re:Including “And. And. And. And. And.” in a Google doc caus... by deltarholamda on Thursday May 05, 2022 @05:59PM (#31278826)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by Alex3917 on Thursday May 05, 2022 @05:18PM (#31278525)
Probably just getting triggering excessive backtracking on some regex.
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @05:45PM (#31278725)
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.)

Re:Including “And. And. And. And. And.” in a Google doc caus... by haliskerbas on Thursday May 05, 2022 @05:50PM (#31278763)
Some people might get off on that kind of culture. But this story makes me glad I don’t work there for some reason.
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @06:01PM (#31278843)
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.)

Re:Including “And. And. And. And. And.” in a Google doc caus... by jolux on Thursday May 05, 2022 @06:12PM (#31278938)
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?
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @06:23PM (#31279039)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by danuker on Thursday May 05, 2022 @06:32PM (#31279103)
Parent comment is onto something. You sound traumatized.
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @06:47PM (#31279226)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by quakeguy on Thursday May 05, 2022 @07:00PM (#31279318)
What a great story nevertheless.
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @07:22PM (#31279450)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by mattclarkdotnet on Thursday May 05, 2022 @10:40PM (#31280674)
"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!

Re:Including “And. And. And. And. And.” in a Google doc caus... by koide on Friday May 06, 2022 @01:33AM (#31281655)
For someone who sort of justified a humiliating response to a mistake a few comments above, this seems really well done! Congratulations.
Re:Including “And. And. And. And. And.” in a Google doc caus... by bobbieie on Friday May 06, 2022 @03:17AM (#31282283)
I have to say you tell good stories about how wonderful you are.
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Friday May 06, 2022 @02:34PM (#31288389)
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

Re:Including “And. And. And. And. And.” in a Google doc caus... by jseban on Friday May 06, 2022 @01:44AM (#31281698)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by stavros on Friday May 06, 2022 @02:50AM (#31282071)
I don't think we can assign blame in a complicated situation based on a two-paragraph retelling, please have a bit more empathy.
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Friday May 06, 2022 @01:35PM (#31287813)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by webmaven on Friday May 06, 2022 @12:12PM (#31286870)
> 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.?

Re:Including “And. And. And. And. And.” in a Google doc caus... by BolexNOLA on Friday May 06, 2022 @08:53AM (#31284533)
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?
Re:Including “And. And. And. And. And.” in a Google doc caus... by andrewljohnson on Thursday May 05, 2022 @11:56PM (#31281143)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by andi999 on Friday May 06, 2022 @12:26AM (#31281316)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by atq2119 on Friday May 06, 2022 @09:17AM (#31284746)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Friday May 06, 2022 @04:22PM (#31289276)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by andi999 on Saturday May 07, 2022 @02:45AM (#31292639)
In that case it is bizarr.
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Wednesday May 11, 2022 @12:25AM (#31335839)
> I thought pls give me begin and end instead of this unpleasent slow hand movement

Have you tried trigraphs? (/me ducks.)

Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Friday May 06, 2022 @04:48PM (#31289485)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by mannykannot on Thursday May 05, 2022 @10:39PM (#31280667)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by wutbrodo on Thursday May 05, 2022 @06:17PM (#31278986)
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

Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @06:26PM (#31279056)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by the-rc on Thursday May 05, 2022 @06:37PM (#31279146)
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).
Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @07:34PM (#31279502)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by jseban on Friday May 06, 2022 @02:08AM (#31281824)
"What happens in New York stays in New York"? What kind of bullshit is this
Re:Including “And. And. And. And. And.” in a Google doc caus... by wutbrodo on Thursday May 05, 2022 @08:31PM (#31279817)
> 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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @08:54PM (#31279982)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by jseban on Friday May 06, 2022 @02:11AM (#31281844)
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
Re:Including “And. And. And. And. And.” in a Google doc caus... by dang on Friday May 06, 2022 @05:48PM (#31289919)
(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.)
Re:Including “And. And. And. And. And.” in a Google doc caus... by jseban on Friday May 06, 2022 @02:07AM (#31281815)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by cscurmudgeon on Thursday May 05, 2022 @06:02PM (#31278860)
Really?

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

Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @06:32PM (#31279105)
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.)
Re:Including “And. And. And. And. And.” in a Google doc caus... by jiggawatts on Thursday May 05, 2022 @06:33PM (#31279116)
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?

Re:Including “And. And. And. And. And.” in a Google doc caus... by runlevel1 on Thursday May 05, 2022 @11:25PM (#31280967)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by jseban on Friday May 06, 2022 @02:14AM (#31281860)
> 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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by alasdair_ on Friday May 06, 2022 @02:46AM (#31282047)
I’d rather have software engineers make the decisions about software engineering than insist managers do that job.
Re:Including “And. And. And. And. And.” in a Google doc caus... by jseban on Friday May 06, 2022 @03:48AM (#31282501)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by rawoke083600 on Friday May 06, 2022 @03:08AM (#31282210)
>things be done properly

Now if only we could all agree how that looks exactly

Re:Including “And. And. And. And. And.” in a Google doc caus... by a-dub on Thursday May 05, 2022 @06:15PM (#31278968)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @06:36PM (#31279139)
> 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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by a-dub on Thursday May 05, 2022 @07:29PM (#31279484)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @07:52PM (#31279580)
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
Re:Including “And. And. And. And. And.” in a Google doc caus... by AnimalMuppet on Thursday May 05, 2022 @11:48PM (#31281096)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by gumby on Saturday May 07, 2022 @10:58AM (#31295019)
> 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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by kevin_thibedeau on Thursday May 05, 2022 @08:35PM (#31279843)
It would be sorta reasonable in a header that only your code uses and is unlikely to be transitively included from elsewhere.
Re:Including “And. And. And. And. And.” in a Google doc caus... by sgtnoodle on Friday May 06, 2022 @03:42AM (#31282455)
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.
Re:Including “And. And. And. And. And.” in a Google doc caus... by a-dub on Friday May 06, 2022 @04:00AM (#31282573)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by Icathian on Thursday May 05, 2022 @07:26PM (#31279468)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by jseban on Friday May 06, 2022 @02:17AM (#31281874)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by dllthomas on Friday May 06, 2022 @12:46AM (#31281414)
> "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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by fanf2 on Friday May 06, 2022 @06:15AM (#31283446)
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...
Re:Including “And. And. And. And. And.” in a Google doc caus... by vl on Thursday May 05, 2022 @07:00PM (#31279317)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @08:06PM (#31279659)
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.)

Re:Including “And. And. And. And. And.” in a Google doc caus... by exikyut on Friday May 06, 2022 @06:48AM (#31283651)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by caffeine on Friday May 06, 2022 @01:17AM (#31281563)
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!
Re:Including “And. And. And. And. And.” in a Google doc caus... by the-rc on Friday May 06, 2022 @08:40AM (#31284432)
> 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?

Re:Including “And. And. And. And. And.” in a Google doc caus... by Alex3917 on Thursday May 05, 2022 @06:09PM (#31278916)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by KMag on Thursday May 05, 2022 @09:44PM (#31280302)
> 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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by Alex3917 on Friday May 06, 2022 @07:19AM (#31283809)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by rad_gruchalski on Thursday May 05, 2022 @08:41PM (#31279883)
> Ironic, from the authors of RE2. They know the correct way to implement regexes.

> Probably…

Conclusions.

Re:Including “And. And. And. And. And.” in a Google doc caus... by ikiris on Thursday May 05, 2022 @09:26PM (#31280180)
You just triggered probably 50 sres involved in this bug.
Re:Including “And. And. And. And. And.” in a Google doc caus... by lqet on Thursday May 05, 2022 @04:58PM (#31278335)
Yup, it is also partially underlined in blue and a popup suggests to replace "And. And." with "And And" just before it crashes.
Re:Including “And. And. And. And. And.” in a Google doc caus... by greggsy on Friday May 06, 2022 @03:12AM (#31282245)
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?

Re:Including “And. And. And. And. And.” in a Google doc caus... by jonnycomputer on Thursday May 05, 2022 @05:49PM (#31278748)
Ah. So not something with the text data model.
Re:Including “And. And. And. And. And.” in a Google doc caus... by a-dub on Thursday May 05, 2022 @05:15PM (#31278496)
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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by a-dub on Thursday May 05, 2022 @05:56PM (#31278808)
> 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.

Re:Including “And. And. And. And. And.” in a Google doc caus... by r0snd0 on Thursday May 05, 2022 @05:39PM (#31278685)
Remotely exploitable bug causing grammar check api to fail to perform grammar checks? Doesn’t sound too exciting.
Re:Including “And. And. And. And. And.” in a Google doc caus... by tus666 on Thursday May 05, 2022 @04:55PM (#31278302)
Makes sense. I was thinking something to do with document compression but that sounds more likely.
Re:Including “And. And. And. And. And.” in a Google doc caus... by the_snooze on Friday May 06, 2022 @09:32AM (#31284869)
Parsing arbitrary user-provided input? What could possibly go wrong?
Re:Including “And. And. And. And. And.” in a Google doc caus... by sharmavinu0024 on Friday May 06, 2022 @02:25AM (#31281921)
google doc. is well used for typing.