[00:02:09] So, wait. There are php files that contain more than one class? [00:02:28] that's. . . horrifying. [00:02:39] there are quite a few that do [00:02:56] Java allows for it but no sane developer does that. [00:03:09] in fact, it's like, day one, lesson two. "never do this." [00:03:15] hahaha [00:03:42] i can understand some sort of OCD impulse to "de clutter" a directory. [00:03:59] but you really shouldn't be looking at your codebase like it's a series of files, or even think of it as files. [00:04:05] that way lies madness. [00:04:32] indeed [00:04:53] i have nothing against having to grep around for something [00:05:12] but i really dislike the inconsistency of haivng like 85% of your classes in single files [00:05:23] and the rest are buried [00:05:29] that way also lies madness. [00:05:36] if i am looking at a .java file, and i see something like "org.mediawiki.foo.bar.Baz", I know *exactly* how to find Baz.class. [00:05:44] yes [00:05:48] and that is how it should be. [00:06:17] but everytime I've fucked around in php mediawiki, I have to go to the root directory and do: grep "class Baz" `find . -type f -name "*.php"` [00:06:21] or however. [00:06:24] having to search adds overhead. granted not a lot, but enough to disrupt my flow. particularly when i first look in the logical place for the file... [00:06:43] yeah it's redic [00:07:06] those searches are serious mental shifts, too. [00:07:14] yes! [00:07:18] small, but significant [00:07:49] which then goes to why I find programming java to be pleasant, relatively. with a good ide you don't even have to think. it'll just open the file for you. [00:08:14] "gotta edit this 'Baz' class". [00:09:05] whats interesting to me is that others on the team were making the point that with a decent IDE, you shouldn't have to care whether or not a class is in a single file or there are multiple classes within a file, therefore we should still allow multiple classes in a file [00:09:11] giving up emacs for an ide was like giving up my favorite dog for an unknown cat. but i ended up discovering that i liked cats over dogs. [00:09:18] lol [00:09:30] i've tried quite a few ides [00:09:37] i've never found one i like for php. [00:09:45] textmate and sublimetext came close to winning me over [00:09:46] but i don't think ide developers like php. [00:09:52] sublimetext is awesomesauce. [00:09:55] not many people do [00:10:00] sublimetext is indeed awesomesauce [00:10:12] i still found myself mostly using vim though [00:10:19] i know enough vi to compile emacs. [00:10:20] so i just gave up and use vim now [00:10:24] lol [00:10:30] sec. [00:12:28] class location in a directory structure is organization [00:12:50] and i think a coder's choice of IDE is very personal and we should allow for that. [00:13:01] +azillion [00:13:05] like a religion. [00:13:17] in your case, you don't use an IDE. [00:13:24] (i don't, either, with php) [00:14:11] my friend tague, who is the best programmer i have ever met in my life, used emacs as his IDE for java up until about 3 years ago. he had a workflow that worked for him. [00:14:46] (he also didn't suck, unlike me. an ide like eclipse shows me my errors before i try to do something like 'ant world') [00:15:29] heh i always found that kind of thing a double edged sword [00:16:28] i got to a point where i felt like that stuff got in my way, plus it's easy to get vim doing a lot of the basic nice things an IDE does like auto-closing parens/brackets for instance [00:17:07] see, and i *hate* that. the auto-coding. [00:17:25] i have a thing about muscle memory. [00:17:29] the only thing i like is auto-closing parens/brakcets, the rest drives me nuts [00:17:31] i use it to teach myself stuff. [00:17:35] that makes sense [00:18:04] back in, like, i dunno, 2005, Java collection objects had "generics". well. they mainstreamed. [00:18:14] and i had 200,000 lines of a game that *didn't* use generics. [00:18:39] Eclipse was all "yo dog! you want me to automatically update these things?" and i was all, "nah, i got this" [00:18:57] and i manually went through everything and did it by hand. just so that i would make it second nature to my thinking. [00:19:14] i can totally dig that [00:19:25] (you know what i'm talking about with generics, right?) [00:19:35] i don't think it's a php thing. [00:19:51] it's not - i've heard about it in regards to java but dont really know what it is [00:20:02] * awjr checks wikipedia [00:20:08] so, collections in java. List, Set, whatever. [00:20:37] you can define what goes into them. define the "generic". and it speeds errything up. [00:20:49] at runtime/compile time. [00:21:12] i see, basically some kind of type protection [00:21:24] exactly. Lists can only contain the same object types. [00:21:48] to help prevent you from f'ing up and causing errors later on [00:22:03] but there was no way to ensure that in the code. you'd do: List l = new ArrayList(); and then l.add(new Integer()); but later you could also l.add(new String("oops")); [00:22:34] // insert crash here [00:23:08] basically you type your List on creation to say "only will accept Integers". [00:23:55] yeah that makes sense [00:24:12] php dont care [00:24:42] blessing and curse. [00:24:44] mostly curse. [00:24:54] yeah. i used to love perl, right? [00:25:02] @_@ [00:25:04] and i hated c/c++ because of the strong typing. [00:25:34] then once i got into java's typing, i fell in love with it, and then went back to perl one day and i was all, "what fucking idiot thought *this* shit was a good idea?" [00:25:45] lol [00:25:50] i love this [00:25:51] http://perl.plover.com/obfuscated/ [00:26:02] this totally sums it up: "If you think you understand this program, but you can't explain @P, then you are mistaken, because @P is the central data structure of the entire program." [00:26:30] The string "1" is considered a fucking *integer*? DO YOU KNOW WHAT CTHULIAN NIGHTMARES YOU ARE SUMMONING? [00:26:47] hahahaha yay [00:26:47] i once got a job with one line of perl. [00:27:21] the dude (dan farmer) tried to give me a programming test, and he was "open a file filled with integers, read them, and sort them!" [00:27:45] so I started but then: { local undef $/; [00:27:52] and he was all 'okay, we're done, you get the job' [00:28:04] lol [00:28:16] nice. [00:28:19] (that undefines the EOL character) [00:28:35] it's a trick to pull all lines of a file into a single @array. [00:28:48] o_O [00:28:57] i feel like perl is ALL tricks [00:29:55] you'd do: my @numbers; my $file = "foo.txt"; { local undef $/; open(, $file); @numbers = ; close(); } sort(@numbers); [00:30:41] perl's entire object model is based on trickery. [00:31:01] i simultaneously appreciate and loathe it for that reason [00:31:04] it overloads the hashmap type and says that values can be functions. [00:31:21] it is both brilliant and idiotic at the same time. [00:32:58] http://en.wikipedia.org/wiki/Black_Perl [00:32:59] on that note, i think im gonna go be brilliant and idiotic at the same time on account of friday! [00:33:37] wow! [00:33:43] that's amazing [00:34:15] alright im outta here, have a great weekend everyone [00:34:16] it used to compile. i don't know if it does anymore. [00:34:18] laters [03:11:03] [Commons-iOS] montehurd opened pull request #42: About page. (master...aboutPage) http://git.io/QXvSxA [05:20:15] awjr_away: unsure, but if you're using Vim, are you using Command-T? [05:20:19] best file opener, ever :) [11:59:39] Oy! [12:01:01] Just learnt about http://www.pcmag.com/article2/0,2817,2417595,00.asp [13:54:41] "welcome to THE free wikipedia app" [17:34:06] * jerith sends Kul and Dan out to a remote location to look at stars. [17:37:00] Ah, yurik_ is in here. [17:39:02] he's always [17:39:09] but idk, whe's usually not in here when he has a tail [17:40:07] I think he's out trying to find a Salsa club or something. [17:40:17] Or maybe he'll do that later. [17:42:36] haha