code logs -> 2012 -> Thu, 20 Sep 2012< code.20120919.log - code.20120921.log >
--- 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
code logs -> 2012 -> Thu, 20 Sep 2012< code.20120919.log - code.20120921.log >

[ Latest log file ]