[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:02.52,0:00:04.08,Default,,0000,0000,0000,,Let's talk about GNU/Hurd Dialogue: 0,0:00:05.84,0:00:11.10,Default,,0000,0000,0000,,For us it's a bit all about freedom 0,\Nthat is, the ability to use software, Dialogue: 0,0:00:11.48,0:00:14.16,Default,,0000,0000,0000,,basically, for any purpose. Dialogue: 0,0:00:14.88,0:00:18.26,Default,,0000,0000,0000,,And for us, the important thing is that\Nyou shouldn't have to ask Dialogue: 0,0:00:18.44,0:00:20.98,Default,,0000,0000,0000,,the system administrator for things. Dialogue: 0,0:00:21.48,0:00:23.58,Default,,0000,0000,0000,,You should be allowed to do\Nwhatever you want. Dialogue: 0,0:00:24.16,0:00:30.90,Default,,0000,0000,0000,,So for instance, why is fdisk, mke2fs,\Netc. hidden in /sbin? Dialogue: 0,0:00:31.14,0:00:36.84,Default,,0000,0000,0000,,I want to be able to build disk images,\Nplay with them, mount them, etc. Dialogue: 0,0:00:37.70,0:00:44.58,Default,,0000,0000,0000,,So just be able to work with the kind of\Ndisk and network access I have, Dialogue: 0,0:00:44.58,0:00:46.04,Default,,0000,0000,0000,,and do whatever I want with this. Dialogue: 0,0:00:47.16,0:00:52.30,Default,,0000,0000,0000,,It's about freedom to innovate as well, if\NI want to use an experimental filesystem, Dialogue: 0,0:00:52.30,0:00:56.92,Default,,0000,0000,0000,,just play with, without being afraid of\Ncrashing the machine. Dialogue: 0,0:00:57.84,0:01:01.42,Default,,0000,0000,0000,,You should be able to just\Nrun the file system Dialogue: 0,0:01:01.44,0:01:06.24,Default,,0000,0000,0000,,and let the system administrator be happy\Nwith this because it's safe to do this. Dialogue: 0,0:01:08.66,0:01:14.18,Default,,0000,0000,0000,,And also, it's a way to provide freedom\Nfrom misbehaving programs Dialogue: 0,0:01:14.18,0:01:18.48,Default,,0000,0000,0000,,like a driver which doesn't work so well,\Nsome things like this. Dialogue: 0,0:01:20.58,0:01:25.04,Default,,0000,0000,0000,,Just to give an idea, in GNU/Hurd, Dialogue: 0,0:01:25.04,0:01:28.88,Default,,0000,0000,0000,,you have the kernel which does basically\Nalmost nothing, Dialogue: 0,0:01:28.88,0:01:33.74,Default,,0000,0000,0000,,just managing tasks, the memory and\Ninter-process communications, Dialogue: 0,0:01:33.74,0:01:37.82,Default,,0000,0000,0000,,and then you have a lot of daemons\Ndoing the actual stuff, Dialogue: 0,0:01:37.82,0:01:43.86,Default,,0000,0000,0000,,so the pfinet is the TCP/IP stack,\Nand ext2fs does the filesystem thing. Dialogue: 0,0:01:44.38,0:01:47.50,Default,,0000,0000,0000,,And then, you have the user,\Njust running programs. Dialogue: 0,0:01:48.58,0:01:55.32,Default,,0000,0000,0000,,And these tools just, actually just talk\Nto the daemons through the microkernel, Dialogue: 0,0:01:55.32,0:02:00.46,Default,,0000,0000,0000,,the microkernel doesn't do much, it just\Npasses requests along. Dialogue: 0,0:02:02.62,0:02:05.72,Default,,0000,0000,0000,,For instance, if a server crashes,\Nthen that's fine. Dialogue: 0,0:02:07.08,0:02:10.34,Default,,0000,0000,0000,,For instance a driver crashes,\Nor just hangs, Dialogue: 0,0:02:10.34,0:02:17.22,Default,,0000,0000,0000,,you just can kill and then pfinet\Nwill re-open a new instance of the driver Dialogue: 0,0:02:17.22,0:02:24.04,Default,,0000,0000,0000,,and it will just work, thanks to TCP just\Ncontinuing to ping the other computer. Dialogue: 0,0:02:25.26,0:02:27.92,Default,,0000,0000,0000,,So it's just an error, it's not something\Nof the death. Dialogue: 0,0:02:28.92,0:02:33.04,Default,,0000,0000,0000,,At some point on my desktop, I could\Nswitch off the light, Dialogue: 0,0:02:33.04,0:02:35.52,Default,,0000,0000,0000,,and then that would crash my laptop. Dialogue: 0,0:02:35.84,0:02:42.94,Default,,0000,0000,0000,,Because switching off the light would\Nreboot my hard disk, USB hard disk, Dialogue: 0,0:02:42.94,0:02:46.46,Default,,0000,0000,0000,,and then the kernel of the laptop\Nwouldn't like this. Dialogue: 0,0:02:47.42,0:02:49.42,Default,,0000,0000,0000,,This is not something which is\Nsupposed to happen. Dialogue: 0,0:02:49.68,0:02:54.40,Default,,0000,0000,0000,,So, with a server approach, this is\Ncompletely fixed. Dialogue: 0,0:02:55.12,0:03:00.32,Default,,0000,0000,0000,,It's also easier to debug, it's really\Nnice to be able to gdb a TCP/IP stack, Dialogue: 0,0:03:00.32,0:03:07.20,Default,,0000,0000,0000,,when there is something happening in there,\Njust run gdb, you can gprof it, etc. Dialogue: 0,0:03:08.72,0:03:10.78,Default,,0000,0000,0000,,You can also dare more crazy things. Dialogue: 0,0:03:11.10,0:03:16.82,Default,,0000,0000,0000,,For instance, the Linux console doesn't\Nsupport much, because we don't want to put Dialogue: 0,0:03:16.82,0:03:19.12,Default,,0000,0000,0000,,too much complex code in there. Dialogue: 0,0:03:19.90,0:03:23.88,Default,,0000,0000,0000,,On GNU/Hurd the console actually supports\Nthings like Chinese, Dialogue: 0,0:03:23.88,0:03:25.66,Default,,0000,0000,0000,,double-width support, etc. Dialogue: 0,0:03:25.96,0:03:27.86,Default,,0000,0000,0000,,which is not supported\Nby the Linux console, Dialogue: 0,0:03:27.86,0:03:31.38,Default,,0000,0000,0000,,and that's right because you don't want\Nto put too crazy stuff. Dialogue: 0,0:03:32.16,0:03:35.66,Default,,0000,0000,0000,,Here since it's just a userland program,\Nthen you're fine, Dialogue: 0,0:03:35.66,0:03:41.36,Default,,0000,0000,0000,,and so we do have Chinese support in,\Nactually, textmode in the Debian Installer. Dialogue: 0,0:03:44.54,0:03:52.40,Default,,0000,0000,0000,,Just to show an example, so here I have\Nftpfs which uses the TCP/IP stack Dialogue: 0,0:03:52.40,0:03:56.10,Default,,0000,0000,0000,,to actually mount a remote directory, Dialogue: 0,0:03:56.10,0:04:03.32,Default,,0000,0000,0000,,and then I can use isofs to mount an ISO\Nimage which is inside that FTP server. Dialogue: 0,0:04:03.86,0:04:09.68,Default,,0000,0000,0000,,And then I can just let cp copy a file\Nfrom the ISO image which is on the server. Dialogue: 0,0:04:10.44,0:04:17.14,Default,,0000,0000,0000,,So this translates that way, so I've done\Nthis command a long time ago, Dialogue: 0,0:04:17.14,0:04:22.60,Default,,0000,0000,0000,,just to say that "ftp:" in my home\Ndirectory is whatever FTP, Dialogue: 0,0:04:22.60,0:04:29.96,Default,,0000,0000,0000,,and then I can take a "~/ftp:/etc." URL\Nand give that to isofs Dialogue: 0,0:04:29.96,0:04:33.40,Default,,0000,0000,0000,,and then mount that on my "mnt", Dialogue: 0,0:04:33.40,0:04:38.38,Default,,0000,0000,0000,,and then I can just browse inside the ISO\Nimage, without having to download Dialogue: 0,0:04:38.38,0:04:44.48,Default,,0000,0000,0000,,the whole ISO image, without having to ask\Nroot for this kind of things, etc. Dialogue: 0,0:04:45.48,0:04:48.60,Default,,0000,0000,0000,,And I can also permanently store this\Nin ext2fs. Dialogue: 0,0:04:49.20,0:04:53.56,Default,,0000,0000,0000,,So just to give an example, I have a\Ntranslator on my signature files, Dialogue: 0,0:04:53.56,0:04:58.66,Default,,0000,0000,0000,,which just calls fortune, so when I\N"cat .signature" [demo], Dialogue: 0,0:04:58.66,0:05:02.60,Default,,0000,0000,0000,,I get one signature or another, because\Neach time I open the file, Dialogue: 0,0:05:02.60,0:05:06.94,Default,,0000,0000,0000,,it's a new instance of fortune which is\Nstarted. Dialogue: 0,0:05:07.60,0:05:12.14,Default,,0000,0000,0000,,You can see that, indeed, this is stored\Nin my signature file. Dialogue: 0,0:05:14.06,0:05:15.28,Default,,0000,0000,0000,,So this is fun! Dialogue: 0,0:05:16.72,0:05:22.74,Default,,0000,0000,0000,,Another example: as a user, I can start\Nmy own TCP/IP stack, Dialogue: 0,0:05:22.74,0:05:27.00,Default,,0000,0000,0000,,tell it to use a virtual network\Ninterface, Dialogue: 0,0:05:27.00,0:05:32.30,Default,,0000,0000,0000,,and then put the TCP/IP service on some\Nnode in my home, Dialogue: 0,0:05:32.30,0:05:37.76,Default,,0000,0000,0000,,and then I can run openvpn to actually\Npush and pull packets Dialogue: 0,0:05:37.76,0:05:41.50,Default,,0000,0000,0000,,from that virtual interface, and build a\NVPN with somewhere else. Dialogue: 0,0:05:42.12,0:05:49.30,Default,,0000,0000,0000,,And then I can remap the system, what is\Nsupposed to be the system TCP/IP stack Dialogue: 0,0:05:49.30,0:05:51.14,Default,,0000,0000,0000,,into my own socket, Dialogue: 0,0:05:51.14,0:05:58.44,Default,,0000,0000,0000,,and then I get a new shell for which the\Nsystem TCP/IP stack is actually Dialogue: 0,0:05:58.44,0:06:00.42,Default,,0000,0000,0000,,my own TCP/IP stack. Dialogue: 0,0:06:01.02,0:06:06.38,Default,,0000,0000,0000,,So I can decide which program actually\Nuses this TCP/IP stack, Dialogue: 0,0:06:06.38,0:06:14.80,Default,,0000,0000,0000,,and just do my own VPN without having to\Nask anything to the administrator. Dialogue: 0,0:06:17.26,0:06:22.36,Default,,0000,0000,0000,,But also, for instance it happens quite\Noften that you have a binary, Dialogue: 0,0:06:22.36,0:06:26.20,Default,,0000,0000,0000,,maybe not sh, but like, python or perl\Nor whatever, Dialogue: 0,0:06:26.20,0:06:34.30,Default,,0000,0000,0000,,you have a program which wants /bin/sh\Nto be actually bash or whatever, Dialogue: 0,0:06:34.30,0:06:38.84,Default,,0000,0000,0000,,so I want to change this, so I can remap\Nthis, so for instance [demo] Dialogue: 0,0:06:38.84,0:06:43.54,Default,,0000,0000,0000,,if I look at sh, so as usual,\Noh it's green, Dialogue: 0,0:06:43.54,0:06:45.54,Default,,0000,0000,0000,,but you can see here that it's dash, Dialogue: 0,0:06:45.54,0:06:53.20,Default,,0000,0000,0000,,and if I remap /bin/sh into /bin/bash, for\Ninstance, I get a new shell where actually, Dialogue: 0,0:06:53.20,0:07:01.66,Default,,0000,0000,0000,,sh is not the same, so it's remapped into\N/bin/bash, Dialogue: 0,0:07:01.66,0:07:04.44,Default,,0000,0000,0000,,and so it's actually bash which actually\Nshows up here. Dialogue: 0,0:07:04.86,0:07:10.88,Default,,0000,0000,0000,,So I do really choose how I work, what my\Nenvironment looks like. Dialogue: 0,0:07:11.92,0:07:18.18,Default,,0000,0000,0000,,And for instance, I can remap the whole\N/bin directory into my own directory, Dialogue: 0,0:07:18.18,0:07:21.58,Default,,0000,0000,0000,,where I expose /bin, but also\Nother things, Dialogue: 0,0:07:21.58,0:07:27.28,Default,,0000,0000,0000,,so that programs which have /bin/something\Nhardcoded into them, Dialogue: 0,0:07:27.28,0:07:32.38,Default,,0000,0000,0000,,I can use them without having to ask the\Nadministrator to install stuff inside /bin. Dialogue: 0,0:07:34.00,0:07:41.04,Default,,0000,0000,0000,,So it's kind of interesting, a bit like\Nstow, Nix, Guix, but done in a nice way. Dialogue: 0,0:07:43.32,0:07:47.86,Default,,0000,0000,0000,,How does it work? Well it's actually\Nrelatively simple in the principle, Dialogue: 0,0:07:47.86,0:07:52.02,Default,,0000,0000,0000,,it's simply that libc doesn't talk with\Nthe kernel or whatever, Dialogue: 0,0:07:52.02,0:07:57.32,Default,,0000,0000,0000,,it always uses RPCs, so to ask nicely\Nabout opening files etc., Dialogue: 0,0:07:57.32,0:08:04.02,Default,,0000,0000,0000,,and so it's really natural in GNU/Hurd\Nthat you can redirect things. Dialogue: 0,0:08:05.24,0:08:10.84,Default,,0000,0000,0000,,So for instance, the remap translator here\Nis like, maybe, Dialogue: 0,0:08:10.84,0:08:13.48,Default,,0000,0000,0000,,200-300 lines\N[Note of transcriptor: 150 actually], Dialogue: 0,0:08:13.72,0:08:15.32,Default,,0000,0000,0000,,because it's just a matter of Dialogue: 0,0:08:15.32,0:08:20.16,Default,,0000,0000,0000,,"you open a file, OK, I look at the file\Npath, is it something I want to translate? Dialogue: 0,0:08:20.16,0:08:23.48,Default,,0000,0000,0000,,Yes, I translate that, and then I open\Nthe real file, Dialogue: 0,0:08:23.48,0:08:26.64,Default,,0000,0000,0000,,and give the new handle to the program", Dialogue: 0,0:08:27.08,0:08:29.40,Default,,0000,0000,0000,,and that's all, so it's extremely simple. Dialogue: 0,0:08:32.22,0:08:36.94,Default,,0000,0000,0000,,So {\i1}everything{\i0} in GNU/Hurd is an RPC and\Nso it is interposable, Dialogue: 0,0:08:36.94,0:08:44.40,Default,,0000,0000,0000,,and then translators get exposed in the\Nfilesystem, we have seen the TCP/IP stack, Dialogue: 0,0:08:44.40,0:08:46.96,Default,,0000,0000,0000,,it's just a path inside the filesystem. Dialogue: 0,0:08:47.72,0:08:53.38,Default,,0000,0000,0000,,And then the user can decide whatever it\Nwants to do to interpose whatever. Dialogue: 0,0:08:53.78,0:08:58.98,Default,,0000,0000,0000,,So, for instance fakeroot, in Linux,\Nis quite big, Dialogue: 0,0:08:58.98,0:09:02.58,Default,,0000,0000,0000,,because it has to interpose libc symbols, Dialogue: 0,0:09:02.58,0:09:07.40,Default,,0000,0000,0000,,and every time libc invents something new,\Nthen it breaks in fakeroot Dialogue: 0,0:09:07.40,0:09:14.80,Default,,0000,0000,0000,,because fakeroot has to know about this\Nnew symbol, etc. and interpose them, Dialogue: 0,0:09:14.80,0:09:18.22,Default,,0000,0000,0000,,either through ptrace or ld or whatever. Dialogue: 0,0:09:19.60,0:09:22.64,Default,,0000,0000,0000,,In GNU/Hurd, fakeroot is, like,\Na thousand lines long, Dialogue: 0,0:09:22.64,0:09:26.16,Default,,0000,0000,0000,,because it just implements a few basic\Nthings, Dialogue: 0,0:09:26.16,0:09:34.86,Default,,0000,0000,0000,,and then everything just works, which just\Ninterpose basic authentication hooks, Dialogue: 0,0:09:34.86,0:09:37.14,Default,,0000,0000,0000,,and libc uses them all the time. Dialogue: 0,0:09:38.86,0:09:43.98,Default,,0000,0000,0000,,So it's fully virtualizable, and with\Na really fine grain interface, Dialogue: 0,0:09:43.98,0:09:48.02,Default,,0000,0000,0000,,because you can precisely decide\Nwhich RPCs are interposed, Dialogue: 0,0:09:48.18,0:09:50.56,Default,,0000,0000,0000,,or which files in the filesystem\Nare interposed. Dialogue: 0,0:09:51.82,0:09:56.40,Default,,0000,0000,0000,,And then you can just use your home\Ndirectory, the TCP/IP stack, Dialogue: 0,0:09:56.40,0:09:59.98,Default,,0000,0000,0000,,and pile stuff over it, the way you want. Dialogue: 0,0:10:02.22,0:10:06.32,Default,,0000,0000,0000,,Just to give a crazy example, we have\Na lot of stuff, Dialogue: 0,0:10:06.32,0:10:12.20,Default,,0000,0000,0000,,I actually have an ISO image inside a\Npartitioned disk image on FTP over a VPN. Dialogue: 0,0:10:13.04,0:10:14.82,Default,,0000,0000,0000,,And this is not {\i1}so{\i0} crazy. Dialogue: 0,0:10:15.82,0:10:20.28,Default,,0000,0000,0000,,Maybe the ISO image inside the partitioned\Ndisk, the ISO image is a bit too much, Dialogue: 0,0:10:20.28,0:10:26.36,Default,,0000,0000,0000,,but one file inside the partitioned disk\Nimage on FTP over VPN is not so crazy, Dialogue: 0,0:10:26.36,0:10:31.06,Default,,0000,0000,0000,,because maybe you are on a hostile\Nnetwork, so you have to use a VPN, Dialogue: 0,0:10:31.06,0:10:34.76,Default,,0000,0000,0000,,and then you want to access a file\Nyou know is inside a disk image, Dialogue: 0,0:10:34.76,0:10:40.44,Default,,0000,0000,0000,,I don't know, a known disk image which is\Nprovided on a public FTP server, Dialogue: 0,0:10:40.44,0:10:44.00,Default,,0000,0000,0000,,and you don't want to download the whole\Nimage just to get, I don't know, Dialogue: 0,0:10:44.00,0:10:45.50,Default,,0000,0000,0000,,the README file or something like this. Dialogue: 0,0:10:45.86,0:10:49.48,Default,,0000,0000,0000,,So it's not so crazy, and it just\Nworks nicely. Dialogue: 0,0:10:52.14,0:10:54.62,Default,,0000,0000,0000,,So a bit more Debian stuff. Dialogue: 0,0:10:55.60,0:11:00.00,Default,,0000,0000,0000,,Porting packages to Hurd is quite easy\Nin principle, Dialogue: 0,0:11:00.00,0:11:05.52,Default,,0000,0000,0000,,because it's just a POSIX system, there is\Na lot more than just POSIX, Dialogue: 0,0:11:05.52,0:11:07.52,Default,,0000,0000,0000,,but it provides a POSIX interface. Dialogue: 0,0:11:08.02,0:11:11.76,Default,,0000,0000,0000,,So portable programs should be\Nreally fine. Dialogue: 0,0:11:13.12,0:11:17.76,Default,,0000,0000,0000,,Just for fun, some dumb issues, so for\Ninstance some programs think that Dialogue: 0,0:11:17.76,0:11:20.98,Default,,0000,0000,0000,,if it's not Linux or BSD, then they can\Ninclude windows.h... Dialogue: 0,0:11:22.06,0:11:22.88,Default,,0000,0000,0000,,Why not... Dialogue: 0,0:11:23.66,0:11:26.24,Default,,0000,0000,0000,,If the system has mach.h, that must be\NMacOS, Dialogue: 0,0:11:26.56,0:11:31.60,Default,,0000,0000,0000,,because MacOS is the only system in the\Nworld that uses Mach, I don't know why... Dialogue: 0,0:11:32.84,0:11:37.86,Default,,0000,0000,0000,,Some people try to grep cpuinfo, which\Ndoesn't exist on GNU/Hurd yet, Dialogue: 0,0:11:37.86,0:11:43.36,Default,,0000,0000,0000,,and so they basically just run "make -j"\Nwhich just explodes the system, Dialogue: 0,0:11:43.36,0:11:48.56,Default,,0000,0000,0000,,I mean even on a Linux system it's just\Nthe same, unless it's a small program, Dialogue: 0,0:11:48.56,0:11:51.14,Default,,0000,0000,0000,,but with a lot of C++ files it's horrible. Dialogue: 0,0:11:52.30,0:11:58.78,Default,,0000,0000,0000,,Some people include limits.h from linux/\Ninstead of just the standard one, well... Dialogue: 0,0:12:00.74,0:12:04.44,Default,,0000,0000,0000,,A problematic thing is people who\Nhardcoded errno values; Dialogue: 0,0:12:04.44,0:12:09.68,Default,,0000,0000,0000,,the values of errno are not standardized,\Nso you shouldn't hardcode them, like, Dialogue: 0,0:12:09.68,0:12:12.50,Default,,0000,0000,0000,,in testsuite results or things like this. Dialogue: 0,0:12:13.76,0:12:17.56,Default,,0000,0000,0000,,And quite often in configure it's\Nhardcoded that Dialogue: 0,0:12:17.56,0:12:21.86,Default,,0000,0000,0000,,only Linux knows -lpthread or -ldl, etc. Dialogue: 0,0:12:22.06,0:12:25.10,Default,,0000,0000,0000,,so quite often programs are not\Ngeneric enough, Dialogue: 0,0:12:25.10,0:12:30.06,Default,,0000,0000,0000,,and that's just easy to fix, but we have\Nmore and more of these. Dialogue: 0,0:12:30.64,0:12:33.34,Default,,0000,0000,0000,,So we have a porter page developing\Na bit more about these. Dialogue: 0,0:12:34.58,0:12:42.02,Default,,0000,0000,0000,,I wanted to talk a bit more about\NPATH_MAX, it is not defined on GNU/Hurd, Dialogue: 0,0:12:42.02,0:12:46.56,Default,,0000,0000,0000,,for very good reasons, and it is allowed\Nby POSIX not to define it, Dialogue: 0,0:12:46.56,0:12:51.46,Default,,0000,0000,0000,,just to say that there is no limitation on\Nthe PATH_MAX value, Dialogue: 0,0:12:51.94,0:12:54.26,Default,,0000,0000,0000,,we don't have a limit on the size of\Nthe paths. Dialogue: 0,0:12:54.92,0:12:59.42,Default,,0000,0000,0000,,And indeed it has a fragile semantic, it\Nhas never meant Dialogue: 0,0:12:59.42,0:13:03.88,Default,,0000,0000,0000,,"a reasonable size for an array of\Ncharacters to store a path". Dialogue: 0,0:13:05.18,0:13:09.28,Default,,0000,0000,0000,,On Linux it's 4000, that's a whole page, Dialogue: 0,0:13:09.28,0:13:12.28,Default,,0000,0000,0000,,that's a whole TLB entry for\Njust one file name. Dialogue: 0,0:13:13.44,0:13:16.80,Default,,0000,0000,0000,,It's extremely costly, most people don't\Nhave so long paths, Dialogue: 0,0:13:16.80,0:13:24.24,Default,,0000,0000,0000,,and so it's really a pity to use so much\Nmemory, because it's always a whole page Dialogue: 0,0:13:24.24,0:13:27.42,Default,,0000,0000,0000,,because it will always be aligned\Non 4k etc. Dialogue: 0,0:13:27.94,0:13:30.08,Default,,0000,0000,0000,,So, well, that's a waste for one. Dialogue: 0,0:13:30.70,0:13:35.12,Default,,0000,0000,0000,,And paths can actually be longer,\Nthere is no strict limitation, Dialogue: 0,0:13:35.12,0:13:40.06,Default,,0000,0000,0000,,you can mkdir something, cd into that\Nmkdir again, cd, etc., Dialogue: 0,0:13:40.06,0:13:43.50,Default,,0000,0000,0000,,you can do that as much as you want,\Nthere is no limitation on this, Dialogue: 0,0:13:43.50,0:13:45.38,Default,,0000,0000,0000,,it's just that when you call Dialogue: 0,0:13:45.38,0:13:50.84,Default,,0000,0000,0000,,"get current working directory",\Nyou won't get it completely. Dialogue: 0,0:13:51.76,0:13:56.66,Default,,0000,0000,0000,,And actually, some programs misbehave\Nin that case, Dialogue: 0,0:13:56.66,0:14:01.42,Default,,0000,0000,0000,,because they won't see these files,\Nthey will be quite actually hidden, Dialogue: 0,0:14:01.42,0:14:02.92,Default,,0000,0000,0000,,or protected, or I don't know, Dialogue: 0,0:14:02.92,0:14:07.34,Default,,0000,0000,0000,,you can not remove them just giving\Nthe path, you have to cd, cd, cd, cd, Dialogue: 0,0:14:07.34,0:14:08.82,Default,,0000,0000,0000,,and then you can access the file. Dialogue: 0,0:14:11.18,0:14:15.24,Default,,0000,0000,0000,,And for no reason, actually, because Linux\Ninside doesn't have Dialogue: 0,0:14:15.24,0:14:17.84,Default,,0000,0000,0000,,such limitation, actually. Dialogue: 0,0:14:19.24,0:14:24.82,Default,,0000,0000,0000,,And also, it's stupid, but POSIX didn't\Nreally said precisely whether Dialogue: 0,0:14:24.82,0:14:30.06,Default,,0000,0000,0000,,the final \0 actually is included in\NPATH_MAX or not, Dialogue: 0,0:14:30.06,0:14:33.52,Default,,0000,0000,0000,,so people would allocate PATH_MAX+1,\Nor maybe not. Dialogue: 0,0:14:36.38,0:14:40.66,Default,,0000,0000,0000,,So we have a lot of code which doesn't,\Nmaybe, actually work, Dialogue: 0,0:14:40.66,0:14:45.12,Default,,0000,0000,0000,,but nobody tests it, actually, because\Nthey would never have so long paths. Dialogue: 0,0:14:45.74,0:14:48.56,Default,,0000,0000,0000,,So I'm a bit afraid of all these codes\Nusing PATH_MAX. Dialogue: 0,0:14:49.54,0:14:50.88,Default,,0000,0000,0000,,You should be afraid as well. Dialogue: 0,0:14:52.62,0:14:54.50,Default,,0000,0000,0000,,Just to give an overview of the state. Dialogue: 0,0:14:54.74,0:15:00.66,Default,,0000,0000,0000,,We have a i386 support, we have a 64bit\Nsupport which has started, Dialogue: 0,0:15:00.66,0:15:02.40,Default,,0000,0000,0000,,we have the kernel booting, Dialogue: 0,0:15:02.40,0:15:06.64,Default,,0000,0000,0000,,and now it's mostly translating between\N32 and 64 in our RPCs. Dialogue: 0,0:15:07.82,0:15:16.44,Default,,0000,0000,0000,,We have drivers for network boards as a\Nuserland translator, using the DDE layer. Dialogue: 0,0:15:18.04,0:15:20.28,Default,,0000,0000,0000,,We have disk, we have a Xen port. Dialogue: 0,0:15:20.92,0:15:26.16,Default,,0000,0000,0000,,We have a preliminary sound support\Nwhich was announced today, using Rump, Dialogue: 0,0:15:26.16,0:15:27.52,Default,,0000,0000,0000,,the Rump kernel. Dialogue: 0,0:15:28.14,0:15:29.60,Default,,0000,0000,0000,,We don't have USB yet. Dialogue: 0,0:15:31.12,0:15:35.54,Default,,0000,0000,0000,,It is quite stable, I haven't reinstalled\Nmy boxes for, like, a decade, Dialogue: 0,0:15:35.54,0:15:37.76,Default,,0000,0000,0000,,I don't remember when I installed them,\Nactually. Dialogue: 0,0:15:38.50,0:15:43.26,Default,,0000,0000,0000,,And then the buildd machines just keep\Nbuilding packages for weeks Dialogue: 0,0:15:43.26,0:15:44.56,Default,,0000,0000,0000,,without a problem. Dialogue: 0,0:15:44.68,0:15:47.34,Default,,0000,0000,0000,,We have 81% of the archive. Dialogue: 0,0:15:48.24,0:15:52.44,Default,,0000,0000,0000,,We have the native Debian Installer which\Nis really working great. Dialogue: 0,0:15:54.46,0:16:00.56,Default,,0000,0000,0000,,Recent work is, like, interesting thing is,\Na distributed mtab translator Dialogue: 0,0:16:00.56,0:16:04.02,Default,,0000,0000,0000,,to provide /proc/mounts in a hurdish way. Dialogue: 0,0:16:05.04,0:16:09.70,Default,,0000,0000,0000,,We have quite a few optimizations which\Nwent in to improve the performance. Dialogue: 0,0:16:11.94,0:16:14.54,Default,,0000,0000,0000,,We had releases quite some time ago, Dialogue: 0,0:16:14.54,0:16:17.26,Default,,0000,0000,0000,,I really recommend to have a look at this\None, it's fun. Dialogue: 0,0:16:18.36,0:16:21.44,Default,,0000,0000,0000,,We've some Wheezy and Jessie snapshots, Dialogue: 0,0:16:21.44,0:16:25.26,Default,,0000,0000,0000,,they are not official, but for us it's\Nreally an official thing. Dialogue: 0,0:16:29.36,0:16:34.52,Default,,0000,0000,0000,,An important thing I wanted to discuss\Nthis week is the removal from ftp-master. Dialogue: 0,0:16:35.34,0:16:40.02,Default,,0000,0000,0000,,This is due since quite a few years now,\Nhonestly, Dialogue: 0,0:16:40.02,0:16:44.32,Default,,0000,0000,0000,,it's really not useful to mirror the hurd\Npackages over the whole world, Dialogue: 0,0:16:44.32,0:16:49.12,Default,,0000,0000,0000,,because there are not even as many users\Nas the number of mirrors. Dialogue: 0,0:16:50.16,0:16:55.68,Default,,0000,0000,0000,,So OK, that's fine for just the removal\Nfrom the main archive in terms of mirroring. Dialogue: 0,0:16:56.14,0:16:58.86,Default,,0000,0000,0000,,But then we have a lot of consequences. Dialogue: 0,0:16:59.18,0:17:03.38,Default,,0000,0000,0000,,For instance, buildd.debian.org is really\Nan important thing, Dialogue: 0,0:17:03.38,0:17:08.28,Default,,0000,0000,0000,,because that is where the release team\Nschedules transitions, Dialogue: 0,0:17:08.28,0:17:12.90,Default,,0000,0000,0000,,and loosing this, for us, would be really\Ntedious work, Dialogue: 0,0:17:12.90,0:17:16.72,Default,,0000,0000,0000,,because I've been there, doing, actually,\Nthe transition work, Dialogue: 0,0:17:16.72,0:17:22.08,Default,,0000,0000,0000,,the same work as the release team, and\Nit's really painful to do this {\i1}again{\i0}. Dialogue: 0,0:17:23.80,0:17:26.32,Default,,0000,0000,0000,,So we would really like to have a solution\Nfor this. Dialogue: 0,0:17:26.88,0:17:31.00,Default,,0000,0000,0000,,Maybe get that fed from debian-ports and, Dialogue: 0,0:17:31.00,0:17:35.62,Default,,0000,0000,0000,,then that's fine, we can be on\Ndebian-ports, as long as at least Dialogue: 0,0:17:35.62,0:17:37.90,Default,,0000,0000,0000,,there is some synchronization between\Nsomething. Dialogue: 0,0:17:38.92,0:17:43.88,Default,,0000,0000,0000,,And also, getting exposed on the buildd\Npackage status page, Dialogue: 0,0:17:43.88,0:17:48.82,Default,,0000,0000,0000,,so that people are aware that there is\Nsome port which is failing, Dialogue: 0,0:17:48.82,0:17:52.36,Default,,0000,0000,0000,,and maybe they are keen on spending some\Ntime on it, maybe not, Dialogue: 0,0:17:52.36,0:17:56.54,Default,,0000,0000,0000,,but at least get them know about it. Dialogue: 0,0:17:58.28,0:18:03.10,Default,,0000,0000,0000,,And also, a corner thing, when we have\Na version upgrade, like gcc or perl, Dialogue: 0,0:18:03.10,0:18:09.28,Default,,0000,0000,0000,,the release team asks\N"OK, we'll have to upgrade the buildds", Dialogue: 0,0:18:09.28,0:18:12.12,Default,,0000,0000,0000,,and at the moment they don't even have\Nan account on them, Dialogue: 0,0:18:12.12,0:18:15.48,Default,,0000,0000,0000,,so they can not check whether the version\Nis good or not. Dialogue: 0,0:18:17.78,0:18:20.16,Default,,0000,0000,0000,,Maybe we should just provide an account, Dialogue: 0,0:18:20.16,0:18:24.12,Default,,0000,0000,0000,,we'd thus need to know who we need to give\Nan account to. Dialogue: 0,0:18:26.00,0:18:31.12,Default,,0000,0000,0000,,Basically, my idea would be\N"OK, that's fine not being on ftp-master". Dialogue: 0,0:18:31.72,0:18:35.92,Default,,0000,0000,0000,,The thing is we still want to have most of\Nthe support of Debian, Dialogue: 0,0:18:35.92,0:18:41.70,Default,,0000,0000,0000,,to make our life less a burden,\Nas much as possible, Dialogue: 0,0:18:41.70,0:18:44.98,Default,,0000,0000,0000,,without any extra load on\Nthe release team, etc. Dialogue: 0,0:18:45.28,0:18:49.34,Default,,0000,0000,0000,,We do understand well that we don't want\Nto put work on people's hand. Dialogue: 0,0:18:50.82,0:18:56.08,Default,,0000,0000,0000,,But we would like to still get some benefit\Nand probably there are solutions for this. Dialogue: 0,0:18:56.92,0:19:04.54,Default,,0000,0000,0000,,And conversely, all of this, I mean, not\Nputting more work on us Hurd porters, Dialogue: 0,0:19:04.54,0:19:10.30,Default,,0000,0000,0000,,would actually be the same solutions that\Nexisting ports on debian-ports Dialogue: 0,0:19:10.30,0:19:16.74,Default,,0000,0000,0000,,would be really happy to have, to improve\Ntheir life, to have less work to do, Dialogue: 0,0:19:17.04,0:19:20.54,Default,,0000,0000,0000,,than what they currently have,\Nit's really a problem. Dialogue: 0,0:19:21.14,0:19:25.98,Default,,0000,0000,0000,,So maybe we want to think about a real\Nstatus for Second Class Citizens, Dialogue: 0,0:19:25.98,0:19:30.00,Default,,0000,0000,0000,,like Hurd, but also the sparc, hppa, etc. Dialogue: 0,0:19:30.38,0:19:36.08,Default,,0000,0000,0000,,Maybe we want to have some BoF at some time,\Nso we can gather and discuss about this. Dialogue: 0,0:19:38.48,0:19:45.74,Default,,0000,0000,0000,,Future work, the most interesting thing is\Nprobably using the Rump drivers, Dialogue: 0,0:19:45.74,0:19:50.64,Default,,0000,0000,0000,,because at the moment we use DDE but\Nit's not really going forward. Dialogue: 0,0:19:51.04,0:19:55.70,Default,,0000,0000,0000,,We thought it would be a way to get newer\Ndrivers, Linux drivers, Dialogue: 0,0:19:55.70,0:20:00.06,Default,,0000,0000,0000,,without extra efforts, but it doesn't\Nactually happen at the moment, Dialogue: 0,0:20:00.06,0:20:06.04,Default,,0000,0000,0000,,while Rump does go forward, we see work\Nbeing done with Xen etc. Dialogue: 0,0:20:06.62,0:20:08.96,Default,,0000,0000,0000,,So this is probably a long-term solution. Dialogue: 0,0:20:10.92,0:20:13.94,Default,,0000,0000,0000,,Maybe we'll have another distribution\Nthrough Guix. Dialogue: 0,0:20:15.14,0:20:18.40,Default,,0000,0000,0000,,This is progressing, we are quite far from\Ndoing this, Dialogue: 0,0:20:18.40,0:20:23.86,Default,,0000,0000,0000,,so for now Debian is really the only Hurd\Ndistribution that we have, so we'll see. Dialogue: 0,0:20:24.84,0:20:32.00,Default,,0000,0000,0000,,And of course, just come and have fun with\Nyour own pet project, just join, thanks! Dialogue: 0,0:20:33.44,0:20:38.76,Default,,0000,0000,0000,,[Applause] Dialogue: 0,0:20:39.64,0:20:42.40,Default,,0000,0000,0000,,[Michael Banck] Any quick questions before\Nwe run to lunch? Dialogue: 0,0:20:53.32,0:20:54.84,Default,,0000,0000,0000,,[Steve Chamberlain] Hello, I just wondered Dialogue: 0,0:20:55.28,0:21:00.96,Default,,0000,0000,0000,,if you're using Hurd on that laptop\Nfor the presentation? Dialogue: 0,0:21:01.26,0:21:02.58,Default,,0000,0000,0000,,[Samuel Thibault] Yeah, yeah,\Nthis is running Hurd, yes. Dialogue: 0,0:21:02.70,0:21:04.66,Default,,0000,0000,0000,,[SC] So it's quite, like, usable everyday? Dialogue: 0,0:21:05.20,0:21:07.92,Default,,0000,0000,0000,,[ST] Well, not everyday because\Nwithout USB, Dialogue: 0,0:21:07.92,0:21:12.10,Default,,0000,0000,0000,,you can not mount a USB stick for instance,\Nso that's quite inconvenient, Dialogue: 0,0:21:12.10,0:21:15.42,Default,,0000,0000,0000,,but yeah, I could probably use it everyday. Dialogue: 0,0:21:15.96,0:21:20.04,Default,,0000,0000,0000,,I don't, I mean, for work,\NI can not afford this, but yeah. Dialogue: 0,0:21:20.24,0:21:23.48,Default,,0000,0000,0000,,Also, we don't have wireless drivers\Nat the moment. Dialogue: 0,0:21:23.76,0:21:26.48,Default,,0000,0000,0000,,We hope that with the Rump drivers\Nwe would get this. Dialogue: 0,0:21:26.80,0:21:28.74,Default,,0000,0000,0000,,So, yes. Dialogue: 0,0:21:29.04,0:21:30.84,Default,,0000,0000,0000,,Some people do use it everyday. Dialogue: 0,0:21:31.12,0:21:32.28,Default,,0000,0000,0000,,Not me. Dialogue: 0,0:21:33.12,0:21:36.10,Default,,0000,0000,0000,,[SC] But those would be the major thing\Nmissing for more people Dialogue: 0,0:21:36.10,0:21:37.36,Default,,0000,0000,0000,,to be able to use it. Dialogue: 0,0:21:37.84,0:21:38.90,Default,,0000,0000,0000,,OK, thanks. Dialogue: 0,0:21:40.28,0:21:48.58,Default,,0000,0000,0000,,[MB] Any more questions? We're run out of\Nquestions, then thanks again. Thanks. Dialogue: 0,0:21:49.14,0:21:54.56,Default,,0000,0000,0000,,[Applause]