code logs -> 2013 -> Fri, 21 Jun 2013< code.20130620.log - code.20130622.log >
--- 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
code logs -> 2013 -> Fri, 21 Jun 2013< code.20130620.log - code.20130622.log >

[ Latest log file ]