Browse Source

Talks

master
Skia 9 months ago
parent
commit
a2fe9727ff
15 changed files with 266 additions and 0 deletions
  1. +16
    -0
      talks/01 - The future of free software.md
  2. +13
    -0
      talks/02 - Git @ Google scale.md
  3. +30
    -0
      talks/03 - The what, how and why of scaling repositories.md
  4. +18
    -0
      talks/04 - Bridging the gap: transitioning Git to SHA-256.md
  5. +11
    -0
      talks/05 - Git protocols: still tinkering after all these years?.md
  6. +12
    -0
      talks/06 - Native Git support for large objects.md
  7. +17
    -0
      talks/07 - Git for games: current problems and solutions.md
  8. +37
    -0
      talks/08 - The art of patience: why you should bother teaching Git to designers.md
  9. +12
    -0
      talks/09 - Version control for law: Posey Rule in the U.S. Congress.md
  10. +18
    -0
      talks/10 - Git, the annotated notepad.md
  11. +26
    -0
      talks/11 - Version control for visual learners.md
  12. +17
    -0
      talks/12 - Git & version control in the enterprise: a panel conversation with Atlassian, GitHub and GitLab.md
  13. +11
    -0
      talks/13 - Gitbase, SQL interface to Git repositories.md
  14. +17
    -0
      talks/14 - Technical contributions towards scaling for Windows.md
  15. +11
    -0
      talks/15 - How a Git based education cultivates more resilient developers.md

+ 16
- 0
talks/01 - The future of free software.md View File

@@ -0,0 +1,16 @@
# The Future of free software

- Explorers, discovering new places, are seen from both sides: good and bad
- Cyberpunk
- How do we make free software last forever? -> We need good people
- "Black panther" -> It's optimistic cyberpunk, utopia
- Power & responsibility.
- Leave the sandbox, include new people, and don't hesitate to dilute it all by
bringing new people ever and ever.
- People should be more happy doing free software, to share positive values, and
give a virtuous wind to their projects.
- Do more "Can I help?" than "You're doing it wrong!".

## Personal feedback

Very cool non tech talk, speaking about spirit that free software need to adopt.

+ 13
- 0
talks/02 - Git @ Google scale.md View File

@@ -0,0 +1,13 @@
# Git @ Google scale

- Many very big, heavy repos
- Interesting numbers comparing Linux repo, Go, Chromium, and Android
- Small explanation on the bitmap to increase server speed when answering clients
- shallow clone
- story about revision numbering (incremental commit numbers)
TL;DR: get used to git hashes, and avoid putting incremental numbers into commits.
- story about Gerrit: tree or forest? too many commits appearing for each revision change.
Git protocol v2 to the rescue

## Personal feeling
Great technical stories about problematic encountered in very big repos.

+ 30
- 0
talks/03 - The what, how and why of scaling repositories.md View File

@@ -0,0 +1,30 @@
# The what, how and why of scaling repositories

- Git katas
- Argues about monorepos
- "The State of DevOps"
- Continuous Delivery -> Software delivery performance -> More money
- Repositories anti-patterns
- No tooling mono-repo.
- The integration team: people full time on accepting PRs
- The distributed monolith
- Study about pros/cons in mono-repos
- Pros: very good tooling
- Cons: takes time to build up good
- Netflix: dependency management is **hard**
- Conway's Law
- Story about a customer moving from clearcase to git
- Awesome graph showing repos, people, and how people contribute to repos
- github.com/praqma/git-metrics
- easy to add code, hard to remove
- "Our conclusions are not better than our data"
- "Don't ignore the real problems"
- Discussing rebase vs merge is easy, gitlab vs github/phab is easy...
- Real questions: How is our workflow moving on? Is our scrum well done? etc...

## Personal feedback

We have a lot to take from this talk, but we are also not that badly organized
with Octopus: we don't have the mono-repo problematics, but also not a crazy
shitload of repos everywhere: it's scaled for our team.
Still, people should remember to focus on the right questions.

+ 18
- 0
talks/04 - Bridging the gap: transitioning Git to SHA-256.md View File

@@ -0,0 +1,18 @@
# Bridging the gap: transitioning Git to SHA-256

- Why SHA-256? Why not use a broken hash (SHA-1)? Some explanations
- Transition plan:
- Precise goals, like not disturbing users, interoperability
- 4 steps:
- Dark launch
- Early transition
- Late transition
- Post transition
- More information in the git repo
- Implementation details: everything is in the slides, or the code ;)


## Personal feedback

Interesting internal stuff shown, along with some information about the
transition plan.

+ 11
- 0
talks/05 - Git protocols: still tinkering after all these years?.md View File

@@ -0,0 +1,11 @@
# Git protocols: still tinkering after all these years?

- Small intro about former git protocol: very inefficient in many cases
- Old git versions/bugs leading to double NUL byte hack: awesome! :D
- Small explanation about why old protocol was slow, and how the v2 improves this

## Personal feedback

Nice lightning talk about git protocols. Use v2, now!

TODO: check git version on Phabricator: that could explain the slowness

+ 12
- 0
talks/06 - Native Git support for large objects.md View File

@@ -0,0 +1,12 @@
# Native Git support for large objects

- What is a large file? By type? By size? Both?
- Not Git LFS: not native, just a hack, need some a priori knowledge.
- Coop between all big companies to improve git with their needs (Google, Microsoft, ...)
- Partial clone: filter objects at clone time, to ask them later, on demand.
- This can be very good to speed up some CI: just use the objects needed for the checkout, forget about old ones.
- clone using CDN: data is close to the destination, HTTP GET is resumable in case of transfer problem.

## Personal feeling

Again a nice presentation about upcoming git features.

+ 17
- 0
talks/07 - Git for games: current problems and solutions.md View File

@@ -0,0 +1,17 @@
# Git for games: current problems and solutions

- Windows, terabytes of files, 90% binaries.
- No merge for binaries.
- Better communication? Doesn't scale.
- Merging doesn't mean anything for assets. It's more like artistic choices.
- File locking doesn't play nicely with Git.
- Un-mergeable files, binary files are paths through the commit graph.
A commit is then valid if it descends from every commit touching the file.
- Git Global Graph: https://github.com/kleptine/gitglobalgraph
Uses some hooks to check the property in a unified global git graph, with per-developer namespaced branches.



## Personal feedback

Great talk about game problematics. May be helpful at some point with our testing data?

+ 37
- 0
talks/08 - The art of patience: why you should bother teaching Git to designers.md View File

@@ -0,0 +1,37 @@
# The art of patience: why you should bother teaching Git to designers

- Talk given by a designer
- Building software that makes sense to the people who use it.
- Some things can never be made simple.

## How
- Working for the Yocto Project
- She needed to design a web interface and was always stuck with git, stopping
colleagues
- Teaching tips:
- "need to know basis"
- "avoid git jargon"
- "don't bother with the concepts"
- "do things with, never for, someone"
- "designers should take notes and keep a cheat sheet"
- teach from the shell, not a GUI
- Mental models are based on beliefs, not facts.
- Great Git UIs (Github) are based on "system models" not "mental models"

## Why
- You first need to convince the designer to learn.
- You must know enough about your design material.
- Quotes:
- "Learning about software as design material"
- "Turning designers into partners in building"
- "Participating in your own terms"
- Allows participating to free software

## How long
- 2 years for her!


## Personal feedback

Awesome speaker, with a completely different point of view. Don't hesitate to
share that talk with as many non-developers working with developers!

+ 12
- 0
talks/09 - Version control for law: Posey Rule in the U.S. Congress.md View File

@@ -0,0 +1,12 @@
# Version control for law: Posey Rule in the U.S. Congress

- Transparency and modernization.
- Trying to increase the community of lawyers that have Github accounts.
- Use machine-readable amendments, with semantic understanding, and have a kind
of query language, leading to kinda machine-executable amendments.
- Git for law requires specialized tools.


## Personal feedback

Interesting talk about laws, and the problematics working on it.

+ 18
- 0
talks/10 - Git, the annotated notepad.md View File

