code logs -> 2014 -> Thu, 19 Jun 2014< code.20140618.log - code.20140620.log >
--- Log opened Thu Jun 19 00:00:48 2014
00:30 Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has joined #code
00:30 mode/#code [+o Reiv] by ChanServ
00:58 Derakon[AFK] is now known as Derakon
01:04 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
01:16 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
01:59 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
01:59 mode/#code [+qo Vornicus Vornicus] by ChanServ
02:04 Attilla [uid13723@Nightstar-ed0oqj.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity]
02:18 thalass [thalass@Nightstar-6id.lht.108.58.IP] has joined #code
02:18 mode/#code [+o thalass] by ChanServ
--- Log closed Thu Jun 19 02:34:20 2014
--- Log opened Thu Jun 19 02:34:30 2014
02:34 TheWatcher [chris@Nightstar-ksqup0.co.uk] has joined #code
02:34 Irssi: #code: Total of 39 nicks [19 ops, 0 halfops, 0 voices, 20 normal]
02:34 mode/#code [+o TheWatcher] by ChanServ
02:35 Irssi: Join to #code was synced in 38 secs
02:57 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
03:13
< [R]>
<colt> Are there any uses for a .DLL file that doesn't explicitly export any of its symbols?
03:13
<&McMartin>
... like, not even DllMain?
03:14
<&McMartin>
Or does he mean "doesn't ship with a .lib file"?
03:14
<&McMartin>
A DLL with no DllMain cannot be loaded
03:14
<&McMartin>
AIUI
03:14
<&McMartin>
A DLL such that LoadProcAdress always fails seems pretty useless to me
03:14
<&McMartin>
Unless the act of loading the DLL does something in DllMain, which I guess it could
03:14
<&McMartin>
... yeah, there are reasons to do that, but they're pretty esoteric
03:14
<&McMartin>
Implementing equivalents to LD_PRELOAD, but you usually export symbols too when you do that
03:18
< [R]>
He's not answering
03:19
< [R]>
Ah well, my curiosity's been sated.
03:20 thalass [thalass@Nightstar-6id.lht.108.58.IP] has quit [Ping timeout: 121 seconds]
03:39 thalass [thalass@Nightstar-6id.lht.108.58.IP] has joined #code
03:39 mode/#code [+o thalass] by ChanServ
04:10 thalass [thalass@Nightstar-6id.lht.108.58.IP] has quit [[NS] Quit: back to the grindstone]
04:29 Turaiel[Offline] is now known as Turaiel
04:49 Derakon is now known as Derakon[AFK]
04:55 Kindamoody[zZz] is now known as Kindamoody
05:06 celticminstrel [celticminst@Nightstar-m2a422.dsl.bell.ca] has quit [Ping timeout: 121 seconds]
05:08 celticminstrel [celticminst@Nightstar-q8a8ba.dsl.bell.ca] has joined #code
05:08 mode/#code [+o celticminstrel] by ChanServ
05:11 Alek [omegaboot@Nightstar-4o7.au0.44.73.IP] has quit [Ping timeout: 121 seconds]
05:14 celticminstrel [celticminst@Nightstar-q8a8ba.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
05:14 celticminstrel [celticminst@Nightstar-q8a8ba.dsl.bell.ca] has joined #code
05:14 mode/#code [+o celticminstrel] by ChanServ
05:15 Alek [omegaboot@Nightstar-4o7.au0.44.73.IP] has joined #code
05:15 mode/#code [+o Alek] by ChanServ
05:20 JetpackWearingFireBreathingTRex [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
05:20 mode/#code [+o JetpackWearingFireBreathingTRex] by ChanServ
05:42 Orthia [orthianz@Nightstar-mvf.9c1.224.119.IP] has quit [Ping timeout: 121 seconds]
05:42 Orthia [orthianz@Nightstar-mvf.9c1.224.119.IP] has joined #code
05:42 mode/#code [+o Orthia] by ChanServ
05:54
<&McMartin>
Oh man, urgent update for gnome-sudoku
05:55
<~Vornicus>
...what the hell kind of update can gnome-sudoku get that requires "urgent"
05:55
<&McMartin>
Not actually urgent, no.
05:55
<&McMartin>
"Allows undo when there's only one number left on the board", apparently.
05:57
<@celticminstrel>
Why would this be urgent?
05:57
<@celticminstrel>
Misflagged?
05:58
<&McMartin>
Like I said, not actually urgent
05:58
<&McMartin>
However, it was what popped up with HEY NEW SOFTWARE when I fired up the lappy
05:58 Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code
06:00
<@macdjord|slep>
Vornicus: "Urgent: Bugfix: Solution Assistant on max settings no longer attmpts to solve problem of world peace by becoming Skynet"
06:00
<~Vornicus>
heh
06:02
<@macdjord|slep>
Or, more realisticaly, "'Delete game history' command now only deletes game history, rather than every file in the home directory starting with 'sudo'"
06:03
<&McMartin>
Oh yeah, didn't Bumblebee have that bug~
06:03
<&McMartin>
Where it ended up doing an rm /usr at one point
06:04
<@macdjord|slep>
... well, don't run your games as root.
06:04
<&McMartin>
Yeah, Bumblebee was a graphics driver.
06:04
<&McMartin>
It kinda ran as root
06:04
<&McMartin>
Bumblebee was a system to work with Optimus~
06:04
<@macdjord|slep>
>_<
06:04
<@macdjord|slep>
(To both the bug and the pun)
06:13 Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [[NS] Quit: This computer has gone to sleep]
06:13 Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code
06:20 JetpackWearingFireBreathingTRex [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
06:25 RchrdB [RichardB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.]
06:28 RchrdB [RichardB@Nightstar-c6u.vd5.170.83.IP] has joined #code
06:55 Turaiel is now known as Turaiel[Offline]
07:36 Nemu_ [NeophoxProd@Nightstar-kpuumf.gv.shawcable.net] has quit [Ping timeout: 121 seconds]
07:41 Nemu [NeophoxProd@Nightstar-kpuumf.gv.shawcable.net] has joined #code
07:42 Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [[NS] Quit: BED]
08:24 celticminstrel [celticminst@Nightstar-q8a8ba.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
08:24 Orthia [orthianz@Nightstar-mvf.9c1.224.119.IP] has quit [Ping timeout: 121 seconds]
08:24 Orthia [orthianz@Nightstar-mvf.9c1.224.119.IP] has joined #code
08:24 mode/#code [+o Orthia] by ChanServ
08:30 AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has joined #code
08:35
<&jerith>
McMartin: Have you started proting any of your games to monocle yet?
09:04 Kindamoody is now known as Kindamoody|out
09:33 AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has quit [[NS] Quit: Leaving]
09:41
<@TheWatcher>
proting = Porting by a /Professional/?~
09:48 JetpackWearingFireBreathingTRex [Z@Nightstar-ro94ms.balk.dk] has joined #code
09:48 mode/#code [+o JetpackWearingFireBreathingTRex] by ChanServ
09:59 Orthia [orthianz@Nightstar-mvf.9c1.224.119.IP] has quit [Ping timeout: 121 seconds]
10:00 Orthia [orthianz@Nightstar-mvf.9c1.224.119.IP] has joined #code
10:00 mode/#code [+o Orthia] by ChanServ
10:04 mode/#code [+o RchrdB] by ChanServ
11:00 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
11:44
<&jerith>
TheWatcher: Something like that, yes.
12:05
<&McMartin>
I'm aiming to get it up to the point where I can
12:05
<&McMartin>
I have, basically, three unsolved problems if I want to do this.
12:05
<&McMartin>
(a) scene sorting. I'm working on this now.
12:05
<&McMartin>
(b) mouse-to-sprite collisions. Hex Inverter needs this.
12:06
<&McMartin>
(c) my room abstraction. I haven't come up with a good answer for this one yet.
12:18
<&McMartin>
Oh, hm
12:18
<&McMartin>
(d) variable-width fonts, I guess. A strict port of Hex Inverter or Target Acquired would need that.
12:19
<&McMartin>
I'm torn between actually *having* those or just saying "sprites can handle it"
12:24
<@RchrdB>
It would be better if you ever wanted to translate it into other languages.
12:26
<&McMartin>
If it's a language with a shitload of glyphs, using sprite resources is the way to go.
12:27
<&McMartin>
Font resources are "one 'spritesheet', in a regular grid"
12:28
<&McMartin>
Anyway, scene sorting is the only piece of Monocle left I *need* to do before I can start porting what I have of Dapper Delver
12:40 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
12:41
<@RchrdB>
I got the impression that games usually did something like, on-demand, use FreeType to render each character into a buffer, then glTexSubImage2D() to copy that buffer into a free spot on a sprite sheet.
12:44
<@TheWatcher>
Font handling in games probably varies almost as much as there are games~
12:47
<&McMartin>
I am very, very deliberately not touching FreeType.
12:49
<&McMartin>
Using TTF resources in a stand-alone redistributable program has always ended in tears, IME.
14:35 macdjord|slep is now known as macdjord|wurk
14:59 * simon_ reinstalled his Arch Linux
14:59 celticminstrel [celticminst@Nightstar-7omlk3.dsl.bell.ca] has joined #code
14:59 mode/#code [+o celticminstrel] by ChanServ
15:00
< simon_>
I wish I would settle for the default GNOME environment that Ubuntu gives, because I have to spend at least a day getting everything installed and configured.
15:01
<&McMartin>
Hrm. Other things Monocle could use if I want to put my half-finished designs into place: non-square hitboxes (both circular and pixel-perfect)
15:03
<&McMartin>
In totally not unrelated news I had a new idea of a retro-style arcadey game shortly after getting up this morning.
16:27 * McMartin writes goleft.s, has warm remembrances of the silly old Let's Read Lone Wolf thread
16:27
<@ErikMesoy>
OOoooh, I read that once
16:28
<&McMartin>
This, however, just scrolls a chunk of the screen one character left.
16:30
<&McMartin>
If I'm not careful, this just ends up being Flappy Birds 64
16:35 celticminstrel [celticminst@Nightstar-7omlk3.dsl.bell.ca] has quit [Ping timeout: 121 seconds]
16:35
<@RchrdB>
McMartin, ".s"?
16:36
<@RchrdB>
Is this for a C64 or is there some other reason why you're using assembly?
16:36
<&McMartin>
It's C64 assembly, yeah
16:36 celticminstrel [celticminst@Nightstar-8i5io7.dsl.bell.ca] has joined #code
16:36 mode/#code [+o celticminstrel] by ChanServ
16:39
<&McMartin>
http://pastebin.starforge.co.uk/639
16:40
<&McMartin>
Not the most efficient code, but it was mainly designed to be quick to write and to be easy to, say, jam into the cassette buffer so I can experiment with BASIC while having this as a new command.
16:46
<@RchrdB>
I take it that you don't have a nice C compiler to target the C64, given that you went to the effort of writing it in assembly?
16:48
<@Tamber>
6502 asm isn't really... *effort*
16:48
<&McMartin>
What Tamber said. C is an unusually poor fit for the 6502.
16:50
<&McMartin>
And also a poor fit for the C64 since everything fun is memory-mapped and you tend to be setting up your routines to tie into the interrupt handlers &c
16:53
<&McMartin>
(In practice, despite the fact that cc65 exists, basically nobody uses it; I think more people use its internal assembler more)
16:53
<@RchrdB>
eh oh okay
16:53
<@RchrdB>
I guess I forget that not all asm languages are as lovecraftian as x86.
16:54
<@celticminstrel>
...heh.
16:54 gnolam [lenin@Nightstar-lgrapr.tbcn.telia.com] has joined #code
16:54 mode/#code [+o gnolam] by ChanServ
16:54 * celticminstrel has only used... uh... I think it was the Motorola 68k that was used for my assembly class.
16:54
<&McMartin>
x86 turns out to be way more C-friendly
16:55
<&McMartin>
The 6502 is very good at arrays and very, very bad at pointers
16:55
<&McMartin>
So having a language that says "we don't need arrays, we have pointers" results in a lot more bloat and resource contention than you'd otherwise expect
16:56
<@RchrdB>
Surely you can't be *really* bad at pointers if you're good at arrays? Put the address into the index register and retrieve x[0].
16:56
<@celticminstrel>
cc65 doesn't optimize for arrays?
16:57
<@RchrdB>
not as nice as just having a "load *r0 into r1" as an instruction but still
16:59
<&McMartin>
RchrdB: The index register is 8 bits wide.
16:59
<&McMartin>
The address is 16 bits wide.
16:59
<&McMartin>
So, copy address into the zero page, most of which is reserved by the BIOS already - if you wish to coexist entirely with the C64's ROMs, you have all of four bytes to work with, or two addresses
16:59
<&McMartin>
Then set Y to zero, trashing one of your three registers
17:00
<&McMartin>
Then do the deref
17:00
<@RchrdB>
Wow, that is awful.
17:00
<&McMartin>
Meanwhile, array is "load index into X *or* Y, address is part of the instruction, done"
17:01
<&McMartin>
The 6502 is an actual accumulator-based architecture
17:02
<&McMartin>
Meanwhile, x86 doesn't really distinguish arrays from pointers; they're both indirect loads, IIRC, and the indirect load lets you sum in several base and index registers complete with automatic stride multiplication.
17:03
<&McMartin>
Go back one generation of systems from the C64/NES era to the Atari 2600 era and you also have joyous setups like sprite placement being "put the sprite where the electron gun is *right now*" as an operation, necessitating cycle counts after a hard sync with the CRT's horizontal blanking period
17:05
<&McMartin>
It's a noticably different mindset, overall. :D
17:07
<@RchrdB>
Yes, the pre-framebuffer era is ridiculous.
17:08
<&McMartin>
Well, both of these are pre-framebuffer era.
17:08
<&McMartin>
[*]
17:08
<&McMartin>
[*] The C64 teeeeechnically had a bitmap mode but it was still clearly a tile-based system
17:09
<&McMartin>
Just with enough tiles to cover the screen with unique ones.
17:09
<&McMartin>
But everyone that was writing games was using a tile system like the NES (or GBA, for that matter) and then layering hardware sprites on top of that.
17:10
<&McMartin>
Oh right, I should also qualify my statement above about pointers in 6502
17:11
<&McMartin>
You can also conceivably use self-modifying code to alter the target of a load-byte-from-this-absolute-location instruction
17:11
<&McMartin>
That lets you not trash the Y register but it's a few cycles slower than setting up the traditional way, because accessing zero page memory is both faster and more compact in terms of code size
17:12
<&McMartin>
The part that stings from a modern standpoint is that it isn't trivial to do, well, stack frames.
17:12
<&McMartin>
Which encourages a more FORTRAN-y style of program organization
17:18 Attilla [uid13723@Nightstar-ed0oqj.irccloud.com] has joined #code
17:23
<@ErikMesoy>
I'm looking for an essay on DRM and ownership which argued that there's a general category of privileges-of-secrecy and duties-to-clients for lawyers, doctors, and priests to act strictly in the interest of the person they're working for, and suggested that this category should be extended to programmers.
17:24
<@ErikMesoy>
I think it may have used the term "programmer-priest" and been on LiveJournal. I can't seem to find it. Anyone recall this?
17:24
<&McMartin>
No, but that's kind of silly
17:24
<@ErikMesoy>
The user of a device should be able to have confidence that the device is operating in their interest.
17:24
<&McMartin>
Protip: That's not who the programmer is working for
17:25
<&McMartin>
The programmer is working for, say, EA
17:25
<@ErikMesoy>
The lawyer doesn't get to report your crimes to the police even if it would clear stuff up, and the programmer doesn't get to put backdoors into your computer even if it would be ever so nice for someone else, for the same reasons.
17:26
<@RchrdB>
Distinction: *your* lawyer doesn't get to report your crimes. Someone else's lawyer could.
17:26
<@RchrdB>
Most programmers actually work for, say, EA. :|
17:26
<@ErikMesoy>
(I'm mostly looking for the essay, not trying to have the argument again)
17:26
<@RchrdB>
Oh, sorry.
17:27
<@RchrdB>
The debate becomes more interesting, I think, for sysadmins than programmers.
17:27
<&McMartin>
And for the specific case of backdoors, yeah, having a backdoor into all the systems in the company is kind of an operational requirement for IT.
17:27
<@ErikMesoy>
Suppose that whoever wrote it took account of nitpicks and distinctions like that. >_>
17:27
<&McMartin>
"You need to be able to administer this machine anywhere it goes"
17:27
<&McMartin>
I'm not willing to suppose that, because it sounds like the entire premise is misbegotten~
17:28
<@Tamber>
Erik: Yeah, and then it'd be so full of loopholes it'd be even more useless!
17:28
<@ErikMesoy>
McMartin: That was directed at Rchrd's point about *your* lawyer
17:29
<&McMartin>
Yeah, and that's why the whole thing falls apart. The person sitting at the console is basically never the client of the programmer
17:29
<@Tamber>
It still absolutely stinks of "There ought to be a law!"... >_>
17:30
<&McMartin>
And that's even before you get into "how do you distinguish SCCM from backdooring every system"
17:37
<@ErikMesoy>
Next time I'm tempted to ask "I'm looking for a good resource on the pros and cons of DRM" and see if that results in the same level of argument over DRM by people who are not familiar with such resources. </grump>
17:38
<&McMartin>
You'll get an answer that has to do with DRM, at least
17:39
<@Tamber>
If you didn't want an argument, why'd you ask a question? (:p)
17:39
<@ErikMesoy>
Tamber: That sounds like you want an argument. ( :p )
17:45
<@Tamber>
:D
17:47 * simon_ has discovered Conky for the first time and is happy!
17:55
<&ToxicFrog>
McMartin: historically, the answer to that has been "it's not your computer, it's the company's computer and they just let you use it"
17:57
<&McMartin>
Indeed
17:57
<&McMartin>
See "The person sitting at the console is not the client"
17:57
<&McMartin>
See also "why I can't check work email on my cell phone, because I'm not willing to submit to the self-destruct switches"
18:00
<&ToxicFrog>
My contention is that there is in fact a difference between "programmers should be able to insert backdoors into systems owned by their client" and "programmers should be able to insert backdoors into anything"
18:00
<&ToxicFrog>
That said, I don't think the lawyers comparison is at all useful for the reasons you've stated.
19:17 Syka [the@Nightstar-b1fuls.vividwireless.net.au] has quit [Ping timeout: 121 seconds]
19:24 Kindamoody|out is now known as Kindamoody
19:29 Syka [the@Nightstar-b1fuls.vividwireless.net.au] has joined #code
19:52 HotShot [HotShot@Nightstar-v7se27.try.wideopenwest.com] has joined #code
20:27 Kindamoody is now known as Kindamoody[zZz]
20:27 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
20:27 mode/#code [+qo Vornicus Vornicus] by ChanServ
20:53 JetpackWearingFireBreathingTRex [Z@Nightstar-ro94ms.balk.dk] has quit [Ping timeout: 121 seconds]
21:30
<@Tarinaky>
<&McMartin> Protip: That's not who the programmer is working for << Wouldn't that just mean modifying the argument that EA is 'the' programmer?
21:31
<@Tarinaky>
I mean... whether your software is written by 1 person, a team or a corporate vehicle seems kinda irrelevant to the argument.
21:31
< VoiceOfReason>
That sounds reasonable.
21:44
<@Azash>
Electronic Arts, henceforth known as 'the programmer' or 'the alpha and the omega'
21:44
<@Alek>
ouch
21:44
<@Alek>
don't drag me into this
21:44
<@Alek>
I have nothing to do with EA in any official or professional capacity.
21:44
<@Azash>
Wait
21:44
<@Azash>
It all makes sense
21:44
<@Azash>
omg EA
21:45
<@Azash>
omEgA
21:45
<@Alek>
:P
21:45
<@TheWatcher>
omg EA?
21:45
<@Azash>
Alpha, of course, refers to the software they release
21:46
<@TheWatcher>
More like "fuck EA" but anyway
21:47 JetpackWearingFireBreathingTRex [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
21:47 mode/#code [+o JetpackWearingFireBreathingTRex] by ChanServ
21:57 * TheWatcher blinks at this code
21:58
<@TheWatcher>
double t = strtod(str, &end); ...some checking on *end...; return int(t);
21:58
< VoiceOfReason>
What.
21:59
< VoiceOfReason>
Why not just use int(t)?
22:10
<&McMartin>
You mean strtol?
22:29
< VoiceOfReason>
I mean int(t).
22:32
<&McMartin>
Because t doesn't exist before that code
22:35
< VoiceOfReason>
Hmmm.
22:35
< VoiceOfReason>
OK, I don't understand this code.
22:36
<&McMartin>
It's converting a string to double, then it's checking to make sure it was the whole string, and then it's converting the result to int.
22:37
< VoiceOfReason>
In that case couldn't it skip the int() part? You can assign doubles to integers, right?
22:37
<&McMartin>
Yes, but that often produces a warning.
22:37
<&ToxicFrog>
A better question is "why parse it as a double in the first place when you want to end up with an int"
22:38
<&McMartin>
Casting to int manually is a way of saying "yes, I meant to do this" both to the compiler and to the human readers later
22:38
<&McMartin>
TF: Because you want to accept "3.75" but not "3fhqwgads", I suppose.
22:39 * ToxicFrog successfully reverse-engineers the UHS format.
22:40
<&McMartin>
Universal Hint System?
22:44
<~Vornicus>
hooray, fhqwgads
23:22 Turaiel[Offline] is now known as Turaiel
23:32 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
23:32 mode/#code [+o himi] by ChanServ
23:37 HotShot [HotShot@Nightstar-v7se27.try.wideopenwest.com] has quit [Ping timeout: 121 seconds]
23:44 JetpackWearingFireBreathingTRex [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
23:53 himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
23:55
<&McMartin>
The ghost of Internets past
--- Log closed Fri Jun 20 00:00:04 2014
code logs -> 2014 -> Thu, 19 Jun 2014< code.20140618.log - code.20140620.log >

[ Latest log file ]