--- Log opened Wed Jul 02 00:00:16 2014 |
00:22 | | Orthia [orthianz@Nightstar-s5d.ntf.224.119.IP] has quit [Ping timeout: 121 seconds] |
00:22 | | Orthia [orthianz@Nightstar-s5d.ntf.224.119.IP] has joined #code |
00:23 | | mode/#code [+o Orthia] by ChanServ |
00:38 | | RchrdBrrll [RichardB@Nightstar-qe9.aug.187.81.IP] has quit [[NS] Quit: This computer has gone to sleep] |
00:39 | | RchrdBrrll [RichardB@Nightstar-qe9.aug.187.81.IP] has joined #code |
00:39 | | RchrdBrrll [RichardB@Nightstar-qe9.aug.187.81.IP] has quit [[NS] Quit: Leaving] |
00:44 | | Derakon[AFK] is now known as Derakon |
00:45 | | HotShot [HotShot@Nightstar-v7se27.try.wideopenwest.com] has quit [Connection closed] |
01:11 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
01:54 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has joined #code |
01:54 | | mode/#code [+o himi] by ChanServ |
02:30 | | Derakon is now known as Derakon[AFK] |
02:46 | | Turaiel[Offline] is now known as Turaiel |
03:04 | | Derakon[AFK] is now known as Derakon |
04:21 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
04:25 | | Kindamoody[zZz] is now known as Kindamoody |
05:02 | | Derakon is now known as Derakon[AFK] |
05:21 | | Typherix [Typherix@Nightstar-n91qrf.lnngmi.sbcglobal.net] has quit [Operation timed out] |
05:27 | | Typherix [Typherix@Nightstar-n91qrf.lnngmi.sbcglobal.net] has joined #code |
05:31 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code |
05:47 | | Kindamoody is now known as Kindamoody|afk |
06:02 | | RchrdB [RichardB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.] |
06:08 | | Xires is now known as ^Xires |
06:14 | | RchrdB [RichardB@Nightstar-c6u.vd5.170.83.IP] has joined #code |
06:23 | | Turaiel is now known as Turaiel[Offline] |
07:08 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [[NS] Quit: BED] |
07:49 | | macdjord [macdjord@Nightstar-7rac1r.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
07:51 | | macdjord [macdjord@Nightstar-7rac1r.mc.videotron.ca] has joined #code |
07:51 | | mode/#code [+o macdjord] by ChanServ |
07:58 | | ^Xires is now known as Xires |
08:02 | | Xires is now known as ^Xires |
08:14 | | ^Xires is now known as Xires |
08:17 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has quit [Ping timeout: 121 seconds] |
08:40 | | macdjord is now known as macdjord|slep |
09:07 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Operation timed out] |
09:09 | | Syloq [Syloq@Nightstar-mbk.c3p.254.173.IP] has joined #code |
09:09 | | mode/#code [+o Syloq] by ChanServ |
10:17 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
10:21 | | RichardB_ [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
10:21 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has quit [Connection reset by peer] |
11:05 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
11:15 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
11:15 | | mode/#code [+o Checkmate] by ChanServ |
12:15 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
12:15 | | mode/#code [+o himi] by ChanServ |
12:25 | | RichardB_ [RichardB@Nightstar-952.jvr.168.194.IP] has quit [[NS] Quit: Leaving] |
12:28 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
12:48 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has quit [[NS] Quit: Leaving] |
12:51 | <@Azash> | https://github.com/mirrors/gcc/blob/7057506456ba18f080679b2fe55ec56ee90fd81c/gcc /reload.c#L1056-L1110 |
13:35 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
13:40 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
13:53 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
13:53 | | mode/#code [+o himi] by ChanServ |
14:16 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
14:29 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
14:29 | | mode/#code [+o himi] by ChanServ |
15:11 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
15:24 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
15:24 | | mode/#code [+o himi] by ChanServ |
15:30 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
15:43 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
15:43 | | mode/#code [+o himi] by ChanServ |
16:55 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
17:09 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
17:09 | | mode/#code [+o himi] by ChanServ |
17:55 | | Kindamoody|afk is now known as Kindamoody |
18:12 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
18:26 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
18:26 | | mode/#code [+o himi] by ChanServ |
19:04 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
19:17 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
19:17 | | mode/#code [+o himi] by ChanServ |
19:22 | | Kindamoody is now known as Kindamoody[zZz] |
20:12 | | * TheWatcher hates all over date handling in javascript |
20:34 | < [R]> | JS' Date object is sorely lacking yeah |
20:38 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
20:40 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has quit [[NS] Quit: Leaving] |
20:41 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
20:50 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
20:50 | | mode/#code [+o himi] by ChanServ |
21:44 | | gnolam_ [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has joined #code |
21:46 | | gnolam [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds] |
21:49 | | gnolam [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has joined #code |
21:49 | | mode/#code [+o gnolam] by ChanServ |
21:52 | | gnolam_ [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds] |
22:36 | | Derakon [MacPro@Nightstar-5fqf0m.ca.comcast.net] has joined #code |
22:36 | | mode/#code [+ao Derakon Derakon] by ChanServ |
22:36 | <&Derakon> | When I started working on this (Java) file, it was over 4500 lines long. |
22:36 | <&Derakon> | It is now 2800 lines long. |
22:37 | <&Derakon> | 400 of those were removing functions that are never called anywhere nor exposed in the API. |
22:37 | <&Derakon> | (The rest was mostly creating new files to hold code that wasn't directly related to the file's nominal purpose). |
22:40 | <&McMartin> | Yay, lava flow |
22:44 | <@Syloq> | dutch bros? |
22:50 | <@TheWatcher> | Dera: you had my sympathy at "(Java)"~ |
22:50 | <&McMartin> | Syloq: Eh? |
22:50 | <@TheWatcher> | (That said, I'm writing PHP. I think I need a good shower soon >.<) |
22:50 | < RchrdBrrll> | Docker seems to be really nice. I'm using boot2docker on a Mac right now and it's just trivial to have dozens of random Linux distros available at about 2000ms notice. |
22:51 | <&McMartin> | RchrdBrrll: Neat. Is that going through some kind of VM or is it a super-bootcamp? |
22:51 | | * Derakon sad-high-fives TW. |
22:51 | <&McMartin> | Derakon: The perils of an "organic" code base |
22:51 | < RchrdBrrll> | boot2docker is a Mac app that installs VirtualBox and boots up a Linux image in it. |
22:51 | <&McMartin> | Aha, gotcha |
22:52 | <&Derakon> | McM: the perils of a codebase where none of the prior developers had any fucking discipline, more like. |
22:52 | <&Derakon> | Well. My coworker is good. But he's just one man. |
22:52 | <&McMartin> | Right, I was going to say |
22:52 | <&McMartin> | It takes more than that |
22:52 | <&McMartin> | You need an icy-uncompromising vision, maintained inflexibly over turnover and over years |
22:52 | < RchrdBrrll> | so there's one "real" virtual machine, which is just running a) the Linux kernel, b) the Docker daemon, c) fuck all, because I think it's running atop TinyCore Linux. |
22:52 | <&McMartin> | Or refactoring your entire, hundreds-of-KLOC codebase every time fashions change |
22:52 | <&Derakon> | I would settle for people going "Y'know what? This code doesn't need to go into the One Module That Does Everything". |
22:53 | <&McMartin> | Heh. |
22:53 | <&Derakon> | This is not "design paradigms change", this is "people are lazy gits". |
22:53 | <&McMartin> | Yyeah. |
22:53 | <&McMartin> | We have, like, five do-everything classes in our codebase. |
22:53 | <&McMartin> | I want to fix that, and I have the seniority to attempt to do so and make it stick |
22:53 | <&Derakon> | Good luck! |
22:53 | <&McMartin> | But all my attempts to reorganize it on paper only make it worse |
22:54 | <&McMartin> | Also, if you have five God classes, that's a sign that maybe you don't have any =P |
22:54 | <&McMartin> | I know what I want the process and thread breakdown to look like, and a rough idea of what communication between them should look like. |
22:54 | <&McMartin> | But then the message-processor class becomes the new god class |
22:55 | <&Derakon> | As long as it's a smaller god class. |
22:55 | <&Derakon> | At 2800 lines this is still the biggest Java module in this project by a wide margin; just not quite as wide. |
22:55 | <&McMartin> | But (in extremis) A thousand tiny classes with one (identical) method each is not IMO preferable to a class with a thousand methods, and both mean you should be doing something else. |
22:55 | <@TheWatcher> | And watch out for god classes you have overlooked. You don't want to find out that the Mad Arab was right~ |
22:55 | <&McMartin> | Of course, if the spec is "we have these thousand problems to solve" that has to show up somewhere. |
22:56 | | * gnolam now gets the urge to coin the phrase "polytheistic code". |
22:56 | < RchrdBrrll> | You *almost* have already. You merely need to give a definition. |
22:56 | <&McMartin> | Yeah, before the last cut at refactoring we had a source file so large Trac refused to display it. |
22:56 | <@TheWatcher> | And technoagnosticism is not knowing whether you really have a god class... |
22:57 | <&Derakon> | McM: ;_; |
22:57 | <&McMartin> | Whoever refactored that did so by producing multiple classes with the same hugely unwieldy interface and just forwarding some behavior to those others. |
22:57 | <&McMartin> | That made it display in Trac! |
22:57 | <&McMartin> | But, like, we aren't Java |
22:57 | <&McMartin> | That actually means that I can't *immediately* wipe out the notion of "class with like a thousand methods", because there's nothing at all that says that we have to put those methods in one file. |
22:58 | <&McMartin> | Or have them cost anything at runtime that wouldn't be paid by having them as, you know, C functions. |
22:58 | <&McMartin> | A non-virtual class method at runtime is basically a C function with one extra argument and better namespace management |
22:58 | <@gnolam> | Stub-Niggurath, the black class of the woods with a thousand methods. |
22:58 | <&McMartin> | Hooray! |
22:58 | <@TheWatcher> | IA, Ia, ShubNiggurath... damnit |
22:59 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
23:01 | <&McMartin> | Unfortunately for me, I do not believe I'm going to succeed in levels of code reduction that Derakon is getting. |
23:01 | <&McMartin> | We've got a lot of, if not thousands-of-methods, at least over-a-hundred-method classes where I know for a fact that each function is live and crucial to some workflow. |
23:02 | <&McMartin> | So this is basically re-pigeonhole based on what state is shared as a first cut, I think, but I have a sinking feeling that gives you the god class again unless you add new ways to communicate between them. |
23:07 | | gnolam_ [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has joined #code |
23:08 | | gnolam [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has quit [NickServ (RECOVER command used by gnolam_)] |
23:08 | | gnolam_ is now known as gnolam |
23:08 | | mode/#code [+o gnolam] by ChanServ |
23:12 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
23:13 | | mode/#code [+o himi] by ChanServ |
23:13 | | * TheWatcher eyes the MediaWiki style guide |
23:18 | <@TheWatcher> | They have spaces all over the place, except for $obj->method (where I always include spaces). This is messing with my head. |
23:20 | | gnolam_ [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has joined #code |
23:21 | <&Derakon> | TW: you'd do "$obj -> method"? |
23:21 | <&McMartin> | Where do the spaces go in $obj->method? |
23:21 | <@TheWatcher> | Dera: yeah |
23:21 | <&Derakon> | Not what I'd do, but okay. |
23:21 | <&Derakon> | The one that gets me is when people do "foo (a, b)" or even worse "foo( a, b)". |
23:22 | <&McMartin> | I end up doing foo (a, b) by reflex in C but nowhere else, and I think it's UQM's fault. |
23:22 | | gnolam [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds] |
23:22 | <@Reiv> | I use foo(a, b) |
23:22 | <&McMartin> | Yes, that is the right thing to do |
23:22 | <@Reiv> | Oh, good. |
23:22 | <@Reiv> | I had no idea~ |
23:23 | <&McMartin> | it should be if (a < b) and while (a < b) but not foo (a, b), becuase foo is not a keyword or statement type, foo(a, b) is a function invocation and as such a single unit |
23:23 | | * Julius consistently does "foo (a, b) {". |
23:23 | <&McMartin> | I like doing |
23:23 | <&McMartin> | return_type |
23:23 | <&McMartin> | foo(int a, int b) |
23:23 | <&McMartin> | Because that way I can find definition locations with grep trivially |
23:24 | <&McMartin> | By grepping for ^foo |
23:24 | <&Derakon> | Ah, nice. |
23:24 | <&Derakon> | In Java I end up searching for "public|private.*foo" which isn't so great. |
23:24 | <&Derakon> | I really miss Python's "def" keyword :( |
23:24 | <&McMartin> | Heh |
23:25 | <&McMartin> | Yeah, and then this is one place where Java's refusal to have header files is an advantage |
23:25 | <&McMartin> | You don't have to distinguish declaration from definition |
23:34 | | Derakon [MacPro@Nightstar-5fqf0m.ca.comcast.net] has quit [[NS] Quit: leaving] |
23:35 | | gnolam_ is now known as gnolam |
23:35 | | mode/#code [+o gnolam] by ChanServ |
--- Log closed Thu Jul 03 00:00:31 2014 |