code logs -> 2006 -> Tue, 05 Sep 2006< code.20060904.log - code.20060906.log >
--- Log opened Tue Sep 05 00:00:07 2006
00:41 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
00:41 mode/#code [+o Chalcy] by ChanServ
00:42 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
00:42 Chalcy is now known as Chalcedon
00:43 ReivZzz is now known as Reiver
01:46 Reiver is now known as ReivClass
03:44 Mahal is now known as MahalOUt
03:44 MahalOUt is now known as MahalOut
04:15 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
04:15 mode/#code [+o Chalcy] by ChanServ
04:15 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
04:47
< Vornicus>
Arg. why can't I seem to refactor this?
05:06 MahalOut is now known as Mahal
05:28
<@Mahal>
@#$&*(@#)$& email admin with #&$(*@#&$ no confirmation on &@#*$()@& domain deletion.
05:28
<@Mahal>
<censored><censored><censored><censored><censored><censored>
05:28
<@Mahal>
<censored><censored><censored><censored><censored><censored><censored><censored> <censored><censored>
05:28
< McMartin>
<beyondyoursecurityclearance>
05:37
< Vornicus>
...Ruby wins.
05:37
<@Mahal>
?
05:38
< Vornicus>
class Class; def simple_initializer(*args); self.class_eval %{def initialize(#{args.join ','}); #{args.collect {|arg| "@#{arg} = #{arg}"}.join ';'}; end}; end; end
05:38
< McMartin>
I'm not at all sure that's a victory.
05:39
< Vornicus>
That defines a new universal class method that allows you to write initializers that all they do is @a = a; @b = b; @c = c; @d = d... etc just by saying simple_initializer :a, :b, :c, :d...
05:41 Shemhazai [~Shemhazai@Nightstar-8502.ds1-ba.adsl.cybercity.dk] has quit [Quit: Connection reset by evil CHILD EATING MONSTERS!]
05:41
< Vornicus>
It's been compressed onto one line - my version is nine lines.
05:42
< Vornicus>
and a lot easier to read.
05:42
<@Mahal>
Awesome.
05:44
<@ToxicFrog>
As in...simple_initializer :foo, :bar is semantically equivalent to:
05:44
<@ToxicFrog>
function ctor(_foo, _bar)
05:44
<@ToxicFrog>
foo = _foo
05:44
<@ToxicFrog>
bar = _bar
05:45
<@ToxicFrog>
end
05:45
<@ToxicFrog>
?
05:45
< Vornicus>
yes
05:45
<@ToxicFrog>
Slick.
05:45
< Vornicus>
Assuming foo and bar point are instance vars.
05:45
<@ToxicFrog>
Indeed.
05:45
<@ToxicFrog>
I will now implement this in Lua.
05:45
<@ToxicFrog>
Because it is a good idea and worthy of theft.
05:48
<@ToxicFrog>
Although I really need to implement transparent function overloads at some point...
05:48
< Vornicus>
heh
05:49 * McMartin ponders how one would manage that in Python
05:49
< McMartin>
...
05:49 * McMartin figures out how it would be done in Java.
05:49 * Mahal sits in the corner taking notes.
05:49
<@ToxicFrog>
That's just perverse.
05:50
< McMartin>
Well, there's the not-very-perverse way, which involves Collections and reflection
05:50
< McMartin>
The perverse way involves dynamic code generation at class-loading time.
05:50
< McMartin>
... actually, the not-very-perverse way is a long-established standard.
05:51 ReivClass is now known as Reiver
05:52
<@ToxicFrog>
Heh. It's nine lines in Lua, too.
05:53
< Vornicus>
(note that mine, the end of the third line to the start of the 7th line are all in a string)
05:53
< McMartin>
In Python, you'd need to include a class member that was a list of field names.
05:53
< McMartin>
You could then have a generic constructor that used that as a series of arguments to setattr()
05:54
<@ToxicFrog>
function build_ctor(...)
05:54
<@ToxicFrog>
local argv = { ... }
05:54
<@ToxicFrog>
local function fn(...)
05:54
<@ToxicFrog>
for i,value in ipairs {...} do
05:54
<@ToxicFrog>
this[argv[i]] = value
05:54
<@ToxicFrog>
end
05:54
<@ToxicFrog>
end
05:54
<@ToxicFrog>
this.__new = fn
05:54
<@ToxicFrog>
end
05:54
<@ToxicFrog>
Whee, function closures 4tw.
05:54
<@Reiver>
Today in Javaland we learned the principles of GUI.
05:54
<@Reiver>
I shall now attempt to recreate their code and see how it works out.
05:54
<@ToxicFrog>
Reiver: what, "don't use Java"?
05:54
< Vornicus>
Javaland is a very scary place for GUI.
05:54 You're now known as TheWatcher
05:54 * McMartin knows of at least three or four competing models for GUI.
05:55
< McMartin>
Swing is vastly less scary than Gtk, and vastly more reliable than wx.
05:55
< McMartin>
wx, of course, isn't actually a widget library.
05:55
< McMartin>
It's a mechanism for generating error messages.
05:55
<@Reiver>
TF: Har har.
05:55
<@ToxicFrog>
Everything is more reliable than wx.
05:55 * Vornicus applies HTML/flash to the problem.
05:56 * Reiver dunno which he is using. Breaks out ze textbook.
05:56 * McMartin hasn't tried actually doing anything with SWT, but it can't be any scarier than Gtk.
05:56
<@ToxicFrog>
GTK I am actually looking into for the next incarnation of ss1edit, now that it'
05:56
<@ToxicFrog>
s been bound to Lua51.
05:56
< McMartin>
Well, yes. Gtk - Glade.
05:56
<@ToxicFrog>
Or rather, GTK and Glade.
05:56
< McMartin>
Glade = t3h r0xx0r.
05:56
<@ToxicFrog>
Mmmm glade.
05:56
<@ToxicFrog>
So long have I spent looking for something like this.
05:56
< Vornicus>
what is glade exactly?
05:56
<@ToxicFrog>
It is two things:
05:57
<@ToxicFrog>
- an editor that lets you lay out GUIs and generates XML files from them
05:57
< McMartin>
It should be possible to use Glade or libglade to generate code SWT can understand, since SWT is a thin wrapper around Gtk
05:57
<@ToxicFrog>
- a library extension for GTK that loads these XML files and displays the corresponding GUI
05:57
< Vornicus>
...shiny mcshinyland.
05:57 * Vornicus needs to get and learn glade.
05:57
< McMartin>
Part (1) can also skip the XML bit and just crank out C or C++ code, if you want, but this is getting progressively more deprecated.
05:57
< McMartin>
Especially for motherleeging huge applications.
05:58
<@ToxicFrog>
And things not written in C or C++.
05:58
<@ToxicFrog>
Like, err, every single one of my apps that presents a GUI~
05:58
< McMartin>
Heh
05:58
< McMartin>
But you could bind Lua to the resulting C~
05:59
<@ToxicFrog>
I could, but now I have to write six billion bindings between the C callbacks and the Lua ones because C has all the reflexion capabilities of a bag of dead weasels~
05:59 Chalc [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
05:59
< McMartin>
Bags of dead weasels, I find, self-document quite successfully.
05:59
< McMartin>
They're really quite insistent about being a bag of dead weasels.
05:59 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
05:59
<@ToxicFrog>
...ok, you have a point there.
06:00
<@ToxicFrog>
Anyways. Some kind soul has bound GTK2 to Lua 5.1. Given this, it should be fairly easy to bind libglade as well, upon which the world is my mollusc.
06:00 * Vornicus is reminded that he wanted to install Shock on his work machine, so he could show the majesty of it to Dave.
06:01 Chalc is now known as Chalcedon
06:01
<@ToxicFrog>
longjmping back to the earlier topic of conversation, my experience with Java's GUI libraries has been that it is no more a toolkit that wx is.
06:01
<@ToxicFrog>
It's actually an H P Lovecraft short story in Java API form.
06:01 * Vornicus gets his stack smashed.
06:01
< McMartin>
Heh
06:02 * McMartin has gotten custom-written Swing code to work, but then he found Glade.
06:02
<@ToxicFrog>
It is at least consistent about working, not working, or sucking my SAN out through my eye sockets.
06:02
<@ToxicFrog>
Which puts it one step ahead of tkinter.
06:02
< McMartin>
And, well, why hobble around on crutches when you have a AI-controlled racecar handy?
06:02
<@ToxicFrog>
And it does work much of the time, which puts it several steps ahead of wx.
06:03
< McMartin>
Also, Swing applications are no longer horribly ugly, which puts it well ahead of Tkinter and all other Java libraries except SWT.
06:04
<@ToxicFrog>
I'm actually rather fond of tkinter's appearance.
06:04
< McMartin>
Am I confusing it with something else?
06:05 * McMartin is thinking Python's default GUI stuff.
06:05
<@ToxicFrog>
Yep, that's the one.
06:05
<@ToxicFrog>
And I like its API for actually laying out the widgets, insofar as I like any imperative method of same.
06:05 * Vornicus lords Cocoa over all of you.
06:05
<@ToxicFrog>
The bit I object to is that part where each library call rolls a d20 to see if it works this time or not.
06:05 * Mahal continues to sit in the corner taking notes.
06:06
< McMartin>
Cocoa has, shall we say, severe portability issues.
06:06
< Vornicus>
sadly, yes.
06:06
<@ToxicFrog>
And no Lua bindings.
06:07 * TheWatcher keeps pondering adding Lua support to lightwave
06:07
<@ToxicFrog>
(erk. There are OSX builds of libgtk2, yes? Please say yes.)
06:08
< McMartin>
(hi2u Fink)
06:09
<@ToxicFrog>
(?)
06:09
< McMartin>
(Anything that runs on FreeBSD will generally run on OSX)
06:09
<@ToxicFrog>
(I don't know if there are BSD builds either, but I will assume so)
06:10
<@ToxicFrog>
Anyways. Slwwp.
06:11
<@Reiver>
Ni TF!
06:24
<@Reiver>
Anyone here know much about graphics card fans?
06:26
<@TheWatcher>
Which card, which fan type/
06:26
<@Reiver>
I have a Raedon 9800 Pro with an extremely ill fan. I suspect the bearing is shot, as it's making that kind of noise. I'm wondering what I have to do in order to replace it - or more importaintly, what sort of fan would or wouldn't work.
06:26
<@Reiver>
The fan type is, uh, what came with it out of the box. >.>
06:27
<@Mahal>
Admittedly when my last gfx card fan died I replaced the card, but I'd been going to anyways.
06:27
<@Reiver>
This card is still plenty alive.
06:27
<@Reiver>
But the fan isn't.
06:27
<@Reiver>
(Mahal has heard the bloody racket it's started making - it hasn't stopped since it started. >.>)
06:29
< Vornicus>
a "vga" fan should work
06:29
<@TheWatcher>
Hm, can't help with radeons I'm afraid :/
06:30
<@Mahal>
Oh.
06:30
<@Mahal>
That noise, huh?
06:30 * Mahal hu
06:30
<@Mahal>
*hug
06:31
<@Reiver>
Mahal: Yes. The one that happened to start the same day you visited. >.>
06:31
< Vornicus>
Essentially any video card fan in existance should work.
06:31
<@Mahal>
Yes.
06:31
<@Reiver>
Vorn: I was worried about size or power supply issues?
06:31
<@Reiver>
Or is that not an issue?
06:31
< Vornicus>
...for a fan?
06:31
<@Reiver>
Well, it might have different plugs.
06:31
<@Reiver>
Or be the wrong size.
06:31 * Reiver dunno!
06:32
< Vornicus>
As long as it says it's a video card fan it will fit on your card.
06:32
< Vornicus>
And in general it will come with a molex plug.
06:32 * Reiver is clueless about gfx cards, and worse yet, his mobo has the bloody card upside down. :p
06:32
<@Reiver>
Oh. Handy.
06:32
< Vornicus>
Most mobos point the card down.
06:33
< Vornicus>
That protects it from the heat of the power supply and processor.
06:33
<@Reiver>
Aha. Right. Makes more sense, then...
06:33 * Reiver ponders.
06:33
<@Reiver>
These cards come in anything from 50mm to 80mm.
06:33
<@Mahal>
Measure yours, then :P
06:34
< Vornicus>
the /cards/ come in those sizes?
06:34
<@Reiver>
Er.
06:34
<@Reiver>
The fans.
06:34
<@Reiver>
>.>
06:34 * Reiver tries to get a ruler under his card without breaking anything.
06:35
< Vornicus>
oh, oh.
06:35
< Vornicus>
you'll probably be measuring between screws.
06:36
<@Reiver>
Oh, point!
06:36 * Reiver tries that.
06:36
< Vornicus>
on the fan, that is.
06:36
<@Reiver>
Agh
06:37 * Reiver really needs to unplug the card. :/
06:37 * Reiver don't wanna turn the boxen off! Woe.
06:38 * Mahal patpat.
06:38
< McMartin>
"boxen" is, strictly speaking, only suitable for use as a plural.
06:38
< McMartin>
It's like oxen.
06:40
<@Reiver>
Bah!
06:40
<@Reiver>
I like the word, it's fun to say.
06:41 * Reiver goes to measure his gfx fan size. (If I ping out in the next five minutes, I probably bumped something I shouldn't.)
06:43
<@Reiver>
~50 mm.
06:43
<@Reiver>
It's hard to get it exact due to nasty angles, but.
06:44
<@Reiver>
However, the fan mounting is also the heat sink mount.
06:44 * Reiver hrms. Is a touch worried about bumping the heat sink off.
06:46
< Vornicus>
Indeed. The fan and heatsink should come as a unit.
06:46
<@TheWatcher>
Generally pretty hard to do - they're often secured with screws, pressure clamps or other things like that
06:47 * Mahal nod.
06:47
<@Reiver>
...This seems entirely overkill.
06:47
<@Reiver>
http://www.ascent.co.nz/ProductSpecification.aspx?ItemID=340833
06:47
< Vornicus>
It is.
06:48
<@TheWatcher>
Looks like mine actually
06:48
< Vornicus>
I got a heatsink for a 9800 for $15
06:48
< Vornicus>
Though your prices seem to be NZ$, which I don't know a decent conversion for.
06:49
<@TheWatcher>
I have a blower on my GF6800GT, dropped the load temperature about 15C
06:49
<@Mahal>
WAAY overkill, Reiv
06:50
<@Reiver>
NZ$1 = US$.66
06:50
<@Reiver>
Ish.
06:52
<@Reiver>
http://www.dse.co.nz/cgi-bin/dse.filereader?44fd105a08c14f08273fc0a87f990698+EN/ catalogs/CTG0000943
06:52
<@Reiver>
Er.
06:52
<@Reiver>
http://www.dse.co.nz/cgi-bin/dse.storefront/44fd105a08c14f08273fc0a87f990698/Pro duct/View/XH6806
06:53
< Vornicus>
Out of stock online, but it'll do.
06:53
<@Mahal>
ZN local store, Vornicus
06:53
<@Mahal>
Reiver can go to the local.
06:54
<@Reiver>
http://www.ascent.co.nz/ProductSpecification.aspx?ItemID=337267
06:55 * Reiver wishes he knew anything about decent prices for these things. That would also help.
06:55 * Reiver ponders. He'll poke around at work too - not likely to find anything, but hey who knows.
07:40 You're now known as TheWatcher[nap]
09:00 EvilDarkLord is now known as EvilDevouringFleshSoulsAndFood
09:23 Vornicus is now known as Vornicus-Latens
09:30 EvilDevouringFleshSoulsAndFood is now known as EvilDarkLord
10:03 Mahal is now known as MahalAFK
10:16 You're now known as TheWatcher
10:27 MahalAFK is now known as Mahal
10:30 himi-sydneying is now known as himi
--- Log closed Tue Sep 05 11:16:01 2006
--- Log opened Tue Sep 05 11:17:32 2006
11:17 TheWatcher [~chris@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #code
11:17 Irssi: #code: Total of 16 nicks [9 ops, 0 halfops, 0 voices, 7 normal]
11:17 mode/#code [+o TheWatcher] by ChanServ
11:17 Irssi: Join to #code was synced in 21 secs
11:25 * Mahal <3 css.
11:25
<@Mahal>
That is all.
11:27 * EvilDarkLord claps.
11:47 You're now known as TheWatcher[afk]
12:09 Mahal [~Mahal@202.169.217.ns-23992] has quit [Quit: The computer, she is snoring now.]
12:21 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
13:42 Shemhazai [~Shemhazai@Nightstar-8502.ds1-ba.adsl.cybercity.dk] has joined #Code
14:17 You're now known as TheWatcher
14:43 Shemhazai [~Shemhazai@Nightstar-8502.ds1-ba.adsl.cybercity.dk] has quit [Excess Flood]
14:44 Shemhazai [~Shemhazai@Nightstar-8502.ds1-ba.adsl.cybercity.dk] has joined #Code
14:44 Reiver is now known as ReivZzz
17:05 Netsplit DeepThought.NY.US.Nightstar.Net <-> Troika.TX.US.Nightstar.Net quits: GeoTube, Vornicus-Latens, @ReivZzz, @jerith, @Chalain
17:05 Netsplit over, joins: jerith, Chalain
17:05 mode/#code [+o jerith] by ChanServ
17:05 Netsplit over, joins: GeoTube, Vornicus-Latens, @ReivZzz
17:05 mode/#code [+o Chalain] by ChanServ
17:05 mode/#code [-o ReivZzz] by ChanServ
17:11 You're now known as TheWatcher[afk]
17:19 Vornicus [~vorn@Nightstar-18307.slkc.qwest.net] has joined #code
17:19 ReivZzz [~reaverta@IRCop.Nightstar.Net] has quit [Ping Timeout]
17:20 Reivlin [~reiver@Nightstar-28747.ubs-dsl.xnet.co.nz] has quit [Ping Timeout]
17:43 * Vornicus eats minds, reads database backup scripts, etc, etc
17:54 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Operation timed out]
19:22 You're now known as TheWatcher
19:37 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code
19:54 Vornicus-Latens [~vorn@67.50.40.ns-3674] has quit [Ping Timeout]
19:55 Vornicus-Latens [~vorn@67.50.40.ns-3674] has joined #code
20:14 * jerith arrives. You may all pay homage.
20:18 * Vornicus eats hummus instead.
20:19
<@jerith>
Yay for hummus!
20:19
<@jerith>
(It's not safe to bring hummus to work. It gets stolen.)
20:27
< Vornicus>
heh
20:28
<@jerith>
On the other hand, there's quite often hummus in the work fridge that I can steal...
20:28
< Vornicus>
....heh
20:36 Mahal [~Mahal@Nightstar-13918.worldnet.co.nz] has joined #code
20:36 mode/#code [+o Mahal] by ChanServ
21:03 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
21:03 mode/#code [+o Chalcedon] by ChanServ
22:14 Reivlin [~reiver@Nightstar-28747.ubs-dsl.xnet.co.nz] has joined #Code
22:15 ReivZzz [~reaverta@IRCop.Nightstar.Net] has joined #Code
22:15 mode/#code [+o ReivZzz] by ChanServ
23:06
< Vornicus>
Robot Find Kitten!
23:07
<@Mahal>
Kitten Eat Robot!
23:07
< Vornicus>
No!
23:08
< Vornicus>
Robot Find Kitten, and then all is purring and cute!
23:08
<@Mahal>
Purrrr.
23:08 * Mahal <3 kitten
23:08 * Chalcedon adds puppies into the mix
23:08 ReivZzz [~reaverta@IRCop.Nightstar.Net] has quit [Quit: Changing servers]
23:09
<@McMartin>
"You found kitten! Way to go, Robot!"
23:09
< Vornicus>
(I'm talking about captchas in another channel, and mentioned that my favorite captcha is "choose the kittens!"
23:09 * Mahal has no idea what you're on about.
23:09
<@McMartin>
http://www.robotfindskitten.org/
23:09 ReivZzz [~reaverta@IRCop.Nightstar.Net] has joined #Code
23:09 mode/#code [+o ReivZzz] by ChanServ
23:10 * McMartin also definitely recommends the afterword, though it seems to be somewhat abbreviated from the version that appears in the program.
23:12
< Vornicus>
http://kittenauth.com
23:13
<@McMartin>
That is made of win.
23:13
<@McMartin>
Except for being written in ASP.net.
23:14
< Vornicus>
indeed.
23:15
< Vornicus>
arg. My complete lack of experience with httpd is showing.
23:20
<@Mahal>
what's up, vorn?
23:21
< Vornicus>
Trying to do some simple auth, and I don't understand the documentation.
23:21
<@Mahal>
ah
23:23
<@Mahal>
define simple auth?
23:24
< Vornicus>
an htpasswd file, using basic authentication, etc.
23:24
<@Mahal>
oh!
23:24
< Vornicus>
you type in your username and password and get to the site.
23:24
<@Mahal>
right.
23:24
<@Mahal>
yes.
23:28
<@Mahal>
hrmm.
23:28 You're now known as TheWatcher[T-2]
23:28
<@Mahal>
I know I have an active htpasswd on a couple of directories on my domain.
23:28
<@Mahal>
life of me I forget how to create them.
23:28
< Vornicus>
I think I have about half of it right, but...
23:29
< Vornicus>
the htpasswd file I have, actually.
23:29
<@Mahal>
Actually, I have all of it except how to create the password/itself/
23:29
< Vornicus>
It's the conf stuff.
23:29
<@Mahal>
Oh!
23:29
<@Mahal>
That's easy then :)
23:29
< Vornicus>
heh
23:29
<@Mahal>
In my case:
23:29
<@Mahal>
in the file .htaccess in the directory I"m locking
23:30
<@Mahal>
reads like thus:
23:30
<@Mahal>
AuthType Basic
23:30
<@Mahal>
AuthName "hobbes"
23:30
<@Mahal>
AuthUserFile "/home/ekmahal/.htpasswds/hobbes/passwd"
23:30
<@Mahal>
require valid-user
23:31
<@Mahal>
said passwd file having username:[hashedpassword]
23:31
< Vornicus>
right
23:31
< Vornicus>
OKay, I'm under the vague impression that I need to do something to the httpd.conf to make that work.
23:31
<@Mahal>
htaccess files need to be enabled...
23:32
<@Mahal>
are they?
23:32
< Vornicus>
Not sure.
23:33
<@Mahal>
Two things to look for.
23:33
<@Mahal>
AccessFileName shoudl be .htaccesss
23:33 You're now known as TheWatcher[zZzZ]
23:34
<@Mahal>
thent his section
23:34
<@Mahal>
#
23:34
<@Mahal>
# AllowOverride controls what directives may be placed in .htaccess files.
23:34
<@Mahal>
# It can be "All", "None", or any combination of the keywords:
23:34
<@Mahal>
# Options FileInfo AuthConfig Limit
23:34
<@Mahal>
#
23:34
<@Mahal>
AllowOverride None
23:34
<@Mahal>
you want it to not be none.
23:34
<@Mahal>
:)
23:35
< Vornicus>
heh
23:35
< Vornicus>
okay, authconfig is probably the one I want.
23:35 * Mahal nod
23:35
<@Mahal>
(if that doesn't work, try all just for testing)
23:43
< Vornicus>
"today's edition of the ABC News webcast includes an Onioneque item: History of Bling: Liberace to Ghostface. "It's the imaginary sound a diamond makes when it sparkles," says the correspondent, with a straight face. "
23:51 * Chalcedon eyes Python
23:55
< Vornicus>
What'd it do?
23:56
<@Chalcedon>
well, I've reset something to blank, but it doesn't appear to have actually reset itself
23:57
<@Chalcedon>
no, hang on
23:57
<@Chalcedon>
I think I've spotted it
--- Log closed Wed Sep 06 00:00:16 2006
code logs -> 2006 -> Tue, 05 Sep 2006< code.20060904.log - code.20060906.log >