code logs -> 2010 -> Thu, 04 Nov 2010< code.20101103.log - code.20101105.log >
--- Log opened Thu Nov 04 00:00:15 2010
--- Day changed Thu Nov 04 2010
00:00
< Rhamphoryncus>
mini-DVI -> VGA is probably a question of scale
00:00
<@ToxicFrog>
Most desktop video cards, at least, will do this - they'll automatically select DVI-D or DVI-A on the same port depending on what you plug them into.
00:00
<@ToxicFrog>
Plug them into something through a VGA adapter and they detect it as DVI-A and signal accordingly.
00:00
<@Derakon>
Ah.
00:00
<@Derakon>
Phooey.
00:01
<@ToxicFrog>
Mini-DVI behaves the same way, it's a different physical connector but otherwise indistinguishable from a normal DVI port.
00:02
<@ToxicFrog>
That said, I'm surprised that yours won't automatically switch to analog when connected to a DVI-A or VGA monitor.
00:02
<@Derakon>
Er, the problem is making the physical connection.
00:02
<@Derakon>
I lacked the cables.
00:04
< Rhamphoryncus>
ToxicFrog: so mini-DVI is actually DVI-I?
00:04
<@ToxicFrog>
DVI-I?
00:05
<@Derakon>
Integrated -- analog and digital combined
00:05
<@Derakon>
At least, according to 'pedia.
00:05
<@ToxicFrog>
Aah
00:05
<@ToxicFrog>
In that case yes.
00:06
<@ToxicFrog>
You should be able to use a miniDVI to VGA, mDVI to DVI-A to VGA, or mDVI to DVI-I to VGA conversion chain.
00:07
<@Derakon>
Yeah, what I had was mDVI -> DVI-D.
00:07
<@Derakon>
And I wanted to go from there to VGA, since we have plenty of people using laptops with X -> DVI-D.
00:07
<@Derakon>
And thus we could have shared the adapter to all be able to make presentations.
00:09
<@ToxicFrog>
Aah.
00:09
<@ToxicFrog>
Yeah, DVI-D doesn't have the pins for the analog signal, only DVI-I and DVI-A do.
00:11 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
00:11
<@Derakon>
Which makes me wonder why everything isn't just DVI-I.
00:12 You're now known as TheWatcher[T-2]
00:13 Derakon is now known as Derakon[AFK]
00:14 You're now known as TheWatcher[zZzZ]
00:32 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed]
00:33 Attilla [Some.Dude@Nightstar-869518dc.threembb.co.uk] has quit [[NS] Quit: ]
00:39
< Rhamphoryncus>
The wikipedia article on mini-DVI implied (although it didn't say explicitly) that it only contained the digital pins
00:59 Derakon[AFK] is now known as Derakon
01:15 Vornicus-Latens is now known as Vornicus
01:43 Taki^ [ikat@Nightstar-0816732d.consolidated.net] has joined #code
02:02 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
02:15 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds]
02:22
<@Vornicus>
or more accurately placed: Kaura!
02:43 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has joined #code
02:56 Taki^ [ikat@Nightstar-0816732d.consolidated.net] has quit [Ping timeout: 121 seconds]
04:06 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
04:07 celticminstrel [celticminst@Nightstar-f8b608eb.cable.rogers.com] has joined #code
04:07 celticminstrel [celticminst@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:47 Derakon is now known as Derakon[AFK]
05:55 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has quit [Ping timeout: 121 seconds]
06:42 Orthia [orthianz@Nightstar-0f7d3eab.xnet.co.nz] has quit [Client closed the connection]
06:48 Orthia [orthianz@Nightstar-0f7d3eab.xnet.co.nz] has joined #code
06:55 Kaura is now known as Kaura|zzz
07:50 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code
08:03 Kaura|zzz [kaura@A2BA3E.5613D5.A7C357.372C7B] has quit [Connection reset by peer]
08:03 kaura [kaura@Nightstar-fd82400d.snfc21.sbcglobal.net] has joined #code
08:03 Netsplit *.net <-> *.split quits: kaz_, @Derakon[AFK], simon_, Orthia, @Vornicus, @Reiver, PinkFreud, kazrikna, cpux, @McMartin, (+4 more, use /NETSPLIT to show all of them)
08:03 kaura is now known as Kaura|zzz
08:04 Netsplit over, joins: ~Reiver, Thaqui, @Vornicus, PinkFreud, @Derakon[AFK], SmithKurosaki, @McMartin, @Namegduf, Rhamphoryncus, kazrikna (+3 more)
08:04 mode/#code [+o Syloqs-AFH] by Reiver
08:09 Orthia [orthianz@Nightstar-0f7d3eab.xnet.co.nz] has joined #code
09:05 You're now known as TheWatcher
09:43 Vornicus is now known as Vornicus-Latens
11:05 DBot [Reiver@Nightstar-237a311c.xnet.co.nz] has joined #code
11:06 DiceBot [Reiver@Nightstar-237a311c.xnet.co.nz] has quit [Ping timeout: 121 seconds]
11:06 DBot is now known as DiceBot
11:17 Zed_ [Zed@Nightstar-556ea8b5.or.comcast.net] has joined #code
11:18 Kaura|zzz [kaura@Nightstar-fd82400d.snfc21.sbcglobal.net] has quit [Connection reset by peer]
11:18 kaura [kaura@Nightstar-fd82400d.snfc21.sbcglobal.net] has joined #code
11:18 kaura is now known as Kaura|zzz
11:20 Zed [Zed@Nightstar-556ea8b5.or.comcast.net] has quit [Ping timeout: 121 seconds]
11:23 cpux is now known as shade_of_cpux
11:46 Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has quit [Client exited]
12:06 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has joined #code
13:50 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code
14:06 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has quit [Ping timeout: 121 seconds]
14:10 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed]
14:58 Anno[Laptop] [annodomini@Nightstar-c628f571.adsl.tpnet.pl] has joined #code
15:24 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code
16:16 Orthia [orthianz@Nightstar-0f7d3eab.xnet.co.nz] has quit [Ping timeout: 121 seconds]
17:12 Kaura|zzz is now known as Kaura
17:25 Attilla [Some.Dude@Nightstar-2abf7a68.threembb.co.uk] has joined #code
17:25 mode/#code [+o Attilla] by Reiver
17:31 Derakon [Derakon@Nightstar-1ffd02e6.ucsf.edu] has joined #code
17:31 mode/#code [+o Derakon] by Reiver
17:32
<@Derakon>
I spent a little time talking to one of the biologists about my presentation...
17:32
<@Derakon>
And what she wants is a motivation on object-oriented programming.
17:32
<@Derakon>
(Though she admits that a basic-mechanics lecture would also be useful)
17:34
<@Derakon>
And speaking of object-oriented programming, here's my slide on the basic mechanics of classes. Any suggestions? http://derakon.dyndns.org/~chriswei/temp2/slides/
17:34
<@Derakon>
Er. http://derakon.dyndns.org/~chriswei/temp2/slides/07b.png
17:59 Attilla [Some.Dude@Nightstar-2abf7a68.threembb.co.uk] has quit [[NS] Quit: ]
18:24 Vornicus-Latens is now known as Vornicus
18:51 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
19:03
< gnolam>
Every time I see OO in Python I'm struck by how hideous the syntax is.
19:16
< celticminstrel>
What's hideous about it?
19:17
< gnolam>
__init__ etc.
19:17
< celticminstrel>
Oh, that stuff is a bit ugly, yes.
19:17
< celticminstrel>
I like the @decorators though.
19:17
< gnolam>
It feels like reading the dirtier parts of the internals of a C library.
19:18
< gnolam>
It's ugly enough that I don't feel like I could do a major project in Python.
19:43
<@ToxicFrog>
Arguably no uglier than operator++
19:44
< celticminstrel>
I happen to like operator++ ... or are you referring to the operator <symbol> syntax in general?
19:44
<@ToxicFrog>
Yeah.
19:45
<@ToxicFrog>
__foo__ is ugly, but so is operatorfoo
19:45
< celticminstrel>
True... the operator <symbol> has the slight advantage that it's obvious at a glance which operator is meant, though.
19:49
<@ToxicFrog>
Yeah, but in that case just ditch the operator prefix and define a method named "++"
19:51
< celticminstrel>
Yeah, that'd a valid option.
20:08
<@Derakon>
I assume the reason why it's __init__ is because all reserved function names in Python are __foo__.
20:08
<@Derakon>
And frankly that's better than having the name of the class be the name of the class's constructor, since at least this way you can easily find the constructor without having to know the name of the class already.
20:08
< celticminstrel>
Well yes, but that doesn't make it not ugly.
20:08
<@Derakon>
I'd imagine there's a more elegant solution out there, but I'm not certain what it'd be.
20:08
<@Derakon>
Oh, sure.
20:09
< celticminstrel>
And it's true that having the constructor not be the same name as the class is a good choice.
20:09
<@Derakon>
I'd argue that it's a good thing that constructors have a consistent name.
20:09
<@Derakon>
Once you make that decision, you then just have to decide what to name the constructor.
20:24 Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has joined #code
20:31
<@ToxicFrog>
Derakon: I've always liked class body is constructor, myself
20:33
<@Derakon>
TF: then how do you pass arguments to the constructor?
20:36
<@ToxicFrog>
They're arguments to the class definition.
20:36
<@ToxicFrog>
class Complex(r: Number, i: Number) {
20:37
<@Derakon>
Two more issues, then: 1) that clogs up construction logic with class definition, and 2) Python already uses "class Foo(Bar)" for inheritance.
20:38
<@ToxicFrog>
Aah.
20:38
<@ToxicFrog>
I was not in fact suggesting this for python, just saying that of the approaches I've seen in various languages that's the one I prefer.
20:39
<@Derakon>
So you don't find the mixing of any required construction logic with the class definition to be a problem?
20:40
< celticminstrel>
Of course, this disallows multiple constructors. In a strongly-typed language where type is associated with variables (rather than values), this could be rather limiting.
20:40
<@Derakon>
(Though granted that the generally-accepted wisdom is the constructor be simple and any extended logic be passed off to an init() function)
20:40
<@Derakon>
Celtic: it'd mostly mean that you'd have to do your type conversion yourself instead of letting the class magically handle it.
20:40
<@Derakon>
I could see arguments either way, honestly.
20:41
< celticminstrel>
That approach would work in Python, yes.
20:42
< celticminstrel>
But it would not work in a language like C++ or Java since you may need different numbers of arguments, radically different types of arguments, etc etc.
20:42 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code
20:42
< celticminstrel>
I suppose I should say "a language like Python" rather than just "Python".
20:45
<@Derakon>
Apropos of nothing...
20:45
< celticminstrel>
Huh?
20:45
<@Derakon>
I love how "None == True or None == False" is false in Python.
20:46
<@Derakon>
None has no truth value!
20:46
< celticminstrel>
Yes it does.
20:46
< celticminstrel>
bool(None) == False.
20:46
<@Derakon>
Ehh, fine. Spoilsport. :p
20:46
< celticminstrel>
Well, is that not what implicitly occurs when you write "if x:" ?
20:47
<@Derakon>
Yes.
20:47
<@Derakon>
Okay, yeah, I got overexcited.
20:47
<@Derakon>
5 != True.
20:48
< celticminstrel>
So, if you explicitly use == or !=, values of unrelated types never compare equal?
20:48
<@Derakon>
I believe that's accurate, yes.
20:48
<@Derakon>
Types are not converted as part of an equality check.
20:48
<@Derakon>
Though, int(5) == float(5)
20:48
<@Derakon>
So nevermind.
20:49
< celticminstrel>
I think I actually didn't know that. For that example, though, int and float are related types.
20:49
<@Derakon>
One has to wonder how that comparison is handled, though.
20:49
<@Derakon>
Since I'm pretty sure you can't represent 5 perfectly with floating-point.
20:49
<@Derakon>
So is there some built-in epsilon check in Python?
20:50
<@Namegduf>
Er... yeah, you can.
20:50
<@Derakon>
(i.e. if float(5) is within epsilon of int(5), return true)
20:50
< celticminstrel>
Uh, no, you can't.
20:50
<@Derakon>
It's been ages since I did floating-point.
20:50
< celticminstrel>
Wait... let me check this...
20:50
<@McMartin>
IEEE 754 can exactly represent all whole numbers with sig figs in range.
20:51
<@McMartin>
It can't exactly represent one fifth, but it can exactly represent 5.
20:51
<@Derakon>
Ah, thanks.
20:51
<@Namegduf>
I thought so.
20:51
<@Namegduf>
I think you'd need to convert one or the other to the other's format, though, to implement the comparison.
20:51
< celticminstrel>
Okay, 5 is 101, so the IEEE representation would be something like 1.01000...E+2.
20:51
< celticminstrel>
So I guess it can.
20:51
<@McMartin>
Yeah, it's a binary point.
20:52
<@Namegduf>
And if they were within epsilon of each other, the comparison would come out equal.
20:52
< celticminstrel>
As for how the comparison is implemented... well, there's no guarantee that a comparison operator takes two values of the same type.
20:52
<@McMartin>
whole numbers are fine, fractions that are powers of 2 are fine
20:52
<@McMartin>
Othewrise, hosed.
20:52
<@Namegduf>
If they implemented as conversion to float, which is the most sensible way.
20:52
< celticminstrel>
Whole numbers that are (absolutely) very large are not fine though. :P
20:52
<@Derakon>
Celtic: if only because Python has arbitrary precision on ints but not floats. :)
20:53
< celticminstrel>
Yeah, why doesn't it have arbitrary precision reals?
20:53
<@Derakon>
Probably because doing floating point in software is horribly slow.
20:53
<@McMartin>
celticminstrel: Because most fractions would require not merely arbitrary but *infinite* precision.
20:53
<@Derakon>
That too.
20:53
<@Namegduf>
You can avoid paying the cost for arbitrary precision on ints by just converting to a arbitrary precision representation when it happens, too.
20:54
<@Namegduf>
(I think that's what Python does)
20:54
<@Derakon>
I would imagine that Python avoids paying the costs for arbitrary precision when such precision isn't needed, yes.
20:55
< celticminstrel>
Is there no way to represent such fractions without infinite precision? After all, most of the digits are just a repetitive pattern.
20:55
<@Derakon>
IIRC Python has a Real class.
20:55
<@Namegduf>
You could store them *as* a fraction.
20:55
<@Derakon>
Which, yes, stores them as fractions of ints.
20:56
< celticminstrel>
Yes, but that's something different.
20:56
< celticminstrel>
...you can't represent a real as fractions.
20:56
<@Namegduf>
Yes you can.
20:56
<@Namegduf>
Well. Rational numbers.
20:56
< celticminstrel>
Exactly.
20:56
<@Namegduf>
You can't represent irrationals exactly full stop, though.
20:57
<@Derakon>
Given that irrationals don't have non-symbolic representations, you're in trouble.
20:57
< celticminstrel>
True.
20:57
<@Derakon>
sqrt(2) is an exact representation of an irrational number, but it's also functionally useless to a computer unless you're implementing a solution solver for a graphing calculator~
21:02
<@Derakon>
Hm. For my slide that contains URLs to helpful pages to get more information...
21:02
<@Derakon>
Is it a bad idea to include Google? ?.?
21:27 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
21:35 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
21:38 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code
21:51
< Rhamphoryncus>
There's a pysym library out there that does symbolic math if you wanted to do that
21:52
< Rhamphoryncus>
Personally I wanted to create a fixed point type that'd let you do reals to whatever precision you'd like (but defined by the programmer)
21:55
<@Derakon>
Isn't that what the decimal module is for?
21:57
< Rhamphoryncus>
decimal is floating point
21:57
< Rhamphoryncus>
It's just in base 10
21:57
< Rhamphoryncus>
Which means really large values will still lose you precision, or raise an exception
21:57
<@Derakon>
Ah.
21:58
< Rhamphoryncus>
My idea of fixed point would allow any denominator you choose, with arbitrary precision on the numerator
21:59
<@Derakon>
Argh.
21:59
<@Derakon>
No packaging should be able to draw blood from a minor slip.
21:59
< Rhamphoryncus>
heh
22:00
<@Derakon>
Frickin' blisterpacks.
22:23 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds]
22:30 Orthia [orthianz@Nightstar-07abd011.xnet.co.nz] has joined #code
22:32 Attilla [Some.Dude@Nightstar-e8d1c737.threembb.co.uk] has joined #code
22:32 mode/#code [+o Attilla] by Reiver
22:33 Derakon [Derakon@Nightstar-1ffd02e6.ucsf.edu] has quit [[NS] Quit: Leaving]
22:44 shade_of_cpux is now known as cpux
23:10 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has joined #code
23:13 Orthia [orthianz@Nightstar-07abd011.xnet.co.nz] has quit [Ping timeout: 121 seconds]
23:19 Orthia [orthianz@Nightstar-10953601.xnet.co.nz] has joined #code
--- Log closed Fri Nov 05 00:00:30 2010
code logs -> 2010 -> Thu, 04 Nov 2010< code.20101103.log - code.20101105.log >