--- Log opened Thu Sep 20 00:00:53 2012 |
00:02 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
00:44 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code |
00:46 | | Derakon[AFK] is now known as Derakon |
00:48 | | You're now known as TheWatcher[T-2] |
00:52 | | You're now known as TheWatcher[zZzZ] |
01:30 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
01:30 | | mode/#code [+o himi] by ChanServ |
01:46 | | cpux|2 is now known as cpux |
02:10 | | Attilla [Obsolete@Nightstar-2ddcc2f3.as43234.net] has quit [Ping timeout: 121 seconds] |
02:30 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
02:31 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
06:48 | | Derakon is now known as Derakon[AFK] |
07:00 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
07:54 | < Rhamphoryncus> | On an entertainment per time spent basis that was one of the worst xkcd's ever |
09:00 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Operation timed out] |
09:00 | < AnnoDomini> | Yep. |
09:03 | | You're now known as TheWatcher |
09:37 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
09:48 | | Attilla [Obsolete@Nightstar-2ddcc2f3.as43234.net] has joined #code |
10:06 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
10:52 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving] |
10:55 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
10:59 | < RichyB> | I'm really glad we don't use VirtualBox for servers. |
11:04 | <@TheWatcher> | ? |
11:05 | < AnnoDomini> | +anymore? :P |
11:06 | <@TheWatcher> | (I'm actually surprised and pleased - I've been running this virtualbox desktop for 2 days, 15 hours and the horrible net and graphics lag I was getting in 4.1 seems to have stopped in 4.2 |
11:06 | <@TheWatcher> | ) |
11:06 | < RichyB> | AnnoDomini: no. |
11:07 | < RichyB> | TheWatcher: the CentOS guest that I'm running shits its trousers (and has to be reverted to a clean snapshot) if the host machine does any disk IO. |
11:07 | <@TheWatcher> | ... |
11:07 | <@TheWatcher> | wat |
11:07 | < RichyB> | Yeah. |
11:08 | < RichyB> | The guest throws errors because its I/O requests are taking too long and it assumes that it's because the disk is broken. |
11:08 | < RichyB> | Actually it's because I'm, say, grepping a huge tree or something. |
11:09 | <@TheWatcher> | (and in all honesty, I'd be equally tempted to blame CentOS for that as VBox, but then I have a long standing hate/hate relationship with centos) |
11:10 | < RichyB> | Probably CentOS has the "assume that disks must be broken after this long an IO wait" timeout tuned aggressively. |
11:14 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
11:14 | | mode/#code [+o himi] by ChanServ |
11:15 | <@TheWatcher> | (I run a gentoo guest in a winxp host, have no IO problems, just the previously mentioned 48+hour lag, which is hopefully gone now) |
12:30 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has quit [[NS] Quit: brb] |
12:47 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code |
12:47 | | mode/#code [+o Alek] by ChanServ |
13:31 | < froztbyte> | RichyB: yeah, the rhel family has some .... weird .... default timings on storage subsystems |
13:31 | < RichyB> | It was at 30 seconds on SCSI. |
13:31 | < RichyB> | I put a udev rule in the guest that bumps it up to 300 seconds. |
13:32 | < froztbyte> | our one rhel6 db pair that a customer wanted takes up to 35min to boot if the not-immediately-used SAN resources aren't available on boot |
13:32 | < froztbyte> | well, s/available/ready/ |
13:43 | | Attilla [Obsolete@Nightstar-2ddcc2f3.as43234.net] has quit [Ping timeout: 121 seconds] |
13:46 | < gnolam> | ... hee, that sentence was better when I parsed "SAN" as "sanity". |
13:47 | < froztbyte> | hahaha |
13:48 | | * TheWatcher swears, realises he needs to completely reqrite part of this system because of a bloody new feature request |
13:49 | | Attilla [Obsolete@Nightstar-15902806.as43234.net] has joined #code |
14:03 | | * TheWatcher eyes this seminar announcement |
14:03 | <@TheWatcher> | " # Get the posted timestamp of the initial post |
14:03 | <@TheWatcher> | if($startid) { |
14:03 | <@TheWatcher> | my $timeh = $self -> {"dbh"} -> prepare("SELECT created FROM `".$self -> {"settings"} -> {"database"} -> {"feature::news"}."` |
14:03 | <@TheWatcher> | WHERE id = ?"); |
14:03 | <@TheWatcher> | $timeh -> execute($startid) |
14:03 | <@TheWatcher> | or return $self -> self_error("Unable to fetch post create time ($courseid, $startid, $count): ".$self -> {"dbh"} -> errstr); |
14:03 | <@TheWatcher> | my $time = $timeh -> fetchrow_arrayref() |
14:03 | <@TheWatcher> | or return $self -> self_error("Attempt to fetch creation time for non-existent news post $startid"); |
14:03 | <@TheWatcher> | $starttime = $time -> [0]; |
14:03 | <@TheWatcher> | } |
14:03 | <@TheWatcher> | Gah, stupid clipboard |
14:04 | <@TheWatcher> | Try that again: "Financial Modelling Case Studies on GPU, Cloud & FPGA Implementations: Case Studies in Acceleration of the Heston Stochastic Volatility Financial Engineering Model" |
14:06 | <@TheWatcher> | The actual description of it makes me O.o even more, as the summary goes into the implementation details. |
14:08 | <@TheWatcher> | I think I'll probably be giving that one a miss - any technique that has more than four words in its title is going to be either a) utterly whacked, or b) painful. |
14:41 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [Operation timed out] |
14:57 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
16:12 | < iospace> | oh testing scrips |
16:12 | < iospace> | *scripts |
16:12 | < iospace> | you make my life easier and hard all the same |
16:20 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
16:23 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
17:40 | | Derakon[AFK] is now known as Derakon |
17:40 | | mode/#code [+ao Derakon Derakon] by ChanServ |
18:25 | < Moltare> | So a gentleman came and talked to the design team (of which I am now a semi-member) of his experience in user gameplay research |
18:26 | < Moltare> | He held up many shining and undeniable examples of excellent UX during this |
18:26 | < Moltare> | Angry Birds, Plants vs Zombies, etc |
18:26 | < Moltare> | We noted to him that all his examples involved a tight focus on directly-presented narrow core mechanics backed up by deep core dynamics |
18:27 | < Moltare> | and asked how this would apply to a game with significantly broad core mechanics such as eg Runescape |
18:27 | < Moltare> | His response, sadly, was ?\O_?/? |
18:39 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code |
18:39 | | mode/#code [+o Vash] by ChanServ |
18:52 | | * gnolam stabs people who write vague specifications. |
18:54 | < iospace> | ? |
18:56 | < Moltare> | If they're vague, they're not specific |
18:56 | < gnolam> | In this case, it was a vendor who gave the impression that a disk was regular SATA when in fact it was mSATA. |
18:56 | < iospace> | ... |
18:56 | < iospace> | fail |
18:58 | < gnolam> | Then there's the manufacturer of the sensor, who, just as our one arrived, released an "advanced" version of the same. With regular output pins, meaning that we could possibly skip the full PC and just stick a microcontroller on there instead. |
18:59 | < gnolam> | But only "possibly" - because of the two relevant pins, they only spec the voltage on one of them. |
19:00 | <~Vornicus> | wtf |
19:04 | | * jerith watches in dismay as he accidentally sends his weapons tech out an airlock. |
19:05 | < gnolam> | But hey, at least they're not the guys who make the module version based on the same crystal. The one that's fully microcontroller-compatible (yay, SPI!)... except for a bias voltage input specced as "between 0 and -2000 V". Meaning "the One True Voltage is in that range", not "whatever, just feed it something in that range". |
19:05 | < AnnoDomini> | jerith: What game? |
19:05 | <&jerith> | FTL. |
19:05 | < Moltare> | what how |
19:05 | < AnnoDomini> | Not familiar. |
19:05 | <&jerith> | And this isn't the channel we were talking about it in. |
19:05 | <&jerith> | AnnoDomini: It's new. |
19:05 | < Moltare> | When I open airlocks all that happens is the boarders get a little less well oxygenated |
19:06 | <&jerith> | Moltare: Well, I exaggerate slightly. Instead of clicking on him to move him out of the airlock he's just finished patching up, I clicked on the outer door. |
19:06 | <&jerith> | He was already nearly dead, so he perished instantly. |
19:07 | < Moltare> | Ah. For a moment I thought you'd solved the four-mantids-instantly-eat-half-your-crew problem. |
19:07 | < gnolam> | AnnoDomini: http://www.ftlgame.com/ . Extremely luck-based, but definitely worth $9. |
19:08 | < AnnoDomini> | Mhm. |
19:08 | <&jerith> | I sent this guy in after remembering that mantids make crap engineers. |
19:09 | <&jerith> | The mantis got out in time, but I was running him back to an oxygen supply while I juggled the weapons dude. |
19:10 | <&jerith> | So the mantis is now my weapons tech. |
19:10 | < gnolam> | That's one of my complaints with the game mechanics. Venting atmosphere takes too long. |
19:10 | <&jerith> | Also not long enough. |
19:20 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving] |
19:35 | <&McMartin> | ... it is a truth universally acknowledged that when you rant about the evils of a specific programming practice, you will find it mandatory within two days. |
19:35 | <&McMartin> | So thank you, universe, for reminding me *why* the "constructor does nothing but give a minimally valid object" thing happens. |
19:36 | <&McMartin> | Because "this" isn't valid until it's done, and your initializion logic might actually want to use virtual methods and be sure that some data is there. |
19:37 | <&McMartin> | (Yes, this points to "private constructor, public static factory", which is another way of syaing "OO is bad", yes) |
19:37 | <&McMartin> | "The existence and use of design patterns in a language are indicative of a weakness in the language itself, rather than a consequence of solving the problem at hand" |
19:38 | <&McMartin> | <3 |
19:38 | <&ToxicFrog> | That is a much more concise and elegant expression of something that I have long believed; I shall steal it. |
19:39 | <&McMartin> | (It's from the O'Reilly book on Clojure) |
19:39 | <&McMartin> | Paraphrasing someone named Paul Graham |
19:39 | <&McMartin> | Which is actually good, because apparently the source goes into Lisp's Classic Failure Mode~ |
19:40 | <&McMartin> | ("The shape of a program should reflect only the problem it needs to solve. Any other regularity in the code is a sign... that I'm using abstractions that aren't powerful enough" |
19:40 | <&McMartin> | (LISP hackers are all Chaotic Neutral, AFAICT) |
19:41 | <&McMartin> | (Peter Gabriel took design patterns as a personal insult~ let me find that quote) |
19:43 | <&McMartin> | (Hm, can't find it) |
19:43 | < gnolam> | (Did he take a sledgehammer to them?) |
19:43 | <&McMartin> | (But it boiled down to "HOORAY, DESIGN PATTERNS, NOW WE CAN FUCKING DO MAPCAR IN C++, WELL DONE") |
19:43 | <&ToxicFrog> | It happens with some regularity that I have a brilliant idea and then find out that Tom Knight or Paul Graham beat me to it by several decades. |
19:43 | <~Vornicus> | "mapcar" |
19:43 | <~Vornicus> | ? |
19:43 | <&McMartin> | So, common lisp is terrible. |
19:43 | <&McMartin> | mapcar is map as opposed to mapcat. |
19:43 | <&ToxicFrog> | And have often also beaten me to figuring out why it's not as brilliant as it looks and replaced it with something better. |
19:44 | <&McMartin> | LISP hackers are good for this |
19:44 | <~Vornicus> | "mapcat"? |
19:44 | <&McMartin> | Anyway, I got burned in reverse here because C++ isn't properly polymorphic |
19:44 | <&McMartin> | mapcat f xs = concat (map f xs) |
19:44 | <&McMartin> | Or mapcat f = concat . (map f) |
19:44 | <&ToxicFrog> | It's like lazy-cat except it feeds the inputs through map first~ |
19:44 | <~Vornicus> | oh I see |
19:45 | <~Vornicus> | ...I think. |
19:45 | <&ToxicFrog> | Aaw. I was wondering how long we could get away with just supplying references to another function with 'cat' in the name. |
19:45 | <~Vornicus> | def mapcat(f, xs): return ''.join(f(x) for x in xs) |
19:45 | <&McMartin> | Not quite |
19:46 | <&McMartin> | IIRC Python doesn't have this as a primitive |
19:46 | <&McMartin> | f returns a list |
19:46 | <~Vornicus> | oh oh. you're flattening |
19:46 | <&McMartin> | so, result = []; for x in xs: result.extend(f(x)) |
19:46 | <&ToxicFrog> | McMartin: "Back to the Future: Is Worse (Still) Better" by Peter Gabriel? |
19:46 | <&McMartin> | Possibly - I could only find abstracts of that. |
19:47 | <&McMartin> | In my half-assed searching. |
19:47 | <~Vornicus> | mapcat(f, xs): return itertools.chain(f(x) for x in xs) |
19:47 | <&ToxicFrog> | "Yet, the most popular form of software patterns is exemplified by those found in "Design Patterns," |
19:47 | <&ToxicFrog> | by Gamma, Helm, Johnson, and Vlissides, which contains little more than techniques for coding in |
19:47 | <&ToxicFrog> | C++ constructs found in other programming languages--for example, 16 of the 23 patterns represent constructs found in the Common Lisp language. There is no pattern language involved, and |
19:47 | <&ToxicFrog> | there is nothing about QWAN. Interest in patterns is coagulating around the so-called Gang of Four |
19:47 | <&ToxicFrog> | style, and it looks like things could get worse. In fact, I would say that patterns are alive and well as a |
19:47 | <&ToxicFrog> | form of documentation and a quest for clever solutions to common programming problems, and pattern languages, QWAN, and the quest for a better future are now on their way to the sewage treatment plant--the same place they went to in the world of architecture. Down with quality, up with |
19:47 | <&ToxicFrog> | clever hacks. Why worry about what makes a user interface beautiful and usable when you can wonder how to do mapcar in C++." |
19:47 | <&ToxicFrog> | Whoops that was rather a lot of hard newlines |
19:47 | <&McMartin> | That's the one. |
19:47 | <&McMartin> | Though this was also after he had published a sockpuppet paper so he could argue with himself in public |
19:48 | <&ToxicFrog> | As quotes against design patterns go, I feel like that one lacks punch. |
19:48 | <&ToxicFrog> | It takes entirely too long to get to the point. |
19:48 | <&ToxicFrog> | Also, Lisp's Classic Failure Mode? |
19:49 | <~Vornicus> | iirc, everybody but everybody reinvents the wheel |
19:49 | <&McMartin> | Yes |
19:49 | <&McMartin> | Why build reusable software when it's so easy to half-ass everything yourself? |
19:50 | <&McMartin> | Anyway, yeah |
19:51 | <&ToxicFrog> | Aah. |
19:51 | <&McMartin> | My nice value-based OO design broke yesterday because C++ doesn't let you do heterogeneous lists and requriing my library's clients to dynamically allocate its immutable arguments for the duration of a single constructor call was deemed A Pain In The Ass |
19:52 | <&McMartin> | So instead of a list of descriptors (which had a nice hierarchy and structure to do the relevant mutation to the object) that ends up turning into two function calls per configuration option |
19:52 | <&McMartin> | So I rewrote it to one mutator method per original config object |
19:53 | <&McMartin> | Which turns out to more or less exactly match how I'd do it in OCaml, just with the code blocks structured differently~ |
19:54 | <&McMartin> | (The problem here is basically building a dialog box out of a not-entirely-trusted config source) |
19:58 | <&McMartin> | Also, regarding LISP and its standard failures |
19:58 | <&McMartin> | The whining about how unfair it is that everyone uses C++ instead is both epic and unnervingly revealing. |
19:58 | <&McMartin> | They've gone whole-hog into "it's so terrible that everyone is turned into people that somehow produce more usable products ;_;" |
19:59 | <&McMartin> | http://www.lambdassociates.org/blog/bipolar.htm is more honest about it |
20:11 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
20:14 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
20:16 | <&ToxicFrog> | I've read that before, yes, and observed it (mostly in elisp) |
20:16 | <&ToxicFrog> | I actually have some hope for the Clojure community, which seems to place a heavy emphasis on documenting your shit and publishing it somewhere that makes it easy to collaborate on. |
20:17 | <&McMartin> | Yes |
20:18 | <&McMartin> | It's quite possible that the answer here is "blame MIT, not LISP" |
20:20 | <&McMartin> | Though I also find that article interesting because I went through the described phase as, well, a phase. |
20:20 | <&McMartin> | And I'm not sure precisely when I left it. |
20:21 | <~Vornicus> | I remember fiddling with lisp for two weeks and not getting it. |
20:22 | <&McMartin> | Which dialect? |
20:22 | <~Vornicus> | I wanna say, uh, cmucl |
20:23 | <&McMartin> | Yeah, that'd do it. |
20:23 | <&McMartin> | CL is basically what you'd get if you tried to build Python 3 25 years ago. |
20:23 | <~Vornicus> | This was also about 3 months after I started learning to program |
20:23 | <&McMartin> | It's a kitchen sink that's full of old ideas that have been long condemned by the world at large |
20:24 | <&McMartin> | It's got like six ways of defining structures, all of which are computationally equivalent but which has six entireyl different syntaxes for organization |
20:24 | <&McMartin> | CL code is generally more imperative than the Python I write |
20:25 | <~Vornicus> | well, program properly; I did some C64 BASIC and then Chalain threw me at Python shortly after i got on Nightstar and I reveled in the luxury of, well... everything. |
20:26 | <&McMartin> | CL gave me the same "bad taste" Perl did |
20:26 | <&McMartin> | Scheme is "better", Clojure better and more practical |
20:26 | <~Vornicus> | "Oh my god I can name my subroutines" was a big one. |
20:26 | <&McMartin> | hee |
20:29 | <~Vornicus> | ...I am randomly reminded, I kind of wanted to poke at FORTRAN. |
20:36 | <&ToxicFrog> | I do recommend checking out Clojure if at any point you want to get back into Lisp. |
20:36 | <&ToxicFrog> | Scheme has an appealing ideological purity to it but it's Clojure that I actually get stuff done in. |
20:46 | < iospace> | when a file is nearly 4k lines long... you may want to trim it a bit >_> |
20:49 | <~Vornicus> | Slightly |
21:04 | <&McMartin> | Whiteboard fun facts |
21:04 | <&McMartin> | Even if you have been doing 'first three letters of each word' throughout your discussion, break this rule when you get to priority queues |
21:04 | <&McMartin> | As having a variable or class anmed 'prique' tends to derail the conversation |
21:23 | | * Vornicus doesn't get it |
21:23 | <&McMartin> | Looks like "prick" |
21:38 | < iospace> | Vornicus: i'm sort of scare to see the results here |
21:42 | | * ToxicFrog successfully passes processed video through the IMAP5 |
22:04 | < AnnoDomini> | Hey, anyone know how to manage Java on Debian? I mean, I'm having difficulties trying to set different implementations to be used by default. |
22:05 | < AnnoDomini> | I want to check which, if any, of open, Sun, and possibly others, actually get along with Freecol. |
22:06 | <&McMartin> | alternatives --config java isn't it? |
22:12 | | * AnnoDomini installs galternatives, pokes around. |
22:12 | < AnnoDomini> | So, what are my options here, besides Sun and open? |
22:12 | < AnnoDomini> | Neither seem to get along with Freecol. |
22:13 | <&McMartin> | ... what is it intending to run on? |
22:13 | <&McMartin> | If you don't run on Sun, something has gone terribly wrong. |
22:14 | < AnnoDomini> | I'm not sure I understand the question. |
22:15 | <&McMartin> | What is Freecol? |
22:15 | <&McMartin> | I'm imagining it's a java app of some kind |
22:15 | < AnnoDomini> | Open source clone of Colonization. |
22:15 | <&McMartin> | But if you're a java app and you don't run on the official JVM or the standard OSS alternative, then something is very odd |
22:18 | < AnnoDomini> | The game actually runs, but is too slow to be playable. Interface lags into unworkability. On Windows, the problem is absent, but trying to run the thing in a virtual box only slows it down for different reasons. |
22:32 | <&ToxicFrog> | Man. YC video is freaky. |
23:42 | | Derakon is now known as Derakon[AFK] |
23:52 | | You're now known as TheWatcher[T-2] |
23:55 | | You're now known as TheWatcher[zZzZ] |
--- Log closed Fri Sep 21 00:00:08 2012 |