Live data from Hacker News

Jujutsu at Google [video]

youtube.com

151–160 of 212 posts

Re: Jujutsu at Google [video]

#151
post #16
post #5

Off topic, and I don't want to knock the presenter here, but if you're ever going to give a public talk or presentation at work _please_ review the Death By Powerpoint slide deck[0] first. [0] https://www.slideshare.net/slideshow/death-by-powerpoint/855...

Ugh, I'd prefer people keep passion for the bedroom and just convey information straightforwardly without trying to "sell" it to me. Adding a false excitement signal to the information is a hindrance to me as a viewer. If you want Tony Robbins then go and see him. If you want an overview of the new product architecture lets keep calm and get on with it.

"passion" here means "be excited about the subject", which usually (neurospicy people exluced naturally) automatically brings up feelings from the speaker in a "this is cool and I want to share it" kind of way.

If I want to listen to someone read a slide deck word for word in a monotone voice, I can have an AI do it. I'd much rather read a blog post at that point though.

Re: Jujutsu at Google [video]

#152
post #147

Earlier quoted context omitted.

Google had 86TB of sourcecode data in Piper way back in 2016.

Dang, that's mind boggling - especially if I keep in mind that a book series like lord of the rings is mere kilobytes if saved as plain text. Having 86 TB of plain text/source code - I can't fathom the scale, honestly Are you absolutely sure there aren't binaries in there (honestly asking, the scale is just insane from my perspective - even the largest book compilation like Anna's isn't approaching that number - if y…

Each snapshot of the repo isn't that big, but all the snapshots together, plus all the commit metadata and such, are

Re: Jujutsu at Google [video]

#153
post #125

Earlier quoted context omitted.

That's really unexpected. To me, git documentation was one of the best cleanest official docs I've ever read. Just in case, I'm talking about the Pro Git book [0]. I remember reading it on my kindle while commuting to office by train. It was so easy to understand, I didn't even need a computer to try things. And it covers everything from bare basics, to advanced topics that get you covered (or at least give you a goo…

This is exactly what I meant. https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-N... The book says that ‘ To really understand the way Git does branching, we need to take a step back and examine how Git stores its data’ then it starts talking about trees and blobs. At that point you’ve lost almost everyone. If you have a strong interest in vcs implementation then fine, otherwise it’s typically the kind of de…

> I don’t think you can in good faith tell most people to rtfm this

I can, and I do.

The explanation in that book creates a strong coherent and simple mental model of git branching. I honestly can't think of a better explanation. Shorter? Maybe. But "graph with pointers" wouldn't explain it.

So let's agree to disagree.

Re: Jujutsu at Google [video]

#154
post #143
post #81

Earlier quoted context omitted.

There are simply people who've rtfm and people who haven't

Quick, what does git pull foo do if foo is a branch vs a remote and how do you fix it if you messed up/which is preferred when both exist?

I've never encountered this case in real life, so I don't know. Maybe I'll try later out of curiosity.

But whatever state I'm in, I'm sure I can reset back to where I were using reflog.

Re: Jujutsu at Google [video]

#155
post #130
post #39

Earlier quoted context omitted.

git could never, but piper at google is way over that figure. Way, way over.

Microsoft has actually done a lot of work to scale got to large repos

It's why there's special Microsoft Git VFS (a lot like VFS at google that is also referenced in the talk).

It was made to make working on Windows source code possible with Git.

Re: Jujutsu at Google [video]

#156

Earlier quoted context omitted.

> So, what am I missing? Here: git rebase is slightly broken in conflict handling. It can be made simpler to understand with jj.

What if we don't use git rebase at all? What does jj have to offer us?

But I'm not offering anything to you. Unless there's a budget, in which case I will make that svn fly in circles over your enterprise, dear sir.

Re: Jujutsu at Google [video]

#158
post #5

Off topic, and I don't want to knock the presenter here, but if you're ever going to give a public talk or presentation at work _please_ review the Death By Powerpoint slide deck[0] first. [0] https://www.slideshare.net/slideshow/death-by-powerpoint/855...

Thanks for the link. I went through it but I'm not sure what it's telling me to change. Can you elaborate? If it's "be more engaging", i think is unfortunately going to be hard to improve because this is just how i am.

Again, amazing to be seeking feedback (or open to it). I'm at minute 13 (code review management / bookmarks, etc.), and will give my feedback from there:

https://www.essayselevate.com/post/how-to-structure-a-winnin...

"SCAR", which I learned as "Situation, Consequences, Actions, Results" but the above essay will let you go deeper.

Bad: "Two people stood up there, said a few words, and then everybody had cake and went home"

Good: "The situation was... it was a beautiful venue, everybody was dressed nicely, there was music, a slow walk. What these two people were doing was going to bond them together for the rest of their life (or until they had an ugly divorce, whichever came first). They gave a great speech that they'd been practicing all morning in the mirror, gave each other a kiss and a ring to seal the deal, then everyone had cake, danced, and went home tired but happy!"

...this is obviously (hopefully!) exaggerated, and there's a whole bunch more fluffery in the 2nd than the first but imagine this:

1) The situation is that google on perforce or git was dog slow and blah blah not designed for the scale of our monorepo, etc.

