←2008-05-19 2008-05-20 2008-05-21→ ↑2008 ↑all
00:03:15 <ihope> How should the Great Fall thingy be... symbolized?
00:03:24 <ihope> I have a symbolic dog, by the way.
00:09:47 <oerjan> not sure, i feel i am treading on egg-shells here...
00:14:47 <ihope> I can draw a symbolic flashlight, a symbolic radio transceiver, and a symbolic dog.
00:15:44 <oerjan> the flashlight can symbolize the hunting for scapegoats
00:16:56 <ihope> I'll time-consumingly scan and upload them.
00:17:38 <ihope> The dog is by far the most complex, I'm sure. It even has a curve.
00:18:38 <oerjan> Peano or Hilbert?
00:21:04 <ihope> Peano, probably.
00:22:38 <ehird{> Peanbert
00:22:43 <ehird{> Hilno
00:26:53 <ihope> Oh, the dog also contains a circle.
00:27:35 <ihope> The flashlight contains 7 lines. The radio transceiver contains 4 lines. The dog contains 16 lines, 1 circle, and 1 miscellaneous curve.
00:28:31 <ihope> People will be drawn as... blobs!
00:32:35 <ihope> Maybe.
00:39:19 <oklofok> trv.öl
00:39:28 <ehird{> oklofok: foalv.
00:40:14 <oklofok> wvgbggg.
00:40:25 <ehird{> fghfgh
00:40:57 <oerjan> fnk. bgrffnfld fnrd.
00:42:25 <oerjan> tbrnttbthtsthqstn
00:42:32 <ehird{> fgsfds
00:46:13 <ehird{> ihope's client dropped
01:00:21 -!- timotiis has quit (Read error: 110 (Connection timed out)).
01:38:07 <ehird{> Bye for today :-)
01:39:14 -!- ehird{ has quit (Read error: 104 (Connection reset by peer)).
02:57:37 -!- Corun has quit ("This computer has gone to sleep").
03:02:33 -!- ihope has quit ("ChatZilla 0.9.82.1 [Firefox 2.0.0.14/2008040413]").
03:48:34 -!- cherez has quit (Read error: 110 (Connection timed out)).
04:06:37 -!- cherez has joined.
04:17:50 -!- Slereah has joined.
04:21:29 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
04:46:43 -!- oerjan has quit ("Good night").
04:46:44 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
04:46:45 -!- Slereah- has joined.
04:56:11 -!- Slereah has joined.
04:56:11 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
05:23:21 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
05:23:21 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
05:56:26 -!- sebbu2 has joined.
06:14:52 -!- sebbu has quit (Read error: 110 (Connection timed out)).
07:24:38 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:30:39 -!- immibis has joined.
08:31:05 -!- immibis has quit (Client Quit).
08:42:18 -!- Judofyr has joined.
09:03:42 -!- Iskr has joined.
09:09:58 -!- GreaseMonkey has joined.
09:11:12 -!- Judofyr has quit.
10:32:27 -!- GreaseMonkey has quit ("Unisex.").
11:07:48 -!- timotiis has joined.
11:18:28 -!- timotiis has quit (Read error: 104 (Connection reset by peer)).
11:18:30 -!- timotiis has joined.
12:06:28 -!- Corun has joined.
12:31:51 -!- Judofyr has joined.
12:33:03 -!- ehird has joined.
12:36:04 -!- ehird has quit (Read error: 104 (Connection reset by peer)).
12:40:15 -!- ehird has joined.
12:50:32 -!- ehird_ has joined.
12:50:44 <ehird_> sihg
13:04:35 -!- ehird has quit (Read error: 110 (Connection timed out)).
13:06:55 -!- Judofyr_ has joined.
13:21:37 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
13:26:12 -!- ehird_ has changed nick to ehird.
13:39:41 -!- Corun has quit ("This computer has gone to sleep").
14:17:32 <ehird> We asked the oracle, “What is the meaning of life?” ...and the oracle responded: “Yes, it was inevitable.”
14:17:37 <ehird> http://www.oraclebot.com/game/aglvcmFjbGVib3RyCwsSBEdhbWUY3AwM/
14:23:27 -!- Judofyr_ has quit (Read error: 104 (Connection reset by peer)).
14:24:02 -!- Judofyr has joined.
14:42:43 -!- BMeph has joined.
15:13:36 -!- Slereah has joined.
15:22:44 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
15:23:09 -!- Slereah has joined.
15:23:59 -!- Slereah has quit (Client Quit).
15:32:28 <ehird> Phenax: you look new.
15:32:41 <ehird> at least, i don't recall your nick
15:47:35 * pikhq goes to go gradjiate
15:48:37 <ehird> pikhq: grudjuat
15:50:30 <pikhq> ehird: Not for the Hatfields.
15:51:03 <ehird> pikhq: diufugrat
15:51:12 <pikhq> Bingo. :p
16:00:18 -!- ais523 has joined.
16:05:08 -!- Corun has joined.
16:15:12 -!- jix has joined.
17:15:42 -!- Corun has quit ("This computer has gone to sleep").
17:26:52 -!- RedDak has joined.
17:48:25 -!- RedDak has quit (Remote closed the connection).
18:05:29 -!- ais523 has quit ("brb").
18:15:20 -!- ais523 has joined.
18:19:17 -!- kar8nga has joined.
18:41:59 -!- oklopol has joined.
18:52:13 <ehird> ais523: Forceful move.
18:53:45 <ehird> ais523: so, any other language suggestions for the rootnomic? I can't think of any good one
18:53:45 <ehird> s
18:53:51 <ehird> I mean, shell would be perfect tbh
18:53:55 <ehird> Or perl
18:54:01 <ais523> shell seems good here
18:54:13 <ais523> suid would be simple enough
18:54:24 <ais523> it's still possible to /set/ the suid bit on a script, even if it does nothing
18:54:29 <ehird> ais523: ooh, here's an idea . . .
18:54:33 <ais523> so just write a wrapper that sudos scripts with the suid bit set
18:54:41 <ehird> ais523: what if we stored nomic proposals in home dirs
18:54:47 <ehird> /home/ehird/proposals
18:54:47 <ehird> etc
18:54:50 <ais523> ehird: draft proposals, maybe
18:54:51 <ehird> ais523: then we wouldn't need suid or whatever
18:55:02 <ais523> you don't want them edited while people vote on them, though
18:55:32 <ehird> ais523: so, remove their write permisons
18:55:37 <ehird> ais523: but I guess you are right.
18:55:51 <ehird> ais523: I guess I'll start hackin'
18:56:15 <ehird> ais523: should I prefix commands with nomic-? To avoid cluttering the namespace
18:56:27 <ais523> might be a good idea
18:56:37 <ais523> BTW, which preinstalled applications are you going to have?
18:56:38 <ehird> ais523: ooh, here's another idea - instead of explicit activation, what about a cron job?
18:56:47 <ais523> ehird: may as well
18:56:48 <ehird> ais523: no suid would be needed, since crons are run as root - or at least can be
18:56:56 <ehird> ais523: if you also do the in-home-dir thing .. voila?
18:57:51 <ais523> you still need suid on rules created by proposals
18:58:27 <ehird> ais523: no
18:58:29 <ehird> the cron job can just do
18:58:31 <ehird> sh thepropfile
18:58:34 <ehird> as root
18:58:55 <ais523> ehird: yes, but what if you want to propose to add a root-runnable script?
18:59:02 <ais523> say something that lets you alter other people's votes
18:59:05 -!- oklofok has quit (Connection timed out).
18:59:07 <ais523> under certain conditions
18:59:38 <ehird> ais523: then they do whatever I did
18:59:39 <ehird> :-P
19:00:04 <ais523> ehird: doing everything via cron would mean that people can't do things on-demand
19:00:10 <ais523> instead they'd have to create a file and wait
19:00:12 <ehird> ais523: Yes they could.
19:00:16 <ehird> ais523: I don't think you understand.
19:00:26 <ehird> ais523: A cron job would run every day, and the proposals that have passed get run.
19:00:38 <ehird> ais523: So, it just automatically does 'activate' on them, except that since as a cron job it is already run as root, no suid magic.
19:00:42 <ais523> ehird: I'm not talking about the proposals themselves, they can run as root fine
19:00:43 <ehird> And, as a bonus, you don't need to manually activate.
19:00:50 <ais523> I'm talking about what if I want to change the gamestate not via a proposal
19:00:57 <ehird> ais523: Then you use a regular script.
19:01:01 <ehird> ais523: Only activation is done via a cron job.
19:01:09 <ais523> say, create a proposal that allows players to donate points, by creating a script that lets them do that
19:01:14 <ehird> ais523: Although. I can see where youi are coming from
19:01:22 <ais523> you're implying all gamestate changes have to be done via cron
19:01:24 <ehird> ais523: I'm currently erring on the side of 'store all data in the users home dir', though.
19:01:27 <ehird> ais523: It seems unixy.
19:01:42 <ehird> ais523: Then no suid is required, because hte only thing requiring root is the activation cronjob.
19:01:47 <ais523> ehird: if you do that then you'll have to revoke user's access to their own home directory
19:01:55 <ais523> and suid is required so you can modify other user's stuff
19:02:01 <ehird> ais523: Fine, then.
19:02:08 <ehird> ais523: /var/nomic it is.
19:02:27 <ais523> storing things in home directories isn't all that bad, but suid scripts are essential
19:02:33 <ehird> ais523: So, should I use nomic-root-sh or whatever which only accepts nomic binaries?
19:02:36 <ehird> and does the setuid
19:02:36 <ais523> even if you don't have any to start with people will want to add them later
19:02:43 <ehird> ais523: Ah, I know! It'll only run anything in /usr/lib/nomic/bin
19:02:52 <ais523> yes, that would make sense
19:02:55 <ais523> although /lib?
19:02:59 <ehird> ais523: debian standard
19:03:13 <ehird> /usr/lib/APP/bin for apps that users usually won't use - OK it's an abuse of that rule
19:03:15 <ehird> but its the best we have
19:03:19 <ehird> (debian never uses seperate dirs)
19:04:27 <ehird> ais523: Hm. I could make the activation use git.
19:04:38 <ehird> ais523: Like, / is git-controlled. And a commit is made each proposal.
19:05:19 <ais523> ehird: I'd suggest /var rather than /usr/lib
19:05:31 <ehird> ais523: /var is for data.
19:05:36 <ehird> ais523: Executables are not data
19:05:37 <ais523> the rule with /usr is that systems should work fine if it's on a read-only filesystem
19:05:50 <ais523> the point with /var is it's identical to /usr, except for stuff that changes
19:05:56 <ais523> whereas /usr is read-only
19:05:59 <ehird> ais523: Well, that's too purist to be useful.
19:06:07 <ehird> ais523: Let's go by debian guidelines. /var is for app-specific data.
19:06:09 <ais523> it's /etc that's data-only
19:06:18 <ais523> ehird: and this is app-specific
19:06:20 <ais523> it's for the nomic
19:06:28 <ehird> ais523: it's not data
19:06:30 <ehird> its binaries
19:06:36 <ehird> /usr/lib/nomic/bin is where debian would put it
19:06:38 <ehird> so there it goes
19:07:12 <ehird> ais523: any comments on my git idea?
19:07:33 <ais523> git seems kind-of crazy for versioning a nomic programatically
19:07:44 <ais523> it's hard enough for a human to use, why would you expect a computer to be able to handle it?
19:08:45 <ehird> ais523: you seem to think git is some kind of obscure system
19:08:48 <ehird> ais523: it can be scripted trivially
19:08:55 <ehird> ais523: All my idea is - git init in /
19:08:59 <ehird> ais523: git commit after each proposal application
19:09:12 <ais523> ehird: how would you add which files are tracked by the versioner?
19:09:14 <ehird> ais523: then e.g. you can make a proposal which does a 'git revert'
19:09:23 <ehird> ais523: and, well, i guess it'd track the whole fs
19:09:27 <ehird> not much would change at a time
19:09:33 <ais523> including git's data dir?
19:09:33 <ehird> so you'd have a sh*t-huge initial revision
19:09:37 <ehird> ais523: well, no
19:09:39 <ehird> it won't track that
19:09:41 <ehird> even if you tell it to
19:09:54 <ais523> ehird: what if I'm evil and hardlink to it
19:09:58 <ais523> from inside my home dir
19:10:07 <ehird> ais523: i don't think it will
19:10:16 <ais523> how could it know?
19:10:53 <ehird> ais523: i don't know.
19:10:57 <ehird> ais523: I guess it checks hardlinks
19:11:15 <ais523> ehird: any idea how inefficient that is?
19:11:26 <ais523> oh, and BTW, Debian put coopt.sh from C-INTERCAL into /usr/share
19:11:29 <ais523> I was just checking
19:11:33 <ehird> ais523: I don't know. I don't know. I -don't- -know-!
19:11:38 <ais523> and it's an executable, although one that doesn't change
19:11:53 <ais523> ehird: you have to do an entire FS scan to determine where a hard link is linked to
19:11:56 <ais523> sort of like fscking
19:12:04 <ais523> find can do it, but it takes ages
19:12:06 <ehird> ais523: I don't know I don't know I don't know jeeeeeeeeeeeeez
19:12:29 <ais523> the actual answer is that most OSs aren't insane enough to allow directory hardlinks
19:12:30 -!- jix has quit (Nick collision from services.).
19:12:32 <ais523> apart from . and ..
19:12:35 <ehird> ais523: Fine
19:12:40 -!- jix has joined.
19:12:46 <ais523> but hardlinking to a data file could still cause problems
19:13:16 <ehird> ais523: Anyway, guess I'll have to write some C for this
19:13:36 <ehird> tap tap tap emacs usr/lib/nomic/bin/nomic-sh
19:13:49 <ehird> ais523: Hmmmmmm
19:13:56 <ehird> ais523: What's the directory for source again?
19:13:59 <ehird> ais523: Plan9 uses /src.
19:13:59 -!- AnMaster has quit (Connection reset by peer).
19:14:07 <ehird> ah
19:14:08 <ehird> /usr/src
19:14:20 <ehird> OK then, tap tap tap emacs usr/src/nomic/nomic-sh.c
19:16:57 <ehird> ais523: install prog /usr/lib/nomic/bin
19:17:01 <ehird> to do the 'right thing' right?
19:17:10 <ehird> ais523: Then manually setuid it.
19:17:19 * ais523 doesn't use install
19:17:27 <ais523> and I think you have to pass it the required permissions as an argument
19:17:32 <ehird> ais523: ah
19:17:43 <ehird> -m, --mode=MODE
19:17:43 <ehird> set permission mode (as in chmod), instead of rwxr-xr-x
19:18:04 <ais523> cp, chown, chmod's probably what's needed
19:18:08 <ehird> ais523: yeah
19:18:13 <ais523> because you want to be able to replace newer files with older in a proposal
19:18:18 <ehird> ais523: no
19:18:20 <ehird> this is just for nomic-sh
19:18:25 <ehird> and, maybe some other c file
19:18:26 <ehird> s
19:18:39 <ais523> ehird: why are you using C files?
19:18:52 <ehird> ais523: Because I need a sh that runs as root.
19:19:01 <ais523> OK
19:19:11 <ehird> Well.
19:19:12 <ehird> A bash.
19:19:13 <ais523> the issue with them is that they wouldn't easily be editable by proposal
19:19:18 <ehird> ais523: Yes they could.
19:19:23 <ais523> I said easily
19:19:26 <ehird> ais523: Just edit /usr/src/nomic/foo.c
19:19:31 <ehird> ais523: then add a 'make install clean'
19:19:33 <ais523> and recompile?
19:19:37 <ehird> ais523: Yes
19:19:42 <ais523> presumably a cronjob's doing the make
19:19:43 <ehird> ais523: Just make your proposal a shell script
19:19:45 <ehird> ais523: And no
19:19:48 <ehird> ais523: The proposal that edits it is
19:21:35 <ehird> ais523: Hm. I'm gonna use hard tabs for these files. Why? Because by default, vi(1) uses hard tabs.
19:21:46 <ehird> ais523: And I'm _not_ installing emacs on that machine. if you want it, install it via proposal. :P
19:21:54 <ais523> what editors are going to be on that machine?
19:22:06 <ehird> ais523: vim. nano. Err, ed.
19:22:10 * ais523 thinks you should install something really obscure
19:22:20 <ehird> ais523: elvis
19:22:21 <ais523> that neither you nor I have currently heard of
19:22:24 <ehird> ais523: and enable x11 forwarding
19:22:29 <ehird> ais523: because elvis' x11 mode is really cheesy
19:22:33 <ehird> ais523: OK then -- What about NEdit?
19:22:45 <ais523> ehird: you've heard of that, otherwise you couldn't have suggested it
19:23:01 <ehird> ais523: But only because I went looking for obscure editors before
19:23:04 <ais523> hmm... maybe I should finish ICE some day
19:23:09 <ehird> ice?
19:23:11 <ehird> intercal code editor?
19:23:15 <ehird> (or s/code/c/)
19:23:26 <ais523> well, it's an intercal anything editor, really
19:23:36 -!- kar8nga has left (?).
19:23:38 <ais523> it's interactive, but almost stream-compatible with sed
19:23:46 <ais523> blank lines have a semantic meaning
19:23:52 <ais523> and you mostly use sed commands to do stuff
19:23:57 <ais523> so it's kind of like ed, except not
19:25:02 <ais523> ehird: BTW, if you have a VM, it might be an excellent chance to find out what happens when you reformat a mounted hard drive
19:25:13 <ehird> ais523: Heh.
19:25:18 <ais523> I've been wondering about that ever since mke2fs(8) said it was possible if you gave the force option twice
19:25:19 <ehird> ais523: I'll just run qemu. :-P
19:25:27 <ehird> ais523: But yeah, feel free to do whatever on it. I might give you root.
19:25:42 <ehird> ais523: Oh, and it'll be amusing because it'll be a vm in a vm
19:25:46 <ehird> my VPS from slicehost runs under Xen
19:25:58 <ehird> I get root and all that shizz without having to pay for a dedi :p
19:26:05 <ehird> $20/mo for a 'box' I can fully control ain't bad
19:27:13 <ehird> ais523: Okey-dokey, do shebang lines ever pass relative paths?
19:27:16 <ehird> They always pass absolute, right?
19:27:39 <ais523> ehird: I've tried relative lines to see what they do
19:27:44 <ais523> they run as sh would, I think
19:27:58 <ais523> so they look in PATH, and also the place given if it starts with an explicit ./
19:28:09 <ehird> ais523: what i'm saying is
19:28:10 <ehird> #!/bin/sh
19:28:15 <ehird> /bin/sh always gets an absolute path
19:28:16 <ehird> am i right
19:28:23 <ais523> oh, not sure
19:28:25 <ais523> probably, though
19:28:28 <ais523> you could test easily enough
19:28:31 <ais523> #!/bin/cat
19:28:36 <ehird> ais523: echo actually
19:28:36 <ais523> actually, #!/bin/echo
19:28:42 <ais523> #!/bin/cat is a quine
19:28:48 <ehird> $ ./test
19:28:48 <ehird> ./test
19:28:49 <ehird> A shame.
19:29:03 <ehird> ais523: How do you change a relative path into a canonicalized absolute one in c?
19:29:04 <ehird> realpath?
19:29:26 <ais523> well, I use realpath in shell
19:29:32 <ais523> also to bypass symlinks
19:29:54 <ais523> I did that in the C-INTERCAL install script for my latest attempt at getting Info installation working properly
19:30:14 <ais523> (BTW, no matter what I do there, Debian always comment it out because they have their own Info install method that actually works)
19:30:38 <ehird> ais523: you should make it so tat c-intercal won't compile without it
19:30:38 <ehird> :DD
19:30:41 <ais523> anyway, the idea is that it installed Info if the info dir file was in your prefix, or if you symlinked to it from your prefix
19:31:08 <ais523> but install-info responded by renaming the symlink as a backup, and then creating the new version of the info dir file where the symlink was
19:31:17 <ais523> so I added a call to realpath if available, or echo and hope otherwise
19:32:30 <ehird> ais523: by the way, I hate make(1)
19:32:44 <ehird> and how _do_ you setuid a binary?
19:32:45 <ais523> I actually kind-of like it
19:32:52 <ais523> ehird: chmod u+t
19:32:55 <ais523> sorry, u+s
19:33:07 <ais523> or g+s to setgid it
19:33:15 <ehird> ais523:
19:33:16 <ehird> chmod ug+srwxr-xr-x /usr/lib/\$prog
19:33:20 <ais523> you can also give a 4-digit octal mode, but I never remember how those work
19:33:27 <ehird> executable by anyone, modifiable only by owner, setuid and setgid
19:33:28 <ehird> right?
19:33:50 <ais523> no, it would be ug+s,a+x,a+w,u-w,o-w
19:34:04 <ehird> ais523: ... a+w?
19:34:14 <ais523> sorry, I meant a+r
19:34:23 <ais523> you were mixing two different mode line syntaxes
19:34:26 <ehird> ais523:
19:34:27 <ehird> chmod ug+s,a+x,a+r,u-w,o+w "/usr/lib/\$prog"
19:34:30 <ais523> s/line//
19:34:48 <ais523> ehird: did you try that? and anyway, why are you setting both setuid and setgid?
19:34:59 <ehird> ais523: because they should run as root:root?
19:35:16 <ais523> ehird: that isn't common practice, really
19:35:23 <ais523> and I have no idea if it works
19:35:30 <ehird> fine
19:35:31 <ehird> chmod u+s,a+x,a+r,u-w,o+w "/usr/lib/\$prog"; \
19:35:48 <ais523> why the backslash?
19:35:51 <ais523> and have you run it?
19:35:58 <ehird> ais523: i haven't run it because it'll trash my local system
19:36:02 <ehird> and the backslash 'cause its in a makefile
19:36:04 <ehird> in a 'for' loop
19:36:26 <ais523> ehird: you can run it in your home directory without root perms
19:36:34 <ais523> you can suid as users other than root, you know
19:36:41 <ehird> ais523: "/usr/lib/\$prog"
19:36:55 <ais523> well, just try the chmod line by itself to see if it works
19:37:05 <ais523> on a junk file in ~ which says #!/bin/false at the top
19:37:20 <ehird> -r-sr-xrwx 1 ehird ehird 7474 2008-05-20 19:38 nomic-bash
19:37:24 <ehird> ais523: so ... no, not really
19:37:28 <ehird> anyone can write it and the owner can't
19:37:29 <ehird> :-P
19:37:37 <ehird> ais523: And the setuid is only for the owner.
19:37:39 <ehird> Thing.
19:38:03 <ais523> ehird: setuid only for the user is normally right
19:38:11 <ehird> ais523: OK. But what about the rw thin
19:38:11 <ehird> g
19:38:22 <ais523> it should be u+w,g-w,o-w anyway
19:38:24 <ais523> at the end
19:38:29 <ais523> I screwed that up quite badly
19:38:53 <ais523> incidentally, if something is world-writable but not owner-writable, does that mean anyone except its owner can write it?
19:39:15 <ehird> ais523: yes
19:39:47 <ehird> -rwsr-xr-x 1 ehird ehird 7474 2008-05-20 19:41 nomic-bash
19:39:49 <ehird> ais523: looks right
19:40:06 <ais523> yes, that looks right
19:40:35 <ais523> just out of interest, what happens if you set suid and sgid simultaneously? I've never tried that, but having user=root is generally enough because that lets you do anything
19:42:03 <ehird> ais523: no idea
19:42:30 <ehird> ais523: Grr. Strcmp doesn't actually guarantee to return the fisrt non-matcher.
19:42:34 <ehird> ais523: 'for' loop here I come!
19:42:58 <ais523> ehird: why would you expect strcmp to do that?
19:43:07 <ehird> ais523: it would be useful
19:44:01 <ehird> ais523: Hmm. I'm considering making it beep 10 times if you try and use nomic-bash to run a script outside of the place it wants.
19:44:15 <ais523> ehird: why?
19:44:19 <ais523> and where would the beep be?
19:44:23 <ehird> ais523: the beep would be \7
19:44:25 <ais523> the user's console, or your server room
19:44:29 <ehird> ais523: console
19:44:47 <ehird> ais523: and because beeping is the internationally recognized 'No, we're not going to let you breach our security.' signal!
19:44:54 * ais523 has always wondered what would happen if e wrote to /dev/audio on this server, but suspects e would get into trouble if e tried to find out
19:45:07 <ehird> ais523: got a microphone?
19:45:13 <ehird> Cat /dev/mic or whatever to it, and scare people.
19:45:13 <ais523> ehird: actually, beeping is the internationally recognized 'someone is using your nick on IRC far too much again'
19:45:21 <ehird> Oh snarky, ais523.
19:45:28 <ais523> ehird: no idea, I don't have access to the server room
19:45:29 <ehird> ais523: It's habit from when I used bitlbee.
19:45:44 <ehird> ais523: It would only send messages to people that you prefixed, 'cause it can't tell who you want to talk to otherwise.
19:45:58 <ehird> (bitlbee = im-irc gateway - puts all your im users in an irc room.)
19:46:02 <ehird> (And lets you talk to them via irc)
19:46:35 <ais523> I normally don't mind so much, but I'm on the client which steals focus whenever you're nickpinged
19:48:23 <ehird> const char bin_dir[20] = "/usr/lib/nomic/bin/";
19:48:28 <ehird> that should be 20 right? Weird bug..
19:48:55 <ehird> oh
19:49:26 -!- AnMaster has joined.
19:49:35 <ais523> I make it 20, unless you snuck some evil Unicode in there again
19:49:50 <ais523> oh, btw, make sure your scripts don't have security holes in if people run a file with a newline in its name through them
19:49:57 <ais523> there are some weird security bugs that can create
19:51:04 <ehird> ais523: hm. I need to copy over argc and add an element in front.
19:51:05 <ehird> heh
19:51:20 <ehird> ais523: Hmm wait. i can exec &co. things with shebangs
19:51:21 <ais523> copying over argv would likely be more useful
19:51:22 <ehird> Coool
19:51:25 <ehird> it can be nomic-root
19:51:26 <ehird> oh, no,w ait
19:51:26 <ehird> hm
19:51:34 <ehird> ais523: heh
19:51:41 <ehird> ais523: should nomic-bash be nomic-root
19:51:42 <ehird> and used like
19:51:52 <ehird> #!/usr/lib/nomic/bin/nomic-root bash
19:51:52 <ehird> or
19:51:54 <ehird> #!/usr/lib/nomic/bin/nomic-root ruby
19:52:00 <ais523> ehird: yes
19:52:02 <ehird> ais523: OK
19:52:18 <ehird> ais523: At this point I'm wishing for /usr/bin/nomic-root, damn long paths :-P
19:52:25 <ais523> so your scripts work like perlsuid, then? If they are run and the suid doesn't take, they rerun themselves as root
19:52:45 <ehird> ais523: no
19:52:53 <ehird> ais523: nomic-root is just setuid'd root
19:52:57 <ehird> and exec()s anything in the right idr
19:52:59 <ehird> *dir
19:53:01 <ais523> except that the rerun always happens here
19:53:08 <ais523> and it changes the shebang on the rerun
19:53:16 <ais523> hmm... actually, doing it like that won't work with Perl
19:53:20 <ais523> it'll be an infiniloop
19:55:49 <ehird> ais523: OK, I think I've written nomic-root
19:56:37 <ehird> ais523: thought of a better path than /usr/lib/nomic/bin?
19:56:39 <ehird> Namely, shorter.
19:56:46 <ehird> /usr/nomic/bin *would* work..
19:57:16 <ais523> ehird: put it in the right place, put a symlink from the wrong place
19:57:20 <ais523> which is shorter
19:57:45 <ais523> it could even be /nomic/nomic-root if you really want to bend the filesystem rules (OFC, that should definitely be with a symlink)
19:57:49 <ehird> ais523: meh
19:57:52 <ehird> ais523: it's just that
19:57:56 <ehird> #!/usr/lib/nomic/bin/nomic-bash
19:57:58 <ehird> is basically acceptable
19:57:59 <ehird> but
19:58:01 <ehird> #!/usr/lib/nomic/bin/nomic-root bash
19:58:03 <ehird> is getting ridiculous
19:58:05 <ehird> and
19:58:10 <ehird> #!/usr/bin/env nomic-root bash
19:58:11 <ehird> won't work
19:58:19 <ehird> since shebangs can only have one arg
19:58:20 <ehird> why I do not know
19:59:38 <ais523> ehird: it's worse than that, actually, shebang args are really inconsistent between systems
19:59:50 <ais523> in some, the arg is cut off after a certain number of chars
20:00:07 <ais523> there's a really interesting discussion of it in the Perl manpages, perlrun I think
20:00:41 <ais523> Because many operating systems silently chop off kernel
20:00:43 <ais523> interpretation of the #! line after 32 characters, some
20:00:44 <ais523> switches may be passed in on the command line, and some may
20:00:46 <ais523> not; you could even get a "-" without its letter, if you're
20:00:47 <ais523> not careful.
20:00:49 <ais523> (paste from perlrun)
20:01:11 <ehird> ais523: hmmmmm,
20:01:11 <ais523> and the really strange thing about that was, when I C&Pd from the manpage, it put a multiline piece of text in the single-line text box
20:01:18 <ehird> is /usr/nomic/bin common?
20:01:20 <ais523> but I could scroll from one line to another with the mouse wheel
20:01:21 <ehird> /usr/APP/... that is
20:01:24 <ehird> I mean, I have /var/nomic
20:01:28 <ais523> ehird: only for X11
20:01:36 <ehird> ais523: _only_? Surely someone must have used it.
20:01:44 <ehird> ais523: I use /usr/local/app a lot when app is a big splurgey thing
20:01:54 <ais523> ehird: it's discouraged, and became unpopular
20:01:55 <ehird> surely someone uses it for /usr
20:01:59 <ehird> ais523: darn
20:02:03 <ehird> ais523: I hate FS structure.
20:02:10 <ais523> but it was so entrenched for X11 that nobody managed to remove it
20:02:20 <ehird> /apps/nomic/1.0/bin/nomic <-- ftw!
20:02:25 <ais523> the issue is basically if you do things like that, then finding shared objects becomes hard
20:02:27 <ehird> /apps/APP/VERSION/...
20:02:37 <ais523> ehird: that's how Windows does it
20:02:41 <ehird> ais523: well, not really
20:02:45 <ehird> windows does a retarded version of it
20:02:49 <ehird> and blends it in with its other brain damage
20:03:39 <ais523> oh, #!/nomic/nomic-root perl isn't an infiniloop after all
20:03:58 <ais523> but only because Perl specifically checks for the word perl on the shebang line to break such loops
20:04:46 <ehird> ais523: hmm
20:04:54 <ehird> /{apps,users,sys}
20:05:07 <ehird> I don't _think_ you need anything else, realy.
20:05:10 <ehird> ais523: oh, wait
20:05:12 <ehird> hmm
20:05:14 <ehird> I was thinking libraries
20:05:16 <ehird> but they're system
20:05:20 <ehird> /sys/libs
20:05:40 <ehird> ais523: see that? That was me beating the shit out of FHS. :-P
20:05:56 <ais523> ehird: where are application binaries stored?
20:06:01 <ais523> and what does the path end up like
20:06:04 <ehird> <ehird> /apps/nomic/1.0/bin/nomic <-- ftw!
20:06:11 <ais523> as in, the PATH
20:06:14 <ehird> ais523: ah
20:06:16 <ehird> probably;
20:06:25 <ehird> ais523: well, I'm not sure you can do it
20:06:31 * ais523 thinks there should be multidimensional file-systems
20:06:33 <ehird> ais523: however, this is so radically different that shells would burn anyway
20:06:43 <ehird> here's some paths for you
20:06:45 <ais523> so that /bin/nomic and /nomic/bin mean the same things if the directories are set up properly
20:06:50 <ehird> hmm
20:07:00 <ehird> /users/USER/docs vs /users/USER/data
20:07:04 <ais523> directories work more like tags on a file than a tree structure
20:07:06 <ehird> ais523: ^^^ end of dotfiles, there
20:07:09 <ehird> oh, /users/USER/conf too
20:07:14 <ais523> however, they still manage to be hierarchical anyway
20:07:31 <ais523> oh, and you're /still/ trying to recreate Windows filesystem structure
20:07:42 <ehird> ais523: yeah but windows gets it all wrong
20:07:43 <ehird> :3
20:07:48 <ehird> ais523: I'm taking more inspiration from OS X's
20:07:56 <ehird> /Applications, /System, /Users
20:07:56 <ehird> etc
20:10:27 <ehird> ais523: anyway
20:10:33 <ehird> /usr/lib/nomic/bin unless you can give me a better path
20:12:37 <ehird> ais523: okay then
20:13:18 <ehird> ais523: http://pastebin.ca/1024095
20:13:25 <ehird> le nomic-root
20:13:39 <ehird> ais523: Interestingly, you can do nomic-root nomic-root nomic-root nomic-root nomic-root nomic-root nomic-root
20:13:50 <ehird> Hm.
20:13:52 <ehird> Only when I fix argc
20:14:18 <ais523> /* bother the user a bit */
20:14:35 <ehird> ais523: execv and execvp - what's the diff.?
20:14:40 <ehird> int execv(const char *path, char *const argv[]);
20:14:40 <ehird> int execvp(const char *file, char *const argv[]);
20:14:44 <ehird> the manpages describe them together
20:14:46 <ais523> the params they take, I think
20:14:53 <ais523> execvp looks in your PATH
20:14:59 <ais523> execv doesn't, it takes an absolute pathname
20:15:05 <ehird> ais523: ah, then execvp is what I want
20:18:08 <ehird> ais523: Bonk.
20:18:14 <ehird> Any ideas for a bin dir?
20:18:38 <ais523> I thought you had one already
20:18:43 <ehird> ais523: not really
20:18:57 <ais523> well, you have to have put the file somewhere
20:19:17 <ehird> ais523: :O
20:19:24 -!- Hiato has joined.
20:19:49 <ais523> ehird: why is my comment surprising?
20:19:59 <ehird> ais523: That was sarcasm.
20:20:09 <ehird> ais523: But actually I was thinking I could just kinda think about the file.
20:20:17 <ehird> Instead of, like, putting it somewhere.
20:20:23 <ais523> ehird: I didn't even realise a smiley could be sarcastic on its own
20:20:30 <ais523> although I was aware that they could indicate sarcasm
20:20:48 <ais523> and tautologies can be useful for pointing out the fact that they're true
20:21:45 <ehird> ais523: :-P
20:21:55 <ais523> was that sarcastic too?
20:22:16 <ais523> or will we have to do :O :) from now on, where the second smiley indicates the first was sarcastic?
20:22:48 <ehird> ais523: that was just a 'OK, so back to the actual question?'
20:22:50 <ehird> but shorter
20:23:22 <ais523> ehird: this is getting as bad as Humpty Dumpty, where you had to ask em what all the words he used meant before you could understand eir sentences
20:23:39 <ais523> oh, the previous sentence was actually a HOMESPRING program, but it isn't particularly interesting
20:23:43 <ehird> ais523: Twas brillig in the slithy PATH, and the nomic-root outgrabe
20:23:46 <ehird> (Think I've got that right.)
20:23:57 <ehird> outgabe?
20:24:18 <ais523> it was outgrabe in the original
20:24:28 <ais523> but in a parody, it should probably be outgrepped or something
20:24:51 <ais523> also, you've mixed up the start and end of the stanza
20:25:05 <ehird> ais523: I was just picking one I could easily mangle to this ituation.
20:25:12 <ehird> 'nome wrath'
20:25:23 <ehird> ehh, whatever you spell it
20:25:26 <ehird> (that was intentional)
20:25:27 <ais523> or gnome wrath?
20:25:38 <ais523> gnomes can be pretty fierce when they get angry
20:25:44 <ehird> ouch
20:27:31 <ehird> ais523: okay, so, i'm thinking that maybe bash will be a little awkward for this?
20:27:32 <ehird> tunno
20:27:33 <ehird> *dunno
20:27:40 <ais523> awkward for what?
20:27:48 <ais523> the nomic voting, judgement, etc.?
20:27:56 <ais523> maybe you should just copy the relevant code from envbot
20:28:02 <ehird> ais523: hahahahahahahhahahahah
20:28:17 <ehird> #esoteric memes: EsCo, envbot
20:32:33 <GregorR> CELLPHONEWRISTWATCH
20:32:40 <bsmntbombdood> hi gregor
20:32:44 <GregorR> Hi :P
20:32:45 <ais523> is that an #esoteric meme?
20:32:50 <ais523> I've never come across it before
20:32:57 <ais523> at least, not that I can remember
20:33:10 <GregorR> Is what?
20:33:34 <ais523> <GregorR>CELLPHONEWRISTWATCH
20:33:44 <GregorR> No, it's on my wrist :P
20:33:54 <GregorR> It's a my-wrist meme.
20:34:51 <oklopol> cool meme
20:36:57 <ehird> esco can create memes ... with its ook! interpreter!
20:37:14 <ais523> oh, I just remembered what esco was
20:38:34 <GregorR> Yeah, but I have a cell phone wristwatch 8-O
20:41:37 <ehird> ais523: hm
20:41:46 <ehird> ais523: do you think bash _would_ be good for this?
20:41:54 <ais523> yes
20:41:55 <ehird> if not, I guess perl, as you can do all the quick shell script stuff with it
20:42:04 <ehird> ais523: OK. It's just that it'll need to parse file formats.
20:42:08 <ehird> ais523: e.g. for the comments
20:42:11 <ais523> which file formats?
20:42:19 <ehird> ais523: Like the comment file format
20:42:19 <ais523> and remember, you can call out from bash
20:42:22 <ais523> it doesn't have to be pure sh
20:42:23 <ehird> ais523: And yeah, but even so.
20:45:57 <ehird> ais523: Oh well, I'll just do sh. Which script should I write first?
20:46:11 <ais523> proposal activation
20:46:16 <ehird> ais523: Hm, ok.
20:46:33 <ehird> ais523: So people can do it manually as well as through the cronjob? Sounds risky.
20:46:52 <ais523> ehird: why would that allow people to do it manually?
20:46:56 <ais523> the cronjob has to run something
20:47:05 <ehird> ais523: I guess so.
20:47:08 <ais523> it needn't be executable by world
20:47:16 <ais523> :P :)
20:47:17 <ehird> ais523: Anyway, activation is just './proposal'
20:47:28 <ehird> also, that's the first time you've used :P
20:47:29 <ais523> yes, but vote-counting's needed
20:47:33 <ais523> to check if it should be activated
20:47:47 <ais523> and my run of smileys was a parody of our earlier conversation there, don't get used to it
20:48:27 <ehird> ais523: :P is a good smiley.
20:48:29 <ehird> In my opinion.
20:48:54 <ehird> I have, on occasion, resorted to XD. But that's normally after a real life fit of laughter where I'm having trouble breathing.
20:48:55 <oklopol> i like :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDd
20:49:03 <ehird> It looks something like 'AASHAHDHHAHHAAHAHAHAHHASDGASDJHASGHASJ XD XD XD XD'
20:49:07 <ehird> ... very rare.
20:49:09 <ehird> oklopol: oh me too
20:49:11 <ehird> but that's just for the oko spirit
20:49:13 <ehird> :DDDDDDDDDDDDDDDDDDDDddddddddddd
20:49:18 <ehird> o
20:49:18 <oklopol> also ::::::::::::::::::::::::::DDDDDDddddddDDDDDDDDDDDD does it for me
20:49:21 <ais523> o
20:49:24 <ehird> o
20:49:24 <oklopol> o
20:49:25 <ehird> o
20:49:28 <ais523> o
20:49:29 <ehird> o
20:49:31 <oklopol> o
20:49:32 <ehird> o
20:49:37 <ais523> o
20:49:39 <oklopol> okokokokokokokokokokoko
20:49:39 <ehird> o
20:49:41 <ais523> o
20:49:41 <ehird> brilliant
20:49:41 <oklopol> okokokokokokokokokokokokokoko
20:49:44 <oklopol> okokokokokokokokokokoko
20:49:45 <ehird> oko
20:49:45 <ehird> okoko
20:49:46 <ehird> okokoko
20:49:46 <ehird> okokokoko
20:49:47 <ehird> okokokokoko
20:49:48 <ehird> okokokokokoko
20:49:49 <ehird> okokokokokokoko
20:49:49 <ehird> okokokokokoko
20:49:50 <ais523> o?
20:49:51 <ehird> okokokokoko
20:49:53 <ehird> okokokoko
20:49:55 <ehird> okokoko
20:49:56 <oklopol> you're cheating, ehird?
20:49:57 <ehird> okoko
20:49:59 <ehird> oko
20:50:03 <ehird> oklopol: no, I am merely creating a tower of oko
20:50:13 <oklopol> are you doing it manually?
20:50:18 <ehird> oklopol: up, ko
20:50:21 <ehird> up, backspacebackspace
20:50:27 <oklopol> so cheating
20:50:30 <ehird> :(
20:50:32 * ais523 guessed that's how ehird was doing it
20:50:34 <oklopol> o
20:50:34 <oklopol> oko
20:50:35 <oklopol> okoko
20:50:36 <oklopol> okokoko
20:50:37 <oklopol> okokokoko
20:50:39 <oklopol> okokokokoko
20:50:40 <oklopol> okokokokokoko
20:50:41 <oklopol> okokokokokokoko
20:50:43 <oklopol> okokokokokokokoko
20:50:44 <ais523> okokokokokokoko
20:50:45 <oklopol> okokokokokokokokoko
20:50:45 <ehird> WATERMELONS
20:50:47 <oklopol> okokokokokokokokokoko
20:50:48 <ehird> WATERMELONS
20:50:50 <ais523> grr... I was slightly too late
20:51:15 * oklopol hears lament sharpening his kicking knife
20:51:25 <ehird> ais523: so, hm
20:51:34 <ehird> ais523: I'm considering just doing /usr/bin/nomic-X
20:51:41 <ehird> ais523: and /usr/lib/nomic/bin/activate only for the internal activation
20:51:45 <ais523> ehird: sounds good
20:51:46 -!- Deformative has joined.
20:51:49 <ehird> ais523: that's debians policy
20:51:58 <ehird> ais523: although *activate.sh* would be more strict
20:52:11 <ehird> ais523: Also, /bin/bash instead of nomic-root.
20:52:18 <ehird> Since the cronjob will be root.
20:56:17 -!- Hiato has left (?).
21:08:33 -!- SimonRC has quit (Read error: 113 (No route to host)).
21:09:55 <ehird> ais523: how do I check if i'm root in a shell script?
21:10:48 -!- Iskr has quit ("Leaving").
21:11:01 <ais523> ehird: use whoami
21:11:18 <ais523> e.g. [ `whoami` -eq root ]
21:11:39 -!- SimonRC has joined.
21:11:46 <ehird> ais523: clever
21:11:49 <ehird> but you mean =
21:11:57 <ais523> probably
21:21:00 -!- sebbu2 has quit (No route to host).
21:45:54 -!- sebbu has joined.
22:06:00 -!- Slereah has joined.
22:20:47 -!- oerjan has joined.
22:35:23 * SimonRC laughs so much at this one he starts dribbling: http://hownottorunacomic.comicgenesis.com/d/19940141.html
22:37:09 <ehird> SimonRC: heh
22:38:14 <SimonRC> hmm, 41st Jan 1994
22:38:20 <Slereah> This is not very droll3
22:38:20 <Slereah> But maybe it's because I just saw the dongcopter.
22:38:22 <Slereah> http://minx.cc/?post=262888
22:38:35 <oerjan> i suppose the comments being black on dark grey is part of the joke too...
22:39:03 <SimonRC> maybe, maybe
22:39:24 <Slereah> It's hard to follow a dongcopter as a joke.
22:42:46 <SimonRC> weird
22:43:03 <SimonRC> it goes straight from the 49th Jan '94 to 1st Mar '94
22:43:11 <SimonRC> what ever happened to Feb '94
22:44:08 <ehird> SimonRC: 49th jan?
22:44:19 <ehird> SimonRC: ITYM: it's the 49th comic posted in janruary
22:44:39 <ais523> isn't it still September 1996 by some estimates?
22:45:03 <SimonRC> 1998
22:45:14 <SimonRC> um, 1997
22:45:24 <SimonRC> and that ended in 2007 when AOL dropped usenet access
22:45:26 <SimonRC> maybe
22:45:30 -!- Sgeo has joined.
22:46:03 <oerjan> 1993, says http://en.wikipedia.org/wiki/Eternal_September
22:46:14 <SimonRC> ok
22:46:24 <SimonRC> not too far of then :-)
22:46:27 <SimonRC> *off
22:48:57 <ehird> SimonRC: The newbies are still here.
22:49:03 <ehird> Eternal September will be eternal for the internet.
22:49:05 <ehird> There's no goin' back.
23:01:26 -!- BMeph has quit (Read error: 104 (Connection reset by peer)).
23:24:27 -!- jix has quit ("CommandQ").
23:28:57 -!- ais523 has quit (""").
23:48:08 <SimonRC> ehird: I dunno
23:48:10 -!- sebbu has quit (Client Quit).
23:48:32 <SimonRC> I don't notice any AOL types around on some of my favourite groups.
23:53:02 -!- Corun has joined.
←2008-05-19 2008-05-20 2008-05-21→ ↑2008 ↑all