#!/usr/bin/env nix-shell #!nix-shell -p sent -i sent # # vim: set spell: Wiki-Member Berries How I Learned to Stop Worrying and Love the PmWiki \ oxzi @ hsmr, Siebter des Monats 2020-11 # Screenshot of hsmr.cc to illustrate the wiki. @img/hsmr-screenshot.png - Wiki exists for over seven years - Thousands of edits - Contains both memories and research questions Originally planned: Something like Data Science Therefore the data needs to be in a useful format # Image macro to show ssh over ssh over ssh. # 'cause ssh to türstatus to wega. @img/ssh-head-over.png PmWiki is the software and uses flat files wiki.d directory full of PageFileFormat files Each Wiki page is an own PageFileFormat file Plain text file format consisting of key-value pairs \ > version=pmwiki-2.1.0 urlencoded=1 > text=Markup text PageFileFormat also contains its own history \ > author:${TIME_NOW}=${AUTHOR} > diff:${TIME_NOW}:${TIME_PREV}:=${DIFF} # Sketch to show that patches are derived from the current state. @img/page-file-format.png Diff to previous versions is a classic diff (1) \ 0a1 > New first line, yay 3,4d3 < here goes my favourite line < oh noes 23c23 < mostly used to fix mstks -- > mostly used to fix mistakes Overall it is quite easy t͝o͢ pars̵e B̢u̸t ̢P͞m͟Wi͠k̸í ̵įs̶ a ̨s̕tan͝d̴álơn̴e͘ ̕a҉pplic͞atio̡n W̛̕͟r͜͞it͠t̴e̡n͡ i̡̛n ̴̧̕a͞n̢̕c͞į͞e͏n̛҉t ̕҉͟PH͝҉̕P̴͠ W͏̷̢͡i̕͟͟͢͝t̵́́͝͞h͝͞ ̛́ń̸̸̶͘o҉̶̧͘͠ ̕͝҉t͏̨̛͟e҉͜s͡҉͞t̸̴̨s͞ ̶̶̛a͡͡ń̵̸͘͠d̸̷ ̢͞á̸̧ ̵͞͞c̨҉̴ù̧͡s̀͢͢͟ţ̷́̀o͏͜҉m̢ ͝͏̶̧͟p̸̶͟͢a̵̵̢͝t̶̛͘ç̴̷̨̛ḩ͝ ̵̨͘a͠͠͞ǹ͢d̕͜͡ ̨͟͝҉d̢͏i҉f̸̨҉f̸̛͞͡ 🥺 # Screenshot of PmWiki's patch restore function. @img/pmwiki-restore.png P̕m̷Wi҉k̴i is a gift that keeps on giving… - Double and empty diffs against its own revision - Trimmed lines in diffs - Invalid diffs - Missing or truncated history This is where I stop crying And make a leap in time # https://github.com/oxzi/pmwiki-pagefileformat-go @img/pagefileformat-go.png $ git log --oneline | wc -l 9162 $ git quick-stats -w Git commits by weekday: \ day sum Mon 1899 |████████████████ Tue 1549 |█████████████ Wed 1214 |██████████ Thu 1366 |███████████ Fri 1090 |█████████ Sat 1155 |██████████ Sun 889 |███████ $ git quick-stats -o Git commits by hour: \ hour sum 00 356 |███ 01 307 |██ 02 169 |█ 03 107 | 04 53 | 05 74 | 06 67 | 07 121 |█ 08 173 |█ 09 228 |█ 10 248 |██ 11 338 |██ 12 330 |██ 13 384 |███ 14 414 |███ 15 452 |███ 16 536 |████ 17 503 |████ 18 685 |█████ 19 938 |████████ 20 928 |████████ 21 748 |██████ 22 644 |█████ 23 359 |███ $ git quick-stats -a | head Git commits per author: \ 3040 oleander 33.2% 1604 binbash 17.5% 1091 oxzi 11.9% 624 towb 6.8% 599 manu 6.5% 421 2cv6 4.6% 269 pim 2.9% 175 pmwiki 1.9% 167 bjoern 1.8% 119 bo 1.3% # Screenshot of gource showing the repository. @img/gource-screenshot.png No Data Science, just Meta Data Science.