Team Chat Logs

2006 3
Mo Tu We Th Fr Sa Su
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

April 16, 2006

<
[00:06:07] <tag> wow the new google map code is sick
[00:07:51] <coderanger_> Make a Trac plugin for it!
[00:08:07] <alect> heh
[00:08:11] <Semhirage> gogogogogo
[00:25:05] <alect> AGGH
[00:25:12] <alect> ez_setup externals!
[00:25:14] * alect curses them
[00:30:01] <coderanger_> Just get rid of them!
[00:30:35] <alect> hmm
[00:30:38] <alect> not a bad idea
[00:30:47] <alect> the zips don't include them anyway
[00:31:04] <alect> imo ez_setup is a bad idea
[00:31:51] <coderanger_> Yeah
[00:32:09] <coderanger_> You need a real setuptools install to use the plugin anyway
[00:33:30] <alect> i'd have to modify the setup.py for each project
[00:33:34] <alect> which is bad form
[00:33:36] * alect shrugs
[00:35:43] <coderanger_> "Invoke the power of root" :)
[00:40:32] <coderanger_> Whats the "best" way to have a script that pauses for an extended period of time?
[00:40:47] <alect> sleep?
[00:41:14] <coderanger_> Where is that defined?
[00:41:24] <alect> time module
[00:42:02] <coderanger_> That is very random
[00:42:13] <alect> random how?
[00:42:17] <coderanger_> But thanks, thats better than silliness with SIGALRM
[00:42:25] <alect> what are you trying to achieve?
[00:42:40] <coderanger_> well most of the stuff in time is about parsing and manipulating time structures
[00:43:09] <coderanger_> I have a script that needs to run every few minutes to feed data to a plugin
[00:43:34] <coderanger_> but its an insane system, so cron isnt available
[00:44:26] <alect> that's messed up
[00:44:43] <coderanger_> You have no idea
[00:44:55] <coderanger_> This is a web interface to lpq data
[00:45:45] <coderanger_> But because the printservers have IP based ACLs, I have to use expect to keep this stupid script running on an "official remote access machine"
[00:46:04] <alect> euw
[00:46:21] <alect> sounds like your admins are on the far right side of fascist
[00:46:38] <coderanger_> Thats academia for ya
[00:46:57] <coderanger_> Python wasn't even installed on the box, I had to compile it in my home dir
[00:53:40] <alect> Updated to revision 666.
[00:53:45] <alect> THE NUMBER OF THE BEAST!
[00:53:51] <alect> armageddon is upon us!
[01:13:27] <coderanger_> http://www.coderanger.net/tracdev/lpq
[01:13:31] <coderanger_> Whadya think?
[01:14:23] <alect> nice :)
[01:14:41] <alect> trac is being used as a web framework quite a bit i think
[01:15:04] <coderanger_> Yeah, I am trying to get my whole office to be run from a single Trac
[01:23:35] <alect> i just added a plugin that lets you move nav items around, and add custom nav buttons
[01:24:09] <coderanger_> I saw
[01:33:42] <Eridius> hey coderanger_, ever going to make the ticket deletion plugin fix the last updated timestamp on the ticket table, or handle attachments properly?
[01:34:05] * Eridius still has yet to test to make sure it's actually deleting properties correctly yet - I need to re-enable property changes on tickets for anonymous users if I want to test that
[01:34:36] <coderanger_> Eridius: Its rather low on my priorities for the next little while, the 4 weeks of classes is upon us, and i have a lot of work to do
[01:34:39] <Eridius> ok
[01:34:53] <coderanger_> @motto
[01:34:53] <evil_twin> coderanger_: "motto" is patches accepted
[01:34:59] <Eridius> haha
[01:35:09] <alect> eredius: trunk has just acquired spam hooks
[01:35:26] <alect> and: http://projects.edgewall.com/trac/browser/sandbox/spam-filter
[01:35:29] <Eridius> nice, but I can't really justify testing trunk on our trac installation because we need it to work
[01:35:32] <alect> ^^ plugin implementing it
[01:35:42] <alect> trac-hacks is running trunk!
[01:35:45] <Eridius> heh
[01:35:57] <coderanger_> Trunk is probably more stable than 0.9 at this point
[01:35:58] <alect> live on the edge!
[01:36:12] <coderanger_> Other than all the friggin unicode issues
[01:36:38] <Eridius> even if I wanted to use trunk, I don't have control over the trac installation on the server
[01:36:40] * alect curses those foreign devils and their convoluted character sets
[01:36:49] <Eridius> just over our specific usage of it
[01:38:17] <coderanger_> @faq unicode
[01:38:17] <evil_twin> coderanger_: "unicode" is Evil, evil, evil!
[01:38:22] <coderanger_> :)
[01:38:31] <Eridius> @faq utf-8
[01:38:31] <evil_twin> Eridius: Error: No factoid matches that key.
[01:38:32] <alect> hehe
[01:38:33] <Eridius> darn
[01:41:36] * klando has joined #trac
[01:44:58] * tag has quit IRC
[01:46:25] * MasterC has joined #trac
[02:41:31] * cmlenz has joined #trac
[02:46:49] <alect> workflow hustle!
[02:47:04] * peppelorum has joined #trac
[02:49:41] <cmlenz> :-)
[02:54:24] * coderanger_ has quit IRC
[02:55:58] * idostyle has quit IRC
[02:58:19] <coderanger> Oy, well its 6AM, and thats my cue to get some sleep
[02:58:24] * sam`_ has joined #trac
[02:58:24] <coderanger> gnite y'all
[02:58:32] <alect> ciao coderanger
[02:58:56] * idostyle has joined #trac
[03:06:46] * sam` has quit IRC
[03:11:12] <alect> chris, what do you think of the per-object permission concept?
[03:11:22] * peppelorum has quit IRC
[03:12:01] <Semhirage> like being able to restrict specific wiki pages etcetera based on group/role permissions?
[03:12:42] <alect> yeah, but all trac objects
[03:12:47] <alect> milestones, tickets, etc.
[03:12:52] <Semhirage> i like the idea
[03:12:54] <alect> http://lists.edgewall.com/archive/trac-dev/2006-April/thread.html (down the bottom)
[03:13:27] <coderanger> alect: I think it needs to be layed out a lot better than anyone has so far
[03:13:31] <Semhirage> in fact, i asked about it several months back when i first started playing with trac for my development site
[03:13:43] <coderanger> As far as the dataflow of who is in charge of what
[03:13:45] <alect> layed out?
[03:13:54] <alect> ah
[03:14:05] <alect> the patch is just an extra arg to has_permission()
[03:14:14] <alect> eg. has_permission('WIKI_VIEW', page)
[03:14:24] <coderanger> If a wiki page is using a macro that accesses a ticket the references a milestone, how does that get handled?
[03:14:24] <alect> if ommitted it defaults to '*'
[03:14:45] <alect> the macro has to be updated to use the new system
[03:15:03] <alect> the only way around that would be to put the access control in the model objects themselves
[03:15:15] <alect> which is a bit more logic than they should have imo
[03:15:29] <coderanger> I think there should be a object request layer made that contains the ACL system
[03:15:42] <coderanger> so you can request a ticket object from "somewhere"
[03:16:06] <coderanger> and it will ask the ticket module "should I grant this request"
[03:16:14] <alect> that would break pretty much everything
[03:16:16] <coderanger> Yes
[03:16:30] <coderanger> But in the long run I think it will be better off
[03:16:59] <alect> possibly
[03:17:07] <coderanger> It wouldnt be that hard to do either
[03:17:27] * peppelorum has joined #trac
[03:17:30] <alect> implementing the layer wouldn't be hard
[03:18:07] <alect> forcing updates to all plugins and macros though..
[03:18:31] <coderanger> Well you can't stop someone from accessing the model objects directly
[03:18:51] <coderanger> Since Python lacks the voodoo for mandatory ACLs
[03:18:56] <alect> hmm, so how is this different from the patch i have?
[03:19:09] <alect> the ticket system, for example, implements the ACL for tickets
[03:19:43] <coderanger> its mostly a question of where you get data objects from, and having the access centralized to that
[03:19:45] <alect> has_permission() forwards requests on to IPermissionReqeustor objects which have final veto
[03:20:05] <alect> but getting object doesn't tell you what you can do with it
[03:20:08] <coderanger> So you could then have a plugin that implements things like the current WikiRbac patch
[03:20:11] <alect> it just says "yes, you can have this object"
[03:21:05] <alect> wikirbac can be implemented with the current patch
[03:24:29] <alect> the acl ordering needs to be better
[03:25:00] <coderanger> I suppose its more an issue of logical grouping, a data object should just be a data object in my mind, its the access to it that is controlled
[03:25:39] * peppelorum has quit IRC
[03:25:58] <alect> yes, agreed
[03:26:26] <alect> which is what the patch does
[03:28:10] <coderanger> Given your patch, how could a plugin modulate an ACL?
[03:28:50] <alect> modulate in what way?
[03:29:11] <coderanger> Lets say I have a wiki
[03:29:24] <alect> this might help: http://lists.edgewall.com/archive/trac-dev/2006-April/000411.html
[03:29:36] <alect> the acl examples down the bottom
[03:30:02] <alect> all the usual trac grouping is inherently used
[03:30:18] <coderanger> And I want to make a plugin that will make any page with FOO in the name viewable only by one user
[03:30:50] <coderanger> It looks like you would have to patch/subclass the wiki to do that
[03:31:10] <coderanger> or any page tagged with a certain tag
[03:31:13] <coderanger> etc etc
[03:31:51] <alect> the former is possible just by adding a new rule to WIKI_VIEW acls
[03:32:29] <alect> the latter would require an extension point in the permission system, but easily doable
[03:32:41] <alect> like an IPermissionVeto
[03:32:49] <coderanger> Exactly
[03:33:28] <alect> well, as i said, it's easy enough to add, this is version 0.0.1 after all
[03:33:31] * peppelorum has joined #trac
[03:33:42] <coderanger> And I think it would be nicer to have that point be central, so you can plugins that act as generic data access filters
[03:33:51] <alect> there is one point!
[03:34:08] <alect> PermissionSystem is that point
[03:36:40] <coderanger> okay then :)
[03:41:55] <coderanger> I think the tag-based ACL thang might be cool actually
[03:43:04] * idnar has quit IRC
[03:43:08] * idnar_ has joined #trac
[03:45:45] * peppelorum has quit IRC
[03:48:17] <alect> yeah i was thinking that myself
[03:48:28] <alect> that was actually what motivated this whole thing
[03:49:05] * tuxipuxi has joined #trac
[03:49:13] <alect> thinking about it, it might be even better if trac doesn't do any extra access control itself
[03:49:20] <alect> just allows plugins to implement them
[03:50:17] <alect> i was thinking tags like view:athomas
[03:50:21] <alect> or modify:athomas
[03:50:25] <alect> mmm taggy
[03:54:41] * cmlenz has quit IRC
[04:05:54] * MasterC has quit IRC
[04:08:30] * MasterC has joined #trac
[04:14:21] * MasterC has quit IRC
[04:23:59] * jborg has joined #trac
[04:29:35] <alect> hello again jborg
[04:31:15] <jborg> hey alect, still on call?
[04:31:25] <alect> yes :(
[04:31:30] <alect> another two nights
[04:31:54] <alect> had a good easter?
[04:33:55] <jborg> yeah, I guess so, but I'm having a cold that refuses to let go :(
[04:34:39] <alect> been a bad season for colds
[04:52:50] * cmlenz has joined #trac
[06:07:27] * bda has quit IRC
[06:13:40] * gluegadget is now known as AmirMohammad
[06:19:22] * sam`_ is now known as sam`
[06:28:30] * mjg2 has joined #trac
[06:33:55] * imajes has joined #trac
[06:41:30] * _idostyle has joined #trac
[06:43:38] * peppelorum has joined #trac
[06:45:43] * peppelorum has quit IRC
[06:48:25] <alect> mmm
[06:57:11] * peppelorum has joined #trac
[06:57:29] <s0undt3ch> alect: what's currently broken in the DiscussionPlugin? all related to the admin part?
[06:57:47] <s0undt3ch> or it goes deeper
[06:58:35] <alect> deeper my friend
[06:58:51] <alect> there's no actual post creation/editing
[06:58:54] * peppelorum has quit IRC
[06:58:56] <alect> or topic creation/editing
[06:59:02] * idostyle has quit IRC
[06:59:06] * _idostyle is now known as idostyle
[06:59:16] <alect> you might be better off starting from scratch really :\
[06:59:59] <s0undt3ch> alect: well, I think i'm getting your point
[07:00:11] <s0undt3ch> at least I have something that worked to start off
[07:01:16] <alect> ok
[07:01:56] <s0undt3ch> you see, a WikiTemplates plugin is nothing compared to a forum :)
[07:02:20] <alect> quite true
[07:02:24] <alect> be fun though
[07:03:06] * ValiSystM has joined #trac
[07:03:16] * Jerub has joined #trac
[07:03:29] <s0undt3ch> althoug I'm thinking of implementing IRequestHandler for WikiTemplates I still haven't touched that part
[07:04:00] * idnar_ is now known as idnar
[07:04:28] <alect> what would that do?
[07:04:56] <s0undt3ch> future for wiki templates is a handler to handle/admin all templates(also preview), and put templates used on current wiki page on the bottom of it
[07:05:25] <s0undt3ch> currently templates are all stored under the templates/ subwiki
[07:05:36] <alect> aah
[07:05:57] <s0undt3ch> and a user with WIKI_EDIT perms can fuss that all up :)
[07:06:14] <s0undt3ch> oh, yeah, it would need perms too
[07:07:02] <alect> heh
[07:07:16] <s0undt3ch> and currently it only supports one liner templating args, might think of implementing a multiple lines version
[07:07:19] <s0undt3ch> ie
[07:07:47] <s0undt3ch> currently we use [[T(TemplateName|arg1|agr2...etc)]]
[07:08:02] <s0undt3ch> also support something else like:
[07:08:04] <s0undt3ch> [[[
[07:08:14] <s0undt3ch> TemplateName
[07:08:18] <s0undt3ch> and
[07:08:19] <s0undt3ch> this
[07:08:22] <s0undt3ch> part
[07:08:23] <s0undt3ch> I
[07:08:26] <s0undt3ch> still
[07:08:28] <s0undt3ch> have no idea
[07:08:31] <alect> heh
[07:08:33] <s0undt3ch> ]]]
[07:08:56] <alect> that should "just work" if you use the processor syntax:
[07:08:56] <alect> {{{
[07:09:03] <s0undt3ch> perhaps [arg1]......[/arg1]
[07:09:04] <alect> #!T
[07:09:10] <s0undt3ch> ype
[07:09:12] <s0undt3ch> errr
[07:09:14] <s0undt3ch> yep
[07:16:02] * AmirMohammad is now known as gluegadget
[07:27:44] <alect> mm cold
[07:29:48] <s0undt3ch> alect: what do you use to code?
[07:29:50] <s0undt3ch> vim?
[07:29:53] <alect> yep
[07:31:03] <s0undt3ch> they why the long lines ;)
[07:31:44] <alect> 24" monitor with 118 column aterm baby!!!
[07:31:45] <alect> MWUAhahaha
[07:31:53] <alect> 80 characters is for the weak!
[07:32:13] <s0undt3ch> lol, then I'm weak!
[07:33:01] <s0undt3ch> @home 17" monitor and @work 19", both at 1280x1024
[07:33:01] <evil_twin> s0undt3ch: Error: "home" is not a valid command.
[07:33:05] <alect> actually i've been trying to conform to the inferior 80 line policy
[07:33:22] <alect> trac conforms to PEP8 which suggests 80 columns
[07:33:27] <s0undt3ch> lol that was not for you evil_twin bot!
[07:33:35] * alect smacks the bot
[07:33:37] <tic> Isn't the standard something like 75 or 76 lines?
[07:33:39] <tic> er, cols.
[07:34:06] <s0undt3ch> tic: that was for older printers :]
[07:34:10] <s0undt3ch> lol
[07:34:14] <s0undt3ch> what am I saying
[07:34:18] <s0undt3ch> nevermind
[07:34:19] <s0undt3ch> lol
[07:34:20] <s0undt3ch> lol
[07:34:27] <tic> argh, isn't #trac a lol-free zone like #python? :(
[07:34:36] <s0undt3ch> oops
[07:34:42] <s0undt3ch> sorry man
[07:34:52] <s0undt3ch> but I'm happy :)
[07:34:57] <tic> anyhow... I've seen the recommendation 75-76 columns a few times.
[07:35:07] <alect> pep8 says 79 to be specific
[07:35:21] <alect> iirc the shorter columns is for email
[07:35:33] <s0undt3ch> I use 79(vim complains at col 80)
[07:35:48] <alect> heh, complains how?
[07:35:52] <tic> why 79 and not 80?
[07:36:08] <s0undt3ch> tic: don't as us read the PEP
[07:36:17] <tic> s0undt3ch, heh, k. sorry.
[07:36:44] <s0undt3ch> alect: put this in your .vimrc -> autocmd BufEnter * match Error /\%80v/
[07:37:22] <s0undt3ch> you'll notice it everytime you pass the 79th column
[07:39:17] <s0undt3ch> also, PEP also sugests only spaces, but I kinda hate only spaces, so only tabs ;)
[07:39:28] <alect> ooh, that's cool
[07:39:35] <alect> quite unobtrusive too
[07:39:44] <s0undt3ch> of course vim is displaying 4 spaces for each tab
[07:39:58] <s0undt3ch> alect: simple ain't it?
[07:40:01] <alect> i used to use tabs, but python has made me see the light
[07:40:22] <alect> here's a cool trick for python:
[07:40:23] <alect> set keywordprg=pydoc
[07:40:51] <s0undt3ch> i only hate spaces cuz probably I still don't know that much of vim to speed moving inside the doc, so tabs are faster
[07:41:10] <s0undt3ch> hum... investigating 'set keywordprg=pydoc'
[07:41:14] <alect> set expandtab
[07:41:14] <alect> set softtabstop=4
[07:41:31] <alect> that should be enough. vim emulates the existence of tabs quite well
[07:42:18] <s0undt3ch> expandtab converts tabs to spaces, and softtabstop=4 emulates a tab for every 4 spaces correct?
[07:42:38] <s0undt3ch> alect: what exactly does 'set keywordprg=pydoc' do?
[07:43:17] <alect> lets you use K on any word to bring up the python docs on the word
[07:43:24] <alect> normally it launches man
[07:43:49] <s0undt3ch> use K not in edit mode correct?
[07:43:58] <alect> right
[07:45:04] <s0undt3ch> yeah, I notice, there's also a python plug that uses pydoc and doesnt launc man, it's just like the vim help, but for python, although I can't remember the name of it
[07:45:17] <s0undt3ch> ererr /python plug/vim plug/
[07:45:39] <alect> that would be quite cool
[07:45:57] <alect> i also found some plugins to do tab completion of python symbols, which is quite cool
[07:47:00] <s0undt3ch> yeah, but I kinda had some probs with some of those plugs, so I just keep my browser open on http://docs.python.org/modindex.html ;)
[07:47:16] <alect> heh
[07:48:50] <s0undt3ch> alect: http://www.vim.org/scripts/script.php?script_id=910 here's one
[07:49:31] <s0undt3ch> alect: http://www.vim.org/tips/tip.php?tip_id=867 <- but I think this was the tric
[07:50:00] * Squee-D has joined #trac
[07:52:31] <s0undt3ch> using those set ....tab..., using the cursor arrows still goes on space at a time :(
[07:57:51] <s0undt3ch> /on/one/
[08:04:27] * peppelorum has joined #trac
[08:05:54] <alect> yeah dunno how to get around that
[08:05:56] <alect> but backspace works
[08:08:06] <s0undt3ch> conclusion still sticking to tabs :|
[08:08:12] <alect> pfft!
[08:08:30] <s0undt3ch> alect: http://www.vim.org/scripts/script.php?script_id=790 and http://www.vim.org/scripts/script.php?script_id=974
[08:08:58] <alect> ooh
[08:09:05] <alect> is the highlighting good?
[08:09:07] * alect tries it
[08:09:29] * s0undt3ch tries it
[08:11:40] <s0undt3ch> " Only load this indent file when no other was loaded."
[08:11:52] <s0undt3ch> err how do I unload the default one?
[08:12:07] <alect> i just whacked it in ~/.vim/syntax
[08:12:40] <s0undt3ch> it's suposed to be in indent/ ain't it?
[08:13:17] <alect> i don't think so
[08:13:55] <s0undt3ch> read the page ;) install details
[08:13:55] <s0undt3ch> Drop the script in your ~/.vim/indent directory.
[08:14:05] <s0undt3ch> still I see no changes
[08:14:16] <alect> we are looking at different scripts :)
[08:14:20] <alect> i'm doing the highlighting one
[08:14:44] <s0undt3ch> oh...
[08:14:53] <s0undt3ch> and I the indent one
[08:15:54] <s0undt3ch> notice any change?
[08:16:03] <s0undt3ch> now I have both on their dirs
[08:20:37] <s0undt3ch> hum, getting some errors, you alect ?
[08:20:49] <alect> not with the syntax one
[08:20:56] <alect> i've not tried the indenting
[08:21:10] <s0undt3ch> err, I'm using set and not let
[08:21:41] * ValiSystM has quit IRC
[08:21:43] <s0undt3ch> hum, interesting :)
[08:22:00] <alect> that higlighting one is cool!
[08:22:32] <s0undt3ch> alect: exact!
[08:22:38] * ValiSystM has joined #trac
[08:22:48] <s0undt3ch> all those came from http://news.hping.org/comp.lang.python.archive/26396.html
[08:28:33] * ValiSystM has quit IRC
[08:29:46] <s0undt3ch> I think it's forcing me to use spaces ...
[08:30:30] <alect> SPACES!
[08:31:22] <s0undt3ch> ?
[08:32:40] <s0undt3ch> dam, can the syntax plug be forcing me to use spaces?! the indent is complaining about the mix
[08:44:53] * Squee-D has quit IRC
[08:45:33] <alect> i'm getting lots of red blocks now :\
[08:45:38] <alect> might turn that one off
[08:46:32] <s0undt3ch> he he he
[08:46:47] <s0undt3ch> the indent one right?
[08:47:10] <alect> nah the syntax one
[08:47:26] <alect> it makes whitespace on anotherwise empty line red
[08:49:34] <s0undt3ch> ah, that...
[09:25:58] * shacka has joined #trac
[09:26:03] * shacka has left #trac
[09:34:25] * kik0r has quit IRC
[09:35:40] * tiago_ has joined #trac
[09:35:59] * tiagovaz has quit IRC
[10:00:32] * mjg2 has quit IRC
[10:04:59] * bda has joined #trac
[10:29:37] <s0undt3ch> alect: I'm trying to implement the handler for wikitemplates, but I'd like link to apear aside ' * Start Page
[10:29:40] <s0undt3ch> * Title Index
[10:29:42] <s0undt3ch> errr
[10:29:44] <s0undt3ch> * Recent Changes
[10:29:46] <s0undt3ch> * Page History
[10:29:49] <s0undt3ch> '
[10:29:58] <s0undt3ch> and not on mainnav
[10:30:01] <s0undt3ch> possible?
[10:30:07] <alect> unfortunately not
[10:30:23] <alect> they're all embedded in each modules template
[10:30:33] <alect> it'd be good if they were in a contextnav or something
[10:31:38] <s0undt3ch> bummer it would make more sence in they in that place :(
[10:31:45] <s0undt3ch> and where's contextnav?
[10:33:16] <alect> there isn't one
[10:33:18] <alect> but there should be
[10:33:47] <s0undt3ch> and it also ain't possible aside the buttons correct?
[10:34:41] <s0undt3ch> so, there's no way to add a handler element to a wiki page or when editing a wiki page?
[10:34:49] <alect> no :(
[10:34:55] <alect> that will be in 0.11 though
[10:35:00] <s0undt3ch> besides hacking the cs files
[10:35:07] <s0undt3ch> hacking is the way?
[10:35:15] <alect> you can subclass the wiki module
[10:35:17] <alect> as tags does
[10:35:25] <s0undt3ch> how does trac-hacks add...
[10:35:29] <s0undt3ch> exact
[10:35:41] <s0undt3ch> is the code online
[10:35:41] <alect> or you can monkey patch
[10:35:59] <alect> yeah it's linked off trachacks
[10:36:23] <s0undt3ch> that's not the way to make a plugin available, ppl, dl this plug, it will work after patching your trac installation
[10:36:50] <alect> monkey patching is replacing methods on the fly
[10:37:02] <alect> it's used quite heavily in zope land, as i understand it
[10:37:16] <s0undt3ch> oh, I told you I was a n00b :)
[10:37:32] <alect> eg. you hook your own method into WikiModule's request handler
[10:37:34] <s0undt3ch> looking at tags
[10:37:45] <alect> then once you've done your magic, call the original
[10:38:15] <s0undt3ch>