Shorten the talk, so that it fits 45 minutes

[?]
CTVSUyFKm1yxTveSViGaBAYbkYR7XsKZ5Laso7SHAMyn
Sep 21, 2022, 5:46 PM
7MFQRKKB7Y54BZCCXAHA64BK7DRH54F7XCQTD2KAI3A5XXVS2YTQC

Dependencies

Change contents

  • replacement in sections/7-predictions.md at line 8
    [5.2041143][5.1631:1657]()
    **Time Elapsed:** 42 min.
    [5.2041143]
    [5.54090]
    **Time Elapsed:** 40 min.
  • replacement in sections/7-predictions.md at line 19
    [5.4236926][5.6808:7062](),[5.7062][5.57173:57263]()
    * Killer features. <!-- .element: class="fragment fade-in-then-semi-out" -->
    * Hosting platform support. <!-- .element: class="fragment fade-in-then-semi-out" -->
    * Open-source community support. <!-- .element: class="fragment fade-in-then-semi-out" -->
    * The handicap of a head start. <!-- .element: class="fragment fade-in-then-semi-out" -->
    [5.4236926]
    [5.2061]
    * Killer features.
    * Hosting platform support.
    * Open-source community support.
    * The handicap of a head start.
  • replacement in sections/6-pijul.md at line 67
    [5.6213][5.6213:6342]()
    <li class="fragment fade-in-then-semi-out">No merges or rebases; applying a patch is like <code>git cherry-pick</code>.</li>
    [5.6213]
    [5.6342]
    <li class="fragment fade-in-then-semi-out">No rebases, and merges are hardly needed; applying a patch is like <code>git cherry-pick</code>.</li>
  • replacement in sections/6-pijul.md at line 76
    [5.689309][5.689309:689429]()
    <!-- .slide: data-background="img/snapshot-vs-patch.png" data-background-color="#ccc" data-background-size="contain"-->
    [5.689309]
    [5.689429]
    <!-- .slide: data-background="img/snapshot-vs-patch.png" data-background-color="#555" data-background-size="contain"-->
  • edit in sections/6-pijul.md at line 91
    [5.1329]
    [5.1329]
    See Trello card [Demo's "Successor of Git"](https://trello.com/c/gfvXNMKg/96-demos-successor-of-git)
  • replacement in sections/6-pijul.md at line 132
    [5.1259][3.935:968](),[3.968][5.1259:1288](),[5.1259][5.1259:1288]()
    // copy the hashes somewhere
    pijul checkout next-week
    [5.1259]
    [5.1288]
    // copy the hashes somewhere, or duplicate the terminal tab
    pijul channel switch next-week
  • replacement in sections/6-pijul.md at line 141
    [3.1040][3.1040:1090]()
    pijul unrecord --reset <hash> (another movie)
    [3.1040]
    [3.1090]
    -- FINAL PART IS OPTIONAL --
  • edit in sections/6-pijul.md at line 157
    [5.690014][5.690014:690015](),[5.690015][3.1347:1532](),[3.1532][5.690161:690162](),[5.690161][5.690161:690162](),[5.690758][5.690758:691150]()
    Previous version of the talk I used v0.12, which was clearly labeled as a preview version for research purposes.
    v1.0 uses a complete rewrite of the patch format, amongst other things.
    A few months after the release of Pijul 0.12, a user reported a defect regarding the unrecording of patches that were previously involved in a conflict.
    After some time a solution was found, but it meant that a new patch format was needed, along with a few new algorithms.
    So, Pijul had to be rewritten from scratch to make it all work, which obviously resulted in a lot of breaking changes.
  • replacement in sections/6-pijul.md at line 158
    [5.4236768][3.1533:1609]()
    It is now feature-complete and it will be backwards-compatible from now on.
    [5.4236768]
    [3.1609]
    Pijul is now feature-complete and it will be backwards-compatible from now on.
  • replacement in sections/5-fossil.md at line 8
    [5.2041108][5.997:1023]()
    **Time Elapsed:** 17 min.
    [5.2041108]
    [5.52824]
    **Time Elapsed:** 18 min.
  • edit in sections/5-fossil.md at line 97
    [5.4235630][5.4421:4442](),[5.4442][5.521:630](),[5.630][4.317:415](),[5.48][5.671:688](),[4.415][5.671:688](),[5.671][5.671:688](),[5.688][5.56825:56844](),[5.56844][4.416:454](),[4.454][5.4514:4543](),[5.719][5.4514:4543](),[5.4514][5.4514:4543](),[5.4543][5.720:735](),[5.735][5.4543:4584](),[5.4543][5.4543:4584](),[5.4584][5.736:737](),[5.737][5.56845:56883](),[5.56883][4.455:476](),[4.476][5.49:303](),[5.56883][5.49:303](),[5.303][4.477:483]()
    ### Up and running
    cd ~/development/fossil
    mkdir demo
    fossil new demo.repo
    cd demo
    fossil open ../demo.repo
    dotnet new console -o .
    touch Sample.java
    public class Sample {}
    fossil add .
    fossil changes
    fossil commit -m "Initial commit"
    ### Using the web interface
    fossil ui
    ### Retrieving descendants of a checkin
    fossil branch new feature current
    /* JAVA */
    vi Sample.java
    // roll the die on stage!!
    public static void main(String... args) {
    System.out.println(random());
    }
    private static int random() {
    // Chosen by fair dice roll; guaranteed to be random.
    return 4;
    }
  • replacement in sections/5-fossil.md at line 98
    [4.484][4.484:535]()
    /* C-sharp */
    Console.WriteLine(Random());
    [4.484]
    [4.535]
    See Trello card [Demo's "Successor of Git"](https://trello.com/c/gfvXNMKg/96-demos-successor-of-git)
  • edit in sections/5-fossil.md at line 100
    [4.536][4.536:641](),[4.641][5.303:309](),[5.303][5.303:309](),[5.309][4.642:643](),[5.309][5.56912:56929](),[4.643][5.56912:56929](),[5.56912][5.56912:56929](),[5.56929][4.644:993](),[4.993][5.56966:56980](),[5.56966][5.56966:56980](),[5.796][5.796:802]()
    static int Random() {
    // chosen by fair dice roll; guaranteed to be random
    return 2;
    }
    fossil add .
    fossil commit -m "Implement random"
    fossil ui
    /* C-sharp */
    static int BetterRandom() {
    return new Random().Next(1, 6);
    }
    /* Java */
    private static int randomThreadLocalRandom() {
    return ThreadLocalRandom.current().nextInt(1, 7);
    }
    fossil add .
    fossil commit -m "Implement a better random"
    fossil ui
    ---
  • edit in sections/5-fossil.md at line 103
    [5.842][5.842:871]()
    * Dealing with large commits
  • replacement in sections/4-four-new-kids-on-the-block.md at line 8
    [5.4234494][5.969:995]()
    **Time Elapsed:** 16 min.
    [5.4234494]
    [5.2744700]
    **Time Elapsed:** 17 min.
  • replacement in sections/3-the-browser-wars.md at line 40
    [5.5214][5.49807:49961]()
    Anyway, apart from the fact that this slide causes your eyes to sting, it also shows that the Internet Explorer browser family was VERY dominant in 2005.
    [5.5214]
    [5.5304]
    Anyway, apart from being ugly, this slide also shows that the Internet Explorer browser family was VERY dominant in 2005.
  • replacement in sections/3-the-browser-wars.md at line 92
    [5.6353][5.4232774:4232795]()
    Still, I was right!
    [5.6353]
    [5.4232795]
    Still, I was right!
  • replacement in sections/3-the-browser-wars.md at line 141
    [5.785][5.51149:51193](),[5.51149][5.51149:51193](),[5.51193][5.786:835]()
    Netscape was replaced by Internet Explorer.
    Internet Explorer was replaced by Google Chrome.
    [5.785]
    [5.51290]
    Netscape was replaced by Internet Explorer, which was replaced by Google Chrome.
  • replacement in sections/2-git.md at line 8
    [5.7969587][5.914:939]()
    **Time Elapsed:** 6 min.
    [5.7969587]
    [5.4222622]
    **Time Elapsed:** 8 min.
  • replacement in sections/2-git.md at line 19
    [5.121732][5.42072:42241]()
    And I think we can discover them quickly by gathering information on the 'current big thing'.
    And how 'the current big thing' became 'the big thing' in the first place.
    [5.121732]
    [5.42241]
    And I think we can discover these variables quickly by gathering information on the 'current big thing'.
    And how it became 'the big thing' in the first place.
  • replacement in sections/2-git.md at line 27
    [5.4222819][5.1178:1482]()
    * Distributed <!-- .element: class="fragment fade-in-then-semi-out" -->
    * Free &amp; open-source <!-- .element: class="fragment fade-in-then-semi-out" -->
    * Fast <!-- .element: class="fragment fade-in-then-semi-out" -->
    * Optimized for branching <!-- .element: class="fragment fade-in-then-semi-out" -->
    [5.4222819]
    [5.4222891]
    * Distributed
    * Free &amp; open-source
    * Fast
    * Optimized for branching
  • replacement in sections/2-git.md at line 33
    [5.4222898][5.42304:42366]()
    Well, as you may already know, these are Git's main features:
    [5.4222898]
    [5.4223027]
    Quick recap of Git's main features:
  • edit in sections/2-git.md at line 117
    [5.54817]
    [5.4225725]
    But of course most people choose Git here.
  • replacement in sections/2-git.md at line 148
    [5.4226610][5.45112:45389](),[5.45389][5.333:449]()
    Let's introduce another one, while we`re at it!
    Your version control system may be supported by a hosting provider, but that doesn't necessarily mean that said hosting provider supports the open-source community.
    Lots of hosting providers primarily offer private repositories.
    Also, not all version control systems focus as much on supporting open-source development as Git does, for example.
    [5.4226610]
    [5.45493]
    Let's introduce another one, while we're at it!
    Because not all version control systems focus as much on supporting open-source development as Git does.
  • replacement in sections/2-git.md at line 154
    [5.45662][5.45662:45763]()
    Which at this early stage can only be done by using one approach:
    "Extrapolate from incomplete data"
    [5.45662]
    [5.4226894]
    Which at this early stage can only be done by using the following approach:
  • replacement in sections/2-git.md at line 163
    [5.4226972][5.46070:46193](),[5.46193][5.4227059:4227060](),[5.4227059][5.4227059:4227060](),[5.4227060][5.46194:46248]()
    After all, we all know there are only two types of people in the world.
    1. Those who can extrapolate from incomplete data.
    So, let's take some existing data and extrapolate it!
    [5.4226972]
    [5.7969682]
    "Extrapolate from incomplete data"
    So, let's do that!
  • replacement in sections/1-preface.md at line 8
    [5.2137][5.887:912]()
    **Time Elapsed:** 2 min.
    [5.2137]
    [5.2162]
    **Time Elapsed:** 3 min.
  • replacement in sections/1-preface.md at line 10
    [5.2163][5.8835:8868]()
    So, fast-forward 14 years again.
    [5.2163]
    [5.1717]
    So, fast-forward 15 years again.
  • replacement in sections/1-preface.md at line 12
    [5.1804][5.1804:1886](),[5.1886][5.8945:8979](),[5.8945][5.8945:8979](),[5.8979][5.37954:38231](),[5.37954][5.37954:38231]()
    Now at Info Support, besides doing consultancy work, I also teach a few courses.
    We offer a wide range of courses.
    And they exist mainly to get our junior colleagues up to speed with important concepts or products they'll need for their daily work.
    They address base software development topics such as object-orientation, automated testing, continuous delivery, containerisation and so on.
    [5.1804]
    [5.2408]
    And I also teach a few courses at Info Support, from time to time.
    Our courses address basic software development topics such as object-orientation, automated testing, continuous delivery, containerisation and so on.
  • replacement in sections/1-preface.md at line 15
    [5.2409][5.38232:38295]()
    And one of the courses I teach is called 'Git for Developers'.
    [5.2409]
    [5.38295]
    One of these courses is called 'Git for Developers'.
  • replacement in sections/1-preface.md at line 17
    [5.38379][5.131:305]()
    Among other things, we discuss the pros and cons of distributed version control systems and how they compare to the earlier version control system, like CVS and Subversion.
    [5.38379]
    [5.118770]
    We discuss the pros and cons of distributed version control systems and how they compare to the earlier version control system, like CVS and Subversion.
  • replacement in sections/1-preface.md at line 30
    [5.119386][5.1887:1950]()
    So, for example, Subversion relates to the Nokia 3210. (point)
    [5.119386]
    [2.352]
    So, for example, Subversion relates to the Nokia 3310. (point)
  • replacement in sections/1-preface.md at line 54
    [5.120042][5.4219537:4219563](),[5.4219563][2.386:897]()
    Well, BitKeeper happened.
    BitKeeper always was a proprietary piece of software, so a paid product.
    But Linux got a special deal.
    The deal is simple, the Linux community could use Bitkeeper for free in exchange for some metadata and an agreement for Linux contributors not to work on competing version control systems.
    No other distributed version control systems existed at the time.
    Eventually however, in March 2005, Bitkeeper informs teh Linux Kernel Development Team that they will have to start to pay to continue using Bitkeeper.
    [5.120042]
    [2.897]
    * BitKeeper changed its licensing model for Open Source users
    * In a nutshell: the Linux community could no longer use BitKeeper for free
  • replacement in sections/1-preface.md at line 57
    [2.898][5.4219625:4219691](),[5.39314][5.4219625:4219691](),[5.4219625][5.4219625:4219691]()
    The open-source world - Linus Torvalds in front - was not amused.
    [2.898]
    [5.39438]
    The open-source world - with Mr. Linus Torvalds in front - was not amused.
  • replacement in sections/1-preface.md at line 70
    [5.120393][5.39800:40015](),[5.40015][5.304:393](),[5.120782][5.496:606]()
    So **I** thought the year 2005 really stood out in this graphic.
    Of course, that doesn't necessarily mean everyone thought so.
    In fact, at the end of one particular course day, a student came to me with a question.
    And her question proved that she had noticed an **entirely** different thing than I had.
    She came to me after class and said: "Git is great and all that, but what's gonna be the **next** big thing?"
    [5.120393]
    [5.121418]
    * The year 2005 caught my attention.
    * But one of my students had noticed something entire different in this graphic.
    At the end of one particular course day, this student came to me with a question.
    And she said: "Git is great and all that, but what's gonna be the **next** big thing?"
    "It looks like nothing has happend in Version Control world for over ten years!"
    I told her:
    * we're quite sure that distributed version control systems like Git and Mercurial will be around for much longer.
  • edit in sections/1-preface.md at line 81
    [5.121419][5.607:667](),[5.667][5.40540:40662](),[5.40540][5.40540:40662]()
    Now I turned to the student and told her everything I knew.
    That I was quite sure that distributed version control systems like Git and Mercurial would be around for a while longer.
  • edit in sections/1-preface.md at line 84
    [5.121424][5.719:816]()
    Now afterwards, I really felt bad about not being able to answer my student's question directly.
  • edit in sections/1-preface.md at line 85
    [5.933]
    [5.40976]
    That didn't sit right with me.
  • replacement in sections/1-preface.md at line 87
    [5.41027][5.4221429:4221576](),[5.4221429][5.4221429:4221576](),[5.4221576][5.934:980]()
    And what started out as finding the answer to a simple question turned into an investigation.
    And the investigation turned into a conference talk.
    Which is the one you're attending right now!
    [5.41027]
    [5.3465]
    And the research got out of hand and eventually turned into this conference talk.
  • replacement in sections/1-preface.md at line 89
    [5.3466][5.4221577:4221615]()
    So, welcome to you all! (*open arms*)
    [5.3466]
    [5.41028]
    So, thank you for attending it, you are most welcome! (*open arms*)
  • edit in sections/1-preface.md at line 91
    [5.41114][5.981:1065](),[5.1065][5.41197:41212](),[5.41197][5.41197:41212]()
    And after we find out, I'll make sure that she gets the answer as soon as possible.
    OK? I promise.
  • replacement in sections/0-welcome.md at line 19
    [5.6859783][2.2:59](),[2.59][5.359:380](),[5.359][5.359:380]()
    * (Directories `java/fossil` en `java/pijul` leegmaken.)
    * Verbind Spotlight.
    [5.6859783]
    [5.380]
    * Verbind Spotlight met de Logitech-software.
    * Leg dobbelsteen klaar
  • replacement in sections/0-welcome.md at line 23
    [5.415][2.60:91]()
    * Terminal met `mirror` erin
    [5.415]
    [5.415]
    * VSCode, met alle editors dicht
    * Terminal:
    * Tab met `mirror`
    * Tab met de slides draaiend
    * Tab voor fossil
    * Tab voor pijul - verbonden met Docker-container
  • replacement in sections/0-welcome.md at line 31
    [5.443][2.92:350]()
    * VSCode, geopend op pad `/Users/hanno/development/talks/reveal.js-4.1.0/slide-decks/will-git-be-around-forever-slides/demo`
    * Terminal ernaast in Split Screen-configuratie
    * Tabje voor fossil
    * Tabje voor pijul - verbonden met Docker-container
    [5.443]
    [5.37318]
    * Nieuwe tab voor Fossil UI
  • edit in sections/0-welcome.md at line 35
    [5.102]
    [5.8316]
    Now I have been a Java developer for almost 15 years.
    So backend. But whether we work in backend or frontend, we all need version control!
  • edit in sections/0-welcome.md at line 38
    [5.8317]
    [5.8317]
    Quick show of hands - who of you is currently using Git?
    And who uses a different version control system?
    (and who doesn't like these handraising questions?)
  • replacement in sections/0-welcome.md at line 51
    [5.8565][5.8565:8618](),[5.8618][5.1419:1516]()
    Now I have been a Java developer for over 14 years.
    And at my first job, about 14 years ago, we did a revolutionary thing regarding version control.
    [5.8565]
    [5.1516]
    At my first job, about 15 years ago, we did a revolutionary thing regarding version control.
  • file addition: javascript (d--r------)
    [36.2]
  • file deletion: .idea (d--r------)
    [5.1][5.20:36](),[5.36][5.19:19]()
  • file deletion: vcs.xml (----------)
    [5.19][5.1859:1890](),[5.1890][5.1674:1674]()
    <?xml version="1.0" encoding="UTF-8"?>
    <project version="4">
    <component name="VcsDirectoryMappings">
    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
    </component>
    </project>
  • file deletion: modules.xml (----------)
    [5.19][5.1637:1672](),[5.1672][5.1375:1375]()
    <?xml version="1.0" encoding="UTF-8"?>
    <project version="4">
    <component name="ProjectModuleManager">
    <modules>
    <module fileurl="file://$PROJECT_DIR$/.idea/java.iml" filepath="$PROJECT_DIR$/.idea/java.iml" />
    </modules>
    </component>
    </project>
  • file deletion: misc.xml (----------)
    [5.19][5.1341:1373](),[5.1373][5.1106:1106]()
    <?xml version="1.0" encoding="UTF-8"?>
    <project version="4">
    <component name="ProjectRootManager" version="2" project-jdk-name="16" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/out" />
    </component>
    </project>
  • file deletion: java.iml (----------)
    [5.19][5.1072:1104](),[5.1104][5.558:558]()
    <?xml version="1.0" encoding="UTF-8"?>
    <module type="JAVA_MODULE" version="4">
    <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
    <sourceFolder url="file://$MODULE_DIR$/fossil/demo" isTestSource="false" />
    <sourceFolder url="file://$MODULE_DIR$/pijul/demo" isTestSource="false" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    </component>
    </module>
  • file deletion: compiler.xml (----------)
    [5.19][5.520:556](),[5.556][5.174:174]()
    <?xml version="1.0" encoding="UTF-8"?>
    <project version="4">
    <component name="CompilerConfiguration">
    <bytecodeTargetLevel target="12" />
    </component>
    <component name="JavacSettings">
    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
    <module name="java" options="--add-modules java.base" />
    </option>
    </component>
    </project>
  • file deletion: .gitignore (----------)
    [5.19][5.138:172](),[5.172][5.38:38]()
    # Default ignored files
    /shelf/
    /workspace.xml
    # Editor-based HTTP Client requests
    /httpRequests/
  • replacement in index.html at line 107
    [5.240][5.240:402]()
    <li class="fragment">Git's snapshotting might be too technical for the average Git user. <strong>So try Pijul for a change!</strong></li>
    [5.240]
    [5.402]
    <li class="fragment">Git's snapshotting might be too technical for the average user. <strong>So try Pijul for a change!</strong></li>
  • file addition: c-sharp (d--r------)
    [36.2]