--- Log opened Fri Jun 21 00:00:58 2013 |
00:03 | | gnolam_ [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has joined #code |
00:03 | | gnolam is now known as NSGuest1206 |
00:03 | | gnolam_ is now known as gnolam |
00:03 | | mode/#code [+o gnolam] by ChanServ |
00:03 | | sshine [simon@Nightstar-2aa33f9d.pronoia.dk] has quit [Connection reset by peer] |
00:03 | | sshine [simon@Nightstar-2aa33f9d.pronoia.dk] has joined #code |
00:06 | | NSGuest1206 [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds] |
00:15 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
00:15 | | mode/#code [+o Reiv] by ChanServ |
00:20 | | froztbyte [froztbyte@Nightstar-dc394964.za.net] has quit [Operation timed out] |
00:20 | | froztbyte [froztbyte@Nightstar-dc394964.za.net] has joined #code |
00:20 | | mode/#code [+o froztbyte] by ChanServ |
00:22 | | jeff [NSwebIRC@2D9871.A95144.98F7FE.1228CF] has quit [Ping timeout: 121 seconds] |
00:34 | | cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has joined #code |
00:34 | | mode/#code [+o cpux] by ChanServ |
00:35 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
00:35 | | mode/#code [+o himi] by ChanServ |
00:39 | | You're now known as TheWatcher[T-2] |
00:41 | | jeff [NSwebIRC@2D9871.A95144.98F7FE.1228CF] has joined #code |
00:45 | | You're now known as TheWatcher[zZzZ] |
00:45 | | jeff [NSwebIRC@2D9871.A95144.98F7FE.1228CF] has quit [Ping timeout: 121 seconds] |
00:55 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
02:32 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.] |
02:35 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
03:11 | | gnolam [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds] |
03:13 | | gnolam [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has joined #code |
03:13 | | mode/#code [+o gnolam] by ChanServ |
03:24 | <&McMartin> | Ha ha ha |
03:24 | | * McMartin looks up red-black trees on wiki. |
03:24 | <&McMartin> | "The color "red" was chosen for the name because it was the best-looking color produced by the color laser printer available to the authors while working at Xerox PARC.[4]" |
03:25 | < JBeshir> | XD |
03:26 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
03:26 | | mode/#code [+o celticminstrel] by ChanServ |
03:32 | < ktemkin> | I am currently coding to the worst coding standards I've ever been forced to work with. |
03:32 | <&McMartin> | A pity |
03:32 | < ktemkin> | Variable names are all lowercase, underscores not allowed, prioritzed for brevity over readability. |
03:33 | <&McMartin> | Time for FUN WITH SPACING |
03:34 | <&McMartin> | In which "Push It" becomes "P.U, Shit" |
03:36 | < ktemkin> | Not to mention that their unit tests all look like this: https://github.com/moodle/moodle/blob/master/question/type/essay/tests/question_ test.php |
03:37 | <&McMartin> | Oh dear. You're hacking Moodle? |
03:37 | <&McMartin> | You may have some commiserators here~ |
03:38 | < ktemkin> | I am unfortunately a "contributing developer" for Moodle; a position which I have recieved because I keep running into core bugs and having to fix them myself. |
03:38 | <&McMartin> | Heh |
03:39 | < ktemkin> | The whole thing is very shoddily written. |
03:39 | < JBeshir> | Ouch. |
03:39 | < JBeshir> | I see vulnerabilities for it reported fairly often. |
03:40 | < ktemkin> | (I teach at a large university; and it was either that or Blackboard. Incidentally, we have 15k students and _one oracle database_ for blackboard.) |
03:40 | < JBeshir> | I've heard terrible things about Blackboard. |
03:41 | | Turaiel[MARC] is now known as Turaiel |
03:41 | <&McMartin> | ktemkin: Yeah, I think our other moodler is another University sort |
03:41 | <&McMartin> | I've definitely heard rantings >_> |
03:41 | < ktemkin> | The worst part is having to spend so much time working with PHP. |
03:41 | < ktemkin> | I really dislike PHP. |
03:42 | <&McMartin> | High five sir |
03:43 | <&McMartin> | or ma'am, whichever |
03:44 | | * ktemkin high fives (and is male). |
03:45 | <&McMartin> | I don't actually recognize your nick, so, if you're new here and not just using a handle I don't recognize, welcome to #code |
03:46 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
03:46 | < ktemkin> | Thanks; I am indeed new. |
03:51 | | Turaiel is now known as Turaiel[MARC] |
03:53 | < ktemkin> | Honestly, it would be nice if the core devs would just /document/ anything. If you're not going to allow readable variable names, at least take the time to tell me what your methods are doing. |
03:54 | <&ToxicFrog> | ktemkin: having worked with both, for all of Moodle's issues, it is orders of magnitude better than Blackboard. |
03:55 | < ktemkin> | I haven't spent a lot of time with Bb's backend; but at least I can /change/ the things that irritate me when using Moodle. |
03:56 | < ktemkin> | That and the fact that Blackboard's core workflow requires an absurd amount of clicks to do anything. |
03:56 | <&ToxicFrog> | BB's backend is, by all accounts, a massive clusterfuck made by a team that routinely ignores bug reports, and the frontend will have your students burning shit down. |
03:57 | < ktemkin> | I have had to teach using it before. It really says something that most of our CS/Engineering professors prefer manually editing HTML to using it to distribute coursework. |
03:58 | < ktemkin> | When we got a grant to create a few online-only courses, I decided that it was time to find anything but Blackboard. |
04:03 | | Turaiel[MARC] is now known as Turaiel |
04:04 | < ktemkin> | Since then, I'm sure some better LMSs have become open-source. I've been curious as to how Canvas is-- it's very much appealing that it's Ruby/CoffeeScript based. |
04:05 | < ktemkin> | But now I have two years of existing effort already put into writing custom Moodle plugins. |
04:09 | <&ToxicFrog> | It might be worth seeing if these newer, better LMSs can mimic the features of the plugins out of the box~ |
04:11 | < ktemkin> | It's very, very unlikely. A lot of these are custom question types that are tied to the courses I teach; for example, I have a set of JS-based gate-wiring question types for a digital logic class. |
04:12 | < ktemkin> | I also have things like a QR-based "check off" question type which allows an instructor to mark a lab demo as acceptable by pointing his/her phone at a QR code on the student's screen. I think it's unlikely that any other LMS has implemented a feature like that. |
04:15 | | Turaiel is now known as Turaiel[MARC] |
04:16 | | Turaiel[MARC] is now known as Turaiel |
04:20 | <&McMartin> | That's kind of neat |
04:22 | < Syka> | ktemkin: lo |
04:22 | < Syka> | lol moodle |
04:22 | < Syka> | as a west australian, i am sorry for moodle |
04:24 | < ktemkin> | It's Moodle's fault I spell behaviour with a 'u', now. |
04:39 | | Kindamoody[zZz] is now known as Kindamoody |
04:42 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
04:50 | < Syka> | ktemkin: you mean the correct way? :P |
04:59 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
--- Log closed Fri Jun 21 05:10:41 2013 |
--- Log opened Fri Jun 21 05:17:56 2013 |
05:17 | | TheWatcher[zZzZ] [chris@Nightstar-3762b576.co.uk] has joined #code |
05:17 | | Irssi: #code: Total of 36 nicks [16 ops, 0 halfops, 0 voices, 20 normal] |
05:17 | | mode/#code [+o TheWatcher[zZzZ]] by ChanServ |
05:18 | | Irssi: Join to #code was synced in 38 secs |
05:28 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
05:28 | | mode/#code [+o Reiv] by ChanServ |
05:31 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
05:32 | | Turaiel is now known as Turaiel[MARC] |
05:32 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
05:32 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
05:39 | | Derakon is now known as Derakon[AFK] |
06:20 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code |
06:58 | < ktemkin> | Of course. I spend an hour trying to figure out why this unit test is failing, and it turns out there's a part of the testing integration codebase that's /silently not yet implemented/. |
06:59 | < ktemkin> | Which would have taken less than an hour to find if it wasn't buried under a whole /twelve levels of indirection/ across five 1500+ SLOC files. |
07:00 | < ktemkin> | The "workaround" that the core devs have been using to avoid that not-implemented spot? They just /don't unit test the parts that need that/. |
07:00 | | * ktemkin froths. |
07:01 | < AverageJoe> | damn bro |
07:01 | < AverageJoe> | that sucks |
07:02 | < McMartin> | aiya |
07:14 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
07:19 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
08:44 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving] |
09:18 | | Kindamoody is now known as Kindamoody|out |
09:58 | | You're now known as TheWatcher |
10:31 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
10:31 | | mode/#code [+o himi] by ChanServ |
10:42 | | * TheWatcher readsup |
10:43 | <@TheWatcher> | ktemkin: as someone who has to run, maintain, and occasionally hack on Moodle; my sincere sympathies. |
10:44 | <@TheWatcher> | With only a very few exceptions, it really is a godawful shitpile of hideous code. And yet it's still better than the competition in most cases. |
10:45 | < ktemkin> | That's the worst part, I think: there's not an easily available alternative. |
10:45 | <@TheWatcher> | Yeah, we tried a lot of different options, moodle was the only one that consistently did close enough to what we needed. |
10:46 | < ktemkin> | It seems like they're really trying to get better, but unfortunately their improvement process involves adding a lot of bureaucracy and focusing on generality of the code. |
10:47 | <@TheWatcher> | (that said, part of a project started last year, I've actually been writing a new system from scratch. No idea if it'll ever see the light of day, though) |
10:47 | < ktemkin> | I tried that, once. I go mired on generality and a good security model that it almost seemed worth it to let other people scramble around if there's a security issue. |
10:48 | < ktemkin> | *so mired |
10:50 | < ktemkin> | Though Moodle seems to generate a ton of security issues on its own. |
10:51 | < ktemkin> | I guess that shouldn't be a surprise, really: Moodle has a ton of "moving pieces". |
10:51 | <@TheWatcher> | And crap coding standards |
10:51 | <@TheWatcher> | (And PHP, but hey) |
10:51 | <@TheWatcher> | (could be worse. Could be Java) |
10:51 | < ktemkin> | If you submit a quiz question, it's actually processed by Question Usage by Activity which in turn calls a Question Attempt, which in turn calls a Question Behavior which in turn calls a Question Type which grades the response. |
10:52 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
10:53 | <@TheWatcher> | (I hacked on Bodington for a good while back in the day, dear Gods that was horrible) |
10:54 | < ktemkin> | They've tried to use the Principle of Least Knowledge to make it so none of those pieces know anything about each other; but they've also not documented any of the APIs; so it's hard to get things to work via their recommended workflows, and impossible to do certain things without modifying the core code. |
10:54 | | * TheWatcher eyes his patches |
10:54 | <@TheWatcher> | No kidding >.< |
10:56 | < ktemkin> | It's this really weird juxtaposition of a dynamic language with Java-like abstract classes and interfaces. |
10:57 | < ktemkin> | It's like half the time they want to be really structured and abstract, and then they'll go and force you to do certain things by querying the database. |
11:00 | <@TheWatcher> | I think a lot is down to having so many cooks in the kitchen, and historically very poor central control |
11:01 | <@TheWatcher> | Lots of contributors work, provided that you have an effective BDFL or central group that Knows What They're Doing |
11:04 | <@TheWatcher> | And Dougiamas has never struck me as being particularly effective... although at least he isn't a self-taught Java programmer with a biology background *eyes John Maber* |
11:04 | < RichyB> | I think that it works well if you have a really good vision document and some guidelines about what future code should look and feel like, too. |
11:04 | <@TheWatcher> | And someone to enforce them |
11:07 | < ktemkin> | I think a huge part of the problem is that PHP doesn't really have an associated coding style or culture. |
11:07 | < ktemkin> | PHP tries to be all over the place, and really just manages to be a mess. |
11:08 | < ktemkin> | If you want to write a PHP application and have it not mirror the language (i.e. be terrible), you have to force your team to adopt a set of paradigms. |
11:09 | < ktemkin> | Compare that to most projects written in languages like Ruby or Python-- where the languages themselves are associated with a coding style and culture. |
11:09 | < RichyB> | Ruby has an associated coding style? |
11:10 | < ktemkin> | RichyB: Very duck typed, preference for functional solutions, lots of small functions, Don't Repeat Yourself |
11:10 | <@TheWatcher> | Eeeh, well |
11:10 | <@TheWatcher> | Nothing to stop you writing and enforcing your own style guide |
11:10 | < RichyB> | Good culture, then. |
11:11 | < ktemkin> | Which Moodle did, and god is it awful: http://docs.moodle.org/dev/Coding_style |
11:11 | < ktemkin> | I see no reason to have variable names like "numresponses" |
11:13 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
11:16 | < ktemkin> | One of the things I took away from the time I spent working with a lot of Ruby/Python was a tendency to use variable names as documentation; which they pretty much prohibit. |
11:17 | < ktemkin> | I'd much prefer "responses_to_delete" or "to_delete" to a name like "todel". |
11:18 | < ktemkin> | Because they prioritize brevity and don't allow word separation, you actually do get things like "todel"-- which takes me a few seconds to parse correctly. |
11:21 | < RichyB> | I like PEP8. |
11:21 | < RichyB> | It encourages underscore_separated_lowercase_variable_identifiers. |
11:22 | <~Vornicus> | (and approximately that verbose, when you need it...) |
11:22 | < ktemkin> | Better a verbose variable name that makes it so you don't need comments. |
11:23 | < ktemkin> | Code does tend to be written once and read/debugged many times. |
11:23 | < RichyB> | I prefer narrative comments to variable names longer than three words. |
11:25 | < RichyB> | (You have a 4+ word identifier -> you're trying to write entire sentences in your variable names -> please don't.) |
11:29 | < ktemkin> | Grepping through my old code, the longest identifier I seem to have written is exactly four words: "pad_to_chain_length", a keyword-argument for a JTAG library. |
11:31 | < RichyB> | Okay, I'll make that cutoff five words. :) |
11:32 | < ktemkin> | Probably the most sane part of PEP8 is "don't blindly follow convention". |
11:32 | < ktemkin> | When convention seems to make things worse, rather than better, it may be a good idea to ignore it. |
11:38 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
11:38 | | SyloqAgain [Syloq@B4EC54.59F324.016BDA.8CB0A3] has joined #code |
11:38 | | SyloqAgain is now known as Syloq |
11:39 | | mode/#code [+o Syloq] by ChanServ |
12:03 | | gnolam [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has quit [[NS] Quit: Gone] |
12:12 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
12:23 | | cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!] |
12:47 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
12:48 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
12:59 | | You're now known as TheWatcher[afk] |
13:22 | | ktemkin is now known as ktemkin[awol] |
13:28 | | Kindamoody|out is now known as Kindamoody |
13:38 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
13:41 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
15:03 | | Kindamoody is now known as Kindamoody|out |
15:24 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds] |
15:24 | | Orth [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
15:54 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
15:57 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
16:11 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
16:11 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Client closed the connection] |
16:12 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
16:24 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
16:24 | | mode/#code [+o himi] by ChanServ |
16:54 | | VirusJTG__ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
16:56 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
17:57 | | AnnoDomini is now known as Alex |
18:01 | | Tarinaky is now known as Rodney |
18:24 | | jeff [NSwebIRC@2D9871.A95144.CDAEE5.91F59C] has joined #code |
18:45 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
18:59 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
18:59 | | mode/#code [+o himi] by ChanServ |
19:17 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
19:30 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
19:30 | | mode/#code [+o himi] by ChanServ |
19:41 | | Kindamoody|out is now known as Kindamoody |
19:42 | | jeff [NSwebIRC@2D9871.A95144.CDAEE5.91F59C] has quit [Ping timeout: 121 seconds] |
20:00 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
20:02 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Operation timed out] |
20:02 | | jeff [NSwebIRC@2D9871.A95144.CDAEE5.91F59C] has joined #code |
20:13 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
20:13 | | mode/#code [+o himi] by ChanServ |
20:14 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
20:17 | | VirusJTG__ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
20:17 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
20:17 | | mode/#code [+o Syloq] by ChanServ |
20:31 | | Derakon[AFK] is now known as Derakon |
20:36 | <&Derakon> | http://james-iry.blogspot.de/2009/05/brief-incomplete-and-mostly-wrong.html |
20:41 | | jeff [NSwebIRC@2D9871.A95144.CDAEE5.91F59C] has quit [Ping timeout: 121 seconds] |
20:46 | | Kindamoody is now known as Kindamoody[zZz] |
20:46 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
20:53 | | Alex is now known as AnnoDomini |
20:58 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
20:58 | | mode/#code [+o himi] by ChanServ |
20:59 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
20:59 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
21:00 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
21:01 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
21:35 | | Rodney is now known as Tarinaky |
21:47 | | Typh|offline [Typherix@Nightstar-7dc8031d.mi.comcast.net] has quit [[NS] Quit: ZNC - http://znc.in] |
21:49 | | Turaiel[MARC] [Brandon@Nightstar-7dc8031d.mi.comcast.net] has quit [Client closed the connection] |
21:49 | | Typh|offline [Typherix@Nightstar-7dc8031d.mi.comcast.net] has joined #code |
21:50 | | Turaiel[MARC] [Brandon@Nightstar-7dc8031d.mi.comcast.net] has joined #code |
22:09 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
22:22 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
22:22 | | mode/#code [+o himi] by ChanServ |
22:42 | | ErikMesoy is now known as ErikMesoy|sleep |
22:51 | | Turaiel[MARC] is now known as Turaiel |
22:52 | | Turaiel is now known as Tur|SortaMARC |
23:09 | | Derakon is now known as Derakon[AFK] |
23:48 | | Typh|offline is now known as Typherix |
23:55 | | Tur|SortaMARC is now known as Turaiel[MARC] |
--- Log closed Sat Jun 22 00:00:13 2013 |