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,,

Reply via email to