Package: aegisub Version: 2.1.9-1 Severity: normal When typing subs, expecially longish ones (>10 words or so) sometimes the cursor gets misaligned, so it looks like you're typing in some position, and the characters are entered one or two characters to the left.
Committing the sub and reopening it does not help. I attach one specific .ass when this is happening, but I don't know if reloading would trigger the bug on the same lines. I realise this report is not very precise, so feel free to ask me any question that could help pinpoint the problem. -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.10-2-amd64 (SMP w/1 CPU core) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages aegisub depends on: ii libasound2 1.0.27.1-2 ii libass4 0.10.0-3 ii libc6 2.17-92 ii libffms2-2 2.17-1 ii libfontconfig1 2.10.2-2 ii libfreetype6 2.4.9-1.1 ii libgcc1 1:4.8.1-2 ii libgl1-mesa-glx [libgl1] 9.1.6-2 ii libgomp1 4.8.1-2 ii libhunspell-1.3-0 1.3.2-4 ii liblua5.1-0 5.1.5-4 ii libpulse0 4.0-6 ii libstdc++6 4.8.1-2 ii libwxbase2.8-0 2.8.12.1-13 ii libwxgtk2.8-0 2.8.12.1-13 ii zlib1g 1:1.2.8.dfsg-1 aegisub recommends no packages. Versions of packages aegisub suggests: pn aegisub-l10n <none> -- no debconf information
[Script Info] ; Script generated by Aegisub 2.1.9 ; http://www.aegisub.org/ Title: Default Aegisub file ScriptType: v4.00+ WrapStyle: 0 PlayResX: 640 PlayResY: 480 ScaledBorderAndShadow: yes Audio File: ?video Video File: 1025_gitify_your_life.ogv Video Aspect Ratio: 0 Video Zoom: 8 Video Position: 21218 [V4+ Styles] Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1 [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:03.01,Default,,0000,0000,0000,,Time we start with the next talk Dialogue: 0,0:00:03.56,0:00:06.25,Default,,0000,0000,0000,,I welcome Richard Hartmann Dialogue: 0,0:00:06.25,0:00:09.86,Default,,0000,0000,0000,,He is involved in Debian since many years Dialogue: 0,0:00:09.86,0:00:14.31,Default,,0000,0000,0000,,and he became recently Debian Developer Dialogue: 0,0:00:14.31,0:00:18.29,Default,,0000,0000,0000,,and he will talk about gitify your life. Dialogue: 0,0:00:18.29,0:00:22.50,Default,,0000,0000,0000,,?, ?, configs, data and backup. gitify everything Dialogue: 0,0:00:22.50,0:00:24.31,Default,,0000,0000,0000,,Richard Hartmann Dialogue: 0,0:00:24.31,0:00:25.37,Default,,0000,0000,0000,,Thank you. Dialogue: 0,0:00:25.37,0:00:30.98,Default,,0000,0000,0000,, Dialogue: 0,0:00:30.98,0:00:32.09,Default,,0000,0000,0000,,Thank you for coming Dialogue: 0,0:00:32.09,0:00:35.24,Default,,0000,0000,0000,,expecially those who ? years attended all ? Dialogue: 0,0:00:35.24,0:00:37.24,Default,,0000,0000,0000,, Dialogue: 0,0:00:37.24,0:00:39.24,Default,,0000,0000,0000,,Short thing about myself Dialogue: 0,0:00:39.78,0:00:42.46,Default,,0000,0000,0000,,As ? said I'm Richard Hartmann Dialogue: 0,0:00:42.46,0:00:46.03,Default,,0000,0000,0000,,In my day job I am backbone manager at Globalways Dialogue: 0,0:00:46.03,0:00:49.32,Default,,0000,0000,0000,,I'm involved in freenode and OFTC and... Dialogue: 0,0:00:49.32,0:00:51.32,Default,,0000,0000,0000,,should I speak louder? Dialogue: 0,0:00:52.05,0:00:53.32,Default,,0000,0000,0000,,I'm not... Dialogue: 0,0:00:55.99,0:00:58.35,Default,,0000,0000,0000,,test, test... good back there? Dialogue: 0,0:01:01.13,0:01:03.13,Default,,0000,0000,0000,,Can you turn up the volume at ? Dialogue: 0,0:01:05.57,0:01:08.21,Default,,0000,0000,0000,,test, test... ok, perfect. Dialogue: 0,0:01:08.21,0:01:13.08,Default,,0000,0000,0000,,Since about a week I've been a Debian Developer (yay) Dialogue: 0,0:01:13.08,0:01:20.67,Default,,0000,0000,0000,,and I'm the author of vcsh Dialogue: 0,0:01:20.67,0:01:24.75,Default,,0000,0000,0000,,ok, so, raise of hands who of you know what git is Dialogue: 0,0:01:25.53,0:01:26.75,Default,,0000,0000,0000,,perfect Dialogue: 0,0:01:26.75,0:01:31.23,Default,,0000,0000,0000,,That's just as in ? perfect, you can ? Dialogue: 0,0:01:31.74,0:01:34.06,Default,,0000,0000,0000,,Let's move to the first tool, etckeeper Dialogue: 0,0:01:34.06,0:01:37.25,Default,,0000,0000,0000,,some of maybe most of this audience will have heard of it Dialogue: 0,0:01:37.25,0:01:45.96,Default,,0000,0000,0000,,it's a tool to basicly store your /etc in pretty much every version control system you can think of Dialogue: 0,0:01:46.37,0:01:47.90,Default,,0000,0000,0000,,It's implemented in POSIX shell Dialogue: 0,0:01:47.90,0:01:53.28,Default,,0000,0000,0000,,it autocommits every thing in /etc basically at every opportunity Dialogue: 0,0:01:53.28,0:01:55.28,Default,,0000,0000,0000,,you may need to write excludes, for example Dialogue: 0,0:01:55.28,0:01:58.05,Default,,0000,0000,0000,,before your network config ? Dialogue: 0,0:01:58.05,0:02:00.05,Default,,0000,0000,0000,,but else, yeah, that's really cool Dialogue: 0,0:02:00.05,0:02:01.10,Default,,0000,0000,0000,,the autocommit Dialogue: 0,0:02:01.10,0:02:07.08,Default,,0000,0000,0000,,it hooks into most of the important or maybe even all of the important package management systems Dialogue: 0,0:02:07.08,0:02:11.11,Default,,0000,0000,0000,,so when you install your packages, even on SuSE or whatever Dialogue: 0,0:02:11.11,0:02:14.30,Default,,0000,0000,0000,,you can just have it commit automatically, which is very nice Dialogue: 0,0:02:14.90,0:02:17.50,Default,,0000,0000,0000,,You can obviously commit manually Dialogue: 0,0:02:17.50,0:02:19.95,Default,,0000,0000,0000,,if you for example change your X config Dialogue: 0,0:02:20.55,0:02:23.05,Default,,0000,0000,0000,,it supports as I said various backends Dialogue: 0,0:02:23.05,0:02:25.56,Default,,0000,0000,0000,,it's quite nice to recover from failures Dialogue: 0,0:02:25.56,0:02:31.21,Default,,0000,0000,0000,,for example ? used it to recover from saturdays power outages Dialogue: 0,0:02:31.21,0:02:36.30,Default,,0000,0000,0000,,because some servers lost stuff and with etckeeper you can just replay all the data which was... Dialogue: 0,0:02:36.30,0:02:37.78,Default,,0000,0000,0000,,rather nice Dialogue: 0,0:02:38.06,0:02:39.26,Default,,0000,0000,0000,,Then there is bup Dialogue: 0,0:02:39.26,0:02:42.92,Default,,0000,0000,0000,,bup is a backup tool based on the git pack file format Dialogue: 0,0:02:42.92,0:02:44.17,Default,,0000,0000,0000,,it's written in python Dialogue: 0,0:02:44.17,0:02:45.65,Default,,0000,0000,0000,,it's very very fast Dialogue: 0,0:02:45.65,0:02:47.32,Default,,0000,0000,0000,,and it's very space efficient. Dialogue: 0,0:02:47.74,0:02:52.83,Default,,0000,0000,0000,,The author of bup managed to reduce his own personal backup size Dialogue: 0,0:02:52.97,0:02:55.80,Default,,0000,0000,0000,,from 120 GiB to 45 GiB Dialogue: 0,0:02:55.80,0:03:00.01,Default,,0000,0000,0000,,just by migrating away from rsnapshot over to bup Dialogue: 0,0:03:00.01,0:03:02.05,Default,,0000,0000,0000,,which is quite good Dialogue: 0,0:03:02.05,0:03:05.15,Default,,0000,0000,0000,,I mean, it's almost ? bit more than a third, so Dialogue: 0,0:03:05.15,0:03:06.40,Default,,0000,0000,0000,,very good Dialogue: 0,0:03:06.91,0:03:09.64,Default,,0000,0000,0000,,This happens because it has built-in deduplication Dialogue: 0,0:03:09.64,0:03:14.41,Default,,0000,0000,0000,,because obviously git pack files also have deduplication Dialogue: 0,0:03:14.69,0:03:16.82,Default,,0000,0000,0000,,You can restore every single mount point Dialogue: 0,0:03:16.82,0:03:19.00,Default,,0000,0000,0000,,or every single point in time Dialogue: 0,0:03:19.00,0:03:23.40,Default,,0000,0000,0000,,every single backup can be monted as FUSE filesystem or a ? filesystem Dialogue: 0,0:03:23.40,0:03:25.30,Default,,0000,0000,0000,,independently of each other Dialogue: 0,0:03:25.30,0:03:28.22,Default,,0000,0000,0000,,so you can even compare different versions of what you have in your backups Dialogue: 0,0:03:28.59,0:03:29.79,Default,,0000,0000,0000,,which again is very nice Dialogue: 0,0:03:29.79,0:03:34.93,Default,,0000,0000,0000,,the one thing which is a real downside for serious deployments Dialogue: 0,0:03:36.23,0:03:43.45,Default,,0000,0000,0000,,there is no way to get data out of your... archive or out of your backups Dialogue: 0,0:03:43.45,0:03:46.69,Default,,0000,0000,0000,,which again is a direct consequence of using git pack files Dialogue: 0,0:03:46.69,0:03:49.66,Default,,0000,0000,0000,,there is a branch which supports deleting old data Dialogue: 0,0:03:49.66,0:03:52.99,Default,,0000,0000,0000,,but this is not in mainline and it hasn't been in mainline for... Dialogue: 0,0:03:54.24,0:03:55.91,Default,,0000,0000,0000,,I think one or two years Dialogue: 0,0:03:55.91,0:03:59.34,Default,,0000,0000,0000,,so I'm not sure if it will ever happen but... Dialogue: 0,0:03:59.34,0:04:00.77,Default,,0000,0000,0000,,yeah Dialogue: 0,0:04:00.77,0:04:02.77,Default,,0000,0000,0000,,at least in theory it would exist Dialogue: 0,0:04:04.39,0:04:09.85,Default,,0000,0000,0000,,then for your websites, for your wikis, for your whatever there is ikiwiki Dialogue: 0,0:04:10.82,0:04:13.00,Default,,0000,0000,0000,,ikiwiki is a wiki compiler Dialogue: 0,0:04:13.00,0:04:14.30,Default,,0000,0000,0000,,as the name implies Dialogue: 0,0:04:14.30,0:04:19.44,Default,,0000,0000,0000,,and it converts various different files into HTML files Dialogue: 0,0:04:19.81,0:04:20.87,Default,,0000,0000,0000,,it's written in Perl Dialogue: 0,0:04:20.87,0:04:22.63,Default,,0000,0000,0000,,it supports various backends Dialogue: 0,0:04:22.63,0:04:25.46,Default,,0000,0000,0000,,again most of the ones you can possibly think of Dialogue: 0,0:04:26.94,0:04:28.75,Default,,0000,0000,0000,,oh, I can even slow down, good Dialogue: 0,0:04:30.41,0:04:34.86,Default,,0000,0000,0000,,it's able to parse various markup languages, more on that on the next slide Dialogue: 0,0:04:35.32,0:04:41.62,Default,,0000,0000,0000,,there are several different ways to actually edit any kind of content within ikiwiki Dialogue: 0,0:04:42.92,0:04:46.35,Default,,0000,0000,0000,,it has templating support, it has CSS support Dialogue: 0,0:04:46.35,0:04:51.90,Default,,0000,0000,0000,,these are quite extensive, but they may be improved, but that's for another time Dialogue: 0,0:04:51.90,0:04:56.72,Default,,0000,0000,0000,,it acts as a wiki, as a CMS, as a blog, as a lot of different things Dialogue: 0,0:04:57.09,0:05:02.51,Default,,0000,0000,0000,,it automatically generates RSS and Atom feeds for every single page, for every subdirectory Dialogue: 0,0:05:02.51,0:05:05.84,Default,,0000,0000,0000,,so you can easily subscribe to topical content Dialogue: 0,0:05:05.84,0:05:09.87,Default,,0000,0000,0000,,if you are for example only interested in one part of a particular page Dialogue: 0,0:05:09.87,0:05:12.28,Default,,0000,0000,0000,,just subscribe to this part by RSS Dialogue: 0,0:05:12.28,0:05:14.60,Default,,0000,0000,0000,,and you don't have to check if there updates for it Dialogue: 0,0:05:14.60,0:05:19.74,Default,,0000,0000,0000,,which is very convenient to keep track of comments somewhere or something Dialogue: 0,0:05:20.06,0:05:25.57,Default,,0000,0000,0000,,It supports OpenID, which means you dont have to go through all the trouble of... Dialogue: 0,0:05:25.94,0:05:29.23,Default,,0000,0000,0000,,having a user database or doing very... Dialogue: 0,0:05:29.60,0:05:31.45,Default,,0000,0000,0000,,or doing a lot of antispam measures Dialogue: 0,0:05:31.45,0:05:34.65,Default,,0000,0000,0000,,because it turns out OpenID is relatively well... Dialogue: 0,0:05:34.65,0:05:36.50,Default,,0000,0000,0000,,suited for just... Dialogue: 0,0:05:36.50,0:05:39.47,Default,,0000,0000,0000,,stopping spam. For some reason, maybe they just Dialogue: 0,0:05:39.47,0:05:40.81,Default,,0000,0000,0000,,haven't picked it up yet, I don't know Dialogue: 0,0:05:40.81,0:05:43.87,Default,,0000,0000,0000,,but it's quite nice, because you don't have to do any actual work Dialogue: 0,0:05:44.24,0:05:50.21,Default,,0000,0000,0000,,and people can still edit your content, and you can track back changes at least to some extent Dialogue: 0,0:05:51.78,0:05:58.31,Default,,0000,0000,0000,,it supports various markup languages, the best ones, well, debatable, but in my opinion is Markdown Dialogue: 0,0:05:58.50,0:06:06.51,Default,,0000,0000,0000,,it supports WikiText, reStructuredText, Textile and HTML and there are ikiwiki specific extensions Dialogue: 0,0:06:06.51,0:06:12.02,Default,,0000,0000,0000,,for example normal wikilinks which are a lot more powerful than the normal linking style in MarkDown Dialogue: 0,0:06:12.02,0:06:15.08,Default,,0000,0000,0000,,which kind of sucks, but... whatever Dialogue: 0,0:06:16.61,0:06:22.58,Default,,0000,0000,0000,,it also supports directives, which basically tell ikiwiki to do special things with the page Dialogue: 0,0:06:22.58,0:06:24.44,Default,,0000,0000,0000,,for example you can tag your blog pages Dialogue: 0,0:06:24.44,0:06:26.94,Default,,0000,0000,0000,,or you can make... Dialogue: 0,0:06:27.21,0:06:33.05,Default,,0000,0000,0000,,generate pages which automatically pull in content from different other pages and stuff like this. Dialogue: 0,0:06:33.05,0:06:35.05,Default,,0000,0000,0000,,that's all done by directives. Dialogue: 0,0:06:38.28,0:06:39.63,Default,,0000,0000,0000,,How does it work? Dialogue: 0,0:06:39.63,0:06:44.53,Default,,0000,0000,0000,,You can edit webpages directly, if you want to, on the web Dialogue: 0,0:06:45.04,0:06:49.77,Default,,0000,0000,0000,,then you will have a rebuild of the content Dialogue: 0,0:06:49.77,0:06:52.32,Default,,0000,0000,0000,,but only the parts with changes Dialogue: 0,0:06:52.32,0:06:55.79,Default,,0000,0000,0000,,so if you... hello? Dialogue: 0,0:06:55.79,0:06:59.35,Default,,0000,0000,0000,,if you change only one single file it will only rebuild one single file Dialogue: 0,0:06:59.35,0:07:03.85,Default,,0000,0000,0000,,if you change for example the navigation it will rebuild everything because obviously... Dialogue: 0,0:07:03.85,0:07:05.85,Default,,0000,0000,0000,,it is used by everything. Dialogue: 0,0:07:15.70,0:07:20.24,Default,,0000,0000,0000,,If it has to generate pages automatically, for example the index pages or something Dialogue: 0,0:07:20.24,0:07:23.16,Default,,0000,0000,0000,,if you just create a new subdirectory, or if you have... Dialogue: 0,0:07:23.58,0:07:25.85,Default,,0000,0000,0000,,if you have commands which have to appear on your site Dialogue: 0,0:07:25.85,0:07:29.09,Default,,0000,0000,0000,,it will automatically generate those MarkDown files and commit them Dialogue: 0,0:07:29.09,0:07:34.04,Default,,0000,0000,0000,,or you put them in your souce directory and you just commit them and... Dialogue: 0,0:07:34.27,0:07:37.79,Default,,0000,0000,0000,,and have them part of your site, or you can autocommit them if you want. Dialogue: 0,0:07:37.79,0:07:39.51,Default,,0000,0000,0000,,That's possible as well. Dialogue: 0,0:07:39.74,0:07:45.95,Default,,0000,0000,0000,,You can obviously change... pull in changes in your local repository if you want to look at them Dialogue: 0,0:07:47.01,0:07:49.19,Default,,0000,0000,0000,,Common uses would be public wiki... Dialogue: 0,0:07:49.19,0:07:53.45,Default,,0000,0000,0000,,private notes, for just note keeping of your personal TODO list or whatever Dialogue: 0,0:07:54.14,0:07:58.36,Default,,0000,0000,0000,,having an actual blog, which a lot of people in this room probably do Dialogue: 0,0:07:58.36,0:08:04.28,Default,,0000,0000,0000,,that's, yeah, I mean a lot of people on Planet Debian have their blog on ikiwiki, for good reasons Dialogue: 0,0:08:04.89,0:08:09.06,Default,,0000,0000,0000,,and an actual CMS for company websites or stuff Dialogue: 0,0:08:09.38,0:08:12.07,Default,,0000,0000,0000,,which also tends to work quite well. Dialogue: 0,0:08:13.50,0:08:21.70,Default,,0000,0000,0000,,The three main ways to interact with ikiwiki are webbased text editing, which is quite useful for new users, but is quite boring, in my opinion, Dialogue: 0,0:08:22.25,0:08:28.09,Default,,0000,0000,0000,,there is also a WYSIWYG editor which is even more fancy for non-technical users Dialogue: 0,0:08:28.65,0:08:32.72,Default,,0000,0000,0000,,and there is just plain old CLI-based editing way: Dialogue: 0,0:08:32.72,0:08:38.60,Default,,0000,0000,0000,,just edit files and commit them back into repository pushes up and everything gets rebuilt automatically , which is... Dialogue: 0,0:08:38.83,0:08:41.94,Default,,0000,0000,0000,,in my opinion the best way to interact with ikiwiki, because Dialogue: 0,0:08:41.94,0:08:45.60,Default,,0000,0000,0000,,you are able to stay on the command line and simply push out your... Dialogue: 0,0:08:45.60,0:08:50.46,Default,,0000,0000,0000,,your stuff onto the web and you don'tactually have to leave the command line Dialogue: 0,0:08:50.78,0:08:53.10,Default,,0000,0000,0000,,which is pretty kinda neat. Dialogue: 0,0:08:54.07,0:08:57.08,Default,,0000,0000,0000,,There are also some more advanced use cases Dialogue: 0,0:08:59.26,0:09:02.64,Default,,0000,0000,0000,,as I said you can interface with the source files directly Dialogue: 0,0:09:02.64,0:09:04.07,Default,,0000,0000,0000,,you can maintain... Dialogue: 0,0:09:04.54,0:09:06.07,Default,,0000,0000,0000,,something is wrong Dialogue: 0,0:09:06.07,0:09:10.42,Default,,0000,0000,0000,,for example you can maintain your your wiki and your docs and your... Dialogue: 0,0:09:10.42,0:09:12.42,Default,,0000,0000,0000,,source code in one single directory Dialogue: 0,0:09:12.83,0:09:15.28,Default,,0000,0000,0000,,and it would simply... Dialogue: 0,0:09:15.28,0:09:18.80,Default,,0000,0000,0000,,and simply have parts of your subdirectory structure rendered. Dialogue: 0,0:09:18.80,0:09:20.80,Default,,0000,0000,0000,,for example git-annex does this Dialogue: 0,0:09:20.80,0:09:24.31,Default,,0000,0000,0000,,there is a doc directory, which is rendered to the website Dialogue: 0,0:09:24.59,0:09:26.72,Default,,0000,0000,0000,,but is also part of the normal source directory Dialogue: 0,0:09:26.72,0:09:30.75,Default,,0000,0000,0000,,which means that everybody who checks out a copy of the repository Dialogue: 0,0:09:30.75,0:09:34.32,Default,,0000,0000,0000,,will have the complete forum, bug reports, TODO lists Dialogue: 0,0:09:34.32,0:09:35.15,Default,,0000,0000,0000,,user comments, Dialogue: 0,0:09:35.24,0:09:40.15,Default,,0000,0000,0000,,everything on their local filesystem, without having to leave — again — their command line, Dialogue: 0,0:09:40.15,0:09:48.72,Default,,0000,0000,0000,,which doesn't break media, and so is just very convenient to have one single resource for everything regarding one single program. Dialogue: 0,0:09:49.69,0:09:52.80,Default,,0000,0000,0000,,And another nice thing is if you create different branches Dialogue: 0,0:09:52.80,0:09:58.91,Default,,0000,0000,0000,,for preview, staging areas you can have workflows where some people are just allowed to create ... Dialogue: 0,0:09:58.91,0:10:05.07,Default,,0000,0000,0000,,pages, other people then look over those pages and merge them back into master and then push them on the website Dialogue: 0,0:10:05.39,0:10:08.03,Default,,0000,0000,0000,,which basically allows you to... Dialogue: 0,0:10:08.59,0:10:13.64,Default,,0000,0000,0000,,to have content control or real publishing workflow, if you havea need to do this Dialogue: 0,0:10:15.63,0:10:17.90,Default,,0000,0000,0000,,yeah. next stop: git-annex Dialogue: 0,0:10:18.59,0:10:20.49,Default,,0000,0000,0000,,the beef. Dialogue: 0,0:10:22.06,0:10:28.69,Default,,0000,0000,0000,,It's basically a tool to manage files with git without checking those files into git Dialogue: 0,0:10:29.80,0:10:31.98,Default,,0000,0000,0000,,? Dialogue: 0,0:10:34.66,0:10:35.68,Default,,0000,0000,0000,,Yeah, what is git-annex? Dialogue: 0,0:10:35.68,0:10:36.38,Default,,0000,0000,0000,,It's based on git, Dialogue: 0,0:10:36.38,0:10:39.48,Default,,0000,0000,0000,,it maintains the metadata about files, Dialogue: 0,0:10:39.48,0:10:43.41,Default,,0000,0000,0000,,as in location, and file names and everything, in your git repository Dialogue: 0,0:10:43.69,0:10:48.93,Default,,0000,0000,0000,,but it doesn't actually maintain the file content within the git repository Dialogue: 0,0:10:48.93,0:10:49.90,Default,,0000,0000,0000,,more on that later Dialogue: 0,0:10:49.90,0:10:53.05,Default,,0000,0000,0000,,this saves a lot of time and space. Dialogue: 0,0:10:54.30,0:10:59.16,Default,,0000,0000,0000,,You still able to use any git-annex repository as a normal git repository Dialogue: 0,0:10:59.16,0:11:02.31,Default,,0000,0000,0000,,which ? means you're even able to have a mix of... Dialogue: 0,0:11:02.31,0:11:05.09,Default,,0000,0000,0000,,for example, say, all your ? files Dialogue: 0,0:11:05.09,0:11:07.96,Default,,0000,0000,0000,,should be maintained by normal git, Dialogue: 0,0:11:07.96,0:11:12.17,Default,,0000,0000,0000,,and then you have all the merging which git does for you and everything Dialogue: 0,0:11:12.17,0:11:13.93,Default,,0000,0000,0000,,and then you have for example your photographs, Dialogue: 0,0:11:13.93,0:11:15.93,Default,,0000,0000,0000,,or your videos for web publishing Dialogue: 0,0:11:15.93,0:11:18.84,Default,,0000,0000,0000,,which are maintained in the annex Dialogue: 0,0:11:18.84,0:11:23.66,Default,,0000,0000,0000,,which means you don't have to have a copy of those files in each and every single location Dialogue: 0,0:11:26.02,0:11:31.49,Default,,0000,0000,0000,,A very nice thing about git-annex is that it's written with very low bandwidth and flaky connections in mind Dialogue: 0,0:11:32.32,0:11:35.98,Default,,0000,0000,0000,,quite a lot of you will know that Joey lives basically in the middle of nowhere Dialogue: 0,0:11:35.98,0:11:40.47,Default,,0000,0000,0000,,which is a great thing to be forced to write really efficient code Dialogue: 0,0:11:40.93,0:11:43.44,Default,,0000,0000,0000,,which doesn't use a lot of data, and that shows: Dialogue: 0,0:11:43.81,0:11:44.32,Default,,0000,0000,0000,,it's really quick Dialogue: 0,0:11:44.32,0:11:47.60,Default,,0000,0000,0000,,and even if you had a really really bad connection Dialogue: 0,0:11:47.60,0:11:49.60,Default,,0000,0000,0000,,in backwaters or whatever... Dialogue: 0,0:11:49.60,0:11:52.42,Default,,0000,0000,0000,,during holidays or during normal living Dialogue: 0,0:11:52.79,0:11:56.13,Default,,0000,0000,0000,,it's still able to transfer the data which you need to transfer, Dialogue: 0,0:11:56.13,0:11:58.13,Default,,0000,0000,0000,,it's very very nice Dialogue: 0,0:11:58.13,0:12:02.10,Default,,0000,0000,0000,,There are various workflows: we'll see four of them in a few minutes Dialogue: 0,0:12:03.63,0:12:08.63,Default,,0000,0000,0000,,So. It's written in Haskell, so it's probably strongly typed and nobody can write patches for it Dialogue: 0,0:12:11.13,0:12:14.28,Default,,0000,0000,0000,,it uses rsync to actually transfer the data, Dialogue: 0,0:12:14.28,0:12:17.01,Default,,0000,0000,0000,,which means it doesn't try to reinvent any wheels Dialogue: 0,0:12:17.01,0:12:24.24,Default,,0000,0000,0000,,it's really just based on top of established and well know and well debugged programs Dialogue: 0,0:12:24.24,0:12:28.82,Default,,0000,0000,0000,,In indirect mode, which in my personal opinion is the better mode, Dialogue: 0,0:12:28.82,0:12:30.30,Default,,0000,0000,0000,,what it does is Dialogue: 0,0:12:30.30,0:12:36.19,Default,,0000,0000,0000,,it moves the actual files into a different location, namely .git/annex/objects Dialogue: 0,0:12:36.65,0:12:41.93,Default,,0000,0000,0000,,it then makes those files read only, so you cannot event accidentally delete those files Dialogue: 0,0:12:41.93,0:12:46.56,Default,,0000,0000,0000,,even if you rm -f them, it will still tell you no, I can't delete them, Dialogue: 0,0:12:46.56,0:12:48.09,Default,,0000,0000,0000,,which is very secure Dialogue: 0,0:12:49.01,0:12:52.21,Default,,0000,0000,0000,,may be incovenient, but you can work on this Dialogue: 0,0:12:52.21,0:12:56.79,Default,,0000,0000,0000,,it replaces those files with symlinks of the same name, and those just point at the object Dialogue: 0,0:12:56.79,0:12:59.85,Default,,0000,0000,0000,,and if there is an object behind this symlink or not... Dialogue: 0,0:12:59.85,0:13:06.33,Default,,0000,0000,0000,,that basically returns whether you are able on this particular machine, or in this particular repository Dialogue: 0,0:13:06.80,0:13:13.42,Default,,0000,0000,0000,,but you will definitely have the informations about the name of the file, the theorethical location of the file... Dialogue: 0,0:13:13.42,0:13:16.57,Default,,0000,0000,0000,,the hash of the file will be in every single repository Dialogue: 0,0:13:17.08,0:13:18.57,Default,,0000,0000,0000,,There is also a direct mode Dialogue: 0,0:13:19.30,0:13:22.31,Default,,0000,0000,0000,,initially mainly written for windows and Mac OS X Dialogue: 0,0:13:22.31,0:13:24.77,Default,,0000,0000,0000,,because Windows just doesn't support symlinks properly Dialogue: 0,0:13:24.77,0:13:27.82,Default,,0000,0000,0000,,and OS X was supporting symlinks, Dialogue: 0,0:13:27.82,0:13:32.04,Default,,0000,0000,0000,,apparently has lots of developers who think it is a great idea to follow symlinks... Dialogue: 0,0:13:32.04,0:13:35.19,Default,,0000,0000,0000,,and display the actual target of the symlink instead of the symlink Dialogue: 0,0:13:35.19,0:13:39.22,Default,,0000,0000,0000,,so you have cryptic filenames which are very hard to deal with Dialogue: 0,0:13:39.49,0:13:46.16,Default,,0000,0000,0000,,obviously people who are used to GUI tools which then only display really really cryptic names ? Dialogue: 0,0:13:46.16,0:13:49.59,Default,,0000,0000,0000,,so there is direct mode which doesn't do the symlink stuff Dialogue: 0,0:13:49.59,0:13:53.39,Default,,0000,0000,0000,,it basically rewrites the files on the fly Dialogue: 0,0:13:53.39,0:13:57.65,Default,,0000,0000,0000,,git still thinks it would be managing symlinks, but... Dialogue: 0,0:13:57.65,0:14:03.86,Default,,0000,0000,0000,,git-annex just pulls them up from under git, and pushes in the actual content. Dialogue: 0,0:14:04.69,0:14:08.76,Default,,0000,0000,0000,,You keep on nodding, so... I'm probably doing good Dialogue: 0,0:14:08.76,0:14:10.76,Default,,0000,0000,0000,,