code logs -> 2007 -> Fri, 13 Apr 2007< code.20070412.log - code.20070414.log >
--- Log opened Fri Apr 13 00:00:41 2007
--- Day changed Fri Apr 13 2007
00:00
<@ToxicFrog>
It has been my experience that running 32bit binaries on 64bit linuxes is often ass-slow.
00:01
< MyCatVerbs>
ToxicFrog: That sounds annoying.
00:01
< MyCatVerbs>
Given that the whole point of Opterons was that you were supposed to be able to seamlessly mix AMD64 and x86 code.
00:03
<@McMartin>
Also, it's not only Slow, it's Wrong.
00:03
<@McMartin>
As in, "the emulated programs Do Not Run."
00:14
< MyCatVerbs>
x_x
00:15
<@McMartin>
So I don't think it's a mere "32-bit exe on 64-bit machine" thing.
00:15
<@McMartin>
(Besides, frob runs fine)
00:15
< MyCatVerbs>
McMartin: is this just the whole kernel ABI changing, or something more egrerious?
00:15
<@McMartin>
(Despite needing to be 32-bit because it does unsafe typecasts that assume 4-byte pointers.)
00:15
<@McMartin>
MCV: The program in question is a 6502 emulator in Javascript.
00:16
< MyCatVerbs>
...ewww.
00:16
<@McMartin>
The emulator runs programs correctly and at acceptable speed on my laptop.
00:16
< MyCatVerbs>
Awesome, but simultaneously disgusting.
00:16
<@McMartin>
It (the simulated 6502) has a tendency to crash on my 64-bit machine.
00:16
<@McMartin>
On identical code.
00:17
< MyCatVerbs>
Well, that blows.
00:17 * McMartin would rather just target computers that actually exist.
00:17
<@McMartin>
Especially since then I can use a much nicer assembler.
00:18 Chalcedon [Chalceon@Nightstar-1896.dialup.ihug.co.nz] has quit [Quit: ]
00:18
< MyCatVerbs>
Hee.
00:19
< MyCatVerbs>
http://www.graficaobscura.com/depth/index.html <--- this dude was workin' for Silicon Graphics corp at the time.
00:19 * McMartin needs to finish adding automatic charset translation to his assembler.
00:19
< MyCatVerbs>
Suddenly I understand why they managed to produce such ridiculously awesome special effects rendering boxes and software.
00:20
< MyCatVerbs>
Seriously, check that article out. Blew my fucking mind right out my skull and straight through the ceiling.
00:20
<@McMartin>
That's a pretty clever technique.
00:21
< MyCatVerbs>
McMartin: yes. Bears sometimes fart in the woods. Pope apparently discovered to have religious leanings. Hitler revealed to be not very nice person.
00:21
< MyCatVerbs>
Any other mindbendingly huge understatements we'd like to declare? =D
00:22
<@McMartin>
MCV: Well, I'm actually in the "huh, neat" phase on that because I've seen techniques of vaster madness.
00:22
<@McMartin>
That paper is, after all, from 1994.
00:22
< MyCatVerbs>
Ahhh.
00:22
< MyCatVerbs>
Wait, what
00:23
<@McMartin>
I don't know if they have an online demo, but the Stanford Graphics Lab had this prototype where they used images from like 100 cameras to produce something that could use a trick like this to focus through objects.
00:23
< MyCatVerbs>
Are you suggesting that I'm going to get skullfucked if I attempt to read any graphics papers from the last ten years?
00:23
< MyCatVerbs>
...sweet.
00:23
<@McMartin>
As in, Person is hiding behind hedge, process results from all 100 pictures, get a recognizable face of the person behind it
00:23
<@McMartin>
The device was also usable for doing hyper-high-speed camera effects with stock cameras.
00:24 * MyCatVerbs nods.
00:24
< MyCatVerbs>
But this is... look, this guy is doing some of these horribly clever things using simple-ish algorithms.
00:24
<@McMartin>
Aha, here we go
00:24
<@McMartin>
http://graphics.stanford.edu/projects/array/
00:24
< MyCatVerbs>
And he's getting awesome results on 1994 SGI boxes.
00:24
<@McMartin>
Search for "Synthetic aperture focusing"
00:24
< MyCatVerbs>
Like, 200MHz MIPS chips?
00:24
<@McMartin>
Well, yes
00:25
< MyCatVerbs>
That is kinda spiffy.
00:25
< MyCatVerbs>
The Stanford lab there burns Rather More CPU time.
00:26
< MyCatVerbs>
Oh wait, FPGAs. Niiice.
00:26
< MyCatVerbs>
Still, I love it. That is an awesome application of the now ridiculously low price of CCDs.
00:26
<@McMartin>
FPGA tech has gotten pretty absurd.
00:27
< MyCatVerbs>
Didja see that German university with the FPGA raytracing project?
00:27
<@McMartin>
You can put entire SPARCs on them now.
00:27
< MyCatVerbs>
Now that was awesome. They have a trick where they use edge detection to find the specific points where aliasing is actually occurring, then they adaptively antialias _only those places_.
00:28
<@McMartin>
Nice.
00:28 * McMartin must admit he doesn't follow recent graphics research that closely.
00:28
<@McMartin>
The last time I looked at graphics research was when writing Sable, which was for a class
00:28
< MyCatVerbs>
Jah, they had rendered videos of it.
00:28
<@McMartin>
And the professor was showing off his recent stuff.
00:29
< MyCatVerbs>
It -looked- (to my eyes at least) like good antialiasing, 4x or higher at least - I don't actually know, I've never tried gaming on an expensive graphics card.
00:29
< MyCatVerbs>
But the performance hit was like, 10%. They were only actually multitracing a tiny portion of the screen because of the edge detection trick.
00:30 * McMartin nods
00:30
< MyCatVerbs>
Oooh, actually, thinking back, I've played with POVray before. I'd say it looked around as good as POVray on 8x.
00:30
< MyCatVerbs>
But that's a -very- subjective judgement.
00:31
< MyCatVerbs>
I'm extremely biased, too, by the "ooooh, FPGAs!" factor and the, "ooh, raytracing!" factor.
00:33 * MyCatVerbs <--- teh fanboy.
01:15 ReivZzz is now known as Reiver
02:00 MyCatVerbs is now known as MyCatSleeps
02:21
<@Raif>
Re: 32 bit: Running 64 bit vista for the last 5 months, I haven't noticed a significant slowdown except for driver issues.
02:55
<@ToxicFrog>
Vista does seem to have gotten 64bit mostly right.
02:55
<@ToxicFrog>
Albeit at an unacceptably high cost.
03:06 Reiver is now known as ReivOut
04:11 ReivOut is now known as Reiver
04:18 Thaqui [~Thaqui@Nightstar-11312.jetstream.xtra.co.nz] has joined #code
04:18 mode/#code [+o Thaqui] by ChanServ
04:45 Thaqui is now known as Thaqui[Out]
05:25
<@Raif>
What cost is that, exactly?
05:28
< Doctor_Nick>
the souls of a thousand orphans
05:28
<@Raif>
Meh, XP took way more than that. :)
05:32
<@Reiver>
Raif: TF generally refers to the performance hit, and DRM issues.
05:33
<@ToxicFrog>
Performance hit + DRM issues + mockworthy retail price + total lack of 16-bit support + asstastic UI.
05:33 * Reiver would say the latter has improved over XP, but.
05:34
<@Raif>
Performance: Consider it a beta OS, as you would with any other OS that hasn't hit its first service pack.
05:34
<@ToxicFrog>
Raif: as opposed to the actual beta?
05:35
<@ToxicFrog>
Which, I note, had even worse performance, to the point that I was unable to contemplate it in any way with a straight face?
05:35
<@Raif>
DRM bothers me, but in this case it doesn't affect me since I have no intention of purchasing HD-DVDs or Blu-Ray movies (which is where its prevalent).
05:35
<@McMartin>
The performance hits aren't nearly as bad as the media reports makae it out to be.
05:35
<@McMartin>
At least for business applications.
05:35
<@ToxicFrog>
McMartin: well, the ones in the beta were, if not worse.
05:35
<@Raif>
No, the performance is not horrible.
05:35
<@McMartin>
Um, the media reports were two orders of magnitude slowdowns.
05:35
<@ToxicFrog>
Since the beta they've made massive performance improvements.
05:35
<@ToxicFrog>
Thus bringing it to "insulting" rather than "unusable"
05:35
<@Raif>
I don't notice the performance 90% of the time, and when I do it's not Vista's fault... hence my recent annoyance with nVidia and their shitty vista RAID drivers. :)
05:36
<@Raif>
It's really not that much slower than XP.
05:36
<@McMartin>
TF: I know people who consider 0.5% overhead "unusable", so you'll have to clarify further.
05:37
<@ToxicFrog>
For DRM, I don't use HD-DVD or BDRE either. What worries me is the potential for it wigging out over, say, my mp3 collection.
05:37
<@ToxicFrog>
McMartin: "1GB memory minimum for word processing, 2GB for games"
05:37
<@Raif>
Finally: Retail: I agree completely. The retail price is ridiculous, as it has been with every other OS this company has released. I would never consider buying it for that much... fortunately, I don't have to. :)
05:37
<@ToxicFrog>
Which is about what I saw on the beta machine we had at work.
05:37
<@Raif>
Frog: That's not how the DRM works. If your MP3s are encoded without DRM, then you won't have issues with it.
05:38
<@Raif>
If you, however, have music in some DRM'd format, well... why do you own DRM'd music? :)
05:39
<@ToxicFrog>
Raif: again, they may have fixed this since the beta, but there was a time when the presence of *any* DRM'd stuff, or stuff it thought might perhaps be kind of DRM related, would cause it to go into full anti-piracy mode, which means if any of your hardware is uncompliant - practically a certainty - say hello to deliberately shitty video and sound quality on everything you play!
05:39
<@McMartin>
TF: The New Zealand report... exaggerated the case a bit.
05:39
<@Raif>
I've never seen or heard of that... and I work here. :P
05:39
<@ToxicFrog>
Even if they have fixed this, the mere fact that at any point they thought something like that was an even remotely acceptable idea is a huge warning flag.
05:40
<@Raif>
It was a requirement for them to be able to play the two HD formats.
05:40
<@McMartin>
The claims that it took over the entire system were, AIUI, pure fantasy.
05:40
<@ToxicFrog>
And your point is?
05:40
<@McMartin>
The fact that people accuse MS of eating babies is not news.
05:40
<@ToxicFrog>
(that was at Raif)
05:40
<@Raif>
Microsoft is a shit in the bucket as far as the big movie studios are concerned. If they say "We're not gonna put DRM in" then the studios say "Then you can't play our formats."
05:41
<@McMartin>
TF: Without the "everything you play" modifier, if you don't use Blu-Ray, your performance is unaffected.
05:41
<@Raif>
That's unacceptable to MS, so they put it in there. If you don't like it, then by simply never installing an HD player in your system, you never have to encounter it. :)
05:41
<@McMartin>
Worry more about about WGA.
05:41
<@McMartin>
(Seriously. Worry more about WGA.)
05:41
<@Raif>
WGA is gross and horrible.
05:41
<@Raif>
Perhaps the worst DRM abuse I've seen in software.
05:41 Reiver [~reaverta@IRCop.Nightstar.Net] has quit [Quit: Rebooting to see if I can get Supreme Commander to, you know, work]
05:42
<@ToxicFrog>
I figured that both of you were already worrying more about WGA and thus I didn't need to mention it.
05:42
<@McMartin>
Well, there were breathless claims some months back that the RIAA was going to make medical imaging software deliberately misdiagnose people.
05:42
<@Raif>
LOL... that's funny.
05:42
<@McMartin>
That would, in fact, be worse than WGA if true, but it is, as noted, pure fantasy.
05:42
<@Raif>
Indeed it is.
05:42
<@Raif>
I remember that now.
05:43 Reiver [~reaverta@IRCop.Nightstar.Net] has joined #Code
05:43 mode/#code [+o Reiver] by ChanServ
05:43
<@ToxicFrog>
But, yeah, I don't know if WGA can be removed with a pickaxe like it can be from XP.
05:43
<@Raif>
WGA doesn't really exist in Vista.
05:43 Reiver [~reaverta@IRCop.Nightstar.Net] has quit [Client exited]
05:43
<@McMartin>
Um?
05:44
<@McMartin>
I've seen screenshots if validation revocation on Vista.
05:44
<@McMartin>
s/if/of/
05:44
<@Raif>
Possibly. I haven't, nor do I personally know of anyone who has.
05:44
<@ToxicFrog>
McMartin: the claim I read wasn't "they will deliberately break medical software" as "their DRM has a bunch of nasty side effects, and this is one potential consequence"
05:44
<@Raif>
(has had issues with activation, that is)
05:45
<@Raif>
TF: It's still misinformation, though.
05:46
<@Raif>
Unless the medical drivers were shoving out intentionally DRM'd images (which would be ridiculous), that couldn't happen.
05:46
<@ToxicFrog>
(why are we even in a world where these things are plausible? Seriously, what the fuck?)
05:46
<@Raif>
They aren't.
05:46 Reiver [~reaverta@IRCop.Nightstar.Net] has joined #Code
05:46 mode/#code [+o Reiver] by ChanServ
05:47
<@McMartin>
Well, absent criminally incompetent medical software designers.
05:47
<@Raif>
Don't even get me started on the medical software industries...
05:47
<@ToxicFrog>
Well, not specifically medical software, but "DRM fucking up things it shouldn't" and, more generally, DRM itself.
05:47
<@Raif>
I've seen killer bugs demo'd
05:47
<@McMartin>
Well, OK, criminally incompetent in unusually perverse ways medical software designers.
05:47
<@Raif>
Killer as in "You've just received 1000 times the intended radiation dosage... whoops!"
05:47
<@McMartin>
"We will use Vista's DRM technology to protect confidential medical data!"
05:48
<@Raif>
Yeah, I don't see it happening...
05:48
<@Raif>
And even if it could, there are other solutions to make it happen. I point you to the BMG rootkits.
05:49
<@McMartin>
I seem to recall the failure mode they described involved someone playing Blu-Ray audio on the X-Ray machine.
05:49
<@McMartin>
And that was just to make it conceivable.
05:49
<@Raif>
...
05:49
<@McMartin>
AIUI, it's still pure fantasy, even if you did that
05:49
<@Raif>
Indeed.
05:49
<@Raif>
That is pretty funny though.
05:50
<@ToxicFrog>
McMartin: on the machine used to read the XR plates, as I recall.
05:50
<@ToxicFrog>
Which, as the ones I've seen are off-the-shelf PCs + some extra hardware to interface with the plates, is just this side of entirely possible if the technician gets bored~
05:50
<@Raif>
Even then, it doesn't degrade all images... just the ones in the DRM'd stream.
05:51
<@McMartin>
Which is done at the window/audio channel level.
05:51
<@McMartin>
And even if it were "all sound", if they're playing music and listening to recorded medical sound simultaneously, you have bigger problems than DRM~
05:51
<@Raif>
Or a fired technician. :P
05:52
<@McMartin>
But yes. The key misinformation is that the degradation is global.
05:52
<@ToxicFrog>
'kthen.
05:52
<@ToxicFrog>
It's not like this leaves us without many other reasons to hate Vista, anyways~
05:53
<@McMartin>
As for how we live in a world where the conspiracy theories are plausible, even if untrue: I give you PS3s and X360s vs. early-adopter HDTVs.
05:53
<@ToxicFrog>
?
05:54
<@McMartin>
If you spent thousands on an HDTV and hoped you could hook a PS3 up to it: Ha ha! Sucks to be you!
05:54
<@McMartin>
Early HDTVs don't have the DRM cables and so the PS3 will degrade its outputted signal.
05:54
<@McMartin>
Or rather, only output SDTV.
05:54
<@ToxicFrog>
Aah.
05:54
<@Raif>
Well, you can hate Vista, but if you're doing so, hate XP too. :)
05:54
<@ToxicFrog>
Raif: oh, I do.
05:54
<@ToxicFrog>
Every day.
05:55
<@ToxicFrog>
I just hate it less than I hate Vista.
05:55
<@Raif>
Have you actually used Vista RTM yet?
05:55 * McMartin currently still hates XP more because people use it.
05:55
<@McMartin>
It thus produces mass waves of pwnination that Vista does not.
05:55
<@Raif>
Hehe, true.
05:55
<@ToxicFrog>
Hmm. I've seen it used, but I may not actually have laid hands on it since the beta.
05:55
<@ToxicFrog>
McMartin: true, but it's not like Vista will improve matters on that front.
05:56
<@McMartin>
TF: Not entirely true. At least in 64-bit mode various kinds of pwnination become significantly harder.
05:56
<@McMartin>
It, like, actually uses nonexecutable data, and relocates winnt.dll so that return-to-libc attacks are harder, and such.
05:57
<@Raif>
Well, I'll say that in almost every way, Vista is better than XP. The only thing that annoys me is UAC, and that can be turned off. My annoyance is more in the implementation, and lack of any understanding of human psychology in the design.
05:57
<@McMartin>
(Laughably little harder in 32-bit mode, but more acceptably in 64)
05:57
<@ToxicFrog>
UAC?
05:57
<@Raif>
User Access Control. It's the UI version of sudo.
05:57
<@ToxicFrog>
Raif: "the design is good, but the implimentation is shitty" is little better than "the design and the implementation are both shitty".
05:58
<@Raif>
Frog: One little feature could fix the design and implementation: A check box that says "Shut the fuck up for this program. Next."
05:59
<@Raif>
I don't like seeing that elevation dialog for apps that I know will never be patched because their developers are too damn lazy to design properly.
05:59
<@ToxicFrog>
That still leaves the rest of the UI, which combines the worst features of XP and OSX, then layers it something almost as shiny as XGL except it requires absurdly recent video hardware to run.
05:59
<@Raif>
And I especially don't like having to see that damn dialog every time.
05:59
<@ToxicFrog>
Better than running as root!
06:00
<@ToxicFrog>
Except of course everyone will just run as root to avoid having to see it.
06:00
<@Raif>
But the main problem is that I don't like that it trains regular users to just hit "Allow" because 90% of the time it's one of those stupid apps. It forms bad habits.
06:00
<@ToxicFrog>
Or, yes, just blindly hit "permit"
06:01
<@Raif>
It's all psychology, and lack of understanding in the design.
06:01
<@McMartin>
Well, in the UI design.
06:01
<@McMartin>
"Don't fucking run as root!" is perfectly good design.
06:01
<@Raif>
As for UI evil: I think it's pretty damn good.
06:01
<@Raif>
I mean, look at your alternatives.
06:01
<@Raif>
OSX treats you like a child, and XP looks like a fischer price toy.
06:01
<@McMartin>
I like FC6
06:02
<@Vornicus>
and Linux has spikes all over it
06:02
<@Vornicus>
:P
06:02
<@ToxicFrog>
Only if you're foolish enough to use XP Home, and FC6 and Ubuntu both have decent UIs.
06:02
<@McMartin>
FC6 childproofed the edges
06:02
<@Raif>
Yes, Linux is the Lawn Darts of operating systems.
06:02
<@Raif>
It seems all fun and colorful, until that fucker impales you in the chest.
06:03
<@Vornicus>
I don't think I've met an OS that doesn't do /that/
06:03
<@ToxicFrog>
What most of my complaints boil down to is that depending on where you look, it's either an incremental imrovement over XP (DEP - which XP already supports, just not as well - or 64bitness), or an incremental or serious step backwards (system requirements, UI), and then they charge you ~$600 for it.
06:03
<@ToxicFrog>
...
06:03
<@Raif>
Frog: I don't consider Xp's "Classic" Win2k look any improvement on the fischer price thing.
06:04
<@Vornicus>
Raif spent too long in Germany. "fisher"
06:04
<@Raif>
$600? I don't know where you're getting that figure...
06:04
<@ToxicFrog>
It's better than OSX.
06:04
<@Raif>
Vorn: Yeah.
06:04
<@ToxicFrog>
Raif: vague memories. What, is it less now?
06:04
<@Raif>
Ultimate might be as high as 400, but I think it's lower.
06:05
<@Raif>
If that's what it is, that's about 100 more than XP's opening price for Pro.
06:05
<@ToxicFrog>
Ultimate, as I recall, being the only flavour that isn't crippled in hilarious, yet tragic, ways.
06:05
<@Raif>
Nah, home premium is good enough for most people.
06:05
<@Raif>
Home basic, don't touch it with a ten foot pole.
06:05
<@ToxicFrog>
And, ok, that's still insane, but it's merely head-trauma insane as opposed to an-iron-bar-blown-through-your-head-in-a-railroad-accident insane.
06:06
<@Raif>
Meh, I'll agree... but home premium is in the $200 range, I think, which is plenty acceptable.
06:06 * McMartin hasn't paid for an OS since 2000.
06:06
<@Raif>
That SKU is pretty on par with XP Pro.
06:06
<@Reiver>
What I want is an XP Classic Flat edition.
06:06
<@Vornicus>
Vista Ultimate full package is $400; Upgrade is $260
06:06
<@Reiver>
Alas, no-one bothered.
06:06
<@Reiver>
>.>
06:07
<@Raif>
Heh.
06:07
<@Vornicus>
There were 'leaked' price reports putting Vista at $650
06:07
<@Raif>
Read: FUD.
06:07
<@ToxicFrog>
Didn't Home Premium also contain limits on concurrent processes?
06:07
<@McMartin>
I can't weep much for MS getting FUDded, but combatting it is still good.
06:07
<@McMartin>
TF: I think that's Home Basic.
06:08
<@Raif>
I'm all for microsoft bashing (or apple bashing, or FOSS bashing, whatever)... but I at least expect people to base their hatred in fact.
06:08
<@ToxicFrog>
As I recall - although it's been a while since I researched the different flavours - the only version that both (a) doesn't have sort of limits and (b) isn't missing important features is Ultimate.
06:08
<@Raif>
I realize that this is a foolishly naive position, judging by ol' /.
06:08
<@Raif>
TF: For a power user, yes. For most people, they don't need that stuff.
06:09
<@Raif>
And I am ALL FOR most people having the added security, because it means fewer botnets, less spam, and all around less annoyance for those of us who know how to maintain a machine.
06:09 * Vornicus remembers, uh, what's his name - Jensen Harris - talking about how they considered making a "basic" release of Office 2007 with only stuff that your 'average user' uses, and found that everybody's "must have" features were different.
06:09
<@McMartin>
Vista not having stupid-ass servers running by default is ++, and I see no reason why XP doesn't have a Windows Update that kills them.
06:10
<@ToxicFrog>
In principle, I agree with you.
06:10
<@Raif>
Vorn: There are several SKU's of office. That's one of them, and it appears to sell.
06:10
<@ToxicFrog>
In practice, the added security will mean very close to dick, because Vista will still have exploitable flaws and will still be used by idiots who install Bonzi Buddy.
06:10
<@Vornicus>
I don't mean in the sense of "this doesn't come with Visio" but in the sense of "this version of MS Word doesn't do mail merges"
06:11
<@Raif>
Office SKU's are built by which apps/extras are included, rather than trying to artificially hobble specific features within apps.
06:11
<@Raif>
90% of people need word, excel, maybe outlook... and that's about it.
06:11
<@ToxicFrog>
And, as you said, the UI trains them to either run as root, or reflexively grant root privs to anything that asks.
06:11
<@Vornicus>
When I'm on Windows, I use Excel and Visio and Access... and that's about it. :)
06:12
<@Raif>
TF: UAC isn't the only added security.
06:12
<@Raif>
My favorite is the kernel protection in 64 bit.
06:13
<@Raif>
I have hopes that UAC will be fixed though, because internally I hear nothing but complaints, so somebody's got to be listening.
06:13
<@McMartin>
Yeah.
06:13 * ToxicFrog uses...VLC, winamp, mencoder, NEdit, Opera, bash/rxvt, and whatever he's playing at the moment - typically several of these at once - plus litestep and X11 running in the background.
06:14
<@ToxicFrog>
...heh. Perhaps.
06:14
<@McMartin>
Vista's use of ASLR, and it breaking compatibility, finally, to actually enforce no-execute data are both major ++s, and put it past OS X.
06:14
<@ToxicFrog>
ASLR?
06:14
<@McMartin>
Address Space Layout Randomization.
06:14
<@McMartin>
You need 64-bit address spaces for that to not be easily defeatable, though.
06:14
<@Raif>
WHat I really like is that the kernel protection has foiled even major anusware companies like Symantec and mcaffee.
06:14
<@ToxicFrog>
Aah.
06:14
<@ToxicFrog>
...why?
06:14
<@McMartin>
Because otherwise the stuff being relocated doesn't get enough bits of entropy.
06:15
<@Vornicus>
(well, okay, I also use FF and Thunderbird, Calculator, Notepad, Winamp... but that's all the MS Office things I use)
06:15
<@McMartin>
So you can just launch 256 different attacks, say, and enough will get through to sustain a botnet.
06:15
<@McMartin>
Launching 2^30 different attacks is less successful.
06:15
<@Raif>
Vorn: Why access?
06:15
<@McMartin>
They also modified the ABI to make stack canaries actually work, but I believe that actually came in with XP SP2 as well.
06:16
<@Raif>
Access is so unpopular we've barely even considered porting it to the mac.
06:16
<@Vornicus>
Access mainly because I work with that kind of data and it's usually nicer than opening a socket to Postgres and pushing raw select statements around.
06:16
<@McMartin>
(The latest ANI vulnerability was kind of hilarious because because it defeats the stack canaries completely by accident.)
06:16
<@Reiver>
"Because other people use it"
06:17
<@Raif>
McM: Yeah, they've done a lot of tricksy and, to my mind at least, spiffy things like that.
06:17
<@McMartin>
Raif: This stuff is all Seriously Old News, though -- Red Hat's been putting it in its enterprise distros for forever.
06:17
<@Raif>
Vorn: I'd still prefer postgres or Excel, depending on what you're doing.
06:17
<@Raif>
Don't get me started on Red Hat either.
06:18
<@McMartin>
OS X completely lacks all of them, though, so if it takes off in a big way Cocoa-based exploits will get big fast.
06:18
<@ToxicFrog>
MS Goes Where *Nix Went Years And Year Ago isn't news~
06:18
<@McMartin>
TF: Yes it is, they usually ignore it entirely~
06:18
<@McMartin>
NT is VMS-descended, after all.
06:19
<@Vornicus>
I like Excel for a lot of things, it is My Thinking Tool.
06:19
<@Vornicus>
But there's a place where I can go with Access that I get there a lot faster with it than either Excel or Postgres.
06:19
<@ToxicFrog>
McMartin: well. NT added the concept of seperate root and user accounts, as well as file ownership and permissions.
06:20
<@McMartin>
Yeah, but those predate both UNIX and VMS.
06:20
<@ToxicFrog>
True, but UNIX stole^Wadapted them before NT did.
06:20
<@ToxicFrog>
Hence, going where UNIX went ages ago.
06:20
<@ToxicFrog>
Indentifying where, exactly, they got the idea is trickier.
06:21
<@Raif>
Well, for my money it's not the novelty of the idea that counts. :P
06:21
<@McMartin>
Indeed.
06:21
<@ToxicFrog>
Quite.
06:21
<@McMartin>
(I'm also curious about why you have a Red Hat in particular rant, as opposed to a Linux-in-general one)
06:22
<@ToxicFrog>
Something that MS sometimes seems to have trouble with.
06:22
<@Raif>
Because they keep screaming about how RHEL is The Most Secure Thing Evar, and they're full of shit. Most distros don't do that.
06:23
<@Vornicus>
OpenBSD! Two exploits in ten years!
06:23
<@ToxicFrog>
Clearly they've been learning from MS~
06:23
<@Raif>
Yes yes, spit, hiss, meaw.
06:23
<@Raif>
*meow too.
06:23
<@Raif>
Vorn: Yeah, I've heard good things about BSD.
06:24
<@McMartin>
I picked RHEL mainly because they actually turn on all the various things like ASLR and such that most distros leave alone for performance or compatibility reasons.
06:24
<@McMartin>
Fedora keeps no-x pages but this breaks, for instance, the ATI drivers.
06:24
<@Raif>
Yeah, that's fine, but they're sealing the cracks when there are sledhammer holes in the walls.
06:25
<@McMartin>
Much the same can be said for Vista.
06:25
<@McMartin>
And Vista has MOST SECURE OS EVAR billboards plastered all over every BART station in the Bay Area.
06:25
<@Raif>
I'd tend to disagree, beyond the usual backcompat rant.
06:25
<@McMartin>
The ANI attack worked on it too~
06:25
<@McMartin>
But it did so by being of a form that the standard automated defenses ignore.
06:26
<@ToxicFrog>
Raif: you can't deny that MS has a deeply irritating habit of pointing at their stuff, and then pointing at some other stuff, usually but not always Linux, and then going "look! Our stuff is faster, cheaper, and more secure, and we can prove this with a random bar graph from the CorelDraw clipart directory!"
06:26
<@Vornicus>
backcompat isn't so much a sledgehammer hole as somebody drove a backhoe through the building.
06:26
<@Raif>
Meh, every time this argument gets played out, somebody drags out a couple well-publicized exploits and quietly ignore (to pick on Red hat again) RHEL's several unpatched issues, and their mean time to fix.
06:27
<@Raif>
Vorn: Indeed.
06:27
<@ToxicFrog>
At least RH doesn't (as far as I know) claim that RHEL is Inherently Superior In Every Way To Every Other Operating System Ever, And All Evidence To The Contrary Are Lies And Delusions.
06:27
<@McMartin>
Vornicus: More "the house was designed with only three walls"
06:27
<@Raif>
TF: They do every bit as much as MS does.
06:27
<@Vornicus>
heh
06:27
<@McMartin>
Since backcompat isn't implemented by someone forgetting to set the brakes.
06:28
<@ToxicFrog>
Raif: somehow, it's MS's banner ads that I see all over the place and not RH's.
06:28
<@McMartin>
My experience in both net and meatspace tracks TF's.
06:28 * Raif shrugs.
06:28
<@McMartin>
(OS ads in meatspace always baffle me.)
06:28
<@Raif>
You're not necessarily the target RH is singing to.
06:29
<@Raif>
They go for businesses... microsoft is targeting users such as ourselves.
06:29
<@Raif>
s/They/RH/
06:29
<@McMartin>
Since you mention it, at the consumer level, XP vs. Desktop Linux is pretty laughably weighted towards the Linux end.
06:29
<@ToxicFrog>
I'll have track down some RH adverts to see if they're as obnoxious as MS's, but it'll take some serious effort to meet that mark.
06:29
<@McMartin>
This may have more to do with system homogeneity.
06:30
<@Raif>
I wouldn't deny that... I'm unfamiliar with XP's security.
06:30
<@McMartin>
But the net effect is that Stanford University has to whitelist every XP machine on campus until it's confirmed its patchlevel.
06:30
<@McMartin>
Botnet attacks on XP systems are so prevalent that the average time to total system compromise of an unpatched XP machine is twenty-five seconds.
06:30
<@Raif>
IMO, I'd consider them both wildly insecure, considering the number of apache and windows websites I've seen hacked.
06:30
<@McMartin>
Hacking a website and zombifying a machine are two different things.
06:31
<@Raif>
Not really. Once you're in, you're in.
06:31
<@McMartin>
... that's not even remotely true.
06:31
<@Raif>
So you're saying that if they can modify your website that doesn't mean they can run a zombie?
06:31
<@ToxicFrog>
Raif: as a general rule, unfirewalled Linux machines will not get automatically rooted when connected to the internet, and they especially won't get rooted before you finish logging in, which has been the case with XP for a while.
06:31
<@Raif>
(I'm not saying this is a likely scenario, just that it's possible).
06:32
<@ToxicFrog>
I think what McM is saying is that deliberately breakign a specific system, and automatically breaking systems in general, are different.
06:32
<@Raif>
My point is that they're both pretty insecure... and on linux side it might just be a matter of configuration and education, but it surprises me how easily public-facing linux boxes fall.
06:32
<@McMartin>
I'm also saying that the line he gave is, in fact, true, especially if your apache install doesn't include a cgi-bin directory.
06:32
<@ToxicFrog>
Yeah, you can pwn a Linux machine. But how many get auto-pwnt just by virtue of the fact of being connected to the internet?
06:33 * Raif shrugs.
06:33
<@McMartin>
The kind of pwnz0rsh1p I tend to concern myself with professionally is the kind where phishers can use your site unmodified to pwn people who click links in emails.
06:33
<@Raif>
Like I said, I won't argue too much as to the merits of XP's security over desktop linux.
06:33
<@McMartin>
And that's OS- and Server-independent, mostly.
06:33
<@Raif>
I would never suffer either one to be naked to the internet on my network.
06:34
<@McMartin>
The key difference now is that a flat custom install of a modern Linux desktop doesn't start any services.
06:34
<@ToxicFrog>
And, at least on Fedora, comes with iptables on by default.
06:34
<@Raif>
Ah, improvement.
06:34
<@McMartin>
If you don't respond to anything but pings, you cannot be pwnt.
06:34
<@McMartin>
That doesn't stop idiots from installing Every Package In The Universe, but they have to try now.
06:35
<@McMartin>
If they're foolish enough to run wuftp_d or something, they'll get what's coming to them too.
06:35
<@Raif>
And yes, Idiots are what I'm worried about with security.
06:35
<@ToxicFrog>
As opposed to "plug computer in, wait thirty seconds"
06:35
<@ToxicFrog>
Which sets the bar for pwnz0rship much lower.
06:35
<@Raif>
You or me, not so much, but joe internet? Yeah, he needs a machine that can handle that kind of misues.
06:35
<@Raif>
*misuse
06:35
<@McMartin>
And Vista does improve on that, AIUI, in the "not having ports to listen in on, and certainly not RPCs!"
06:35
<@McMartin>
department
06:36
<@Raif>
Yeah, Vista's network stack was rewritten. There was a lotta shit in there.
06:36
<@Raif>
(in XP's that is)
06:36
<@McMartin>
It's more that stock XP listens on about 93 different ports with services Joe Internet will never use except to get pwnt.
06:36
<@Raif>
That's part of it too.
06:37
<@ToxicFrog>
Some of which are actually used by localhost, but bind to INADDR_ANY, as I recall.
06:37
<@ToxicFrog>
(and stock XP has the firewall off by default, too)
06:37
<@McMartin>
But yeah. Stanford had to distribute patches to Windows on CDs, because it could not patch in time.
06:37
<@Raif>
But I have heard of malformed packet exploits that allow one to run arbitrary code, so it's not necessarily true that having no services running keeps you save.
06:37
<@Raif>
*safe.
06:37
<@McMartin>
Yeah, if you ask for anything from the wrong place, you're asking for it.
06:37
<@McMartin>
But that's true, period.
06:38
<@ToxicFrog>
How does that qualify as "asking for something"?
06:38
<@McMartin>
What with Web 2.0 and everything. "Yes! I would like to run unseen code from totally unknown sources! I CAN FEEL THE FUTURE! IT IS REAMING OUT MY ASS!"
06:38
<@ToxicFrog>
Pfft
06:38
<@Vornicus>
06:38
<@Raif>
I'm sorry, but the very term "Web 2.0" makes me want to punch you. :)
06:39
<@McMartin>
The ANI exploit I've mentioned several times could only trigger if you explicitly requested a URL that was under the control of a hostile party.
06:39
<@Raif>
Yes.
06:39
<@McMartin>
Raif: It actually has a definition!
06:39
<@ToxicFrog>
McMartin: I'm talking about malformed packets.
06:39
<@Raif>
This is a new development. What's the definition?
06:39
<@McMartin>
The definition is Made Of Buzzwords too, unfortunately, but in their original form.
06:39
<@ToxicFrog>
You don't have to request anything for someone to send you some.
06:40
<@McMartin>
TF: True, I misunderstood your comment as representing a client/server session with user as client.
06:40
<@McMartin>
Raif: Basically, highly interactive Web applications that use more than FORM elements and cookies to do their work.
06:40
<@McMartin>
So, say, Gmail.
06:40
<@Raif>
Y'know the best security measure to prevent that shit?
06:40
<@Raif>
Run NoScript.
06:41
<@McMartin>
That doesn't help if you actually want to, you know, run one of these applications.
06:41
<@Raif>
Amazing how many attack vectors disabling javascript eliminates.
06:41
<@McMartin>
Well, it's more that "you can do a lot of shit with XSS"
06:41
<@Raif>
McM: If you WANT to run the trojan, than by all means do so. :)
06:41
<@McMartin>
But your statement is like "Hey, want to avoid getting worms? Don't run programs you get from the internet."
06:42
<@Raif>
Yes, that is indeed what I said.
06:42
<@McMartin>
This is a laughable position.
06:42
<@Vornicus>
Which is getting more and more spectacularly difficult.
06:42
<@Raif>
I have JavaScript permanently enabled for about 3 sites. One is my bank and the others I know personally.
06:42
<@McMartin>
Raif: And yet, you probably run programs like WoW that download code from The Internet and run it.
06:42
<@McMartin>
If you have a Linux distro, damn near your entire system is Programs From The Internet.
06:42
<@Raif>
They'll download code from a trusted source, yes. :)
06:43
<@Vornicus>
Windows Update is also, you know, The Internet.
06:43
<@Raif>
(GRanted they use bittorrent, but it's spectacularly difficult to get a trojan to match the same signature as the original executable)
06:43
<@Raif>
Vorn: and?
06:43
<@Vornicus>
<3 Bittorrent
06:43
<@McMartin>
(Assuming the original executable is not itself a torrent)
06:44
<@Raif>
I fail to see where this discussion is going. :P
06:44
<@McMartin>
(Uh, a trojan)
06:44
<@Vornicus>
McM: with some of the things I've heard about WoW, I wouldn't be too surprised...
06:44
<@McMartin>
If your bank has an XSS vulnerability in its HTML, you can get pwned.
06:44
<@Raif>
McM: Well if bliz started intentionally distributing trojans, I'm pretty sure there are other recourses.
06:44 * McMartin prefers DOM-level control of scripts, himself -- nifty paper on that in the upcoming WWW'07 conference.
06:45
<@McMartin>
That proposal defaults to "scripts OK", which I'm not sure is the right way to do it.
06:45
<@Raif>
no. No it's not.
06:46
<@Raif>
That's how we got into the mess with javascript.
06:46
<@McMartin>
Though it's presumably easier to test it against currently existing AJAX websites if you default it, because you have to modify fewer divs.
06:46
<@McMartin>
This means you get your paper written faster.
06:47
<@Raif>
I'm OK with massive delays if it means not throwing us into another fucking dark age of security.
06:47
<@McMartin>
We're already in one.
06:47
<@Raif>
We're crawling our way out of one, actually.
06:47
<@McMartin>
Getting credit for your proof-of-concept is thus more important~
06:47
<@McMartin>
No, AJAX is getting more popular, not less~
06:47
<@Raif>
That doesn't mean I have to run it. :)
06:47
<@McMartin>
Also, academia has different standards than industry.
06:48
<@Raif>
And I'm seeing more and more sites that I frequent which DON'T need scripting enabled to function.
06:48
<@McMartin>
Industry is "sell it as soon as you can find suckers who will pay you for what you have"
06:48
<@McMartin>
Academia is "Take whatever shortcuts are necessary to see whether or not the whole idea is fundamentally misguided"
06:48
<@McMartin>
These often come into conflict, as suckers often pay top dollar for fundamentally misguided stuff.
06:48
<@Raif>
I have the luxury most days of deciding that if a site won't run without scripting, I don't want to go to that site.
06:48
<@Raif>
Not long ago this was impossible.
06:49
<@McMartin>
Well, with Gmail, it runs about 90 times faster with scripting and doesn't pwn your downstream.
06:49
<@Raif>
Yeah, I don't care about my downstream.
06:49
<@Raif>
it's a rare day that I can saturate it.
06:50
<@Raif>
Also, I don't often use gmail. :P
06:56
<@McMartin>
Gmail also HTML-escapes its messages by default, ANAICT. =P
06:56
<@Raif>
If they're smart, they do.
06:57
<@Raif>
And google is full of some very smart people.
06:57
<@ToxicFrog>
And yet, they can't figure out how to provide an option to turn the spam filter off.
06:57
<@McMartin>
I really need a spammerassassin.
06:57
<@McMartin>
Its false negative rate is about 50/day, its false positive rate is zero, and the spam folder gets nearly 4000 entries a month.
06:58
<@ToxicFrog>
I've had it generate false positives.
06:58
<@ToxicFrog>
Not often, but it happens.
06:58
<@McMartin>
With luck that will decrease some once the Stanford account dies.
06:58
<@ToxicFrog>
And I can't get at the spam folder except through the web interface, and I can't turn off the spam filter.
06:58
<@ToxicFrog>
So I have to go in there every three weeks and move everything in spam into inbox, so that fetchmail can get at it.
06:59
<@Raif>
Whenever a company sends out mass mails that aren't spam, it'll catch those.
06:59
<@Raif>
I've heard of it catching chain letters too.
06:59
<@McMartin>
Borders and Travelocity mass mails get through fine for me.
06:59
<@McMartin>
Catching chain letters is not, imo, a false positive~
07:00
<@Raif>
LOL.
07:00
<@Raif>
True enough.
07:00
<@Raif>
McM: Nah, not all mass mails do it. But it'll catch one every so often.
07:00
<@McMartin>
If you count those, a call for papers from some ninth-string CS conference is my most recent false positive
07:00
<@Raif>
It's usually corrected pretty quickly, though, because thousands of people click "This Isn't Spam"
07:00
<@ToxicFrog>
Since, if you aren't using their web interface, spam effectively vanishes into the ether, I'm much more worried about their false positives than my mailserver's false negatives.
07:01
<@McMartin>
http://www.scs.cs.nyu.edu/~dm/remove.pdf
07:01
<@ToxicFrog>
And yet there is no option to turn it off, and in my reading of their documentation they have no intention of ever adding such a feature.
07:01
<@Raif>
That's fucking spectacular.
07:01
<@McMartin>
If that's at me, I particularly like the scatterplot.
07:02
<@Raif>
Yeah, that's good.
07:03
<@Vornicus>
...hee
07:03 Thaqui[Out] [~Thaqui@Nightstar-11312.jetstream.xtra.co.nz] has quit [Connection reset by peer]
07:03
<@Raif>
But not as good as when I read "Abstract:" + "Get me off your fucking mailing list. " * n
07:03
<@Raif>
The flow chart and references are good too.
07:04
<@ToxicFrog>
OMG TOASTER had more of that vital je ne sais quois about it, I think.
07:04
<@ToxicFrog>
But yes, that's good.
07:04
<@McMartin>
For the references, OMG TOASTER is the clear winner.
07:04
<@Raif>
link it.
07:05
<@McMartin>
Tricksy. It was a paper an acquaintance of ours turned in as an assignment years ago.
07:05
<@McMartin>
I do not know if it is still online.
07:05
<@ToxicFrog>
I will check.
07:05
<@Raif>
Only you can stop forest fires^W^W^Wget raif the damn paper.
07:05
<@McMartin>
Google only gives a gamedev.net forum post.
07:06 Thaqui [~Thaqui@Nightstar-11312.jetstream.xtra.co.nz] has joined #code
07:06 mode/#code [+o Thaqui] by ChanServ
07:06
<@Raif>
Gamedev is a cesspool of inadequacy.
07:06
<@Raif>
I had many peers at DigiPen who tried to use it for reference material.
07:06
<@Raif>
It rarely went well.
07:07
<@ToxicFrog>
It's not on fh.net, if indeed it ever was, and I don't have time to look further because slep
07:08 * Raif send frog a wakethefuckup NMI.
07:09
<@Raif>
AKA boot to the head.
07:14 Serah [~Z@87.72.36.ns-26407] has quit [Killed (NickServ (GHOST command used by ZLOK))]
07:14 Serah [~Z@87.72.36.ns-26407] has joined #Code
07:14 mode/#code [+o Serah] by ChanServ
07:22 Vornicus [~vorn@ServicesOp.Nightstar.Net] has quit [Ping Timeout]
07:24 Vornicus [~vorn@Admin.Nightstar.Net] has joined #code
07:25 mode/#code [+o Vornicus] by ChanServ
07:34
< Doctor_Nick>
is it just me, or do o'reilly books yellow really fast
07:42 Doctor_Nick [~fdsaf@Nightstar-27777.rag-a.fsu.edu] has quit [Ping Timeout]
07:45 * Reiver ponders.
07:45
<@Reiver>
Is there a way to automate killing a process?
07:46
<@Reiver>
In XP, I mean.
07:46 * Reiver has a small program he runs to facilitate cursor-wrap in XP. It does not, however, have a 'stop doing it in computer games' button.
07:56 MahalGone is now known as Mahal
08:22 Thaqui [~Thaqui@Nightstar-11312.jetstream.xtra.co.nz] has left #code [Leaving]
08:29
<@Mahal>
Cursor-wrap?
08:47 Thaqui [~Thaqui@Nightstar-11312.jetstream.xtra.co.nz] has joined #code
08:47 mode/#code [+o Thaqui] by ChanServ
09:37
<@Vornicus>
I just shouldn't play video games, I keep finding things I want.
11:02 You're now known as TheWatcher
11:04
< MyCatSleeps>
Mahal: cursor leaves right hand side of screen, enters left, perhaps?
11:12 Mahal [~Mahal@Nightstar-763.worldnet.co.nz] has quit [Ping Timeout]
11:43 Vornicus is now known as Vornicus-Latens
13:28 gnolam [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
13:28 mode/#code [+o gnolam] by ChanServ
14:15 Thaqui is now known as Thaqui[Sleep]
14:42
<@Reiver>
Aye.
14:42
<@Reiver>
Mouse wraps on borders instead of stopping. >.>
15:17 You're now known as TheWatcher[afk]
15:20
<@Reiver>
SupComm first impressions:
15:20
<@Reiver>
Coolest build animation => Cybran commander, and the horde of cute lil' flying thingies.
15:21
<@Reiver>
Strangest style choice: The Cybrans look evil, the Aeons look like the 'good guys', and the UEF look and sound like Ze Communist Horde. As far as I can tell, the first two are, in-game, the other way around. >.>
15:23
<@Reiver>
And the UEF get construction planes! ...Which are the Commanders shoulderpads. That /still/ confuses me. >.>
15:23
<@ToxicFrog>
The Cybrans are the Plucky Freedom Fighters, the Aeon are the Well-Meaning But Frighteningly Insane Religeous Fanatics.
15:23
<@Reiver>
I figured.
15:24
<@ToxicFrog>
I take it you got it all working and patched this time, then.
15:24
<@Reiver>
Curious that the Cybrans have the blatantly 'bad guy' design motif, then~
15:24
<@Reiver>
(zomg spiders)
15:24
<@Reiver>
TF: Er. Working, yes. >.>
15:24 * Reiver will, um, patch it later. Yes.
15:24 * Reiver re-installed to see if it /would/ work, went from there.
15:27
<@ToxicFrog>
Aah.
15:27 * ToxicFrog ponders the weather, ;.;
15:27
<@ToxicFrog>
Today, I have to return some rented games to Microplay.
15:27
<@ToxicFrog>
Weather: 50-60kmph winds, 2?, intermittent rain.
15:28
<@ToxicFrog>
Great for watching, no so great for hiking across the city in.
15:28
<@Reiver>
Ack
15:28 * Reiver gives TF his raincoat for the day.
15:28
<@Reiver>
Suffice to say, it involves velcro, and ties.
15:29
<@Reiver>
It comes with a set of leggings and can be worn with insulated rubber gloves and a baseball cap such that the only place that gets wet is your face. And the hat keeps most of the weather out of your eyes too.
15:30
<@Reiver>
The wrists, front zipper, and collar all velcro; the waist and hood have tightening-cords. >.>
15:55 You're now known as TheWatcher
16:01 Doctor_Nick [~fdsaf@Nightstar-27777.rag-a.fsu.edu] has joined #code
16:44 Reiver is now known as ReivZzz
17:13 You're now known as TheWatcher[afk]
17:42 Vornicus-Latens is now known as Vornicus
18:09 gnolam is now known as gnolam|Pub
18:27
<@Raif>
Yeah, visually the cybrans are by far the best.
18:28
<@Raif>
And yes, the cybrans are pretty much oppressed rebels, while the aeon are religious zealots (they also have some good motivations in their backstory, making them not evil).
18:28
<@Raif>
UEF is the evil empire.
18:29
<@Raif>
Personally, I like the cybrans' evil motif. My suspicion is that their role changed after they had already begun the artwork.
18:30
<@Raif>
But still, I like the idea that one's morality isn't determined by how spiky and red one's buildings are.
18:30
< Doctor_Nick>
go go facism
18:31
< Doctor_Nick>
fascism
18:31
<@Raif>
Inspector gadget has a fascism add-on? Sweet!
18:32
< Doctor_Nick>
yes
18:32
< Doctor_Nick>
a hitler mustache drops down from a compartment in his nose
18:34
<@Vornicus>
hehehe
18:37 You're now known as TheWatcher
19:27 AnnoDomini [~farkoff@Nightstar-29315.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
19:27 KBot [~karma.bot@Nightstar-29551.neoplus.adsl.tpnet.pl] has joined #Code
19:28 KarmaBot [~karma.bot@Nightstar-29315.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
19:28 KBot is now known as KarmaBot
19:32 AnnoDomini [~farkoff@Nightstar-29551.neoplus.adsl.tpnet.pl] has joined #Code
19:32 mode/#code [+o AnnoDomini] by ChanServ
21:30 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code
21:35 Mahal [~Mahal@Nightstar-763.worldnet.co.nz] has joined #Code
21:35 mode/#code [+o Mahal] by ChanServ
21:59 AnnoDomini [~farkoff@Nightstar-29551.neoplus.adsl.tpnet.pl] has left #Code []
21:59 AnnoDomini [~farkoff@Nightstar-29551.neoplus.adsl.tpnet.pl] has joined #Code
21:59 mode/#code [+o AnnoDomini] by ChanServ
22:03 Serah [~Z@87.72.36.ns-26407] has quit [Ping Timeout]
22:04 Serah [~Z@87.72.36.ns-26407] has joined #Code
22:04 mode/#code [+o Serah] by ChanServ
22:11 MyCatSleeps is now known as MyCatVerbs
22:14 BlueTiger [BlueTiger@Nightstar-1362.natsoe.res.rr.com] has joined #Code
22:15 Takyoji [~Takyoji@Nightstar-25511.dhcp.roch.mn.charter.com] has joined #code
22:17
< Takyoji>
Hey folks, we just need help with deciding which layout is best. A: http://www.deltalabs.net/ or B: http://www.deltalabs.net/sample_page.htm ? Remember that we're talking just about how it is all colored, the layout of everything will be the same as A is.
22:18
< MyCatVerbs>
They both look the same in lynx. ;)
22:18
< Takyoji>
But the text is different! ;O
22:19
<@McMartin>
They appear to be presenting different kinds of information.
22:19
< MyCatVerbs>
Yes, but the pictures are identical. XD
22:19
< Takyoji>
The information is out of discussion as well
22:19
< Takyoji>
It's just color
22:19
<@McMartin>
I like the colorscheme slightly better in B, but the layout in B is better than A, too.
22:19
< Takyoji>
borders, gradients, filling, colors, spacing,
22:19
<@McMartin>
In particular, Nav stuff Goes On The Left.
22:20
< Takyoji>
The layout in A is going to be the layout that B has
22:20
<@McMartin>
B needs multiple blog entries to be comparable; A's blog entry spacing is OK but the way it shifts left suddenly is a no-no.
22:20
< Takyoji>
I just hadn't spent time finishing B
22:20
<@ToxicFrog>
I'm with McM; B is superior in both color scheme and layout.
22:20
< BlueTiger>
That's going to be changed(The shift that is)
22:21
< BlueTiger>
We're going to organize it into two whole columns
22:21
< Takyoji>
oh, I hadn't noticed that before..
22:21
< Takyoji>
stupid me
22:30 BlueTiger [BlueTiger@Nightstar-1362.natsoe.res.rr.com] has quit [Quit: ]
22:30
< Takyoji>
Well.. go to go fix a sound card, I'll be back eventually
22:31 Takyoji [~Takyoji@Nightstar-25511.dhcp.roch.mn.charter.com] has quit [Quit: Leaving]
22:38 You're now known as TheWatcher[T-2]
22:40 You're now known as TheWatcher[zZzZ]
23:00
<@McMartin>
Sigh. Most recent DWTF is not a WTF.
23:01
<@McMartin>
That's Standard C.
23:01
<@ToxicFrog>
That's not the most recent.
23:01
<@McMartin>
OK, most recent CodeSOD.
23:01
<@McMartin>
Error'd is just hilarity.
23:02
<@ToxicFrog>
And, um. That does sound like of like fishing for segfaults, to me.
23:02
<@McMartin>
It is traditional to also have a field that says how long it is.
23:03
<@McMartin>
But the standard guarantees, and it is an extremely standard idiom, to declare the last element of a struct as a 1-element array, and then malloc space for that struct as if it were an N element array, and then treat it as one.
23:03
<@McMartin>
The standard mandates it as per memory layout, all compilers support it, and it is an extremely common C idiom.
23:04
<@McMartin>
I suspect this is actually C++ code, but C++ does faithfully translate nearly all of C's uglinesses, of which this is one.
23:04
<@McMartin>
If you want actually arrays, use a language that has them, etc.
23:04
<@McMartin>
s/actually/actual/
23:04
<@McMartin>
It is, indeed, fishing for segfaults, but that's because it's C or C++ and it's using arrays.
23:04 * ToxicFrog nods
23:05
<@ToxicFrog>
The bit that makes it a WTF for me is that they're clearly planning to use that, but they're declaring it as a class rather than a struct, which feels like they should be using new rather than malloc.
23:05
<@McMartin>
No. That's a struct.
23:05
<@McMartin>
The public: is totally redundant.
23:05
<@ToxicFrog>
...oh. So it is.
23:05
<@McMartin>
And yeah, they should be using new.
23:05
<@McMartin>
But the code works as written too.
23:05
<@ToxicFrog>
Ok, they're declaring it as a struct and then demonstrating ignorance of how structs behave in C++~
23:05
<@McMartin>
That's only n00bness, not WTF~
23:06
<@ToxicFrog>
True.
23:06
<@McMartin>
I forget if new() lets you specify padding at the end.
23:07
<@McMartin>
Probably if you do allocator heinousness.
23:08
<@ToxicFrog>
It doesn't, unless you do hideous things.
23:08
<@ToxicFrog>
Yeah.
23:08
<@ToxicFrog>
Which is why they have to use malloc for this.
23:08
<@McMartin>
Indeed.
23:08
<@ToxicFrog>
Well, not *have to*, but it's far less ugly.
23:09
<@McMartin>
The biggest WTF is use of friend declarations~
23:09
<@ToxicFrog>
No, because he's carefully avoiding them, see~
23:09
< MyCatVerbs>
The biggest WTF is that that was posted at all.
23:09
<@McMartin>
Not really.
23:09
< MyCatVerbs>
Hee.
23:09
<@McMartin>
It wasn't too long ago that the comments were full of people WTFing over C using int as a truth value.
23:10
< MyCatVerbs>
The real WTF is that that array on the end ought to have a length of zero, instead of one.
23:10
<@McMartin>
Which was really odd because the usual attitude there is "This isn't just like C! WTFBBQSAUCE"
23:10
<@McMartin>
I'm not sure the trick works if you do that.
23:10
<@McMartin>
In any case, the idiom I've seen it's always length 1.
23:10 * McMartin shrugs.
23:10 * McMartin believes we purged all those from UQM.
23:11
< MyCatVerbs>
McMartin: I'd have to look it up. It does under gcc, but I can't remember if it's an GNU-specific extension or if it's a piece of C99 wedged into GNU89
23:11
<@McMartin>
We definitely purged the ones that used ptrdiff_t values instead of next pointers.
23:11
< MyCatVerbs>
...
23:11
<@McMartin>
(Admittedly, that particular heinousness makes list traversal like six times faster on 286s)
23:11
< MyCatVerbs>
If I had coffee, I'd be doing a spit-take =D
23:12
<@McMartin>
286 only lets you use BX for your register base, but you can add two index variables to it
23:12
< MyCatVerbs>
Well, actually, there is *one* good use for that. If you want a doubly-linked list, have definate start and end points, but want to save a few bytes...
23:12
<@McMartin>
So you can reference this->x and this->next->x without trashing BX twice.
23:12
<@McMartin>
Nah, this was single-linked. But there were lots of this->x and this->next->x compares.
23:13
< MyCatVerbs>
You store (prev^next) in a ptrdiff_t.
23:13
<@McMartin>
This was "next-this", which has the virtue of being an actual ptrdiff_t.
23:13
<@McMartin>
prev^next is something one should do to intptr_ts.
23:13
< MyCatVerbs>
Then in the start node prev==0 and in the end node next==0.
23:13
< MyCatVerbs>
McMartin: oh, I see, my bad. Thanks for pointing out the difference.
23:14
<@McMartin>
The thing is, you can reference "this->x" and "(this+nextdiff)->x" without trashing BX with 286 code.
23:14
<@ToxicFrog>
(like MCV, the ones I've seen have used [0] rather than [1], but I believe it works either way)
23:14
< MyCatVerbs>
So anyway. Under a metric fuckton of assumptions about what you need to do and where, you get two-way traversal with one-way overhead. ^^
23:14
<@McMartin>
You can't when comparing "this->x" and "this->next->x"
23:14
<@McMartin>
MCV: Yes. But if space is that dear, you should instead be doubly-linking arrays of 10 elements.
23:14
<@McMartin>
Which amortizes to five times the savings.
23:15
<@McMartin>
And gives you free iteration from any point, even with skips
23:17
< MyCatVerbs>
Point.
23:17
<@McMartin>
The trick you describe often comes up in job interviews, but really, l33t x0rxx0r1ng sk1llz are Never The Right Answer.
23:17
< MyCatVerbs>
^^ metric fuckton of assumptions, too. It's a shitty idea and will definately make your code slower than boiled ass with all the hazards introduced anyway.
23:17
<@McMartin>
Also good luck debugging it!
23:18
<@McMartin>
But I like the idea of x0rxx0r1ng sk1llz.
23:18
< MyCatVerbs>
McMartin: "debugging code is twice as hard as writing code. If you write code as cleverly as you are able, then by definition you are not clever enough to debug it."
23:18
<@McMartin>
That is awesome.
23:18
< MyCatVerbs>
Plaigarised from one of the greats, but I can't remember who.
23:18
< MyCatVerbs>
Ahh, I see.
23:19
<@McMartin>
(the real answer, in C++, is "use STL vectors, they're supported now and were implemented by someone Smarter Than You)
23:19
<@Vornicus>
x0rxx0r1ng? Is that when you use ^ as a swap?
23:19
< MyCatVerbs>
Zero-length arrays are a GNU extension. The C90 standard says it's only legal to initialise them with a minimum size of 1.
23:19
<@McMartin>
No, it's because "xx0r" is the "performer-of" modifier in l33t, Vorn.
23:20
<@McMartin>
It del33ts to "Elite xor-ing skills"
23:20
<@Vornicus>
Which is when you use xor as a swap. duh. :P
23:20
< MyCatVerbs>
Heh.
23:20
< MyCatVerbs>
Heehee.
23:20
<@McMartin>
Vorn: Well, no, it's to do list traversal, in context.
23:21
<@McMartin>
That's only kind of a swap.
23:21
< MyCatVerbs>
xor-ing skills is also the case when you use prev^next to fake a doubly linked list. XD
23:21
<@McMartin>
I don't really object to the swap usage
23:21
<@McMartin>
Peephole analyzers can find those and interpret them right.
23:21
<@McMartin>
And cunning compilers can just do them.
23:22
<@McMartin>
Albeit more cunning ones than the ones that turn "x = 0" into "XOR EAX, EAX", which is, well, all of them.
23:22
<@McMartin>
(yay nonorthogonal instruction sets)
23:22
<@Vornicus>
"nonorthogonal instruction sets"?
23:22
< MyCatVerbs>
But if you write one of those in inline assembley because it's, "faster," we and everyone else who has ever attended a single lecture on pipelining will break your fucking kneecaps.
23:23
<@ToxicFrog>
That's actually something I've been wondering. Why does XOR EAX,EAX get generated instead of MOV EAX,#0?
23:23
<@McMartin>
TF: Runs faster, same code size.
23:23
<@McMartin>
And same effect.
23:23
< MyCatVerbs>
Vornicus: XOR EAX, EAX is an old, old idiom in x86 machine code. It's a gnat's testicle quicker. ^^
23:23
<@McMartin>
Vorn: Multiple instructions that do the same thing
23:23
<@ToxicFrog>
Aah.
23:24 Serah [~Z@87.72.36.ns-26407] has quit [Connection reset by peer]
23:24
<@McMartin>
I object less to xor (or subtraction)-based swaps because (a) they actually do lower register pressure, and (b) their effects are entirely localized.
23:25 Serah [~Z@87.72.36.ns-26407] has joined #Code
23:25 mode/#code [+o Serah] by ChanServ
23:26
< MyCatVerbs>
Plus they're like, whoa tiny, in variable-length instruction sets. ^^
23:26
< MyCatVerbs>
Erk, nowait.
23:26 * Vornicus has nothing but hate for variable-length instruction sets.
23:26
<@McMartin>
Usually not a big difference there, if any.
23:26
< MyCatVerbs>
McMartin: but they introduce hazards, slipping up the pipelining.
23:26
<@McMartin>
That happens any time you reduce register pressure, MCV.
23:27
<@McMartin>
Likewise, you can get better pipelining by wasting registers.
23:27
< MyCatVerbs>
Unless you're doing like XOR EAX, ECX and then XOR ECX, EAX like ten instructions later.
23:27
<@McMartin>
That hazard shows up with the MOV-based version, too.
23:27
<@McMartin>
Unless the MOV resolves within a single intervening instruction.
23:27
< MyCatVerbs>
Except even -then- that code is still going to suck like Hell a few years down the line, because Intel and rivals keep making their IPCs wider and wider.
23:28
< MyCatVerbs>
Ahhhh.
23:28
< MyCatVerbs>
McMartin: so this pipelining-versus-register pressure thing is the reason why RISC chips win for having so many registers?
23:28
<@McMartin>
More "fail to lose", but yeah.
23:28 * MyCatVerbs had thought it was just due to the register dancing problem.
23:29
<@Vornicus>
well, lots of registers certainly help.
23:29
<@McMartin>
Register dancing is an issue too.
23:29
<@McMartin>
You can always use more registers. >_>
23:29
<@McMartin>
Level-negative-1 cache, if you will.
23:30 Mahal is now known as MahalGone
23:31
<@ToxicFrog>
"register dancing"?
23:32
<@Vornicus>
What you have to do when you have two registers to work in and need a linked list.
23:32
<@ToxicFrog>
Aah.
23:32
<@Vornicus>
Or something.
23:32
<@McMartin>
x86 didn't become a non-accumulator based system until the 386, and even that's being really, really generous.
23:32
<@McMartin>
(If you have two registers to work with, you usually also have memory-memory ops, so.)
23:35
< MyCatVerbs>
ToxicFrog: the most egrerious examples would be people having to swap the stack pointer in and out of memory to hold some intermediate value.
23:35
< MyCatVerbs>
Though that technically counts as suicide 'cuz of what happens if you get interrupted. It has been done, though, back in the Bad Old Days.
23:37 gnolam|Pub is now known as gnolam
23:41 Thaqui[Sleep] is now known as Thaqui
--- Log closed Sat Apr 14 00:00:53 2007
code logs -> 2007 -> Fri, 13 Apr 2007< code.20070412.log - code.20070414.log >