@@ -0,0 +1,18 @@
# Git, the annotated notepad

- Get some context in the morning.
- Small logical commits.
- Dark Souls is a **hard** game. You save every time.
- ABC: Always Be Committing
- Logical unit:
- Refactoring
- A set of functions used together
- One complex function
- Personal code review.
- Descriptive titles.
- Quick context reloading.


## Personal feedback

So very true. All that he said. We need to apply all that seriously.

+ 26
- 0
talks/11 - Version control for visual learners.md View File

@@ -0,0 +1,26 @@
# Version control for visual learners

- Mostly scripting, then some design.
- Early workflow was very basic: commit, push, pull, checkout.
- Geology, then web, then...?
- Very visual learner: but learning software is not visual at all.
- Iteration is not design: design has methods and tools.
Version control becomes hell.
- Very hard to find the right commit when trying to rollback a change.
- Adding screenshot to commits.
- Screenshot diffing.
- Tools:
- puppeteer-screeshot-tester
- resemble.js
- wraith
- Talk to designers: they want a "Git" for design
- Pain: time for screenshots, don't forget to do them, add image link to commit message...
- Pyppeteer automates screenshots, git hooks to take them when needed.
- Don't forget your past life, talk about it.
- Avoid "We don't do that", and explore new ways of doing.


## Personal feedback

Again, a nice talk from a person coming from a surprising past (Geology). Good
ideas to take, like screenshots in MRs, screenshot diffing.

+ 17
- 0
talks/12 - Git & version control in the enterprise: a panel conversation with Atlassian, GitHub and GitLab.md View File

@@ -0,0 +1,17 @@
# Git & version control in the enterprise: a panel conversation with Atlassian, GitHub and GitLab

- Discussion between Atlassian, Github, and Gitlab.
- First experience with git.
- Why has it been so widely used, as a decentralized tool, in companies?
- Some use-cases about permissions, ACLs on repositories, branches, in open-source/company.
- A thought on mono-repos.
- A lack of good tools to avoid mono-repos, to coordinate multiple smaller ones.
- `git grep` is everything!
- Some thoughts one training new people to git.
- Encourage best-practices by rewarding users on the forges.

## Personal feedback

No technical stuff here, just a very interesting discussion between huge actors
in the `git` world.
Nice to hear that even they don't have all the solutions yet to manage mono-repos problematics.

+ 11
- 0
talks/13 - Gitbase, SQL interface to Git repositories.md View File

@@ -0,0 +1,11 @@
# Gitbase, SQL interface to Git repositories

- AI on code
- gitbase: MySQL compatible interface to git repos
- examples:
- get the number of function per Go file
- Not bound to a particular repository, you can query across multiple ones.

## Personal feedback

Nice tool, and great hints on the performance side.

+ 17
- 0
talks/14 - Technical contributions towards scaling for Windows.md View File

@@ -0,0 +1,17 @@
# Technical contributions towards scaling for Windows

- Microsoft runs on Git.
- Windows moved to Git in 2017.
- VFS helped a lot.
- Serialized commit graph: an index of the commit metadata.
- `git commit-graph`: Available in Git 2.20, can be manually enabled.
- Multi-pack-index: speeds up object lookup in packs
- `git multi-pack-index`: Available in Git 2.20, can be manually enabled.
- Prefetch in the background.
- `git pack-file`: still in review in git-core.
- Next: Office, which has cross-plateform constrains.

## Personal feedback

Nice technical summary on the main Microsoft contributions to git, all the
optimizations they have added because of their constraints on the Windows repo.

+ 11
- 0
talks/15 - How a Git based education cultivates more resilient developers.md View File

@@ -0,0 +1,11 @@
# How a Git based education cultivates more resilient developers

- Artist, rabbis, geologists, all are developers now.
- Git helps become a better developer:
- Think of your code as blocks, being the next atomic commit.

## Personal feedback

Great presentation about Git in the very early stages of learning code. TDD,
commit messages, atomic commits, all with concrete examples, and showing that
Git helps being more resilient at the end.

Loading…
Cancel
Save