**** BEGIN LOGGING AT Wed Apr 23 02:59:58 2014 Apr 23 16:21:34 ~messybox Apr 23 16:21:34 messy... err busybox is meant for lean scripting. Regarding all the missing options and immanent limitations (see su, passwd, nice, ps, ...) it's not really the interactive shell of choice. A lot of people hate busybox because a lot of system integrators don't understand the difference between busybox and a decent user interactive shell plus unix utils Apr 23 16:21:37 http://talk.maemo.org/showthread.php?p=1422335#post1422335 Apr 23 16:22:43 infobot: no, messybox is messy... err busybox is meant for lean scripting. Regarding all the missing options and immanent limitations (see su, passwd, nice, ps, diff as used by mc...) it's not really the interactive shell of choice. A lot of people hate busybox because a lot of system integrators don't understand the difference between busybox and a decent user interactive shell plus unix utils Apr 23 16:22:43 DocScrutinizer05: okay Apr 23 16:23:04 ~messybox Apr 23 16:23:04 messy... err busybox is meant for lean scripting. Regarding all the missing options and immanent limitations (see su, passwd, nice, ps, diff as used by mc...) it's not really the interactive shell of choice. A lot of people hate busybox because a lot of system integrators don't understand the difference between busybox and a decent user interactive shell plus unix utils Apr 23 16:25:15 infobot: no, messybox is messy... err busybox is meant for lean scripting. Regarding all the missing options and immanent limitations (see su, passwd, nice, ps, diff as used by mc...) it's not really the interactive shell of choice. Best you could hope for: a compatible subset, but not even that is happening. A lot of people hate busybox because a lot of system integrators don't understand the difference between busybox and a Apr 23 16:25:15 okay, DocScrutinizer05 Apr 23 16:25:16 decent user interactive shell plus unix utils Apr 23 16:25:18 ~messybox Apr 23 16:25:18 messy... err busybox is meant for lean scripting. Regarding all the missing options and immanent limitations (see su, passwd, nice, ps, diff as used by mc...) it's not really the interactive shell of choice. Best you could hope for: a compatible subset, but not even that is happening. A lot of people hate busybox because a lot of system integrators don't understand the difference between busybox and a Apr 23 16:25:24 dang Apr 23 16:25:30 infobot: no, messybox is messy... err busybox is meant for lean scripting. Regarding all the missing options and immanent limitations (see su, passwd, nice, ps, diff as used by mc...) it's not really the interactive shell of choice. A lot of people hate busybox because a lot of system integrators don't understand the difference between busybox and a decent user interactive shell plus unix utils Apr 23 16:25:30 DocScrutinizer05: okay Apr 23 16:25:38 ~messybox Apr 23 16:25:38 messy... err busybox is meant for lean scripting. Regarding all the missing options and immanent limitations (see su, passwd, nice, ps, diff as used by mc...) it's not really the interactive shell of choice. A lot of people hate busybox because a lot of system integrators don't understand the difference between busybox and a decent user interactive shell plus unix utils Apr 23 16:27:42 not to mention the security threat of such an untestable monster Apr 23 16:28:58 so really brainwashed users think they learned about unix and set suid busybox :-o Apr 23 16:29:09 lol Apr 23 16:30:30 Apic: don't laugh! busybox claims to handle that, by dropping permissions when not needed Apr 23 16:30:58 nobody seems to ever have dared to really audit it Apr 23 16:31:20 like, I don't know, most code? Apr 23 16:31:21 ic Apr 23 16:31:44 NIN101: don't ask me Apr 23 16:32:16 I read a 8-word statement, though "BWAHAHA MEH!" and forgot about it Apr 23 16:32:23 thought* Apr 23 16:33:31 busybox is a useful project and it has its place. just for maemo it's a questionable choice. Apr 23 16:33:38 yes Apr 23 16:33:43 exactly Apr 23 16:33:52 see infobot: lean scripting Apr 23 16:34:26 on a router with no user accounts and only 16MB of ram I can see why you want messybox Apr 23 16:35:28 yes. Apr 23 16:35:41 nobody would even think about installing mc to a router, no? Apr 23 16:37:23 and it's not like busybox-power is changing the root problem of messybox Apr 23 16:37:51 what root problem? Apr 23 16:38:14 it's just pushing further out of natural habitat a concept that's not able to scale Apr 23 16:39:05 like, when you can't cut glass with a hammer, build a larger hammer Apr 23 16:41:54 all busybox fans urgently should try to find a copy of http://www.amazon.ca/Unix-Toolbox-Pike/dp/0136142737 Apr 23 16:47:28 "UNIX in a Nutshell" also Apr 23 16:50:04 even "Classic Shell Scripting: Hidden Commands that Unlock the Power of Unix" is quite recommendable Apr 23 17:41:51 [2014-04-20 Sun 21:42:34] just listening google http://www.youtube.com/watch?v=T6BHJspyh6s Apr 23 17:41:52 [2014-04-20 Sun 21:42:46] presentation, it could be used to complete "neo900" Apr 23 17:42:27 is just a rename of https://phonebloks.com/en/goals and that got already the deserved bashing Apr 23 17:42:52 it is a hoax, it stays to be Apr 23 17:43:26 you CANNOT plug tiny modules like that Apr 23 17:44:33 Guess why it's called "System on_a Chip (SoC)" Apr 23 17:45:55 and recet SoC like e.g that used in Jolla itegrate literally *everything* into one chip, to achieve the power-per-buck and size reduction Apr 23 17:49:38 dang, 'n' broken Apr 23 17:49:56 and recent SoC like e.g that used in Jolla integrate literally *everything* into one chip, to achieve the power-per-buck and size reduction Apr 23 17:50:38 get a Zynq7000, there you can use lots of modules ;) Apr 23 17:52:13 hmm? Apr 23 17:52:30 is this sth like a SICOMP M80? Apr 23 17:53:16 its a SoC with an FPGA Apr 23 17:57:40 yeah, kinda... ... ... (missing the right word, yawning while searching for it) Apr 23 17:58:38 SoC with FPGA for the IO Apr 23 17:59:44 I dunno if such design makes any sense for a smartphone. Maybe for a router with smart SPI FW and high throughput / low latency Apr 23 18:01:35 splitting out e.g. the GPU from the SoC makes even the SoC *more expensive* thanks to the higher number of IO you need to dedicate to interface between SoC and GPU Apr 23 18:02:37 or you accept that your device *has no* GPU and thus cna't do all that 3D and highspeed 2D stuff, and no way to upgrade it Apr 23 18:03:31 yes, Zynq7000 is more in use in network devices, cameras with integrated processing etc Apr 23 18:03:36 honestly, read the resppnse to phonebloks, it's a completely silly idea and will never fly the way they suggest it should Apr 23 18:03:49 response* Apr 23 18:04:45 it's just a flypaper idea for the technologically ignorant Apr 23 18:06:07 ~SoC Apr 23 18:06:07 soc is, like, System On Chip - many embedded cpus include a variety of peripherals as well which makes them more than just a CPU. Send Out Cards - http://www.sendoutcards.com/ Summer of Code (a google project) U of U's School of Computing (http://www.cs.utah.edu/) Apr 23 18:12:28 [2014-04-23 Wed 19:44:32] Guess why it's called "System on_a Chip (SoC)" Apr 23 18:16:16 check out what TO did with PoP (Package on Package) for N900 OMAP SoC. Then ponder *why* they did this. You'll eventually come to the conclusion that phonebloks is a brainfart Apr 23 18:16:24 s/TO/TI/ Apr 23 18:16:26 DocScrutinizer05 meant: check out what TI did with PoP (Package on Package) for N900 OMAP SoC. Then ponder *why* they did this. You'll eventually come to the conclusion that phonebloks is a brainfart Apr 23 18:17:44 OMAP and PoP is as much phonebloks as it gets, EVER Apr 23 18:17:45 I'll be interested to see what the hell Google is going to do with that though Apr 23 18:19:01 I wouldn't be surprised if they just stick all the functionality into the core component and all the customization are just dongles for enabling Apr 23 18:19:18 yep, prolly X-P Apr 23 18:19:21 Sell the core component super cheap anyhoo and think nobody will crack them Apr 23 18:19:31 as usual Apr 23 18:19:51 they already did that with VAXen in 1980 ;-P Apr 23 18:20:51 "for running this or that, you need this dongle plugged in to your VAX machine's left foobar port!" Apr 23 18:26:44 btw seems that's exactly what Jolla plans to do with their TOH Apr 23 18:27:42 at least I can't see any other real purpose, unless eventually a real hw extension rolls out Apr 23 18:28:19 enable skins by attaching another backcover - _really_ now? Apr 23 18:30:42 Yeah, so far they're just using those things to appeal to trendy people Apr 23 18:30:51 yep Apr 23 18:31:01 I mean, get a fuchsia TOH and the device skins the UI fuchsia too, clever! Apr 23 18:31:01 a silly gimmick Apr 23 18:32:43 and I wonder how much energy they waste by keeping a tag constantly in vicinity of the RFID reader Apr 23 18:33:16 on each poll for devices in vicinity, the reader needs to read out the TOH tag, to notice "ah, it's _you_ again" Apr 23 18:34:06 seems they already had to roll out a patch thanks to that Apr 23 18:34:18 but DocScrutinizer, phoneblocks is the future Apr 23 18:34:49 yeah, like all future it's uncertain and possibly never will happen Apr 23 18:35:11 this is a lil bit less uncertain though ;-P Apr 23 18:35:25 it definitely will not happen Apr 23 18:35:43 but who cares, it's the future anyway Apr 23 19:29:35 DocScrutinizer05: hi, how's going? Apr 23 19:34:44 come ci come ca Apr 23 19:35:06 (pardon my french) Apr 23 19:36:09 don't ask me to speak German, it would be even worse ;) Apr 23 19:36:33 so how is the Neo900 going? Apr 23 19:36:52 haven't traced the progress Apr 23 20:45:11 sorry, been afk. Neo900 is on track, I'm on "holiday" (hope to make that a *real* holiday for at least a few days to come) Apr 23 22:45:50 wow, that's some strange and incorrect syntax and nonsensical function that something injects into my standard PC bash environment: http://privatepaste.com/3afb019331 Apr 23 22:47:53 at very least it lacks the ":" between "1" and "+" Apr 23 22:48:05 and nevertheless works Apr 23 22:49:20 http://privatepaste.com/d7f23996ea Apr 23 23:28:49 weirdness? in bash? can't be. Apr 23 23:29:33 I recently pointed out something that seems crazy on the bash-bug mailing list .. the developers are convinced it's correct, expected behaviour. Apr 23 23:30:00 echo "$(echo '!!')" Apr 23 23:30:15 in bash 3 or greater, that will expand the !!, even though it's within single quotes. Apr 23 23:30:50 before bash, the problem manifests in: echo "'" !! "'" Apr 23 23:30:54 er, before bash 3 Apr 23 23:31:05 (Maemo normally has bash 2, so that one's relevant there) Apr 23 23:31:15 it doesn't expand the !!, even though it's not quoted. Apr 23 23:31:46 Basically, the history expansion uses a finite state machine to determine whether it should expand a ! construction. Apr 23 23:32:25 before bash 3, it only changed state because of a backslash or a single quote. Apr 23 23:33:00 since bash 3, it changes state also because of double quotes, but it doesn't know that double quotes can be inlined (that would require an infinite state machine) Apr 23 23:33:51 which leads to even weirder things: echo "$(echo "$(echo '!!')")" Apr 23 23:34:11 it sees "$(echo " as one double-quoted string, and ")" as another. Apr 23 23:34:19 and '!!' is a single-quoted string Apr 23 23:34:22 so it doesn't expand Apr 24 00:14:54 fun Apr 24 00:38:00 I got bash3 at least Apr 24 00:41:58 DocScrutinizer: infobot joined! Apr 24 00:50:58 Maxdamantus: actually I'm not sure about precedence of ( over " Apr 24 00:51:34 The $ is important. Apr 24 00:51:55 $(..) runs the .. command and expands to its output. Apr 24 00:52:03 hmm, yeah, prolly that $( ) should have precedence over any " Apr 24 00:52:22 when quoted, it's not split by IFS. Apr 24 00:52:25 unless it's enclosed in " " :-S Apr 24 00:53:18 Maxdamantus: just disable history expansion, that's what i do Apr 24 00:53:29 haha Apr 24 00:53:31 * Maxdamantus often uses history expansion. Apr 24 00:53:33 yeah Apr 24 00:54:08 I only use completion from jistory, and get pissed when it's not mapped to page-up Apr 24 00:54:19 most uses could be done with an extra up, ctrl-a, something, ctrl-e, something though. Apr 24 00:54:44 find . -name foo.c Apr 24 00:54:51 vim $(!! | tail -1) Apr 24 00:55:03 wow Apr 24 00:55:36 -n 1 Apr 24 00:55:40 ;-) Apr 24 00:55:41 i suck, i use copy/paste Apr 24 00:56:07 * Maxdamantus is planning on creating a new shell atm Apr 24 00:56:19 one that's statically typed. Apr 24 00:56:31 with higher-kinded polymorphism and type classes. Apr 24 00:56:37 I found find finds own manpage nonsense Apr 24 00:57:01 for mtime or mdate or whatever Apr 24 00:57:37 according to manpage you should use negative values when in fact you need positive ones, and vice versa Apr 24 00:58:31 Maxdamantus: and an unambiguous syntax please :-) Apr 24 00:58:35 * Maxdamantus hasn't tried using `find` with mtimes. Apr 24 00:58:42 Yes, that too. Apr 24 00:59:16 It won't be inherently expansion-based. Apr 24 01:00:06 which means it will probably have pointers. Apr 24 01:00:24 kinda sounds good Apr 24 01:00:41 (not that expansion-based systems can't support pointers) Apr 24 01:00:51 bash knows ${!foo} - that's it Apr 24 01:01:26 What does ${!foo} do? Apr 24 01:01:40 Nothing to do with history expansion? Apr 24 01:01:40 double-expansion Apr 24 01:02:04 if you do it with history expansion enabled, it will find the last `foo` command and put that int ${..} Apr 24 01:02:06 into* Apr 24 01:02:14 foo=bar; bar=X; echo $!foo -> X Apr 24 01:02:37 err Apr 24 01:02:45 foo=bar; bar=X; echo ${!foo} -> X Apr 24 01:03:20 foo=(1 2 3) Apr 24 01:03:26 foo [1] Apr 24 01:03:30 echo ${!foo} Apr 24 01:03:35 should echo 2 Apr 24 01:03:37 afaik Apr 24 01:03:39 jr@saturn:~> foo=bar; bar=X; echo ${!foo} Apr 24 01:03:40 X Apr 24 01:03:42 jr@saturn:~> !! Apr 24 01:03:43 with history expansion enabled. Apr 24 01:03:43 foo=bar; bar=X; echo ${!foo} Apr 24 01:03:45 X Apr 24 01:04:46 Wait, it's not doing history expansion there. Apr 24 01:04:53 How is it not doing history expansion there?{ Apr 24 01:05:08 it's smaaaart? Apr 24 01:05:17 ;-P Apr 24 01:05:48 I looked at the code and it was stupid, not smart. Apr 24 01:06:02 (me snickers Apr 24 01:07:26 can't have a space in an array subscript anyway. Apr 24 01:07:39 er, before the subscript bit. Apr 24 01:07:41 jr@saturn:~> foo=bar; bar=X; echo $!foo Apr 24 01:07:42 foo Apr 24 01:09:44 Maxdamantus: also you're aware bash knows typing? Apr 24 01:10:51 foo <<< "$(tr \ \\n <<< 'c 5 c 6 12')" Apr 24 01:11:03 What sort of typing? Apr 24 01:11:39 at least this: >> The declare, local, and readonly builtins each accept a -a option to specify an indexed array and a -A option to specify an associative array. Apr 24 01:12:19 Well, I knew it had indexed arrays. Apr 24 01:12:32 I had a feeling it had associative arrays. I've never used them though. Apr 24 01:12:44 13:03:19 < Maxdamantus> foo=(1 2 3) Apr 24 01:12:45 declare: declare [-aAfFgilrtux] [-p] [name[=value] ...] Apr 24 01:12:47 Set variable values and attributes. Apr 24 01:14:42 has help Apr 24 01:15:28 I also want my shell to have first-class filesystems. Apr 24 01:15:41 but will probably be a later addition. Apr 24 01:18:55 filesystems? Apr 24 01:19:22 like... handles, fd ? &1? Apr 24 01:19:30 So you can do something like implement a tmpfs in the shell, and perform builtin file operations on things inside it. Apr 24 01:19:54 ummm Apr 24 01:19:55 wouldn't it be better to just wrap mount? Apr 24 01:19:56 but also pass it to an external command, in which case it will be mounted and a filename will be passed down. Apr 24 01:20:06 hi robbiethe1st Apr 24 01:20:11 hi Apr 24 01:20:12 I remember when my irc client had a first-class shell Apr 24 01:20:21 hi ShadowJK Apr 24 01:20:23 My shell has an irc client! Apr 24 01:20:37 (or, at least, irssi available) Apr 24 01:20:42 (xchat used to have a "new bash tab" thing :) Apr 24 01:21:03 I wrote an IRC server once with a &bash channel. Apr 24 01:21:07 hmm, konversation has Apr 24 01:22:05 * DocScrutinizer05 realizes that booze is out since weeks. Sobs Apr 24 01:22:55 robbiethe1st: what do you mean by wrap mount? Apr 24 01:23:10 knew I should've gotten a new bottle whe I emptied the last one Apr 24 01:23:41 hmm, some Gin left over. But nothing to mix it with Apr 24 01:23:44 I mean, create a command/builtin which would create/destroy your tempfs. And what it does is create a real tmpfs mount somewhere, and handle making sure it's deleted at the end of the script Apr 24 01:24:19 The tmpfs should be implementable in the shell. Apr 24 01:24:25 so it's not just limited to tmpfs. Apr 24 01:24:44 It could be a filesystem with a file that when read executes a command and returns the output. Apr 24 01:25:10 why? What would you get that couldn't be done with a system tmpfs? Apr 24 01:25:14 move to plan9? Apr 24 01:25:32 robbiethe1st: tmpfs can't do that. Apr 24 01:25:32 I mean, all the hard work has already been done Apr 24 01:26:03 So, you emulate that functionality -- with your 'wrapper' functions Apr 24 01:26:28 The closest you could get would probably be to make a FIFO and dnotify it to see when to remove it and replace it with a new one. Apr 24 01:26:35 which is full of race conditions. Apr 24 01:26:50 and doesn't really have anything to do with tmpfs Apr 24 01:27:03 lets say this is a special file that is actually the output. The user attempts to open a file, your script changes that call to be whatever you want Apr 24 01:27:07 You should be able to implement an arbitrary filesystem. Apr 24 01:27:09 * DocScrutinizer05 thinks that function to read afile and execute it so it returns something to stdout already exists. It's called command Apr 24 01:27:11 ;) Apr 24 01:27:38 DocScrutinizer05, exactly Apr 24 01:27:54 Okay, what about a filesystem that maps a command over existing files? Apr 24 01:28:29 it has a normal read called syscall() and a special edit call named read() Apr 24 01:28:55 Maxdamantus, you don't want a shell or filesystem. What you want is a custom library that is ld_preloaded Apr 24 01:29:33 what he wants is an OO shell it seems Apr 24 01:29:34 You could then replace standard posix functions for open/read/close with a test?passthrough:run-custom-function Apr 24 01:30:10 I've seen this used if you wanted to prevent file deletion -- you can run a wrapper that messes with unlink functionality Apr 24 01:30:37 I see extreme trouble around the corner, with silly simple stuff like cp, and mv Apr 24 01:30:45 and sed Apr 24 01:30:51 etc pp :-P Apr 24 01:31:07 wavs = fsmap(import("/media/music"), () -> #{ ffmpeg -i - -y -f wav }) Apr 24 01:31:35 aplay $wavs:/foo/bar/baz.wav Apr 24 01:31:40 with tab completion Apr 24 01:31:42 etc Apr 24 01:32:07 Don't need an explicit mount. Apr 24 01:32:30 Exactly. Your fsmap function handles that Apr 24 01:32:51 It would create a tmpfs and a bunch of symlinks as-needed Apr 24 01:32:59 symlinks to what? Apr 24 01:33:04 To the real files Apr 24 01:33:12 * DocScrutinizer05 waves Apr 24 01:33:15 The point is they're not real files. Apr 24 01:33:23 Where is the data coming from Apr 24 01:33:27 ffmpeg Apr 24 01:33:50 So, even easier Apr 24 01:34:07 just a tmpfs. Creates it, handles the path... passes that to ffmpeg Apr 24 01:34:19 Or, even for that, you could just use /tmp/ Apr 24 01:34:31 Handles what path? Apr 24 01:35:17 The path to the real storage place Apr 24 01:35:24 There is no real storage place. Apr 24 01:35:25 whether memory or disk Apr 24 01:35:35 The file contents is generated by ffmpeg as you read it. Apr 24 01:35:54 And why not just use a pipe? Apr 24 01:36:11 That's kind of what the point of a pipe is Apr 24 01:36:19 It is a pipe. Apr 24 01:36:28 but it's a pipe generated from a filesystem. Apr 24 01:36:34 which handles lots of file accesses. Apr 24 01:36:55 Sounds like fifo files. which are basically pipes I think? Apr 24 01:37:05 so if you had another program that shows a GUI to play wavs in a given directory, you could pass the filesystem to it. Apr 24 01:37:14 wavplayer $wavs:. Apr 24 01:37:29 So, it /has/ to be a filesystem, Apr 24 01:37:31 No. The files don't actually exist. Apr 24 01:37:34 They're all transient. Apr 24 01:37:42 Yes, but they exist in memory Apr 24 01:38:00 when you read a directory, the fsmap reads the source directory and passes through the results. Apr 24 01:38:09 they have to exist somewhere within the scope of /, if a program which uses POSIX functions will use it Apr 24 01:38:33 when you open a file, the fsmap invokes the ffmpeg command, given the input of the original file. Apr 24 01:38:59 when you read from the fd, the fsmap reads from the corresponding ffmpeg invocation and passes through the result. Apr 24 01:39:43 Sounds very much like FIFOs in a tmpfs, perhaps wrapped by a helper function to make it simple to script. Apr 24 01:39:56 what has the tmpfs got to do with it? Apr 24 01:39:58 the tmpfs exists only in memory(or swap, if needed) Apr 24 01:40:18 If you're using FIFOs, you're not storing anything. Apr 24 01:40:21 It handles your backend, much faster than you could, and it's been designed correctly Apr 24 01:40:30 unless you're talking about FIFO files, which are horrible. Apr 24 01:40:31 You are storing the handles Apr 24 01:40:38 FIFO files are the worst things ever. Apr 24 01:41:01 why? Apr 24 01:41:02 Have you ever tried reading from the same FIFO file with two processes? Apr 24 01:41:31 pan9 Apr 24 01:41:34 And you think you could do better? Apr 24 01:41:35 plan9 even Apr 24 01:41:45 robbiethe1st: yes. Plan 9 has already done better. Apr 24 01:41:57 can do same on linux Apr 24 01:42:00 robbiethe1st: it encourages creation of these filesystems. Apr 24 01:42:26 man mount Apr 24 01:42:30 If you are to read it from two destinations, you need to either synchronize both destinations, or cache the data so that the second reader can catch up Apr 24 01:42:45 Linux has v9fs, but you need to be root to use it. Apr 24 01:42:57 plan9port has a 9pfuse program though. Apr 24 01:43:16 Uh, why is that a problem? Just use sudo, and setup a rule that allows for invocation of the mount command as user Apr 24 01:43:26 with no password etc. Apr 24 01:43:26 http://www.ibm.com/developerworks/linux/library/l-mount-namespaces.html Apr 24 01:43:29 Plan 9 also doesn't have the concept of sudo. Apr 24 01:43:31 or a superuser. Apr 24 01:43:39 Which is stupid Apr 24 01:43:51 robbiethe1st: no it's not Apr 24 01:43:56 oh wait Apr 24 01:43:59 what's stupid? Apr 24 01:44:06 Not having a superuser Apr 24 01:44:06 not having superusers. Apr 24 01:44:07 plan 9 not having sudo/superuser is really good Apr 24 01:44:17 least imo Apr 24 01:44:28 resource access is just whatever you can access through the filesystems you see. Apr 24 01:44:36 in your namespace and open fds, etc Apr 24 01:44:36 yeah Apr 24 01:44:45 * Tekk_ has used plan9 a decent amount Apr 24 01:44:50 Having a superuser is great; it means that there is a user which has all privlidges, and actually has authority over everything else. Apr 24 01:44:57 * Maxdamantus hasn't used it much. Apr 24 01:45:02 * Maxdamantus likes the concepts though. Apr 24 01:45:03 what's one's sudo is the other's mountpoint Apr 24 01:45:18 Maxdamantus: I've used it just enough for acme to be my 2nd favorite editor :P Apr 24 01:45:35 robbiethe1st: and that's why it's horrible Apr 24 01:45:39 you have a single point of failure Apr 24 01:45:44 I could probably generally make my way around acme. Apr 24 01:45:47 if root is owned it's game over Apr 24 01:45:55 You have a single way of fixing everything when things break Apr 24 01:46:08 Per-login namespaces Apr 24 01:46:19 * Maxdamantus isn't too fond of the mouse orientation though, but maybe people get used to it. Apr 24 01:46:21 Have you ever messed with the N950 or N9? Both are locked down, such that root is not all-powerful Apr 24 01:46:39 robbiethe1st: root is necessary on unix-likes Apr 24 01:46:40 Which means that you can't get around blocks just by going root Apr 24 01:46:46 but plan9 is designed to not have root Apr 24 01:46:48 so it works :P Apr 24 01:47:06 Tekk_: now THAT is nonsense. Apr 24 01:47:14 How do you deal with the issue of taking ownership of another's files, or administrating someone elses stuff? Apr 24 01:47:20 it's true, like 2water is wet" Apr 24 01:47:54 robbiethe1st: I've never used plan9 because I haven't worked at bell labs Apr 24 01:48:01 robbiethe1st: depends how the files are stored. Apr 24 01:48:09 but I imagine that it works vaguely like the user whose stuff you're messing with allows you to mount them :P Apr 24 01:48:24 Per-login namespaces Apr 24 01:48:41 And that's kind of a problem, in any managed environment Apr 24 01:48:48 robbiethe1st: how so? Apr 24 01:49:01 if you really need a superuser, just make it so that by default your "superuser" has access Apr 24 01:49:09 Where you A, may not be able to get the use's permission, or B, the user cannot *give* permission etc. Apr 24 01:49:11 meh Apr 24 01:49:14 n8 Apr 24 01:49:19 n8 DocScrutinizer05 Apr 24 01:49:43 robbiethe1st: how do you deal with the issue of taking ownership of another's IRC connection? Apr 24 01:50:03 robbiethe1st: I'm certain that plan9 has something in place to handle this, I just haven't used it myself Apr 24 01:50:33 Wouldn't you either do it as root, or with sudo from another user with the privilidges Apr 24 01:50:46 Do what? Apr 24 01:50:48 probably not Apr 24 01:50:53 because plan9 doesn't have root or sudo Apr 24 01:51:02 I mean in unix-land Apr 24 01:51:05 oh Apr 24 01:51:06 yes Apr 24 01:51:38 in unix you would su to the user then attach to either their X session or their screen/tmux session Apr 24 01:51:38 How would you evesdrop/take control of an open socket connection anyway? Apr 24 01:52:02 robbiethe1st: ultimately, the user might be accessing files over an encrypted connection. Apr 24 01:52:04 wireshark can do it at the packet level, I think Apr 24 01:52:34 robbiethe1st: in which case I think you'd need to mess with the system's memory to manipulate them. Apr 24 01:52:48 Maxdamantus, but with irc? Apr 24 01:52:59 I'm actually curious Apr 24 01:53:03 (so you either read another process' address space to get the encryption key, or make the kernel reroute fds) Apr 24 01:53:10 robbiethe1st: it's the same with IRC. Apr 24 01:53:24 robbiethe1st: it doesn't make a lot of sense for root to claim ownership of another user's IRC connection. Apr 24 01:53:50 you'd need to do messy stuff with other process' namespaces if the connection is encrypted. Apr 24 01:53:59 Unless you needed to Apr 24 01:54:20 if it's unencrypted, in Linux you can open /proc//fd/, kill the IRC process and continue talking. Apr 24 01:54:22 Thing is, there's occasional need Apr 24 01:56:00 if the files are on a disk you basically own, you're probably the one providing the filesystem, and the filesystem will probably provide a way to do extra stuff with it when you mount it. Apr 24 01:56:17 eg, Plan 9 usually uses fossil, which has some fossilcons system. Apr 24 01:56:58 Yeah, so it provides the interface through /srv/fscons Apr 24 01:57:39 but /srv/fscons is local to some process' namespace, sort of like a chroot. Apr 24 01:57:52 or processes' Apr 24 01:58:33 if you're allowing other people the ability to run programs on the same machine, you'd create a new namespace without /srv/fscons Apr 24 02:02:13 Per-login namespaces Apr 24 02:02:47 http://www.ibm.com/developerworks/linux/library/l-mount-namespaces.html Apr 24 02:46:28 https://en.wikipedia.org/wiki/Plan_X Apr 24 02:46:34 Successor to Plan 9? **** ENDING LOGGING AT Thu Apr 24 02:59:58 2014