< 1211241795 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :How should the Great Fall thingy be... symbolized? < 1211241804 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I have a symbolic dog, by the way. < 1211242187 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not sure, i feel i am treading on egg-shells here... < 1211242487 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I can draw a symbolic flashlight, a symbolic radio transceiver, and a symbolic dog. < 1211242544 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the flashlight can symbolize the hunting for scapegoats < 1211242616 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I'll time-consumingly scan and upload them. < 1211242658 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The dog is by far the most complex, I'm sure. It even has a curve. < 1211242718 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Peano or Hilbert? < 1211242864 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Peano, probably. < 1211242958 0 :ehird{!unknown@unknown.invalid PRIVMSG #esoteric :Peanbert < 1211242963 0 :ehird{!unknown@unknown.invalid PRIVMSG #esoteric :Hilno < 1211243213 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, the dog also contains a circle. < 1211243255 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The flashlight contains 7 lines. The radio transceiver contains 4 lines. The dog contains 16 lines, 1 circle, and 1 miscellaneous curve. < 1211243311 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :People will be drawn as... blobs! < 1211243555 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Maybe. < 1211243959 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :trv.öl < 1211243968 0 :ehird{!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: foalv. < 1211244014 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :wvgbggg. < 1211244025 0 :ehird{!unknown@unknown.invalid PRIVMSG #esoteric :fghfgh < 1211244057 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fnk. bgrffnfld fnrd. < 1211244145 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :tbrnttbthtsthqstn < 1211244152 0 :ehird{!unknown@unknown.invalid PRIVMSG #esoteric :fgsfds < 1211244373 0 :ehird{!unknown@unknown.invalid PRIVMSG #esoteric :ihope's client dropped < 1211245221 0 :timotiis!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1211247487 0 :ehird{!unknown@unknown.invalid PRIVMSG #esoteric :Bye for today :-) < 1211247554 0 :ehird{!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211252257 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1211252553 0 :ihope!unknown@unknown.invalid QUIT :"ChatZilla 0.9.82.1 [Firefox 2.0.0.14/2008040413]" < 1211255314 0 :cherez!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1211256397 0 :cherez!n=cherez@CPE-69-76-143-134.kc.res.rr.com JOIN :#esoteric < 1211257070 0 :Slereah!n=gtuilt@ANantes-252-1-41-67.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1211257289 0 :Slereah-!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211258803 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1211258804 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211258805 0 :Slereah-!n=gtuilt@ANantes-252-1-41-67.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1211259371 0 :Slereah!n=gtuilt@ANantes-252-1-41-67.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1211259371 0 :Slereah-!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211261001 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1211261001 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211262986 0 :sebbu2!n=sebbu@ADijon-152-1-65-48.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1211264092 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1211268278 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1211270399 0 :clog!unknown@unknown.invalid QUIT :ended < 1211270400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1211272239 0 :immibis!n=immibis@125-238-252-202.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1211272265 0 :immibis!unknown@unknown.invalid QUIT :Client Quit < 1211272938 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1211274222 0 :Iskr!n=i@host34-59-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1211274598 0 :GreaseMonkey!n=saru@219-88-193-251.jetstream.xtra.co.nz JOIN :#esoteric < 1211274672 0 :Judofyr!unknown@unknown.invalid QUIT : < 1211279547 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Unisex." < 1211281668 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1211282308 0 :timotiis!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211282310 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1211285188 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1211286711 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1211286783 0 :ehird!n=ehird@91.105.112.94 JOIN :#esoteric < 1211286964 0 :ehird!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211287215 0 :ehird!n=ehird@91.105.116.154 JOIN :#esoteric < 1211287832 0 :ehird_!n=ehird@91.105.77.215 JOIN :#esoteric < 1211287844 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :sihg < 1211288675 0 :ehird!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1211288815 0 :Judofyr_!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1211289697 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1211289972 0 :ehird_!unknown@unknown.invalid NICK :ehird < 1211290781 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1211293052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : We asked the oracle, “What is the meaning of life?” ...and the oracle responded: “Yes, it was inevitable.” < 1211293057 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.oraclebot.com/game/aglvcmFjbGVib3RyCwsSBEdhbWUY3AwM/ < 1211293407 0 :Judofyr_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211293442 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1211294563 0 :BMeph!n=chatzill@wsip-70-167-169-169.sd.sd.cox.net JOIN :#esoteric < 1211296416 0 :Slereah!n=gtuilt@ANantes-252-1-41-67.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1211296964 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211296989 0 :Slereah!n=gtuilt@ANantes-252-1-41-67.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1211297039 0 :Slereah!unknown@unknown.invalid QUIT :Client Quit < 1211297548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Phenax: you look new. < 1211297561 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :at least, i don't recall your nick < 1211298455 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to go gradjiate < 1211298517 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: grudjuat < 1211298630 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Not for the Hatfields. < 1211298663 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: diufugrat < 1211298672 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Bingo. :p < 1211299218 0 :ais523!n=ais523@chillingi.eee.bham.ac.uk JOIN :#esoteric < 1211299508 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1211300112 0 :jix!n=jix@dyndsl-085-016-178-071.ewe-ip-backbone.de JOIN :#esoteric < 1211303742 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1211304412 0 :RedDak!n=dak@host98-82-dynamic.16-87-r.retail.telecomitalia.it JOIN :#esoteric < 1211305705 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1211306729 0 :ais523!unknown@unknown.invalid QUIT :"brb" < 1211307320 0 :ais523!n=ais523@chillingi.eee.bham.ac.uk JOIN :#esoteric < 1211307557 0 :kar8nga!n=kar8nga@AMarseille-151-1-49-182.w82-122.abo.wanadoo.fr JOIN :#esoteric < 1211308919 0 :oklopol!n=nnscript@a91-152-129-77.elisa-laajakaista.fi JOIN :#esoteric < 1211309533 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Forceful move. < 1211309625 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so, any other language suggestions for the rootnomic? I can't think of any good one < 1211309625 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s < 1211309631 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I mean, shell would be perfect tbh < 1211309635 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or perl < 1211309641 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :shell seems good here < 1211309653 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :suid would be simple enough < 1211309664 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's still possible to /set/ the suid bit on a script, even if it does nothing < 1211309669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ooh, here's an idea . . . < 1211309673 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so just write a wrapper that sudos scripts with the suid bit set < 1211309681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what if we stored nomic proposals in home dirs < 1211309687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/home/ehird/proposals < 1211309687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1211309690 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: draft proposals, maybe < 1211309691 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: then we wouldn't need suid or whatever < 1211309702 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you don't want them edited while people vote on them, though < 1211309732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so, remove their write permisons < 1211309737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but I guess you are right. < 1211309751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I guess I'll start hackin' < 1211309775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: should I prefix commands with nomic-? To avoid cluttering the namespace < 1211309787 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :might be a good idea < 1211309797 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :BTW, which preinstalled applications are you going to have? < 1211309798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ooh, here's another idea - instead of explicit activation, what about a cron job? < 1211309807 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: may as well < 1211309808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no suid would be needed, since crons are run as root - or at least can be < 1211309816 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: if you also do the in-home-dir thing .. voila? < 1211309871 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you still need suid on rules created by proposals < 1211309907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no < 1211309909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the cron job can just do < 1211309911 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sh thepropfile < 1211309914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as root < 1211309935 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes, but what if you want to propose to add a root-runnable script? < 1211309942 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :say something that lets you alter other people's votes < 1211309945 0 :oklofok!unknown@unknown.invalid QUIT :Connection timed out < 1211309947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :under certain conditions < 1211309978 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: then they do whatever I did < 1211309979 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1211310004 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: doing everything via cron would mean that people can't do things on-demand < 1211310010 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :instead they'd have to create a file and wait < 1211310012 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Yes they could. < 1211310016 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I don't think you understand. < 1211310026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: A cron job would run every day, and the proposals that have passed get run. < 1211310038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1211310042 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm not talking about the proposals themselves, they can run as root fine < 1211310043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And, as a bonus, you don't need to manually activate. < 1211310050 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm talking about what if I want to change the gamestate not via a proposal < 1211310057 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Then you use a regular script. < 1211310061 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Only activation is done via a cron job. < 1211310069 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :say, create a proposal that allows players to donate points, by creating a script that lets them do that < 1211310074 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Although. I can see where youi are coming from < 1211310082 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're implying all gamestate changes have to be done via cron < 1211310084 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I'm currently erring on the side of 'store all data in the users home dir', though. < 1211310087 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: It seems unixy. < 1211310102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Then no suid is required, because hte only thing requiring root is the activation cronjob. < 1211310107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: if you do that then you'll have to revoke user's access to their own home directory < 1211310115 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and suid is required so you can modify other user's stuff < 1211310121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Fine, then. < 1211310128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: /var/nomic it is. < 1211310147 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :storing things in home directories isn't all that bad, but suid scripts are essential < 1211310153 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: So, should I use nomic-root-sh or whatever which only accepts nomic binaries? < 1211310156 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and does the setuid < 1211310156 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even if you don't have any to start with people will want to add them later < 1211310163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Ah, I know! It'll only run anything in /usr/lib/nomic/bin < 1211310172 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, that would make sense < 1211310175 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although /lib? < 1211310179 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: debian standard < 1211310193 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/usr/lib/APP/bin for apps that users usually won't use - OK it's an abuse of that rule < 1211310195 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but its the best we have < 1211310199 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(debian never uses seperate dirs) < 1211310267 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hm. I could make the activation use git. < 1211310278 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Like, / is git-controlled. And a commit is made each proposal. < 1211310319 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'd suggest /var rather than /usr/lib < 1211310331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: /var is for data. < 1211310336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Executables are not data < 1211310337 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the rule with /usr is that systems should work fine if it's on a read-only filesystem < 1211310350 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the point with /var is it's identical to /usr, except for stuff that changes < 1211310356 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :whereas /usr is read-only < 1211310359 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Well, that's too purist to be useful. < 1211310367 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Let's go by debian guidelines. /var is for app-specific data. < 1211310369 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's /etc that's data-only < 1211310378 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: and this is app-specific < 1211310380 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's for the nomic < 1211310388 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's not data < 1211310390 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its binaries < 1211310396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/usr/lib/nomic/bin is where debian would put it < 1211310398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so there it goes < 1211310432 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: any comments on my git idea? < 1211310453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :git seems kind-of crazy for versioning a nomic programatically < 1211310464 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's hard enough for a human to use, why would you expect a computer to be able to handle it? < 1211310525 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you seem to think git is some kind of obscure system < 1211310528 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it can be scripted trivially < 1211310535 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: All my idea is - git init in / < 1211310539 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: git commit after each proposal application < 1211310552 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: how would you add which files are tracked by the versioner? < 1211310554 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: then e.g. you can make a proposal which does a 'git revert' < 1211310563 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and, well, i guess it'd track the whole fs < 1211310567 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not much would change at a time < 1211310573 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :including git's data dir? < 1211310573 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you'd have a sh*t-huge initial revision < 1211310577 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, no < 1211310579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it won't track that < 1211310581 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :even if you tell it to < 1211310594 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what if I'm evil and hardlink to it < 1211310598 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :from inside my home dir < 1211310607 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i don't think it will < 1211310616 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how could it know? < 1211310653 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i don't know. < 1211310657 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I guess it checks hardlinks < 1211310675 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: any idea how inefficient that is? < 1211310686 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and BTW, Debian put coopt.sh from C-INTERCAL into /usr/share < 1211310689 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was just checking < 1211310693 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I don't know. I don't know. I -don't- -know-! < 1211310698 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it's an executable, although one that doesn't change < 1211310713 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you have to do an entire FS scan to determine where a hard link is linked to < 1211310716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sort of like fscking < 1211310724 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :find can do it, but it takes ages < 1211310726 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I don't know I don't know I don't know jeeeeeeeeeeeeez < 1211310749 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the actual answer is that most OSs aren't insane enough to allow directory hardlinks < 1211310750 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1211310752 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :apart from . and .. < 1211310755 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Fine < 1211310760 0 :jix!n=jix@dyndsl-080-228-183-015.ewe-ip-backbone.de JOIN :#esoteric < 1211310766 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but hardlinking to a data file could still cause problems < 1211310796 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Anyway, guess I'll have to write some C for this < 1211310816 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :tap tap tap emacs usr/lib/nomic/bin/nomic-sh < 1211310829 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hmmmmmm < 1211310836 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: What's the directory for source again? < 1211310839 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Plan9 uses /src. < 1211310839 0 :AnMaster!unknown@unknown.invalid QUIT :Connection reset by peer < 1211310847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1211310848 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/usr/src < 1211310860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :OK then, tap tap tap emacs usr/src/nomic/nomic-sh.c < 1211311017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: install prog /usr/lib/nomic/bin < 1211311021 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to do the 'right thing' right? < 1211311030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Then manually setuid it. < 1211311039 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't use install < 1211311047 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I think you have to pass it the required permissions as an argument < 1211311052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah < 1211311063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : -m, --mode=MODE < 1211311063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : set permission mode (as in chmod), instead of rwxr-xr-x < 1211311084 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :cp, chown, chmod's probably what's needed < 1211311088 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah < 1211311093 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because you want to be able to replace newer files with older in a proposal < 1211311098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no < 1211311100 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this is just for nomic-sh < 1211311105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and, maybe some other c file < 1211311106 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s < 1211311119 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why are you using C files? < 1211311132 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Because I need a sh that runs as root. < 1211311141 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1211311151 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well. < 1211311152 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A bash. < 1211311153 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the issue with them is that they wouldn't easily be editable by proposal < 1211311158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Yes they could. < 1211311163 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I said easily < 1211311166 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Just edit /usr/src/nomic/foo.c < 1211311171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: then add a 'make install clean' < 1211311173 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and recompile? < 1211311177 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Yes < 1211311182 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :presumably a cronjob's doing the make < 1211311183 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Just make your proposal a shell script < 1211311185 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: And no < 1211311188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: The proposal that edits it is < 1211311295 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hm. I'm gonna use hard tabs for these files. Why? Because by default, vi(1) uses hard tabs. < 1211311306 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: And I'm _not_ installing emacs on that machine. if you want it, install it via proposal. :P < 1211311314 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what editors are going to be on that machine? < 1211311326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: vim. nano. Err, ed. < 1211311330 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks you should install something really obscure < 1211311340 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: elvis < 1211311341 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that neither you nor I have currently heard of < 1211311344 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and enable x11 forwarding < 1211311349 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because elvis' x11 mode is really cheesy < 1211311353 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: OK then -- What about NEdit? < 1211311365 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you've heard of that, otherwise you couldn't have suggested it < 1211311381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: But only because I went looking for obscure editors before < 1211311384 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... maybe I should finish ICE some day < 1211311389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ice? < 1211311391 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :intercal code editor? < 1211311395 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(or s/code/c/) < 1211311406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, it's an intercal anything editor, really < 1211311416 0 :kar8nga!unknown@unknown.invalid PART #esoteric :? < 1211311418 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's interactive, but almost stream-compatible with sed < 1211311426 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :blank lines have a semantic meaning < 1211311432 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you mostly use sed commands to do stuff < 1211311437 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it's kind of like ed, except not < 1211311502 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1211311513 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Heh. < 1211311518 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've been wondering about that ever since mke2fs(8) said it was possible if you gave the force option twice < 1211311519 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I'll just run qemu. :-P < 1211311527 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: But yeah, feel free to do whatever on it. I might give you root. < 1211311542 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Oh, and it'll be amusing because it'll be a vm in a vm < 1211311546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my VPS from slicehost runs under Xen < 1211311558 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I get root and all that shizz without having to pay for a dedi :p < 1211311565 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$20/mo for a 'box' I can fully control ain't bad < 1211311633 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Okey-dokey, do shebang lines ever pass relative paths? < 1211311636 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :They always pass absolute, right? < 1211311659 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I've tried relative lines to see what they do < 1211311664 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they run as sh would, I think < 1211311678 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so they look in PATH, and also the place given if it starts with an explicit ./ < 1211311689 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what i'm saying is < 1211311690 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#!/bin/sh < 1211311695 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/bin/sh always gets an absolute path < 1211311696 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :am i right < 1211311703 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, not sure < 1211311705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably, though < 1211311708 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you could test easily enough < 1211311711 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#!/bin/cat < 1211311716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: echo actually < 1211311716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, #!/bin/echo < 1211311722 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#!/bin/cat is a quine < 1211311728 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$ ./test < 1211311728 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :./test < 1211311729 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A shame. < 1211311743 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: How do you change a relative path into a canonicalized absolute one in c? < 1211311744 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :realpath? < 1211311766 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, I use realpath in shell < 1211311772 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also to bypass symlinks < 1211311794 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I did that in the C-INTERCAL install script for my latest attempt at getting Info installation working properly < 1211311814 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(BTW, no matter what I do there, Debian always comment it out because they have their own Info install method that actually works) < 1211311838 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you should make it so tat c-intercal won't compile without it < 1211311838 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1211311841 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1211311868 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1211311877 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so I added a call to realpath if available, or echo and hope otherwise < 1211311950 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: by the way, I hate make(1) < 1211311964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and how _do_ you setuid a binary? < 1211311965 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I actually kind-of like it < 1211311972 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: chmod u+t < 1211311975 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, u+s < 1211311987 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or g+s to setgid it < 1211311995 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: < 1211311996 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : chmod ug+srwxr-xr-x /usr/lib/\$prog < 1211312000 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can also give a 4-digit octal mode, but I never remember how those work < 1211312007 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :executable by anyone, modifiable only by owner, setuid and setgid < 1211312008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1211312030 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, it would be ug+s,a+x,a+w,u-w,o-w < 1211312044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ... a+w? < 1211312054 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, I meant a+r < 1211312063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you were mixing two different mode line syntaxes < 1211312066 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: < 1211312067 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : chmod ug+s,a+x,a+r,u-w,o+w "/usr/lib/\$prog" < 1211312070 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/line// < 1211312088 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: did you try that? and anyway, why are you setting both setuid and setgid? < 1211312099 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because they should run as root:root? < 1211312116 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that isn't common practice, really < 1211312123 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I have no idea if it works < 1211312130 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fine < 1211312131 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : chmod u+s,a+x,a+r,u-w,o+w "/usr/lib/\$prog"; \ < 1211312148 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why the backslash? < 1211312151 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and have you run it? < 1211312158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i haven't run it because it'll trash my local system < 1211312162 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and the backslash 'cause its in a makefile < 1211312164 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in a 'for' loop < 1211312186 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you can run it in your home directory without root perms < 1211312194 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can suid as users other than root, you know < 1211312201 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: "/usr/lib/\$prog" < 1211312215 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, just try the chmod line by itself to see if it works < 1211312225 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on a junk file in ~ which says #!/bin/false at the top < 1211312240 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-r-sr-xrwx 1 ehird ehird 7474 2008-05-20 19:38 nomic-bash < 1211312244 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so ... no, not really < 1211312248 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyone can write it and the owner can't < 1211312249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1211312257 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: And the setuid is only for the owner. < 1211312259 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Thing. < 1211312283 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: setuid only for the user is normally right < 1211312291 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: OK. But what about the rw thin < 1211312291 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :g < 1211312302 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it should be u+w,g-w,o-w anyway < 1211312304 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at the end < 1211312309 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I screwed that up quite badly < 1211312333 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, if something is world-writable but not owner-writable, does that mean anyone except its owner can write it? < 1211312355 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes < 1211312387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-rwsr-xr-x 1 ehird ehird 7474 2008-05-20 19:41 nomic-bash < 1211312389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: looks right < 1211312406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, that looks right < 1211312435 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1211312523 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no idea < 1211312550 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Grr. Strcmp doesn't actually guarantee to return the fisrt non-matcher. < 1211312554 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: 'for' loop here I come! < 1211312578 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why would you expect strcmp to do that? < 1211312587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it would be useful < 1211312641 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1211312655 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why? < 1211312659 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and where would the beep be? < 1211312663 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the beep would be \7 < 1211312665 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the user's console, or your server room < 1211312669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: console < 1211312687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and because beeping is the internationally recognized 'No, we're not going to let you breach our security.' signal! < 1211312694 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION 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 < 1211312707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: got a microphone? < 1211312713 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Cat /dev/mic or whatever to it, and scare people. < 1211312713 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: actually, beeping is the internationally recognized 'someone is using your nick on IRC far too much again' < 1211312721 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh snarky, ais523. < 1211312728 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no idea, I don't have access to the server room < 1211312729 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: It's habit from when I used bitlbee. < 1211312744 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: It would only send messages to people that you prefixed, 'cause it can't tell who you want to talk to otherwise. < 1211312758 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(bitlbee = im-irc gateway - puts all your im users in an irc room.) < 1211312762 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(And lets you talk to them via irc) < 1211312795 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I normally don't mind so much, but I'm on the client which steals focus whenever you're nickpinged < 1211312903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :const char bin_dir[20] = "/usr/lib/nomic/bin/"; < 1211312908 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that should be 20 right? Weird bug.. < 1211312935 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1211312966 0 :AnMaster!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1211312975 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I make it 20, unless you snuck some evil Unicode in there again < 1211312990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1211312997 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are some weird security bugs that can create < 1211313064 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hm. I need to copy over argc and add an element in front. < 1211313065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1211313080 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hmm wait. i can exec &co. things with shebangs < 1211313081 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :copying over argv would likely be more useful < 1211313082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Coool < 1211313085 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it can be nomic-root < 1211313086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, no,w ait < 1211313086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1211313094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh < 1211313101 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: should nomic-bash be nomic-root < 1211313102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and used like < 1211313112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#!/usr/lib/nomic/bin/nomic-root bash < 1211313112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or < 1211313114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#!/usr/lib/nomic/bin/nomic-root ruby < 1211313120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes < 1211313122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: OK < 1211313138 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: At this point I'm wishing for /usr/bin/nomic-root, damn long paths :-P < 1211313145 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so your scripts work like perlsuid, then? If they are run and the suid doesn't take, they rerun themselves as root < 1211313165 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no < 1211313173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: nomic-root is just setuid'd root < 1211313177 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and exec()s anything in the right idr < 1211313179 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*dir < 1211313181 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except that the rerun always happens here < 1211313188 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it changes the shebang on the rerun < 1211313196 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... actually, doing it like that won't work with Perl < 1211313200 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it'll be an infiniloop < 1211313349 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: OK, I think I've written nomic-root < 1211313397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: thought of a better path than /usr/lib/nomic/bin? < 1211313399 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Namely, shorter. < 1211313406 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/usr/nomic/bin *would* work.. < 1211313436 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: put it in the right place, put a symlink from the wrong place < 1211313440 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is shorter < 1211313465 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it could even be /nomic/nomic-root if you really want to bend the filesystem rules (OFC, that should definitely be with a symlink) < 1211313469 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: meh < 1211313472 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's just that < 1211313476 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#!/usr/lib/nomic/bin/nomic-bash < 1211313478 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is basically acceptable < 1211313479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1211313481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#!/usr/lib/nomic/bin/nomic-root bash < 1211313483 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is getting ridiculous < 1211313485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and < 1211313490 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#!/usr/bin/env nomic-root bash < 1211313491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :won't work < 1211313499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since shebangs can only have one arg < 1211313500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why I do not know < 1211313578 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's worse than that, actually, shebang args are really inconsistent between systems < 1211313590 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in some, the arg is cut off after a certain number of chars < 1211313607 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's a really interesting discussion of it in the Perl manpages, perlrun I think < 1211313641 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : Because many operating systems silently chop off kernel < 1211313643 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : interpretation of the #! line after 32 characters, some < 1211313644 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : switches may be passed in on the command line, and some may < 1211313646 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : not; you could even get a "-" without its letter, if you're < 1211313647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : not careful. < 1211313649 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(paste from perlrun) < 1211313671 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmmmmm, < 1211313671 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1211313678 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is /usr/nomic/bin common? < 1211313680 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I could scroll from one line to another with the mouse wheel < 1211313681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/usr/APP/... that is < 1211313684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I mean, I have /var/nomic < 1211313688 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: only for X11 < 1211313696 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: _only_? Surely someone must have used it. < 1211313704 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I use /usr/local/app a lot when app is a big splurgey thing < 1211313714 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's discouraged, and became unpopular < 1211313715 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :surely someone uses it for /usr < 1211313719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: darn < 1211313723 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I hate FS structure. < 1211313730 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it was so entrenched for X11 that nobody managed to remove it < 1211313740 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/apps/nomic/1.0/bin/nomic <-- ftw! < 1211313745 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the issue is basically if you do things like that, then finding shared objects becomes hard < 1211313747 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/apps/APP/VERSION/... < 1211313757 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's how Windows does it < 1211313761 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, not really < 1211313765 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :windows does a retarded version of it < 1211313769 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and blends it in with its other brain damage < 1211313819 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, #!/nomic/nomic-root perl isn't an infiniloop after all < 1211313838 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but only because Perl specifically checks for the word perl on the shebang line to break such loops < 1211313886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm < 1211313894 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/{apps,users,sys} < 1211313907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't _think_ you need anything else, realy. < 1211313910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh, wait < 1211313912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1211313914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking libraries < 1211313916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but they're system < 1211313920 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/sys/libs < 1211313940 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: see that? That was me beating the shit out of FHS. :-P < 1211313956 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: where are application binaries stored? < 1211313961 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and what does the path end up like < 1211313964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : /apps/nomic/1.0/bin/nomic <-- ftw! < 1211313971 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in, the PATH < 1211313974 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah < 1211313976 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :probably; < 1211313985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, I'm not sure you can do it < 1211313991 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks there should be multidimensional file-systems < 1211313993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: however, this is so radically different that shells would burn anyway < 1211314003 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :here's some paths for you < 1211314005 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that /bin/nomic and /nomic/bin mean the same things if the directories are set up properly < 1211314010 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1211314020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/users/USER/docs vs /users/USER/data < 1211314024 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :directories work more like tags on a file than a tree structure < 1211314026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ^^^ end of dotfiles, there < 1211314029 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, /users/USER/conf too < 1211314034 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :however, they still manage to be hierarchical anyway < 1211314051 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and you're /still/ trying to recreate Windows filesystem structure < 1211314062 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah but windows gets it all wrong < 1211314063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::3 < 1211314068 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I'm taking more inspiration from OS X's < 1211314076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/Applications, /System, /Users < 1211314076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1211314227 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway < 1211314233 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/usr/lib/nomic/bin unless you can give me a better path < 1211314357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: okay then < 1211314398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastebin.ca/1024095 < 1211314405 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :le nomic-root < 1211314419 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Interestingly, you can do nomic-root nomic-root nomic-root nomic-root nomic-root nomic-root nomic-root < 1211314430 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1211314432 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Only when I fix argc < 1211314458 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :/* bother the user a bit */ < 1211314475 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: execv and execvp - what's the diff.? < 1211314480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : int execv(const char *path, char *const argv[]); < 1211314480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : int execvp(const char *file, char *const argv[]); < 1211314484 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the manpages describe them together < 1211314486 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the params they take, I think < 1211314493 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :execvp looks in your PATH < 1211314499 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :execv doesn't, it takes an absolute pathname < 1211314505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah, then execvp is what I want < 1211314688 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Bonk. < 1211314694 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Any ideas for a bin dir? < 1211314718 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I thought you had one already < 1211314723 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not really < 1211314737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, you have to have put the file somewhere < 1211314757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: :O < 1211314764 0 :Hiato!n=Hiato@dsl-245-37-89.telkomadsl.co.za JOIN :#esoteric < 1211314789 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why is my comment surprising? < 1211314799 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: That was sarcasm. < 1211314809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: But actually I was thinking I could just kinda think about the file. < 1211314817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Instead of, like, putting it somewhere. < 1211314823 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I didn't even realise a smiley could be sarcastic on its own < 1211314830 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I was aware that they could indicate sarcasm < 1211314848 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and tautologies can be useful for pointing out the fact that they're true < 1211314905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: :-P < 1211314915 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :was that sarcastic too? < 1211314936 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or will we have to do :O :) from now on, where the second smiley indicates the first was sarcastic? < 1211314968 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that was just a 'OK, so back to the actual question?' < 1211314970 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but shorter < 1211315002 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1211315019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, the previous sentence was actually a HOMESPRING program, but it isn't particularly interesting < 1211315023 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Twas brillig in the slithy PATH, and the nomic-root outgrabe < 1211315026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Think I've got that right.) < 1211315037 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :outgabe? < 1211315058 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was outgrabe in the original < 1211315068 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but in a parody, it should probably be outgrepped or something < 1211315091 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, you've mixed up the start and end of the stanza < 1211315105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I was just picking one I could easily mangle to this ituation. < 1211315112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'nome wrath' < 1211315123 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehh, whatever you spell it < 1211315126 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(that was intentional) < 1211315127 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or gnome wrath? < 1211315138 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :gnomes can be pretty fierce when they get angry < 1211315144 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1211315251 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: okay, so, i'm thinking that maybe bash will be a little awkward for this? < 1211315252 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :tunno < 1211315253 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*dunno < 1211315260 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :awkward for what? < 1211315268 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the nomic voting, judgement, etc.? < 1211315276 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe you should just copy the relevant code from envbot < 1211315282 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hahahahahahahhahahahah < 1211315297 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#esoteric memes: EsCo, envbot < 1211315553 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :CELLPHONEWRISTWATCH < 1211315560 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hi gregor < 1211315564 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hi :P < 1211315565 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is that an #esoteric meme? < 1211315570 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've never come across it before < 1211315577 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least, not that I can remember < 1211315590 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Is what? < 1211315614 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : CELLPHONEWRISTWATCH < 1211315624 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :No, it's on my wrist :P < 1211315634 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It's a my-wrist meme. < 1211315691 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cool meme < 1211315817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :esco can create memes ... with its ook! interpreter! < 1211315834 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, I just remembered what esco was < 1211315914 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but I have a cell phone wristwatch 8-O < 1211316097 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hm < 1211316106 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do you think bash _would_ be good for this? < 1211316114 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1211316115 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if not, I guess perl, as you can do all the quick shell script stuff with it < 1211316124 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: OK. It's just that it'll need to parse file formats. < 1211316128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: e.g. for the comments < 1211316131 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which file formats? < 1211316139 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Like the comment file format < 1211316139 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and remember, you can call out from bash < 1211316142 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't have to be pure sh < 1211316143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: And yeah, but even so. < 1211316357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Oh well, I'll just do sh. Which script should I write first? < 1211316371 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :proposal activation < 1211316376 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hm, ok. < 1211316393 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: So people can do it manually as well as through the cronjob? Sounds risky. < 1211316412 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why would that allow people to do it manually? < 1211316416 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the cronjob has to run something < 1211316425 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I guess so. < 1211316428 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it needn't be executable by world < 1211316436 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric ::P :) < 1211316437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Anyway, activation is just './proposal' < 1211316448 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, that's the first time you've used :P < 1211316449 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, but vote-counting's needed < 1211316453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to check if it should be activated < 1211316467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and my run of smileys was a parody of our earlier conversation there, don't get used to it < 1211316507 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: :P is a good smiley. < 1211316509 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :In my opinion. < 1211316534 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I have, on occasion, resorted to XD. But that's normally after a real life fit of laughter where I'm having trouble breathing. < 1211316535 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i like :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDd < 1211316543 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It looks something like 'AASHAHDHHAHHAAHAHAHAHHASDGASDJHASGHASJ XD XD XD XD' < 1211316547 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... very rare. < 1211316549 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh me too < 1211316551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but that's just for the oko spirit < 1211316553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::DDDDDDDDDDDDDDDDDDDDddddddddddd < 1211316558 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316558 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also ::::::::::::::::::::::::::DDDDDDddddddDDDDDDDDDDDD does it for me < 1211316561 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316564 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316565 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316569 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316571 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316572 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316577 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316579 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokokokokoko < 1211316579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316581 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :brilliant < 1211316581 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokokokokokokokoko < 1211316584 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokokokokoko < 1211316585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1211316585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okoko < 1211316586 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okokoko < 1211316586 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okokokoko < 1211316587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okokokokoko < 1211316588 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokoko < 1211316589 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokoko < 1211316589 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokoko < 1211316590 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :o? < 1211316591 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okokokokoko < 1211316593 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okokokoko < 1211316595 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okokoko < 1211316596 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you're cheating, ehird? < 1211316597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okoko < 1211316599 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1211316603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no, I am merely creating a tower of oko < 1211316613 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :are you doing it manually? < 1211316618 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: up, ko < 1211316621 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :up, backspacebackspace < 1211316627 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so cheating < 1211316630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1211316632 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION guessed that's how ehird was doing it < 1211316634 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1211316634 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1211316635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okoko < 1211316636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokoko < 1211316637 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokoko < 1211316639 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokoko < 1211316640 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokoko < 1211316641 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokoko < 1211316643 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokoko < 1211316644 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokoko < 1211316645 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokokoko < 1211316645 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WATERMELONS < 1211316647 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokokokoko < 1211316648 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WATERMELONS < 1211316650 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :grr... I was slightly too late < 1211316675 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hears lament sharpening his kicking knife < 1211316685 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so, hm < 1211316694 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I'm considering just doing /usr/bin/nomic-X < 1211316701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and /usr/lib/nomic/bin/activate only for the internal activation < 1211316705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: sounds good < 1211316706 0 :Deformative!n=joe@c-71-238-106-175.hsd1.mi.comcast.net JOIN :#esoteric < 1211316709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's debians policy < 1211316718 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: although *activate.sh* would be more strict < 1211316731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Also, /bin/bash instead of nomic-root. < 1211316738 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Since the cronjob will be root. < 1211316977 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1211317713 0 :SimonRC!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1211317795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: how do I check if i'm root in a shell script? < 1211317848 0 :Iskr!unknown@unknown.invalid QUIT :"Leaving" < 1211317861 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: use whoami < 1211317878 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. [ `whoami` -eq root ] < 1211317899 0 :SimonRC!n=sc@fof.durge.org JOIN :#esoteric < 1211317906 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: clever < 1211317909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but you mean = < 1211317917 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1211318460 0 :sebbu2!unknown@unknown.invalid QUIT :No route to host < 1211319954 0 :sebbu!n=sebbu@ADijon-152-1-74-68.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1211321160 0 :Slereah!n=gtuilt@ANantes-252-1-41-67.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1211322047 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1211322923 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION laughs so much at this one he starts dribbling: http://hownottorunacomic.comicgenesis.com/d/19940141.html < 1211323029 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: heh < 1211323094 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm, 41st Jan 1994 < 1211323100 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :This is not very droll3 < 1211323100 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But maybe it's because I just saw the dongcopter. < 1211323102 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://minx.cc/?post=262888 < 1211323115 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i suppose the comments being black on dark grey is part of the joke too... < 1211323143 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :maybe, maybe < 1211323164 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's hard to follow a dongcopter as a joke. < 1211323366 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :weird < 1211323383 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it goes straight from the 49th Jan '94 to 1st Mar '94 < 1211323391 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :what ever happened to Feb '94 < 1211323448 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: 49th jan? < 1211323459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: ITYM: it's the 49th comic posted in janruary < 1211323479 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :isn't it still September 1996 by some estimates? < 1211323503 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :1998 < 1211323514 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :um, 1997 < 1211323524 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and that ended in 2007 when AOL dropped usenet access < 1211323526 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1211323530 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1211323563 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :1993, says http://en.wikipedia.org/wiki/Eternal_September < 1211323574 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1211323584 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :not too far of then :-) < 1211323587 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*off < 1211323737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: The newbies are still here. < 1211323743 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Eternal September will be eternal for the internet. < 1211323745 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :There's no goin' back. < 1211324486 0 :BMeph!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1211325867 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1211326137 0 :ais523!unknown@unknown.invalid QUIT :""" < 1211327288 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I dunno < 1211327290 0 :sebbu!unknown@unknown.invalid QUIT :Client Quit < 1211327312 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I don't notice any AOL types around on some of my favourite groups. < 1211327582 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric