--- Log opened Mon Nov 07 00:00:31 2011 |
00:22 | | Bob_work [NSwebIRC@Nightstar-f9f2b179.static.qwest.net] has quit [[NS] Quit: Page closed] |
00:32 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!] |
00:33 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code |
00:58 | | kw|GO_PACKERS is now known as kwsn |
01:09 | | You're now known as TheWatcher[T-2] |
01:10 | | Attilla [Obsolete@Nightstar-f29f718d.cable.virginmedia.com] has quit [Ping timeout: 121 seconds] |
01:14 | | You're now known as TheWatcher[zZzZ] |
01:17 | < sshine> | hmm |
01:22 | < sshine> | I'm having issues with LL(1) parsing. |
01:35 | | Kindamoody[zZz] is now known as Kindamoody |
01:52 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
02:35 | < ToxicFrog> | Welp. Done initial pass. |
02:35 | < ToxicFrog> | Of the thirteen assignments submitted: |
02:35 | < ToxicFrog> | - five work fine |
02:35 | < ToxicFrog> | - one almost works |
02:36 | < ToxicFrog> | - two run but give wildly incorrect results; one of those takes an hour and a half to do so (note: typical runtime for this program is <30s) |
02:36 | < ToxicFrog> | - two segfault |
02:36 | < ToxicFrog> | - two fail to build due to build system issues |
02:36 | < ToxicFrog> | - and one fails to build because they forgot to submit the source code |
02:36 | <~Vornicus> What's the assignment? |
02:37 | < Derakon> | Hello World~ |
02:41 | < ToxicFrog> | Vornicus: given: a directory of small bitmaps, and a directory of smaller bitmaps. |
02:42 | < ToxicFrog> | foreach small bitmap: report all coordinates at which one of the smaller bitmaps occurs (including 90/180/270 degree rotations thereof) in this bitmap |
02:43 | < ToxicFrog> | Implementation constraints: pthreads is the only threading library available. Use all sixteen cores or suffer greatly. |
02:44 | | * Vornicus thinks about that problem. |
02:44 | <~Vornicus> I'm not entirely certain how I'd do that. Do reflections count too? |
02:45 | < Derakon> | Any intention that they use some kind of intelligent pattern matching, or is it "for each pixel, for each rotation, try each smaller bitmap"? |
02:45 | < Derakon> | s/rotation/rotation that fits/ |
02:45 | <~Vornicus> And are the small bitmaps sprites, in that they can take on the background? |
02:45 | < Namegduf> | Working gets some marks, working smarter gives more, or would if more than a few would manage to work? :P |
02:46 | < ToxicFrog> | Derakon: intelligent pattern matching is permitted but not required; what this is meant to be exercising is parallel algorithm design in general and use of pthreads in specific. |
02:46 | < Derakon> | I guess you could convert the images into 1D arrays, pre-convert each rotation of the smaller bitmaps to similar, and then do substring searches. |
02:46 | | * Derakon nods. |
02:46 | < ToxicFrog> | It's a computationally intensive but not particularly complicated task that parallelizes well. |
02:46 | < ToxicFrog> | If they want to get clever about it, well, there are small bonuses for the three fastest implementations...but they're strongly encouraged to make it working fast, and make it clever only if they have time after that. |
02:47 | < ToxicFrog> | s/fast/first/ |
02:47 | < ToxicFrog> | Vornicus: reflections do not count, only rotations. I'm not sure what you mean about sprites. |
02:47 | < ToxicFrog> | They're bitmaps, patterns of black-and-white pixels. |
02:47 | <~Vornicus> AH |
02:47 | <~Vornicus> er, ah |
02:47 | <~Vornicus> But what I meant was |
02:48 | < ToxicFrog> | It's basically 2d substring search with a 1-bit character set. |
02:48 | <~Vornicus> If I had a picture of Mario on offer, would i have to be able to find him both in front of sky and in front of those weird trees? |
02:49 | <~Vornicus> obviously since this is bitmaps, the answer is no, but |
02:49 | < Derakon> | I think he's saying, "could you consider the smaller bitmaps to be sprites that might exist in the larger bitmaps". |
02:49 | < ToxicFrog> | Now I understand what you're asking even less. |
02:49 | < Derakon> | And the answer would be, only if the larger bitmaps did not have a background layer. |
02:49 | < Derakon> | There's no transparency here. |
02:49 | < ToxicFrog> | "here is a large bitmap. Here is a bunch of smaller bitmaps. Do any of the smaller bitmaps occur as subregions of the larger one? If so, where?" |
02:50 | <~Vornicus> TF: right, I was thinking .bmp, not "bitmap" |
02:50 | < ToxicFrog> | Right |
02:51 | <~Vornicus> So the question morphed in my mind to "how many goombas are in this picture" |
02:51 | < ToxicFrog> | Yeah, that would be the equivalent for BMPs or any other pixmap. |
02:51 | < ToxicFrog> | "here is a picture of a goomba. Here is a screen from Mario. Are there any goombas in this picture? If so, how many and where?" |
02:52 | < Derakon> | That, to me, implies either an alpha channel, or sprites that are filled rectangles. |
02:53 | <~Vornicus> Just so. |
02:53 | <~Vornicus> Anyway. |
02:55 | <~Vornicus> Knuth-etc substring search with some ridiculous paralleliza... oh, shit, now I see the per-target image trick. |
02:59 | < ToxicFrog> | In this case even brute-force substring search will get you full marks as long as it's parallelized well. |
03:04 | < Namegduf> | It seems relatively easy to do |
03:04 | < Namegduf> | In this case you can simply partition the dataset |
03:05 | < Derakon> | You have two read-only sets of memory -- the string and the substrings. |
03:05 | < Derakon> | Depending on how much of each you have, you could load each string in a separate thread, or assign a thread for each substring... |
03:06 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code |
03:06 | < Derakon> | I suspect the former would probably be better since in the latter case you'd be constantly creating/destroying threads. |
03:06 | < Namegduf> | You could also create a "work pool" |
03:06 | < Namegduf> | Then dispatch checks across it |
03:06 | < ToxicFrog> | Yeah, there's lots of ways to parallelize this. |
03:07 | < Namegduf> | Nothing hard. |
03:07 | < ToxicFrog> | And indeed students are encouraged to try several and do science to determine which is best under what conditions. |
03:07 | < Namegduf> | Haha. |
03:07 | < Derakon> | But first they are encouraged to make a working solution~ |
03:09 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: Z?] |
--- Log closed Mon Nov 07 03:15:22 2011 |
--- Log opened Mon Nov 07 03:15:30 2011 |
03:15 | | TheWatcher[zZzZ] [chris@Nightstar-3762b576.co.uk] has joined #code |
03:15 | | Irssi: #code: Total of 24 nicks [0 ops, 0 halfops, 0 voices, 24 normal] |
03:16 | | Irssi: Join to #code was synced in 49 secs |
03:17 | < ToxicFrog> | Namegduf: yep. |
03:18 | < Namegduf> | Is that to the failing them bit? |
03:19 | < Namegduf> | Or the "improvements needed early" bit? |
03:20 | < ToxicFrog> | Both. |
03:25 | | * Vornicus doesn't know pthreads at all though |
03:25 | < ToxicFrog> | Vornicus: it's not terribly complicated at the level needed for this and furthermore they were exposed to it last year during the operating systems course. |
03:25 | < ToxicFrog> | And I am, really, kind of worried. |
03:26 | < Namegduf> | Welcome to CS students today. |
03:26 | < ToxicFrog> | I figure that the two most likely causes of abject failure are (a) lack of ability and (b) lack of giving a shit. |
03:26 | < Namegduf> | I would know, I had to *work* with these people. |
03:26 | < ToxicFrog> | But this is a third-year course (which should have taken care of (a)) and an elective (which should have taken care of (b)). |
03:26 | < ToxicFrog> | And it didn't go nearly as badly last year, although last year it was a fourth-year special topics course. |
03:27 | < ToxicFrog> | My most charitable guess is that, since it's moved to third year, that means most of the students are taking it concurrently with CIS*3750, which is if anything more brutal than its already terrifying reputation suggests. |
03:28 | < ToxicFrog> | 3750 doesn't leave a lot of cycles to spare for anything that isn't 3750. |
03:28 | < Namegduf> | What is it? |
03:29 | < ToxicFrog> | I forget the actual course name, but basically it's "design and build a medium-sized interactive program in a group of 3-4" |
03:29 | < ToxicFrog> | It's an 0.75 credit course to start with, compounded by the fact that: |
03:29 | < Namegduf> | Ouch. |
03:29 | < ToxicFrog> | - at least one group member will be dead weight, so it's more like 1.0+ credits of workload |
03:30 | < Namegduf> | Do you murder them with piles of paperwork? |
03:30 | <~Vornicus> I never had a successful group in any college class ever. |
03:30 | < ToxicFrog> | - version control is suggested but not required in most earlier courses, which means that unless you're very lucky half the team won't even know what it is, which makes collaboration a bitch |
03:30 | < ToxicFrog> | - it's probably in Java |
03:31 | < ToxicFrog> | Vornicus: I have, and oddly enough, 3070 was one of them. It was nightmarish for me for entirely separate reasons. |
03:31 | <~Vornicus> Stuff like, my email would get junked by other students. |
03:32 | < ToxicFrog> | (one of which was taking it concurrently with Language Theory & Compilers, which was, starting the next year, split into two courses at the 3rd and 4th year levels rather than being a single 3rd year course) |
03:32 | <~Vornicus> Or in one spectacular case, my partner /dropped out of school without telling anyone/. |
03:32 | < Tamber> | ...Fun. |
03:32 | < Namegduf> | I remember explaining the design to someone. |
03:32 | < Namegduf> | Then explaining it again. |
03:32 | < Namegduf> | Then again. |
03:33 | <~Vornicus> Then there was the time I missed the group presentation because I went to the hospital with chest pains. TUrned out I'd done something untoward to my ribs coughing. |
03:33 | < Namegduf> | They created a diagram. |
03:33 | < Namegduf> | It made no sense. |
03:33 | < Namegduf> | I tried again. |
03:33 | < Namegduf> | It became increasingly obvious that whenever I stopped talking they just substituted what they preferred to be true for what I said, and said preference didn't actually make technical sense. |
03:33 | < Namegduf> | They wrote JSON as Jason on the accompanying presentation. |
03:35 | < ToxicFrog> | Yeah, I have been lucky in that in pretty much every group course I've taken, there was at least one other competent, sane person in the group and were able to keep the incompetents from doing any damage beyond the time damage of them not contributing. |
03:36 | < Namegduf> | Yeah, I didn't have that luck. |
03:37 | < ToxicFrog> | (there was one where the entire group was competent!) |
03:39 | < Namegduf> | Aside that specific group, things were mostly okay. I still have a grudge against the university administration for 1) Not failing these people. 2) Organising groups to put people with lower marks with people with higher marks. |
03:39 | < ToxicFrog> | (then there was the one where while two of us were pulling all-nighter lab sessions to get the fucking hardware and software working, the third who was meant to be working on the documentation was apparently wanking in the bathroom for three days or something, because he sure as well wasn't doing any work) |
03:40 | < Namegduf> | Which pissed me off because it meant I got deliberately stuck with an above average number of incompetents. |
03:40 | < ToxicFrog> | (hell, he didn't even have the automatically generated parts of the documentation done, and creating that basically consists of "push the button") |
03:47 | < ToxicFrog> | Anyways. I hope it's just people getting bogged down in 3750, because otherwise a whooooole lot of people passed CIS*1500 who shouldn't have. |
03:50 | < Namegduf> | Is 3750 worth a lot more? |
03:51 | < ToxicFrog> | 3750 is worth 0.75 (compared to 0.5 for most courses, including this one) and is also degree-mandatory. |
03:51 | < Namegduf> | Okay. |
03:57 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
04:10 | | Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has quit [[NS] Quit: Leaving] |
04:12 | | Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has joined #code |
04:25 | | Kindamoody is now known as Kindamoody|out |
04:53 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code |
04:55 | | Reivles [orthia@8B2D21.A73175.BC355D.36D4DD] has joined #code |
05:30 | | Rhamphoryncus [rhamph@Nightstar-14eb6405.abhsia.telus.net] has joined #code |
05:50 | < Derakon> | Oh yeah, I know this problem. http://xkcd.com/ |
05:50 | < Derakon> | Also the alt text. |
05:53 | | ErikMesoy|sleep is now known as ErikMesoy |
06:31 | | Stalker [Z@2C3C9C.B2A300.F245DE.859909] has quit [Ping timeout: 121 seconds] |
06:33 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Client closed the connection] |
06:40 | | Derakon is now known as Derakon[AFK] |
--- Log closed Mon Nov 07 07:10:24 2011 |
--- Log opened Mon Nov 07 07:10:32 2011 |
07:10 | | TheWatcher[zZzZ] [chris@Nightstar-3762b576.co.uk] has joined #code |
07:10 | | Irssi: #code: Total of 23 nicks [0 ops, 0 halfops, 0 voices, 23 normal] |
07:11 | | Irssi: Join to #code was synced in 49 secs |
07:34 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
09:38 | | You're now known as TheWatcher |
09:53 | | Attilla [Obsolete@Nightstar-f29f718d.cable.virginmedia.com] has joined #code |
10:24 | | AnnoDomini [annodomini@FFB3F3.4C5BE8.2014E2.DC0864] has joined #code |
10:34 | | Reivles [orthia@8B2D21.A73175.BC355D.36D4DD] has quit [Ping timeout: 121 seconds] |
11:10 | | AnnoDomini [annodomini@FFB3F3.4C5BE8.2014E2.DC0864] has quit [[NS] Quit: Reconnecting] |
11:10 | | AnnoDomini [annodomini@FFB3F3.4C5BE8.2014E2.DC0864] has joined #code |
11:15 | | AnnoDomini [annodomini@FFB3F3.4C5BE8.2014E2.DC0864] has quit [[NS] Quit: Reconnecting] |
11:15 | | AnnoDomini [annodomini@FFB3F3.4C5BE8.2014E2.DC0864] has joined #code |
11:30 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
11:50 | | Attilla [Obsolete@Nightstar-f29f718d.cable.virginmedia.com] has quit [Ping timeout: 121 seconds] |
12:06 | | Kindamoody|out is now known as Kindamoody |
12:24 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code |
12:38 | < sshine> | these parser combinators behave unexpectedly! |
12:39 | < sshine> | par (many int) "1 2 3 4 5" works |
12:39 | < sshine> | par (between (symbol "foo") (symbol "bar") (many int)) "foo 1 2 3 4 5 bar" works, too |
12:40 | < sshine> | hm, my problem seems to be that my grammar isn't LL(1) and that I don't have extra backtracking in the right places. |
12:49 | | Attilla [Obsolete@Nightstar-f29f718d.cable.virginmedia.com] has joined #code |
12:50 | | Kindamoody is now known as Kindamoody|out |
13:01 | < sshine> | so... par (between (symbol "foo") (symbol "bar") (many letter)) "foo bleh bar" doesn't work |
13:02 | < sshine> | since many letter will eagerly try to match bar, will fail and won't backtrack |
13:53 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
13:57 | | AnnoDomini [annodomini@FFB3F3.4C5BE8.2014E2.DC0864] has quit [[NS] Quit: Away!] |
14:19 | | Namegduf [namegduf@Nightstar-5c10d129.beshir.org] has quit [Operation timed out] |
14:22 | | Namegduf [namegduf@Nightstar-5c10d129.beshir.org] has joined #code |
15:04 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
15:22 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
15:22 | | Bobsentme [Bobsentme@Nightstar-93b4feb0.try.wideopenwest.com] has joined #code |
15:23 | < Bobsentme> | My program works, and now I have build a UML document for it. |
15:23 | < gnolam> | Ugh. |
15:24 | < Bobsentme> | Also: almost 300 lineso of code....to take in a text file, output it to JOptionPane windows, check the answers, and output a score. Is that normal for Java? |
15:24 | < celticminstrel> | UML, urgh. |
15:25 | < kwsn> | ew... |
15:25 | < ToxicFrog> | Bobsentme: if anything that's short~ |
15:25 | < ToxicFrog> | Java is a remarkably verbose and tedious language. |
15:25 | < Bobsentme> | TF: In that case...YAY! |
15:26 | < Bobsentme> | Also: That's just the main class. There's a whole other class file for the ArrayList and...yeah. ugh. |
15:27 | < ToxicFrog> | ArrayList<> should be a builtin class |
15:29 | < Bobsentme> | It's in a differnt class file. |
15:31 | | * TheWatcher eyes |
15:31 | < ToxicFrog> | Er |
15:31 | < ToxicFrog> | My point is that it shouldn't be in a file at all, java.util.ArrayList is a built in feature of the language |
15:31 | < ToxicFrog> | You should not need to write your own |
15:33 | < ToxicFrog> | Unless you mean "the code that manages the ArrayList I'm using is its own class" |
15:39 | < TheWatcher> | Doesn't javadoc generate uml diagrams yet? |
15:39 | < Tamber> | That part of it collapsed into itself because it got so big and bloated. |
15:39 | < Bobsentme> | TF: Yes, the code that manages my arraylist is in it's own class" |
15:40 | < TheWatcher> | Tamber: weird, hasn't happened to the /rest/ of java~ |
15:40 | < Tamber> | Shame, isn't it? ;) |
15:40 | < Bobsentme> | hehe |
16:41 | | Stalker [Z@Nightstar-5aa18eaf.balk.dk] has joined #code |
16:46 | | Kindamoody|out is now known as Kindamoody |
17:36 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Client closed the connection] |
18:02 | | Rhamphoryncus [rhamph@Nightstar-14eb6405.abhsia.telus.net] has joined #code |
19:11 | | Kindamoody is now known as Kindamoody[zZz] |
19:37 | < sshine> | Bobsentme, you could probably do it with less. |
19:38 | < McMartin> | I prefer "there are some depths to which Java refuses to sink" |
19:38 | < McMartin> | Someone actually gave me a copy of "UML for Java programmers" |
19:38 | < McMartin> | 75% of the book is basically restatements of "don't" |
19:39 | < sshine> | McMartin, I never thought buoyancy metaphorically would be a bad thing. |
19:39 | < sshine> | hmm, I've got this pattern in my haskell code that's rather ugly. |
19:41 | < sshine> | if I've got a type Foo and a type Bar, and Foo is a record that contains Bar, and I want to update some bar within a foo, I do app_foo f foo = foo { bar = f $ bar foo } |
19:42 | < sshine> | I don't know if it's because I should really be pattern matching, or if maybe I could fmap my way to the bar. |
20:20 | < jerith> | McMartin: Still, Java programmers are using 25% too much UML.~ |
20:21 | < McMartin> | jerith: The remaining 25% was for "how to deal with someone who's using it on a whiteboard"~ |
20:21 | < Pandemic> | a shotgun? |
20:22 | < Tamber> | Cricket bat. |
20:22 | < Pandemic> | should cut down on the whiteboard usage |
20:22 | < McMartin> | Heh |
20:22 | < McMartin> | I think the idea was "if you have to draw a class hierarchy, there will be people who use this format, you should know it" |
20:22 | < jerith> | The Object Management Group needs a Web Task Force. |
20:22 | < McMartin> | It does. |
20:22 | < McMartin> | I've said this many a time. |
20:22 | < jerith> | You have indeed. |
20:22 | < McMartin> | And then they should have weekly barbeques. |
20:22 | < McMartin> | At duck ponds. |
20:22 | < jerith> | Duck ponds? |
20:23 | < McMartin> | omgwtfbbquack |
20:23 | < jerith> | UML sequence diagrams are actually pretty handy. |
20:23 | < jerith> | Ah, right. |
20:23 | < Pandemic> | hehehehe |
20:24 | | * jerith has never seen the -uack suffix. |
20:24 | | * Pandemic has heard the echo of a quack |
20:24 | < McMartin> | QUACK DAMN YOU |
20:24 | < Pandemic> | lol |
20:24 | | * Pandemic roflmao |
20:41 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
--- Log closed Mon Nov 07 21:26:48 2011 |
--- Log opened Mon Nov 07 21:27:01 2011 |
21:27 | | TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code |
21:27 | | Irssi: #code: Total of 28 nicks [0 ops, 0 halfops, 0 voices, 28 normal] |
21:27 | | Irssi: Join to #code was synced in 48 secs |
22:25 | | ErikMesoy is now known as ErikMesoy|sleep |
--- Log closed Tue Nov 08 00:00:46 2011 |