2) The consequences was reduced development velocity and increased errors in prod b/c people were trying to bypass CI/CD steps b/c everything was so slow

3) We introduced CitC / Cloud Commits, and => {your technical brilliance described here...}

4) ...and the result was butterflies and rainbows, and here's a graph that shows the production incident rates going down and the changelist rates going up after we GA'd `jj` on linux.

5) The End!

As it stands, much of the presentation is #3 but you're not even giving yourself the credit of bragging about how you discovered the problem (challenge) and the cleverness that went in to inventing your solution.

re: bookmarks:

"We often had people mailing around patches -or- Sometimes PR's were tough to review due to ... -or- I've always wanted an easy way to ..."

=> "Without good bookmark support [adoption would suffer|it would be seen as a step back|collaboration wasn't instant|...]"

=> "So I built bookmarks for `jj`, they work like ..., and solves most of the problem"

=> "It's [better|faster|cheaper|quicker|more fun] than [GitHub|Our Old System|getting yelled at by Linus Torvalds|...etc..."

=> "The IMPACT of bookmarks is: ..." => "It IMPACTED the technical bits here: ..." => "The USER IMPACT is: ..." => "...and finally the business gets: ..." => "What a powerful impact!"

I'd _LOVE_ to see you run a breakdown of any kindof arbitrary slide in the deck and post a deconstruction in this format as kindof a practice/workshop.

It's very OK if (at first) it's pretty mechanical! It's just super-helpful to basically "disassemble" what you're trying to talk about in this mechanical way, and then you can take the proper bits and put them back together.

Situation => Consequences (or Challenges) => Actions => Results => IMPACT!

If you just string a bunch of technical details or technical choices together, you're missing the whole "compelling story" that exists. Even if you just "set the stage" with a single "Situation" slide at the beginning, and a single "Results/Impact" slide at the end... each interior "loop iteration" can be easily set up with a short "Challenge/Consequence" & "Action/Detail/Choice"

"Git + Monorepo was yuck!" => [ "Slow FS" + "CitC" ] => [ "Big Checkouts" + "VFS" ] => [ "Branches?" + "Chose `cp $FILES branches/*` ; Feedback?" ] => "JJ has been well accepted and has a bright future, inside and outside of el-goog!"

Re: Jujutsu at Google [video]

#159
post #18

I've worked in huge repos with hundreds of developers pushing code every day, dozens of MRs open per day, and all I always needed was a very limited set of what git is capable of (git commit, git co, git st, git merge/rebase, git log). To find bugs, I use "bisect but visually" (I usually use jetbrains IDEs, so I just go to the git history, and do binary search in the commits, displaying all the files that were affect…

I have never understood the claim that git is hard. the docs are good and there are plenty of examples online. feels the same when people say, "jq is hard i use python instead" like ok

that's okay, it doesn't need to be your personal experience. you just need to understand that "git gud" is not a sustainable or intelligent mantra for tool design and selection

Re: Jujutsu at Google [video]

#160
post #81

Earlier quoted context omitted.

I've long been facinated by how bimodal understanding of git is. I'm one of the lucky ones to whom it came naturally, but there's clearly a large population who finds git challenging even after investing significant time and effort into learning it. I don't see this anywhere nearly as drastically with other tools.

There are simply people who've rtfm and people who haven't

sometimes this is the fault of the manual and not the people
Post reply on HN