Shorten the talk, so that it fits 45 minutes
[?]
CTVSUyFKm1yxTveSViGaBAYbkYR7XsKZ5Laso7SHAMyn
Sep 21, 2022, 5:46 PM
7MFQRKKB7Y54BZCCXAHA64BK7DRH54F7XCQTD2KAI3A5XXVS2YTQCDependencies
- [2]
TUF73VRYUpdate years - [3]
B7LX4UQGUpdate for Pijul v1.0-beta - [4]
TUQ2GTHHFinish C# demo - [5]
IYB7IPPJAdjust timings - [6]
GHBCQL5FSpeaker notes improvements - [7]
36IPNPISHandle a few TODOs - [8]
LDVTVP2GAll TODOs are gone now - [9]
ISYGO74YShorten the talk a bit - [10]
S55XICBMFix speaker notes - [11]
WYULWETJReorganize - [12]
CBUCBYTVProgress - [13]
D7QXCWGAProgress - [14]
NYFLNSVVAdd some contents - [15]
OPKP65D4Activeer thema voor Future Tech - [16]
SQWPGFUEFinish the demos - [17]
5LKTNB6OLOTS of progress - [18]
BRKBOTWHAfter-talk changes - [19]
UXLO2KVDIntroduce fragments - [20]
F3AD6JXXAdd a Pijul demo that show reordering patches behaviour - [21]
YZWWU6JGSpeaker notes improvements - [22]
4AZS4L6BAdd chapters - [23]
QUG3TDX3Update to reveal.js 4.1 and a few small fixes - [24]
NF72HNAAApply JCON style - [25]
W7EIQGVRProgress - [26]
7RVMAQLPFinal major additions to the slide deck - [27]
QEKU5M3OPreface - [28]
6RNQOQTHAdd slides URL - [29]
UYGSVBN7Start the fossil demo - [30]
PMBAMPBIFinish the title slide - [31]
ARAFRHKUCreate the outline of the talk - [32]
73PQOETUUpdate slides to 2021 situation - [33]
YFZRGWH3Demo in IntelliJ - [34]
KPHR32IRProgress - [*]
6IUUMFCCInitial commit - [*]
UH3YXOLFStart the slide deck
Change contents
- replacement in sections/7-predictions.md at line 8
**Time Elapsed:** 42 min.**Time Elapsed:** 40 min. - replacement in sections/7-predictions.md at line 19
* 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" -->* Killer features.* Hosting platform support.* Open-source community support.* The handicap of a head start. - replacement in sections/6-pijul.md at line 67
<li class="fragment fade-in-then-semi-out">No merges or rebases; applying a patch is like <code>git cherry-pick</code>.</li><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
<!-- .slide: data-background="img/snapshot-vs-patch.png" data-background-color="#ccc" data-background-size="contain"--><!-- .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
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
// copy the hashes somewherepijul checkout next-week// copy the hashes somewhere, or duplicate the terminal tabpijul channel switch next-week - replacement in sections/6-pijul.md at line 141
pijul unrecord --reset <hash> (another movie)-- 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
It is now feature-complete and it will be backwards-compatible from now on.Pijul is now feature-complete and it will be backwards-compatible from now on. - replacement in sections/5-fossil.md at line 8
**Time Elapsed:** 17 min.**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 runningcd ~/development/fossilmkdir demofossil new demo.repocd demofossil open ../demo.repodotnet new console -o .touch Sample.javapublic class Sample {}fossil add .fossil changesfossil commit -m "Initial commit"### Using the web interfacefossil ui### Retrieving descendants of a checkinfossil 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
/* C-sharp */Console.WriteLine(Random());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 randomreturn 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
* Dealing with large commits - replacement in sections/4-four-new-kids-on-the-block.md at line 8
**Time Elapsed:** 16 min.**Time Elapsed:** 17 min. - replacement in sections/3-the-browser-wars.md at line 40
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.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
Still, I was right!Still, I was right! - replacement in sections/3-the-browser-wars.md at line 141
Netscape was replaced by Internet Explorer.Internet Explorer was replaced by Google Chrome.Netscape was replaced by Internet Explorer, which was replaced by Google Chrome. - replacement in sections/2-git.md at line 8
**Time Elapsed:** 6 min.**Time Elapsed:** 8 min. - replacement in sections/2-git.md at line 19
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.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
* Distributed <!-- .element: class="fragment fade-in-then-semi-out" -->* Free & 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" -->* Distributed* Free & open-source* Fast* Optimized for branching - replacement in sections/2-git.md at line 33
Well, as you may already know, these are Git's main features:Quick recap of Git's main features: - edit in sections/2-git.md at line 117
But of course most people choose Git here. - replacement in sections/2-git.md at line 148
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.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
Which at this early stage can only be done by using one approach:"Extrapolate from incomplete data"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!"Extrapolate from incomplete data"So, let's do that! - replacement in sections/1-preface.md at line 8
**Time Elapsed:** 2 min.**Time Elapsed:** 3 min. - replacement in sections/1-preface.md at line 10
So, fast-forward 14 years again.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.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
And one of the courses I teach is called 'Git for Developers'.One of these courses is called 'Git for Developers'. - replacement in sections/1-preface.md at line 17
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.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
So, for example, Subversion relates to the Nokia 3210. (point)So, for example, Subversion relates to the Nokia 3310. (point) - replacement in sections/1-preface.md at line 54
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.* 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.The open-source world - with Mr. Linus Torvalds in front - was not amused. - replacement in sections/1-preface.md at line 70
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?"* 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
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
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
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!And the research got out of hand and eventually turned into this conference talk. - replacement in sections/1-preface.md at line 89
So, welcome to you all! (*open arms*)So, thank you for attending it, you are most welcome! (*open arms*) - edit in sections/1-preface.md at line 91
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
* (Directories `java/fossil` en `java/pijul` leegmaken.)* Verbind Spotlight.* Verbind Spotlight met de Logitech-software.* Leg dobbelsteen klaar - replacement in sections/0-welcome.md at line 23
* Terminal met `mirror` erin* 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
* 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* Nieuwe tab voor Fossil UI - edit in sections/0-welcome.md at line 35
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
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
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.At my first job, about 15 years ago, we did a revolutionary thing regarding version control. - file addition: javascript[36.2]
- file deletion: .idea
- file deletion: vcs.xml
<?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
<?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
<?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
<?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
<?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
# Default ignored files/shelf//workspace.xml# Editor-based HTTP Client requests/httpRequests/ - replacement in index.html at line 107
<li class="fragment">Git's snapshotting might be too technical for the average Git user. <strong>So try Pijul for a change!</strong></li><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[36.2]