code logs -> 2012 -> Sat, 17 Nov 2012< code.20121116.log - code.20121118.log >
--- Log opened Sat Nov 17 00:00:21 2012
00:17 Derakon[AFK] is now known as Derakon
00:55
<@RichyB>
http://ro-che.info/ccc/18.html
00:55
<@RichyB>
Heh.
01:22 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out]
01:29 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
01:45 Derakon is now known as Derakon[AFK]
01:51
<@RichyB>
iospace: while I'm busy annoying the shit out of you with trivial linked-list sorting functions, I made faster, constant-space sorting things. Revision 1f50414f7f of https://github.com/RichardBarrell/snippets/blob/master/bubble.c added a nicer algorithm and 143de46243 made the bubblesort() 2x faster anyway. :)
02:04 * McMartin wonders what kind of developer thinks that having no beta testers is something to brag about
02:22
<@RichyB>
Someone who tests very thoroughly themselves?
02:22
<@RichyB>
I've heard of companies who kind of make that work.
02:23
<@RichyB>
They have a development team that downs tools before the QA dept goes in.
02:23
<@RichyB>
If QA finds any nontrivial bugs at all, the whole release is rejected.
02:23
<@RichyB>
The approach is that the separate QA dept is actually assuring the dev team's ability to keep its bug count down to zero, rather than the code that's produced by itself.
02:24
<@RichyB>
So, uh, the boast there is that they're doing automated testing, manual testing themselves and correctness proofs to a sufficient standard that they only need acceptance-testing and skip external testing mid-process.
02:24
<@RichyB>
No idea if the approach is sane.
02:28
<~Vornicus>
If you're not building a user interface then yes.
02:28 Attilla [Obsolete@Nightstar-732a9fe2.range109-156.btcentralplus.com] has quit [Ping timeout: 121 seconds]
02:28
<~Vornicus>
But the moment humans have to touch something you need people outside the dev team -- and preferably completely unfamiliar with your program -- to touch it.
02:29
< ToxicFrog>
HCI goes well beyond beta testing, IME
02:30
<@Azash>
Interaction should probably be part of the design from square one
02:31
<~Vornicus>
Yes, but even the best damn interaction designer can make groaners.
02:34
< ToxicFrog>
Right. My point is that you should be testing the UI well before beta, with actual people.
02:34
<~Vornicus>
true
02:43
<&McMartin>
No, this was an IFComp Entry that was, of course, entirely unusable shit
02:46
<~Vornicus>
of course.
02:48 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving]
03:12
<@Alek>
"How many Prolog programmers do you need to change a lightbulb?" "Yes."
03:22
<&McMartin>
hooray
03:33 Kindamoody[zZz] is now known as Kindamoody
03:44 Vash [Vash@Nightstar-b43e074a.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
03:44 Vash [Vash@Nightstar-b43e074a.wlfrct.sbcglobal.net] has joined #code
03:44 mode/#code [+o Vash] by ChanServ
03:50 syksleep is now known as Syk
04:35
<@Alek>
http://qdb.us/308510
05:01
<~Vornicus>
jerith: upon examination I have determined that the tyrian ship graphics are too subtle.
05:11
< celticminstrel>
The underline makes that look like gdb rather than qdb.
05:42
<@Syk>
hmmm.
05:45
<@Syk>
i think I need to actually set up dropbox properly
05:58 Kindamoody is now known as Kindamoody|breakfast
06:01
<@froztbyte>
....how non-properly can it be?
06:01
<@froztbyte>
Alek: someone bought me a fridge magnet once, it read
06:01
<@froztbyte>
"Programming is an art form that fights back"
06:02
<@Syk>
froztbyte: i have to manually start it
06:02
<@froztbyte>
that's not necessarily a problem
06:02
<@froztbyte>
I have it set up that way too
06:13 ErikMesoy|sleep is now known as ErikMesoy
06:14 celticminstrel is now known as celmin|sleep
06:34 Kindamoody|breakfast is now known as Kindamoody
06:40
<&jerith>
04:23 <@RichyB> They have a development team that downs tools before the QA dept goes in.
06:40
<&jerith>
That's very Waterfall, and thus doomed.
06:57 Kindamoody is now known as Kindamoody|out
07:09 celmin|sleep [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [Ping timeout: 121 seconds]
07:23 Derakon[AFK] is now known as Derakon
07:26
<@Syk>
jerith: dooomed! doooooooooomed!</futurama>
07:35 Derakon is now known as Derakon[AFK]
08:21 cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [Connection reset by peer]
08:24 cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has joined #code
08:33 Vash [Vash@Nightstar-b43e074a.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
08:39 Zemyla [zemyla@Nightstar-8fbb7981.compute-1.amazonaws.com] has joined #code
08:43
< Zemyla>
Hey everyone.
08:46
<@ErikMesoy>
Hello, person.
08:46
<@Syk>
hai
09:24 You're now known as TheWatcher
09:59 cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!]
09:59 cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has joined #code
10:15 cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!]
10:23
<@Syk>
so many lols were had
10:23
<@Syk>
fff wrong window
10:24
< auREAX>
it's okay
10:24
< auREAX>
you can have lols here as well
10:24 * Syk engages in lols
10:24
<@Syk>
know what isn't lols?
10:24
<@Syk>
gnome-shell.css
10:25
< auREAX>
you know what else isn't lols?
10:25
< auREAX>
gnome
10:25
< auREAX>
:(
10:25
<@Syk>
i like gnome 3.6
10:25
<@Syk>
...with the correct adddons
10:25
< auREAX>
it's more the developers
10:25
<@Syk>
thats true
10:35
<@Syk>
:O #666666 is a base colour in the default gnome theme!
10:35
<@Syk>
GNOME: SHELL OF THE DEVIL
10:35
<@Syk>
there's also a Red Hat copyright notice at the top
10:36
<@Syk>
so not only is gnome the shell of the devil, he's wearing a damn fine fedora while he's using it
10:39
<@AnnoDomini>
Why so transparent?
10:49
<@Syk>
?
10:52
<@AnnoDomini>
That colour has transparency. If it were fully opaque, it would be #666666FF. I think.
10:55
<@Syk>
this is CSS
10:55
<@Syk>
#RRGGBBOO
10:56
<@Syk>
if OO isn't specified it is automatically opaque
11:04
<@AnnoDomini>
I seeeeeee.
11:56
<@Syk>
the amount of work I have done today: 0! :D
11:56
<@Syk>
that's right, I have done /so much work/ i can only express it in a factorial
12:24 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code
12:27 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
12:32
< auREAX>
dayum
12:37 fztm [FZTM@B83485.1FBDF7.86221C.2082D1] has joined #code
12:38 fztm [FZTM@B83485.1FBDF7.86221C.2082D1] has quit [[NS] Quit: ]
12:44 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
12:45 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds]
12:48 Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
12:48 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
12:49 VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
12:50 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
12:50
< VirusJTG>
any one played around with windows phone 8?
12:52
<@Syk>
nah, i'd probably throw the device against a wall
12:53
< VirusJTG>
yeah, thats kind of why ia am asking
12:53
< VirusJTG>
it it as annoying as it looks?
12:54
< VirusJTG>
my poor smart phone is starting to have electrical issues
12:54
< VirusJTG>
time for a new one, just having trouble deciding what to get
12:55
< VirusJTG>
well, its had electrial and booting issue for the past 4 months trueth be told...
12:59
< VirusJTG>
and according to samsungupgrade.com my current phone is worth $15...
12:59
<@Syk>
VirusJTG: it's uh
12:59
<@Syk>
well, let me put it this way
12:59
<@Syk>
Windows Phone has sub-1% market share for a reason
13:00
< VirusJTG>
you make an excelent point Syk
13:00
< VirusJTG>
I'll stick with andriod
13:00
< VirusJTG>
now what duel core phone is the most rootable?
13:00
<@Syk>
Samsung Galaxy Nexus
13:00
<@Syk>
~$335 i think
13:01
< VirusJTG>
that was a very quick responce, I'm impressed
13:01
<@Syk>
well uh
13:01
<@Syk>
considering the Samsung GNex comes with an unlocked bootloader~
13:01
<@Syk>
it's an Android dev phone, essentially
13:01 Attilla [Obsolete@Nightstar-b6de7b68.range86-171.btcentralplus.com] has joined #code
13:01
<@Syk>
you can flash any ROM you like
13:02
<@Syk>
VirusJTG: basically all you need to do is unlock it with fastboot and then install a custom recovery img
13:02
<@Syk>
which, if you use windows, there's automated tools for that
13:02
<@Syk>
it's easy on Linux as well, just need the Android SDK, which is free
13:02
< auREAX>
http://en.sfml-dev.org/forums/index.php?topic=9304.0
13:02
< auREAX>
I love threads like these
13:03
< VirusJTG>
yeah I use windows because 1 I like to game 2 i have to support it at work so i need to know it well, and 3 its memory injection protection is laughable....
13:04
< VirusJTG>
well shoot my carrier doesn't seem to have the galaxy nexus
13:05
<@Syk>
VirusJTG: who's your carrier
13:05
< VirusJTG>
t-mobile
13:05
<@Syk>
they're GSM aren't they?
13:05
< VirusJTG>
they are cheep...
13:05
<@Syk>
VirusJTG: the Galaxy Nexus was sold by Google unlocked
13:05
<@Syk>
lemme see
13:05
< VirusJTG>
to the googles!
13:06
<@Syk>
hmm dunno where you can get it in the USA
13:06
< VirusJTG>
the nexus 4 looks intersting
13:06
<@Syk>
VirusJTG: the Galaxy Nexus was mainly bought unlocked
13:06
<@Syk>
the Nexus 4 is good too
13:06
<@Syk>
it's a quadcore
13:06
< VirusJTG>
and sold unlocked
13:06
<@Syk>
also it's fssubdfsing sold out everywhere
13:07
< VirusJTG>
more CPU power is always welcomed
13:07
<@Syk>
VirusJTG: every Nexus will be unlocked
13:07
<@Syk>
the only problem with the nexus 4 is LG
13:07
<@Syk>
and the glass back, I suppose
13:07
<@Syk>
I'm not too sold on the LG bit
13:07
< VirusJTG>
it will bounce.... once.....
13:07
<@Syk>
but then again, I'd not touch a Samsung phone with a 10ft pole
13:07
<@Syk>
yet I own a Galaxy Nexus
13:08
<@Syk>
if it's a Nexus, it's pretty much guaranteed to be good.
13:08
< VirusJTG>
if i pay that much for hardware I want to own it and have full control over it, ya know?
13:08
<@Syk>
VirusJTG: if you can get your hands on one, and if you don't have anything against LG, the Nexus 4 will probably be better
13:08
< VirusJTG>
thats why I want a rootabke phone, it gives me that control
13:08
<@Syk>
well most phones are 'rootable'
13:08
<@Syk>
officially or not :P
13:08 * VirusJTG thinks Syk speeks with wisdom
13:09
< VirusJTG>
this is true.....
13:09
<@Syk>
anything new and Samsung will be not supported well
13:09
<@Syk>
as theyre usin some new Exynos thing which nobody supports
13:09
< VirusJTG>
htc seems to be reasonable rootable
13:09
<@Syk>
except HTC are... ehhh.
13:09
<@Syk>
I dunno
13:09
< VirusJTG>
and they take abuse, my cirrent one if from them and has been dropped many times
13:10
<@Syk>
I've owned two HTC phones, and it's a bit of a pain.
13:10
< VirusJTG>
yeah, the root process takes 2 hours
13:10
<@Syk>
if you want the most well supported ROMs and such, the Nexuses are the way to go
13:10
< VirusJTG>
I guess I just have to wait until they are in stock then
13:11
<@Syk>
yeah
13:11
<@Syk>
either the Galaxy Nexus or the Nexus 4
13:11
<@Syk>
the difference is not huge
13:11
< VirusJTG>
I think i can coax my poor for for a bit longer
13:11
<@Syk>
the GNex has support now, and you can probably get your hands on it easier
13:11
< VirusJTG>
looking at it, the nexus 4 is superior hardware to even the Gs3
13:11
<@Syk>
while the Nexus 4's GSM stack hasn't been pushed to AOSP, so ROM support might be a little while
13:12
<@Syk>
VirusJTG: considering the GS3 is a six month old phone, is more or less to be expected
13:12
< VirusJTG>
true
13:12
<@Syk>
I think it runs very close to the GS3
13:12
< VirusJTG>
but 6 month is better than 3 year...
13:12
<@Syk>
the GS3 does a little better i think though
13:13 Attilla [Obsolete@Nightstar-b6de7b68.range86-171.btcentralplus.com] has quit [[NS] Quit: ]
13:13
<@Syk>
because it's been fairly optimised by now
13:13
<@Syk>
VirusJTG: the GNex is about a year old, is plenty powerful, has current ROM support and has 4.2 right now
13:13
<@Syk>
in realistic terms, it's just as good as the Nexus 4
13:13 * VirusJTG pokes at googles website
13:14
<@Syk>
you may have to get it from a third party
13:14
< VirusJTG>
wow chrome books are cheep
13:15
<@Syk>
yeah but theyre chromebooks
13:15
<@Syk>
VirusJTG: google 'Galaxy nexus' and select Shopping
13:15
<@Syk>
it'll have a few there
13:16
< VirusJTG>
not displaying for me...
13:16 Attilla [Obsolete@Nightstar-b6de7b68.range86-171.btcentralplus.com] has joined #code
13:16
< VirusJTG>
all i see are 4s, 7s, and 10,
13:16
<@Syk>
i mean in google search itself
13:18
< VirusJTG>
yup found it that way, thanks Syk
13:21
<@Syk>
np
13:23
<@Syk>
yay 4.2 update for my nexus 7
13:23
<@Syk>
gonna backup my phone and put the stock 4.2 on my gnex too...
13:23
< VirusJTG>
another half hour and i am off to home depot for some supplies
13:24
< VirusJTG>
time to winterise the house
13:24
<@Syk>
hurry up tablet
13:24
<@Syk>
i want to play some need for speed
13:25 * VirusJTG gets out adn pushes :-P
15:18
<@Azash>
How I imagine the node.js vision: https://images.4chan.org/wsg/src/1352686167547.gif
15:18
<&jerith>
So far C# has managed to be substantially nicer than Java.
15:20
<@Syk>
Azash: ahaa
15:20
<@Syk>
oh man, gimme a minute
15:20
<@Syk>
i think i have a few of those gifs
15:25
<@Syk>
Azash: http://reddrgn.net/infomercial3.gif
15:25
<@Syk>
Azash: this is more like node.js
15:25
<@Syk>
"oh god how do i hold all of these requests"
15:26
<@Syk>
(there's also -1.gif and -2.gif :P)
15:42 Attilla [Obsolete@Nightstar-b6de7b68.range86-171.btcentralplus.com] has quit [Ping timeout: 121 seconds]
15:43 Attilla [Obsolete@Nightstar-b6de7b68.range86-171.btcentralplus.com] has joined #code
16:03 Syk is now known as syksleep
18:31 Kindamoody|out is now known as Kindamoody
18:32 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Client closed the connection]
18:33 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
18:35 cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has joined #code
18:35 PAndemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Client closed the connection]
18:42 Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
18:59
< auREAX>
Azash: "i maek wwebsite no blocking" -- Ryan Dahl, solver of the halting problem
19:17
<&jerith>
node.js has a bunch of cool ideas in it, but as far as I can tell the implementation is lacking.
19:17
<&jerith>
And there are some silly ideas in there as well.
19:18
<&jerith>
For starters, JS.
19:20
<~Vornicus>
what's node.js do?
19:20
<@Tamber>
Everything except that one little tiny thing you need to finish your project.
19:22 Kindamoody is now known as Kindamoody[zZz]
19:25
<&jerith>
Vornicus: It's an event-driven JS app server.
19:41
<~Vornicus>
...well then.
19:46
<@AnnoDomini>
So. It has come to this.
19:46
<&jerith>
It has.
19:48
<@ErikMesoy>
That's what you said about Steam too. :p "So it has come to this. A package manager for Windows."
19:55
< ToxicFrog>
It desperately needs one~
19:55
<@AnnoDomini>
s/needs/needed/ :P
19:56
<&jerith>
s/needed/needs/~
19:58
<@AnnoDomini>
As Erik mentioned, there's Steam. And the Windows Installer thingy in the control panel.
19:59
<@AnnoDomini>
Does it let you download the stuff you want, rather that requiring a CD, these days?
19:59
<&jerith>
Appstore != package manager.
20:00
<@AnnoDomini>
What's the distinction?
20:01
< ToxicFrog>
The windows installer thingy in the control panel does not automatically download anything, AFAIK.
20:01
< ToxicFrog>
Steam is very much games-focused and is not a substitute for a general purpose package manager.
20:02
< auREAX>
hence steam for linux
20:02
< ToxicFrog>
(and comes with a lot of excess baggage like community integration that makes sense for a gaming client but less so for a package manager)
20:02
<@Azash>
"very much" as in "package manager for a subset of products in a subset of product type" :p
20:03
<@Azash>
I wonder if it would be doable to make a package manager for Windows
20:03
<&jerith>
Package managers manage packages.
20:03
<@Azash>
Okay
20:03
<@Azash>
Er, application edge-bleediness manager?
20:03
<&jerith>
Steam and friends only operate on discrete, standalone apps.
20:05
<&jerith>
Also, *proper* package managers give you reasonably easy access to the source.
20:05
<@Azash>
auREAX: kveri
20:05
< auREAX>
who now
20:05
< auREAX>
oh
20:05
< auREAX>
I was waiting for you to finish
20:41 Derakon[AFK] is now known as Derakon
20:51
< Zemyla>
You know, I came here because you guys were discussing Spacechem earlier in your logs.
20:58
<&jerith>
That happens from time to time.
21:11
< ToxicFrog>
Yeah, it's as much code as gaming.
21:37
<@AnnoDomini>
How do I copy directories with cp?
21:37
<&jerith>
AnnoDomini: cp -r
21:37
<@AnnoDomini>
Thank you.
21:38
<@AnnoDomini>
Will that recursively copy the contents?
21:38
<@AnnoDomini>
Even if they are directories?
21:38
<&jerith>
The "-r" means "recursive".
21:39 * TheWatcher generally suggests -a over -r as it preserves links
21:41
<&jerith>
Good point.
21:42
<@AnnoDomini>
Okay. So if I wanted to copy irclogs from home to public_html, I'd go "cp -r ~/irclogs ~/public_html"?
21:42
<&jerith>
Yup.
21:43
<@AnnoDomini>
This... does nothing. For some reason.
21:46
<@AnnoDomini>
Or rather, it does do something, but the changes don't show up in apache's autogenerated directory browsing.
21:46
<@TheWatcher>
Permissions are probably wrong
21:46
<@TheWatcher>
can apache read the directory?
21:47
<@TheWatcher>
(ie: you might need to do a `chmod -R o+rX ~/public_html/irclogs`)
21:47
<@AnnoDomini>
chown did it!
21:47
<@AnnoDomini>
Thank you.
21:57
<&McMartin>
lol wtf chownt
22:06 * TheWatcher stabs module authors who don't document things properly, arghs
22:07
<@TheWatcher>
I should not have to look at the source to figure this shit out, damnit
22:09
<@ErikMesoy>
What does it indicate when a Python class calls self(x) without having a self() function? I'm guessing it's shorthand for a call to __init__() .
22:09
<&Derakon>
Uh, I think it means that the class has implemented the magic function that lets it be invoked as a function itself.
22:09
<&Derakon>
I think it's __call__.
22:10
<@ErikMesoy>
mhm
22:12
<@rms>
I know in Java it means it's calling the constructor.
22:12
<@rms>
(If that helps any)
22:12
<@rms>
s/the/a/
22:12
<&McMartin>
self is an instance. If you're calling that you're calling __call__
22:12
<&McMartin>
You name the *class*, not the instance, to get a constructor call, in Java as in Python
22:13
<&Derakon>
Yep.
22:13
<&McMartin>
Well
22:13
<&McMartin>
In C++ as in Pythin.
22:13
<&Derakon>
class Foo: def __call__(self): print "Hello, world!"
22:13
<&Derakon>
Foo()()
22:13
<&McMartin>
Java *requires* the new operator.
22:13
<&Derakon>
Hello, world!
22:14 * McMartin eyes this Markov chain.
22:14
<@rms>
Nope, in Java it's this() to call a constructor of the current class, super() to call the parent's constructor (has to be the first call of the constructor though)
22:14
<&McMartin>
"Each episode is a reboot stamping on a human face in a corner"
22:14
<@AnnoDomini>
Markov the Vampire?
22:14
<@rms>
(When you want a constructor to call another constructor)
22:14 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
22:14
<&McMartin>
rms: "self" isn't a keyword in python.
22:14
<@rms>
Ah right
22:15
<&McMartin>
The thing you describe is a parser hack to get around Java's lack of initializer lists, more or less.
22:15
<&McMartin>
(Since, IIRC, if you don't put that call to super() in, then if there isn't a default constructor it won't compile.)
22:16
<&ToxicFrog>
AnnoDomini: incidentally, if you are copying large amounts of stuff, consider using rsync -aPh rather than cp -a
22:16
<&ToxicFrog>
The former gives you progress indicators and is resumably.
22:16
<&ToxicFrog>
*resumable.
22:17 * McMartin eyes his OpenGL implementation, which claims to support 8192x8192 textures.
22:18
<&McMartin>
Well, OK, I guess that's reasonable
22:18
<&Derakon>
"Support" and "can display at all quickly" are not necessarily the same thing.
22:18
<&McMartin>
Yeah
22:18
<&Derakon>
Remember when I was mucking around with camera displays and determined it was faster to do 4x 512x512 textures instead of 1x 1024x1024?
22:18
<@AnnoDomini>
ToxicFrog: Okay. Not in this case, though. It's just a couple MB of text.
22:18
<&McMartin>
But the last time I did OpenGL programming I didn't get to assume anything better than 256x256/
22:18
<&McMartin>
*256x256
22:18
<&Derakon>
Heh.
22:19
<&McMartin>
As in, "would not actually work, at all"
22:22
<&ToxicFrog>
AnnoDomini: yeah. Just saying for future reference, next time you find yourself copying multiple gigabytes or whatever.
22:25 * McMartin starts moving logic out of his CPU and into his GPU.
22:29
<&McMartin>
Right
22:29 * McMartin gives two fingers to Progress, refers to fixed functionality uniforms and attributes *everywhere*
22:30 * McMartin is hidebound, and still uses such atrocities of the Old World like a "Projection Matrix" and a "Modelview Matrix"
22:30
<@TheWatcher>
*gasp*
22:30
<@TheWatcher>
Teh Horrorz!
22:32 * McMartin continues to remain skeptical of the fanatic campaign to erase these things from history
22:32 * TheWatcher likewise
22:32
<&Derakon>
AIUI it's basically a campaign towards performance at all costs.
22:32
<&McMartin>
I mean, yes, once you have UBOs you can manage this data in better and more generic ways.
22:32
<&McMartin>
But UBOs are only guaranteed to exist on DX11 cards. -_-
22:32
<&McMartin>
(Most DX10 cards have them anyway)
22:33
<&McMartin>
Derakon: This one, I think, is actually "stop having globals".
22:33
<&McMartin>
Immediate Mode has been deprecated since like 1.5, and its replacements are so basic that you have to do tricks with GLEW to even bother checking for them.
22:34
<&McMartin>
The justification for wiping all these out is "well, now that we actually have a way to modularly specify blocks of constants, we don't need this shitload of global variables anymore"
22:35
<&McMartin>
Which, you know, OK, but could you maybe also publish some basic vertex and fragment shaders that replicate fixed functionality, with comments and without "bypass shader" instructions
22:35
<&McMartin>
Also, since I'm targeting DX9 cards here, I don't get that way of modularly specifying blocks of constants.
22:36
<@TheWatcher>
Egads, man, targetting old cards? What kind of OpenGL programmer are you?!~
22:37
<&McMartin>
s/old/current/
22:37
<&jerith>
TheWatcher: A grumpy one, apparently.~
22:37 * McMartin also stabs Canonical. INTEL HAS GIVEN YOU THE UBO CODE ALREADY, PLEASE TO USE IT
22:38
<@TheWatcher>
(Can't say I blame him, the state of opengl right irritates the hell out of me)
22:38
<@TheWatcher>
*right now
22:38
<&McMartin>
A lot of the Good Stuff seems like it should be backportable to 2.x
22:38
<&McMartin>
By which I mean VAOs and UBOs, yes
22:38 * jerith has come to see a certain amount of grumpiness as a sign of maturity in programmers.
22:39
<&McMartin>
I actually wouldn't *mind* targeting 3.2 core here
22:39
<@Tamber>
jerith, it's a sign of when they reach the point of realisation that *everything is broken, and nobody can/will do anything about it*?:p
22:39
<&McMartin>
I just don't get to because it will only run on one of my four machines.
22:39
< Courage>
This takes approximately three days for runescript programmers~
22:40
<&McMartin>
If I were an engine writer, I'd be really wanting the things they added.
22:40
<&McMartin>
Hell
22:40
<&McMartin>
I've looked at some of my own code in 1.x
22:40
<&McMartin>
And noticed all this stuff I wouldn't need if I got to use 3.2
22:40
<&McMartin>
So clearly they got *some* things right
22:40 * TheWatcher goes to stab the authors of the mediawiki API documentation
22:40
<&McMartin>
In terms of "cutting bullshit", as well as "adding features I don't need"
22:40
<&jerith>
Tamber: No, it's a sign that we've reached the point that we can recognise just how much horribleness is unnecessary, and is perpetrated by people who really should know better.
22:41
<@Tamber>
Aha
22:41
<&McMartin>
Yeah
22:41
<@TheWatcher>
Documenting the success response: great idea, thanks! Now, about what happens if it fails...
22:41
<&McMartin>
I'm just hitting the point that the specific thing that let them deprecate All The Things I Want is in fact the "knows better" solution.
22:41 * TheWatcher should not have to break his fucking wiki just to find out what the API's response is when that happens
22:42
<&McMartin>
SCIENCE~~
22:42
<&jerith>
TheWatcher: I love how the search API helpfully returns a "search disabled" error to let you know that you've tried to search for punctuation.
22:45 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
22:46
<&McMartin>
Oh wait
22:46 * McMartin removes a matrix multiply from his vertex shader.
22:46
<&McMartin>
I don't *need* a modelview matrix, the camera is static and the object is dynamically generated using world coordinates directly
22:46
<&McMartin>
2.x: undeniably better than 1.x
22:50 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
22:53 ErikMesoy is now known as ErikMesoy|sleep
22:58
<&McMartin>
Success!
22:59 * McMartin has extracted the modelview matrix.
22:59 * McMartin now goes to take the heightmap color selection out of the CPU.
23:01 * jerith goes to bed.
23:25
<&McMartin>
Success, I think.
23:26
<@TheWatcher>
Provisional \o/
23:30 * McMartin snerks
23:30
<&McMartin>
Bonus \o/
23:31
<&McMartin>
I was doing the Goraud lighting equation in the CPU
23:31
<&McMartin>
It turns out I was also doing it *wrong*
23:31
<&McMartin>
So I fixed that on my way to the GPU, and now it looks way better~
23:31
<@TheWatcher>
Awesomeness.
23:31
<&Derakon>
...why are you doing your own lightning calculations?
23:31
<&Derakon>
Shouldn't the GPU do that for you?
23:32
<&McMartin>
Dynamic terrain, so OpenGL 1.x required me to make my own normals.
23:32
<&McMartin>
Which was actually harder than just Doing The Lighting Computation By Hand.
23:32
<&McMartin>
Once I get this height map out of the CPU memory and into a texture array, I can also have the vertex shader do the normal computation, at which point I'm going to move the lighting equation into the *fragment* shader.
23:33
<&Derakon>
Is this all still for Dapper Delver?
23:33
<&McMartin>
No, this is actually me playing with chunks of Sable.
23:33
<&Derakon>
If so, I wasn't aware that procedural terrain was a part of that game.
23:33
<&Derakon>
Oh, okay.
23:33
<&Derakon>
"Let's use familiar code to get to grips with OpenGL".
23:34
<&McMartin>
"Let's evolve some OpenGL 1.1 code to OpenGL 2.1", actually :D
23:34
<&McMartin>
My grips on OpenGL 1.1 are actually quite strong, and I've since updated that to 1.5
23:34
<&McMartin>
But I can't use the 1.5 goodies for this until I get the shaders in order
23:34
<&Derakon>
I still haven't progressed beyond 1.x.
23:34
<&Derakon>
Too fond of immediate mode.
23:34
<&McMartin>
Since the shaders are what make the CPU's idea of the geometry perfectly static, which lets me *dramatically* optimize the vertex submission.
23:35
<&McMartin>
Basically, at that point, the CPU says "here's a texture, and here's a grid of flat vertices in a square grid. Why don't you draw that?" and then the vertex shader will take that texture as a heigh tmap and turn it into terrain and correct normals
23:35
<&McMartin>
And then the fragment shader will handle lighting
23:36
<&McMartin>
And I guess there's *technically*a 1-D procedural texture that corresponds to the height map. Maybe I can make that cooler and put in a snow cap along with the tree line.
23:36
<&Derakon>
Heh.
23:37
<&Derakon>
I think I'd like dicking around with OpenGL more if it weren't so hard for me to figure out why it doesn't work when I break it.
23:37
<&McMartin>
Doing that right will *have* to happen at the fragment level, though, so.
23:37
<&Derakon>
Too often the result of bad code is just a black window with no insight into what went wrong.
23:38
<&McMartin>
Yeah, and there are entirely too many ways it can break horribly.
23:40
<&McMartin>
Anyway, once I get this stuff under control, I wouldn't mind also going back to Sable and updating its renderers
23:40
<&McMartin>
One of the ugliest bits about it is that ironically, low-poly models aren't really usable *without* pixel shader support.
23:40
<&McMartin>
Specular highlights are awful-looking in low-poly models with vertex specular computation.
23:46 You're now known as TheWatcher[T-2]
23:55 You're now known as TheWatcher[zZzZ]
--- Log closed Sun Nov 18 00:00:36 2012
code logs -> 2012 -> Sat, 17 Nov 2012< code.20121116.log - code.20121118.log >

[ Latest log file ]