#dev | Logs for 2016-10-08

« return
[00:07:31] -!- crutchy has quit [Quit: Leaving]
[00:58:46] -!- crutchy [crutchy!~crutchy@709-27-2-01.cust.aussiebb.net] has joined #dev
[10:01:03] -!- crutchy has quit [Quit: Leaving]
[10:58:36] Bytram|away is now known as Bytram
[11:00:50] zz_janrinok is now known as janrinok
[11:27:23] janrinok is now known as janrinok_afk
[11:37:15] <Bytram> TheMightyBuzzard: over here.
[11:37:22] <TheMightyBuzzard> yar
[11:37:24] <Bytram> here's what I've got for locating subs
[11:37:26] <Bytram> bytram@bytram-VirtualBox001:~/rehash$ grep -wIRHn "sub" . | gawk '$1 ~ /\.p[lm]:/ {print}' | sed 's#:#:\t#2; s#:#:\t#' | expand --tabs=70,80,90 | grep ':[[:space:]][[:space:]]*sub ' | gawk '{$1=z; $2=z; print $0}' | sed 's#^[[:space:]]*##' | sort | uniq -c | sort -n | tail -20
[11:37:47] <TheMightyBuzzard> don't bother trying to learn where they all are
[11:37:58] <Bytram> nod nod
[11:38:09] <Bytram> sand then, based on what you said about 'blib', I changed that to this:
[11:38:12] <Bytram> bytram@bytram-VirtualBox001:~/rehash$ grep -wIRHn "sub" . | gawk '$1 ~ /blib/{next} {print}' | gawk '$1 ~ /\.p[lm]:/ {print}' | sed 's#:#:\t#2; s#:#:\t#' | expand --tabs=70,80,90 | grep ':[[:space:]][[:space:]]*sub ' | gawk '{$1=z; $2=z; print $0}' | sed 's#^[[:space:]]*##' | sort | uniq -c | sort -n | tail -20
[11:38:54] <TheMightyBuzzard> you gotta know the context to know where you're supposed to look for the sub but generally grep -rIHn 'sub whatever' | grep -v blib will get it done
[11:39:30] <TheMightyBuzzard> like if you're doing a $slashdb->someSub, it's going to be in MySQL.pm probably
[11:39:35] <Bytram> so, the name of the file the sub is defined in *is* significant?
[11:39:53] <TheMightyBuzzard> no but the scope it is defined in is.
[11:40:13] * Bytram is confused
[11:40:24] <Bytram> example please?
[11:40:41] <TheMightyBuzzard> isInstalled
[11:40:56] <Bytram> yeah, I see there are 10 of those
[11:41:15] <TheMightyBuzzard> it is always going to be scoped to the plugin it's coming from cause it wouldn't make sense to pull it into the global namespace
[11:41:33] <TheMightyBuzzard> you want to be able to $plugin->isIinstalled
[11:41:47] <Bytram> 'scoped to the plugin' == name of the file it is in?
[11:41:51] <TheMightyBuzzard> just isInstalled by itself wouldn't mean anything
[11:42:10] <TheMightyBuzzard> no. not necessarily. some things we pull into the global namespace from other files.
[11:42:16] <TheMightyBuzzard> like getCurrentUser
[11:42:32] <TheMightyBuzzard> that DOES make sense to access globally
[11:42:43] <Bytram> yep, I see only on 'getCurrentUser'
[11:42:50] <Bytram> s/on/one/
[11:43:15] <TheMightyBuzzard> lemme see if i can find ya the how of exporting
[11:44:15] <Bytram> hmmm, I used the command you suggested and here are some results to start from:
[11:44:15] <Bytram> bytram@bytram-VirtualBox001:~/rehash$ grep -rIHn 'sub isInstalled' | grep -v blib
[11:44:15] <Bytram> plugins/HumanConf/Static/Static.pm:38:sub isInstalled {
[11:44:15] <Bytram> plugins/HumanConf/HumanConf.pm:16:sub isInstalled {
[11:44:15] <Bytram> plugins/Stats/Writer/Writer.pm:37:sub isInstalled {
[11:44:15] <Bytram> plugins/Moderation/Moderation.pm:16:sub isInstalled {
[11:44:16] <Bytram> plugins/Messages/DB/MySQL/MySQL.pm:33:sub isInstalled {
[11:44:16] <Bytram> plugins/Metamod/Metamod.pm:16:sub isInstalled {
[11:44:17] <Bytram> plugins/Metamod/Static/Static.pm:14:sub isInstalled {
[11:44:17] <Bytram> Slash/Plugin/Plugin.pm:22:sub isInstalled {
[11:44:18] <Bytram> Slash/DB/Utility/Utility.pm:57:sub isInstalled {
[11:44:19] <Bytram> Slash/DB/DB.pm:74:sub isInstalled {
[11:44:25] <Bytram> so, is that sufficeient info to work from?
[11:45:11] <TheMightyBuzzard> use base Exporter; and setting our @EXPORT decides what goes outside of the scope of a perl module
[11:45:33] * Bytram ponders
[11:46:15] <TheMightyBuzzard> though you can also do things like use Encode qw(encode_utf8 decode_utf8 is_utf8); to forcibly pull those subs in.
[11:47:26] <TheMightyBuzzard> i mean it is perl. there's always another way to do something.
[11:47:46] <Bytram> yeah, no kidding!
[11:48:22] <TheMightyBuzzard> check ./Slash/Utility/Environment/Environment.pm, it exports shat by default
[11:48:45] <TheMightyBuzzard> or check the source of Digest::MD5 or Encode on cpan
[11:49:15] <TheMightyBuzzard> afk a few. nicotine.
[11:50:13] <Bytram> good idea... break time.
[11:50:32] <Bytram> and I should be getting going about getting to work before too long.
[12:02:36] <Bytram> Okay, here's a concrete example....
[12:02:38] <Bytram> bytram@bytram-VirtualBox001:~/rehash$ grep -IR 'upgradeDB' .
[12:02:41] <Bytram> ./plugins/Subscribe/Upgrade/MySQL.pm:sub upgradeDB() {
[12:02:41] <Bytram> ./plugins/Admin/Admin/Upgrade/MySQL.pm:sub upgradeDB() {
[12:02:41] <Bytram> ./plugins/Messages/Upgrade/MySQL.pm:sub upgradeDB() {
[12:02:41] <Bytram> ./bin/upgrade-database: if (!$plugin_object->upgradeDB($upgrade)) {
[12:02:41] <Bytram> bytram@bytram-VirtualBox001:~/rehash$
[12:03:31] <Bytram> I see that upgradeDB is defined in 3 places... how do I know which one is being used in './bin/upgrade-database' ??
[12:03:59] <TheMightyBuzzard> yes, that's NCommander's new db upgrade system.
[12:04:15] <Bytram> hmmm, not the best example then?
[12:04:16] <TheMightyBuzzard> one for each plugin and one for the base system
[12:04:22] <NCommander> The one I forgot I actually coded ^_^
[12:04:31] <Bytram> lol!
[12:04:36] * TheMightyBuzzard waves at NCommander
[12:04:54] <NCommander> Bytram, it runs core upgradeDB, then goes through each module
[12:05:22] <Bytram> ultimately, I'd like to create a cross-reference of all subs that are defined, and all uses of them =)
[12:05:23] <NCommander> Bytram, far saner than the old upgrades file
[12:05:24] <TheMightyBuzzard> but yeah, it's a fine example of the sub being scoped to the plugin.
[12:05:41] <Bytram> maybe this is a better example... hold on
[12:05:58] <Bytram> bytram@bytram-VirtualBox001:~/rehash$ grep -IR 'previewForm' .
[12:05:58] <Bytram> ./MANIFEST:themes/slashcode/templates/previewForm;submit;default
[12:05:58] <Bytram> ./plugins/API/api.pl: $preview = previewForm(\$error_message, $discussion) if (($form->{preview}) && ($form->{preview} eq 1));
[12:05:58] <Bytram> ./plugins/API/api.pl:sub previewForm {
[12:05:58] <Bytram> ./plugins/Submit/PLUGIN:template=templates/previewForm;submit;default
[12:06:00] <Bytram> ./plugins/Submit/templates/previewForm;submit;default:previewForm
[12:06:02] <Bytram> ./plugins/Submit/submit.pl: viewsub => [$submiss_view, \&previewForm],
[12:06:04] <Bytram> ./plugins/Submit/submit.pl:sub previewForm {
[12:06:06] <Bytram> ./plugins/Submit/submit.pl: slashDisplay('previewForm', {
[12:06:09] <TheMightyBuzzard> NCommander, indeed. needs documented though cause i keep forgetting bits of it.
[12:06:10] <Bytram> ./themes/default/htdocs/comments.pl: $preview = previewForm(\$error_message, $discussion) or $error_flag++;
[12:06:12] <Bytram> ./themes/default/htdocs/comments.pl:sub previewForm {
[12:06:14] <Bytram> ./Slash/Utility/Comments/Comments.pm: my $previewForm = slashDisplay('preview_comm', {
[12:06:14] <NCommander> TheMightyBuzzard, probably
[12:06:16] <Bytram> ./Slash/Utility/Comments/Comments.pm: return $previewForm;
[12:06:18] <Bytram> bytram@bytram-VirtualBox001:~/rehash$
[12:06:21] <Bytram> so...
[12:06:22] <Bytram> previewForm is defined in 3 places
[12:06:39] <NCommander> Rehash/slashcode has basically a nasty version of inhertiance since it predates MOOSE or another of the OO solutions for Perl
[12:06:54] <NCommander> And instead uses to low level Perl bless API to define which version of a function should take it.
[12:07:01] <Bytram> how can I, in each of the places it is *used*, determine which one is being invoked?
[12:07:20] <NCommander> Bytram, you don't. Welcome to object oriented programming
[12:07:24] <TheMightyBuzzard> NCommander, honestly that makes more sense to me.
[12:07:36] <NCommander> (the technical term for is call dynamic dispatch)
[12:07:47] <NCommander> TheMightyBuzzard, it's better than the C++ voodoo model
[12:08:00] <TheMightyBuzzard> troof
[12:08:12] <Bytram> well, *perl* has to be able to figure it out at some point... right?
[12:08:39] <NCommander> Bytram, there's an internal function table that maps names to pointers. The bless function promotes different functions based on scoping rules
[12:09:04] <TheMightyBuzzard> Bytram, if you're calling something like $slashdb->someFunc, it's going to come from wherever $slashdb pulls its code from.
[12:09:19] <Bytram> TheMightyBuzzard: THAT makes sense
[12:09:22] <NCommander> Bytram, generally speaking, if a function with the same name is in the same file, that takes presence.
[12:09:34] <Bytram> okay... that's esy
[12:09:37] <TheMightyBuzzard> plus that
[12:09:37] <Bytram> *easy
[12:09:45] <NCommander> If you explicately call a method off an object, then TheMightyBuzzard is correct. There are a few cases where the function in the object gets rewritten on the fly
[12:09:51] <NCommander> The DB layer does that
[12:10:14] <NCommander> I'm fairly sure there's some code in envrionment that does that as well because I had to touch to rewrite logic for mod_perl 2
[12:10:17] <Bytram> so explicit reference supercedes implied reference of being in same file. correct?
[12:10:20] <TheMightyBuzzard> yeah, it's not terribly difficult to figure out most of the time. we don't get THAT tricky as a general rule.
[12:10:40] <NCommander> TheMightyBuzzard, offhand, the one real painful bits are where we interact with Template::ToolKit
[12:11:08] <TheMightyBuzzard> ya, yet another reason to hate our templates
[12:11:27] <NCommander> TheMightyBuzzard, to be honest, TT is better than a lot of other options for Perl
[12:11:37] <NCommander> TheMightyBuzzard, but this isn't something Perl has ever historically done "well"
[12:11:39] <TheMightyBuzzard> true but it still hurts my cornhole
[12:11:58] * NCommander notes this weakness is why PHP ate Perl's lunch in the quick and dirty webscript category
[12:12:06] <Bytram> and in any places that it IS 'tricky', could we not replace it with an *explicit * reference... or does that remove a lot of 'syntactic sugar' and makes the code really messy?
[12:12:25] <NCommander> Bytram, the code is already very messy. None of the new code we write does this madness
[12:12:35] <NCommander> Bytram, with the exception of the themes system since that was the only way to do it
[12:12:42] <Bytram> nod nod
[12:12:48] <TheMightyBuzzard> Bytram, generally there's a reason when something is done funkily too.
[12:13:08] <Bytram> ulp.
[12:13:19] <NCommander> If I remember correctly, what I had to do to implement themes was intercept the templating call and then determine if we need to do default or *theme*
[12:13:27] <TheMightyBuzzard> mind you, i've found things people have done that were entirely WRONG in our source.
[12:13:40] <NCommander> We normally only overwrite the header template but we could rewrite any bit we wanted
[12:13:51] <Bytram> I suppose there is nothing else for it but to give it a try, and see how badly a rough crossreference fails.
[12:14:13] <TheMightyBuzzard> Bytram, it ain't gonna work. find what you need on a per-case basis.
[12:14:18] <NCommander> A major weakness of Perl is due to the loose typing, its very difficult to statically anyalize
[12:14:57] <Bytram> so, how does one do "impact analysis"? If I change a sub, how do I know what got hit by the change?
[12:15:11] <NCommander> Bytram, the unfortunate truth: you don't
[12:15:25] <NCommander> This is why I won't select Perl for new projects for one
[12:15:33] <TheMightyBuzzard> you don't except by finding all the places it's used. which ain't always easy but generally is.
[12:15:35] <Bytram> I was afraid you were gonna say that!
[12:15:35] <Bytram> zoinks!
[12:15:47] <NCommander> Perl6 somewhat helps the situation
[12:15:54] * TheMightyBuzzard shudders
[12:16:01] <NCommander> But even assuming Perl6 ever goes somewhere, I don't want to think of migrating rehash to P6
[12:16:05] <TheMightyBuzzard> ya but it's exceedingly poorly documented
[12:16:11] <NCommander> And that
[12:16:18] <NCommander> I rather rewrite the damn thing that go to P6
[12:16:25] <Bytram> so, when are we gonna upgrade to perl 6?
[12:16:31] <NCommander> We're not
[12:16:31] * Bytram quickly runs and hides
[12:16:37] <NCommander> Perl 6 should have been called something else
[12:16:39] <Bytram> yep
[12:16:41] <TheMightyBuzzard> i wouldn't mind rewriting it one of these days but it'd probably take a year or so to get done.
[12:16:46] <NCommander> It's not like Python 2/3 where its actually an upgrade
[12:16:59] <NCommander> Perl 6 is a new language with a similar syntax
[12:17:27] <NCommander> Fortunately for us, there's too much investiment in Perl codebases that I doubt it will ever become unsupported. Its going to become like COBOL
[12:17:33] <Bytram> ultimately, I'd like to create a set of unit tests, one 'slice' for each sub, and then be able to test the whole site's base functionality
[12:17:34] <NCommander> Well supported but only in legacy envirnments
[12:17:43] <TheMightyBuzzard> and that's only if you want it to be since you can pick from multiple or even write your own custom interpreter for building bytecode.
[12:17:52] <NCommander> Bytram, the problem is the rules for execution change if we're in a mod_perl context or in a base context.
[12:18:05] <Bytram> oh, sweet.
[12:18:07] <Bytram> :(
[12:18:19] <TheMightyBuzzard> not a whole lot though and we generally get around those.
[12:18:27] <NCommander> basically any place you see $r is where we'll run into pain
[12:18:36] <NCommander> And me leaving comments when I had to change code for MP2
[12:18:57] <Bytram> okay, if I do a search on 'sub [[text]]' will that get me all the subs?
[12:19:06] <TheMightyBuzzard> only the stuff included in the conf files really does much mod_perl funkiness
[12:19:16] <NCommander> There are a few places where we eval()
[12:19:20] <NCommander> Generally in the mod_perl glue
[12:19:20] <Bytram> k
[12:19:41] <Bytram> hmmm
[12:19:42] <TheMightyBuzzard> Bytram, yes but don't search for it at the beginning of a line cause some subs are defined on the fly
[12:19:51] <Bytram> joy.
[12:19:52] <NCommander> That too
[12:19:57] <Bytram> eample?
[12:20:02] <NCommander> If yo look at the bottom of most PMs, you'll see a list of function indexes
[12:20:02] <Bytram> example?
[12:20:06] <NCommander> Those are what we should be testing
[12:20:11] <Bytram> hmmm
[12:20:17] <NCommander> DB has a fairly long one
[12:20:48] <TheMightyBuzzard> like you could sub {s/foo/bar/;} if something takes a sub reference and you don't want to go writing a sub for it.
[12:21:14] <NCommander> Bytram, one of the big things to be aware of for instance in the DB is Slash:DB::MySQL and Slash::DB::Static::MySQL
[12:21:15] <Bytram> DB.pm?
[12:21:47] <TheMightyBuzzard> that is done ALL OVER our stuff.
[12:21:50] <NCommander> Bytram, https://github.com - read this comment
[12:21:51] <aqu4>  ^ "3rehash/DB.pm at master · SoylentNews/rehash · GitHub"
[12:22:09] <TheMightyBuzzard> plugins/Subscribe/IPN/IPN.pm:34: *{$AUTOLOAD} = sub { return $_[0]->{_PAYPAL_VARS}->{$field} };
[12:22:10] <NCommander> Bytram, basically when we're running without mod_perl, additional code modules or replacements are loaded in place for slashd
[12:22:17] <NCommander> That's the 'Static' variants
[12:22:28] <NCommander> Sometimes its just a wrapper, and sometimes its a full replacement
[12:22:31] <Bytram> that makes sense!
[12:23:03] <NCommander> Other times static is used for things that just shouldn't be loaded as part of the website to save memory
[12:23:08] <Bytram> mod_perl provides an "environment", that if we are NOT running with it, then something else needs to fill in
[12:23:11] <Bytram> k
[12:23:14] <NCommander> (doesn't really matter much in this era but that was the original design)
[12:23:32] <NCommander> i.e., stuff for calculating mod_points is in Static::MySQL since that's only done by slashd
[12:23:59] <Bytram> excellent example, I follow that.
[12:24:13] * Bytram looks at: ./Slash/DB/DB.pm
[12:24:34] <NCommander> ########################################################
[12:24:34] <NCommander> # Ok, it's fucking 2014, we can afford an UPDATE per page
[12:24:34] <NCommander> # view to have accurate login information, and not this shit
[12:24:34] <NCommander> # slash currently does
[12:24:36] <NCommander> ########################################################
[12:24:36] <NCommander> Oh god
[12:24:38] <NCommander> I remember writing that comment
[12:24:58] <Bytram> lol!
[12:25:12] <NCommander> Bytram, there's a lot of crap in the libraries that's unused
[12:25:31] <NCommander> i.e. there's code to pull tags out of the database
[12:25:33] <TheMightyBuzzard> `grep -rIHni fuck` for some of the more interesting comments
[12:25:36] <Bytram> that's the other part of my hopes, identify and remove unused code.
[12:25:42] <Bytram> lol!
[12:26:25] <NCommander> It's still rather staggering how much code we dumped out of the monster
[12:26:40] <NCommander> What I do like about rehash is for the most part its relatively well architected
[12:26:57] <Bytram> I was on /. before there were UIDs, I remember that 'era'
[12:27:14] <TheMightyBuzzard> NCommander, and getting moreso all the time
[12:27:41] <NCommander> Bytram, you predate me. My UID on the other site is 700139
[12:28:30] * Bytram was reluctant to sign up with an 'unknown' site, so resisted creating an acct; then they lost their DB and people signed up all over again, i finally noticed the UIDs climbing and got 196687
[12:28:54] * Bytram coulda had a 2-digit /. uid
[12:29:15] <NCommander> The original implementation of slash used flat files
[12:29:27] <TheMightyBuzzard> NCommander does have a 2-digit uid. it's a digit and that digit is 2.
[12:29:37] <NCommander> Honestly, given the fact Taco and Hermes had no realworld development skills at the time, I'm rather staggered it wasn't a pile of crap
[12:29:44] <NCommander> Most of the crap came from the post-Andover period
[12:29:49] <NCommander> *cough* Firehose */cough*
[12:29:59] <Bytram> that's why, when I found out about slashcott and there were rumors of a new fork, i went sleuthing around, found a screen grab of a bug, noticed the linode URL, said 'what the heck', tried it, and after a bunch of reskey errors over a day's time, finally created my nick
[12:30:01] <TheMightyBuzzard> ya, firehose can eat a dick
[12:30:27] <NCommander> Bytram, I remember the sheer amount of YAY when I finally got index.pl to render from the 2009 code dump
[12:30:30] <NCommander> So much bitrot
[12:30:35] <NCommander> I had to edit every schema file by hand
[12:30:38] <Bytram> NCommander++
[12:30:38] <Bender> karma - ncommander: 1
[12:30:41] <Bytram> NCommander++
[12:30:41] <Bender> karma - ncommander: 2
[12:30:42] <Bytram> NCommander++
[12:30:42] <Bytram> NCommander++
[12:30:42] <Bender> karma - ncommander: 3
[12:30:42] <Bender> karma - ncommander: 4
[12:31:09] <NCommander> for ( ; ; ) if (ncommander != MAX_INT) ncommander++
[12:31:20] <TheMightyBuzzard> NCommander, i'm about to have to do the same to unfuck some code i fucked up long ago. put plugin code outside of a plugin.
[12:31:23] <Bytram> I dunno about the firehose, I think the *concept* was brilliant. the implementation? meh.
[12:31:36] <NCommander> Bytram, the implementation was incredibly braindamaged
[12:31:41] <Bytram> nod nod
[12:31:58] <Bytram> but, to have the community vote on what stories made it to the main page? brilliant.
[12:32:02] <NCommander> Honestly, you could just get the same effect by allowing comments in submissions and then deleting them when they go live.
[12:32:55] <Bytram> so who would write a comment on a sub if it was gonna be ldeleted.... oh, I get it... but, then you'd need to read all the comments, to find the stories to be promoted to the main page.
[12:33:17] <NCommander> Or at least de-tach them
[12:33:35] <NCommander> Aside from a DMCA, testing, and one screw up, I don't think we've ever deleted non-spam comments
[12:33:44] * NCommander accidently nuked an article and lost the comments attached to it
[12:33:45] <Bytram> I suppose there could be a sentinel comment "POST TO MAIN PAGE" that you'd count
[12:34:10] <Bytram> yeah, we had a problem with spam for a stretch... /me does not miss *those* days
[12:34:32] <NCommander> Honestly, given we get a shitton of traffic for tor, I'm a bit surprised its not worse than it is
[12:34:36] <NCommander> *from
[12:34:39] <Bytram> in retrospect, I think it would have been best to mod them '-100 spam'
[12:34:47] <TheMightyBuzzard> i should add in a bit that lets admins post to is_future stories so i can frost pist everything
[12:34:57] <NCommander> TheMightyBuzzard, BTW, do you want to look at why admin graphs broke?
[12:35:04] <NCommander> TheMightyBuzzard, I'm guessing we're missing a GD module or something.
[12:35:07] <Bytram> and have the front-end/site only display commments whose karma >= -1
[12:35:25] <Bytram> yeah, that's been bugging me for a long while!
[12:35:39] <Bytram> in fact....
[12:35:41] <Bytram> https://soylentnews.org
[12:35:41] <Bytram> =msg_10,0,Daily+Site+Stats&stats_graph_multiple=msg_12,0,Relationship+Change&stats_graph_multiple=msg_13,0,Bad+login+attempt+warnings&stats_graph_multiple=msg_14,0,Daily+Moderation+Stats&stats_graph_multiple=msg_15,0,Subscription+Running+Low&stats_graph_multiple=msg_16,0,Subscription+Expired&stats_graph_multiple=msg_18,0,Invalid+HTML+Input&stats_graph_multiple=msg_19,0,Declined+Submission+Reason&stats_graph_multiple=msg_20,0,Admin+to+user+mess
[12:35:42] <aqu4>  ^ "3SoylentNews: SoylentNews is people"
[12:35:43] <Bytram> age&stats_graph_multiple=msg_22,0,Achievement&stats_graph_multiple=msg_25,0,Remarks&title=Message+Types
[12:35:49] <TheMightyBuzzard> prolly, ya. i can give it a shot after i unfuck things so we can get a working install procedure again.
[12:36:03] <NCommander> I'm guessing mecctro ran into this?
[12:36:06] <Bytram> 'cannot be displayed because it contains errors'
[12:36:11] * NCommander has been active on the site but hasn't been up for coding
[12:36:12] <TheMightyBuzzard> nod nod
[12:36:23] <NCommander> Bytram, its because GD and ImageMagick is fucked. That broke almost a year ago.
[12:36:39] <TheMightyBuzzard> technically install works right now but the site afterwards will be buggy.
[12:36:46] <NCommander> TheMightyBuzzard, vars mismatch?
[12:36:50] <TheMightyBuzzard> yarp
[12:37:21] <Bytram> is why I am trying to come up with a list of subs that, at a minimum, can be tested for existence... and later exetnded to verify functionality.
[12:37:27] <TheMightyBuzzard> like points in users_info being there when moderation isn't installed
[12:38:23] <TheMightyBuzzard> it shouldn't take too long to sort out though. i'll hop on it monday most likely. got a busy weekend this weekend though so no code till then.
[12:38:23] * NCommander notes he's been tempted to add a second site backup to Amazon Glacier
[12:38:24] <Bytram> and then, when you install moderation, it would have to create the points field?
[12:38:37] <TheMightyBuzzard> Bytram, zactly
[12:38:37] * Bytram shivers
[12:40:53] * NCommander has been tempted to sitdown and work on updating the site design somewhat as a new(er) theme
[12:40:59] <NCommander> Probably built around material design
[12:41:13] <TheMightyBuzzard> NCommander, do up a Beta theme for april 1
[12:41:40] <NCommander> too much javascript
[12:41:49] <TheMightyBuzzard> nah, just go cosmetic
[12:42:52] <TheMightyBuzzard> although, with the api around now we COULD do that via js.
[12:44:32] <Bytram> as much fun as that would be, I'd just like to be able to view the site on a mobile and have it be reasonably readable.
[12:45:14] <TheMightyBuzzard> Bytram, write up a mobile theme
[12:45:48] <Bytram> I can worry my way around some basic css, but not at THAT level.
[12:45:58] -!- SoyGuest21685 has quit [Ping timeout: 244 seconds]
[12:46:07] <Bytram> I actually looked around for something like font-size-minimum and there's no such beast. :/
[12:46:43] <Bytram> if I could force ALL text to be no less than, say, 8pt, that would go a HUGE way to making things workable.
[12:47:19] <TheMightyBuzzard> um, that's a browser setting
[12:47:24] <Bytram> and have the left/right slashboxes slide above the rest of the content on narrow displays, that would prolly cover the rest of it.
[12:47:32] <NCommander> This course is really *ugh*
[12:47:38] * NCommander is trying not to have his brain melt
[12:47:59] * Bytram offers NCommander a nice, iced tea.
[12:48:13] <Bytram> okay, can't dally any more... need to get ready for work...
[12:48:19] <Bytram> thanks SO much for the pointers!
[12:48:41] Bytram is now known as Bytram|away
[12:51:35] janrinok_afk is now known as janrinok
[12:53:38] <mecctro> You could set the zoom-level in css, in greasemonkey or something for css
[12:54:04] <mecctro> (the font-size thing)
[12:55:28] <Bytram|away> quick thought: with the extra memory we got from converting our linodes from Xen, could we create our OWN VM on one of our systems to use as a test site?
[12:55:53] <Bytram|away> then we could test building and installing on THAT
[12:55:57] <Bytram|away> ok gtg
[12:56:22] <janrinok> Bytram|away, have a good one!
[15:42:28] -!- cosurgi [cosurgi!~cosurgi@qylizv7.bl.pg.gda.pl] has joined #dev
[15:42:48] -!- cosurgi has quit [Changing host]
[15:42:48] -!- cosurgi [cosurgi!~cosurgi@Soylent/Staff/Misc/cosurgi] has joined #dev
[19:12:32] janrinok is now known as zz_janrinok
[23:39:45] -!- crutchy [crutchy!~crutchy@709-27-2-01.cust.aussiebb.net] has joined #dev