code logs -> 2010 -> Mon, 18 Oct 2010< code.20101017.log - code.20101019.log >
--- Log opened Mon Oct 18 00:00:25 2010
00:05 TarinakyKai [Tarinaky@Nightstar-f349ca6d.plus.com] has quit [Connection closed]
00:30 Attilla [Some.Dude@Nightstar-e1b36c8c.threembb.co.uk] has quit [[NS] Quit: ]
00:49 AnnoDomini [annodomini@Nightstar-d1ac981f.adsl.tpnet.pl] has quit [[NS] Quit: Sleep. Now.]
00:52
<@Derakon>
Celticminstrel: at the time that the release occurred, the code was not yet ready to be used; however, taking it out just for a release only to put it back in afterwords is pointless makework.
00:52
<@Derakon>
Therefore, knowing full well that nobody could call the code in the first place, they left it in with the expectation that it would be made available later.
00:53 McMartin_ [mcmartin@Nightstar-6f5e4651.pltn13.sbcglobal.net] has joined #code
00:55 McMartin [mcmartin@Nightstar-ff5ca89c.pltn13.sbcglobal.net] has quit [Ping timeout: 121 seconds]
00:56 kwsn [kwsn@Nightstar-1def9d24.dyn.centurytel.net] has joined #code
00:57
< celticminstrel>
Well, okay...
00:59
<@Derakon>
This is done all the time in situations where you have multiple projects running on the same code, only one of which determines the release date.
01:01 McMartin_ [mcmartin@Nightstar-6f5e4651.pltn13.sbcglobal.net] has quit [Ping timeout: 121 seconds]
01:02 McMartin [mcmartin@Nightstar-dc547daf.pltn13.sbcglobal.net] has joined #code
01:02 mode/#code [+o McMartin] by Reiver
01:11 McMartin [mcmartin@Nightstar-dc547daf.pltn13.sbcglobal.net] has quit [Connection reset by peer]
01:13 McMartin [mcmartin@Nightstar-b2a203af.pltn13.sbcglobal.net] has joined #code
01:13 mode/#code [+o McMartin] by Reiver
01:18 McMartin [mcmartin@Nightstar-b2a203af.pltn13.sbcglobal.net] has quit [Ping timeout: 121 seconds]
01:19 McMartin [mcmartin@Nightstar-b2a203af.pltn13.sbcglobal.net] has joined #code
01:19 mode/#code [+o McMartin] by Reiver
01:24 McMartin [mcmartin@Nightstar-b2a203af.pltn13.sbcglobal.net] has quit [Connection closed]
01:24 McMartin [mcmartin@Nightstar-b2a203af.pltn13.sbcglobal.net] has joined #code
01:24 mode/#code [+o McMartin] by Reiver
01:29 McMartin [mcmartin@Nightstar-b2a203af.pltn13.sbcglobal.net] has quit [Ping timeout: 121 seconds]
01:29 McMartin [mcmartin@Nightstar-b2a203af.pltn13.sbcglobal.net] has joined #code
01:29 mode/#code [+o McMartin] by Reiver
01:35 McMartin_ [mcmartin@Nightstar-d16d0887.pltn13.sbcglobal.net] has joined #code
01:38 McMartin [mcmartin@Nightstar-b2a203af.pltn13.sbcglobal.net] has quit [Ping timeout: 121 seconds]
01:47 Finerty is now known as Vornicus
01:50 McMartin [mcmartin@Nightstar-ac263077.pltn13.sbcglobal.net] has joined #code
01:50 McMartin_ [mcmartin@Nightstar-d16d0887.pltn13.sbcglobal.net] has quit [Client closed the connection]
01:50 mode/#code [+o McMartin] by Reiver
01:53 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [[NS] Quit: Z?]
01:58
<@Vornicus>
Anyway. Kaura!
02:01 McMartin [mcmartin@Nightstar-ac263077.pltn13.sbcglobal.net] has quit [[NS] Quit: Network is acting up]
02:28 kzoo [c0mand@Nightstar-bec1add2.dyn.optonline.net] has joined #code
02:31 kzoo [c0mand@Nightstar-bec1add2.dyn.optonline.net] has quit [[NS] Quit: ]
02:57 * celticminstrel idly wonders why SDL_image has no support for writing image files.
03:50 Zed_ [Zed@Nightstar-556ea8b5.or.comcast.net] has joined #code
03:51 Zed [Zed@Nightstar-556ea8b5.or.comcast.net] has quit [Client closed the connection]
04:18 Zed_ [Zed@Nightstar-556ea8b5.or.comcast.net] has quit [Ping timeout: 121 seconds]
04:21 * ToxicFrog \m/ ROCKS OUT \m/
04:22
<@ToxicFrog>
There's still a lot of work to be done, but the core works.
04:22
<@ToxicFrog>
I can now create a game, connect to it remotely, move stuff around on one client and see the moves reflected on the other.
04:22
<@ToxicFrog>
Also, even without all of the GTK features, moving to Cairo for rendering was worth it just for either of the CTM or push_group/pop_group_to_source
04:25
<@Derakon>
\o/
04:26
< celticminstrel>
Yay!
04:32
<@ToxicFrog>
So. Next up is the UI redesign so that testing isn't as painful.
04:33
<@ToxicFrog>
Then a lot of improvement of error handling; in particular the client should handle disconnects gracefully (at present it screams at you and then exits)
04:33
<@ToxicFrog>
Then save/load support.
04:33
<@ToxicFrog>
Then some actual games.
04:39
<@Derakon>
Vorn should still have a bunch of assets for Settlers.
04:44
<@ToxicFrog>
First up is chess, because it's really simple and easy to test.
04:44
<@ToxicFrog>
Then a deck of 54, since that gives me a testbed for the visibility rules, hands, and decks.
04:44
<@Derakon>
...54?
04:44
<@Derakon>
Two jokers?
04:44
<@ToxicFrog>
Yes.
04:45
<@ToxicFrog>
And then, I have the assets for Descent and all expansions but the most recent sitting on my hard drive.
04:46
< celticminstrel>
Chess is simple?
04:46
<@ToxicFrog>
And the base game is code-complete, it just needs to be updated for the Cairo renderer.
04:46
<@ToxicFrog>
Yeah? You need a board and 32 inert pieces.
04:46
< celticminstrel>
Well, I suppose if you don't care about AI...
04:46
<@ToxicFrog>
I don't.
04:46
<@ToxicFrog>
This is strictly multiplayer.
04:46
<@Derakon>
This is a system for connecting humans to each other.
04:46
<@ToxicFrog>
There is no AI, and no rule enforcement by the computer.
04:46
<@Derakon>
That simplifies matters significantly.
04:46
< celticminstrel>
So, you do care about enforcing the rules then.
04:46
< celticminstrel>
Oh wait, no.
04:47
< celticminstrel>
So, that does simplify things considerably.
04:47
<@ToxicFrog>
Consequently, chess is really simple, because all you need are 17 objects, one of them just needs to let you put things on it and the rest just kind of sit there.
04:47
<@Derakon>
Felt is basically a networked table.
04:47
< celticminstrel>
...do you mean 33 objects? :|
04:47
<@ToxicFrog>
Yes.
04:47
<@Derakon>
The only complex rules it has to enforce are ones about visibility.
04:48
<@ToxicFrog>
In my defence I've been fighting object propagation bugs all day.
04:48 McMartin [mcmartin@Nightstar-6f681ff5.pltn13.sbcglobal.net] has joined #code
04:48 mode/#code [+o McMartin] by Reiver
04:49
<@ToxicFrog>
Derakon: and those aren't even very complex; it's basically a (players x fields) matrix of booleans, all player-configurable.
04:52 Derakon is now known as Derakon[AFK]
04:54 * ToxicFrog gets his Glade on
05:01 Zed [Zed@Nightstar-556ea8b5.or.comcast.net] has joined #code
05:32 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:39 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has joined #code
05:43 Kazriko [kaz@Nightstar-e09690fa.client.bresnan.net] has quit [Connection closed]
05:48 Kazriko [kaz@Nightstar-e09690fa.client.bresnan.net] has joined #code
05:48 mode/#code [+o Kazriko] by Reiver
06:00
<@Kazriko>
http://www.zachtronicsindustries.com/?p=855
07:30 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code
08:12 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has quit [Ping timeout: 121 seconds]
08:50 Vornicus is now known as Vornicus-Latens
08:53 You're now known as TheWatcher
09:28 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code
11:10 Anno[Laptop] [annodomini@F67919.F326B3.98D923.BDA7B6] has joined #code
12:14 cpux is now known as shade_of_cpux
12:39
< Anno[Laptop]>
Does Java have some sort of built-in way to sort arrays?
12:42
< Anno[Laptop]>
I mean, I have an array of custom classes which have a property. I'd like to sort the array according to the property of the instances.
12:42
< Anno[Laptop]>
*array of instances of a custom class
12:56 Anno[Laptop] [annodomini@F67919.F326B3.98D923.BDA7B6] has quit [[NS] Quit: Going home.]
12:57 Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code
13:05 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
13:17 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Client closed the connection]
13:32 Anno[Laptop] [annodomini@Nightstar-3e902c6a.adsl.tpnet.pl] has joined #code
14:04 kwsn [kwsn@Nightstar-1def9d24.dyn.centurytel.net] has quit [[NS] Quit: BEEP BEEP IMMA JEEP]
14:39
<@ToxicFrog>
Anno[Laptop]: it has several.
14:39
<@ToxicFrog>
http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html
14:42 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code
14:49 You're now known as TheWatcher[afk]
14:52 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
15:10 Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has joined #code
15:24
<@jerith>
Monday Pun Day: My application has one particular user, from Prague, who is very expensive to load. How can I fix this performance problem? -- http://twitter.com/frogandcode/status/27737487503
15:24
<@jerith>
Answer: You need to cache your Czech.
15:40
< gnolam>
Boo.
15:45
< Tarinaky>
I cringe in horror at that joke.
16:10
< PinkFreud>
... I'm horrified.
16:10 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code
16:12
< Tarinaky>
jerith: See the horror you inflicted? And it's early for Halloween as well.
16:24 kwsn [NSwebIRC@0E1868.C3C901.AE3970.13CA39] has joined #code
16:24
< kwsn>
anyone here familiar with ada?
16:31
< gnolam>
Sadly, yes.
16:31
< gnolam>
Been a couple of years since I touched it though.
16:32
< kwsn>
I'm using "use text_io;"
16:32
< kwsn>
yet i keep on getting "prog3.adb: Error: line 54 col 10 LRM:4.1(3), Direct name, get, is not visible, Ignoring future references "
16:52
< gnolam>
And you have a with Ada.Text_IO before that use, right?
16:53
< kwsn>
nope, that worked, thanks
16:54
< kwsn>
take that back
16:54
< kwsn>
still gave me the error
16:54
< gnolam>
What are you trying to Get()?
16:55
< gnolam>
You might need e.g. Ada.Integer_Text_IO or so.
16:55
< kwsn>
got it
16:55
< kwsn>
i has to be "with ada.text_io;
16:55
< kwsn>
*" followed by "use ada.text_io;"
17:28
< kwsn>
0 differences ^_______________^
17:29 Attilla [Some.Dude@Nightstar-2cb92b04.threembb.co.uk] has joined #code
17:29 mode/#code [+o Attilla] by Reiver
17:32 kwsn [NSwebIRC@0E1868.C3C901.AE3970.13CA39] has quit [[NS] Quit: poof, thanks gnolam ]
17:34 You're now known as TheWatcher
18:29
<@ToxicFrog>
"With" links, "use" hacks scope?
18:30
< gnolam>
Yep.
18:56 jeroid [jerith@687AAB.5E3E50.7D2204.EA115F] has joined #code
19:09 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
19:34
< gnolam>
Actually... Ada isn't /that/ bad. For its intended purpose.
19:35
< gnolam>
But it's got possibly the worst text I/O system of any serious language ever designed.
19:52 SmithKurosaki [Smith@Nightstar-8ff23d84.dsl.teksavvy.com] has quit [Connection closed]
19:57 SmithKurosaki [Smith@Nightstar-8ff23d84.dsl.teksavvy.com] has joined #code
20:09 * ToxicFrog finishes redoing the UI for Felt for the fourth time.
20:10 * Tarinaky pokes ToxicFrog for advise, words of wisdom and anything else he can scrounge/sponge off him.
20:13
< jeroid>
Never fight a land war in Asia.
20:18
<@ToxicFrog>
Tarinaky: I'm actually about to leave to TA a lab, but I should be online for part of that. Anything in particular you wanted to ask?
20:18
< Tarinaky>
ToxicFrog: Advice for building a UI in pygame.
20:19
< Tarinaky>
ToxicFrog: I'm currently playing around with the pygame.sprite stuff to get a good handle on how that works.
20:19 superG [thedarthvader@A08927.7BB347.41548F.B563CB] has joined #code
20:19 superG [thedarthvader@A08927.7BB347.41548F.B563CB] has left #code []
20:19
< jeroid>
I'm in a band rehearsal at the moment, but I can mention the occasional thing.
20:19
< jeroid>
What kind of UI?
20:20
< Tarinaky>
The basics really. There doesn't seem to be anything off the shelf I can use to provide widgets.
20:21
< Tarinaky>
The context is for a game though.
20:21
< Tarinaky>
So mostly buttons, mouse/keyboard events.
20:22
< Tarinaky>
The other thing as well - the documenation for pygame.sprite.Sprite seems to imply that there is no pygame.sprite.Sprite.draw method.
20:22
< Tarinaky>
And that to do the actual drawing you -have- to use a Group (unless you reach in and access the surface Sprite.image but I consider that a violation of encapsulation)
20:23
< jeroid>
I don't recall the sprite stuff.
20:23
< Tarinaky>
I'm actually looking at DirtySprite more than Sprite because it has some extra variables. The Sprite class wraps an SDL_Surface and an SDL_Rect.
20:24
< jeroid>
Use something like Albow for widgets, but you might need to hack around it to get sprites on the screen at the same time.
20:25
< Tarinaky>
jeroid: Would that not result in more work? Considering I only need a small number of widgets.
20:25
< Tarinaky>
*types of widgets
20:28
< jeroid>
Dunno.
20:29
< jeroid>
Most of the widget libraries are designed to be used in a particular context.
20:32
< Tarinaky>
Yeah. From what I understand I think I could conceivably get as much as I need working on my own. I'm mostly just angling for advice.
20:32
< Tarinaky>
As I know TF recently went through a related nightmare.
20:32
< Tarinaky>
For his Felt thing.
20:34
< jeroid>
It's probably worth looking at a library to see how it's done.
20:35
< jeroid>
Albow's actually probably usable for your purposes if you create a "canvas" widget to draw everything else in.
20:36
< Tarinaky>
Well. I did build a program in VC++ once and experienced some of the basics and I've used GTKmm several times.
20:41
< jeroid>
I can help you more when I get home in an hour or so.
20:42
<@ToxicFrog>
Tarinaky: there's actually not a lot I can tell you. I used love2d as the original basis, which is (AIUI) more like pyglet than pygame - it has event processing and whatnot built in, you just need to write event handlers for it to call.
20:42 jeroid [jerith@687AAB.5E3E50.7D2204.EA115F] has quit [[NS] Quit: Bye]
20:43
<@ToxicFrog>
On top of that, I built a heirarchical widget system - the widgets form a tree, rendering is depth first preorder with children Z-sorted, events are given to the parent to examine, then all the children.
20:44
< Tarinaky>
I was thinking of doing something similar to that with has-a relationships.
20:44
<@ToxicFrog>
Then I realized I needed text fields and buttons and menus and file selectors and resizeable windows and whatnot and decided an actual UI library would be better suited, and switched to GTK+.
20:45
<@ToxicFrog>
That said, the SDL version of Spellcast I wrote years ago was in C, talked SDL directly, and implemented buttons and text fields
20:45
<@ToxicFrog>
But, there was no heirarchy or layout management.
20:46 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed]
20:59
<@ToxicFrog>
Anyways. The source for Spellcast, or for the love2d version of Felt, might be useful
20:59
<@ToxicFrog>
But my main insight from this experience was "fuck this noise, I'm going to use an actual GUI library"
21:02 Derakon [Derakon@Nightstar-1ffd02e6.ucsf.edu] has joined #code
21:02 mode/#code [+o Derakon] by Reiver
21:02
<@Derakon>
So, style question for y'all.
21:03
<@Derakon>
One of my users requested the program remember each user's window layout, and restore same when the program is launched.
21:03
<@Derakon>
Each window is a program singleton, and most of them are "stored" in the module with the class definition for the window.
21:04
<@Derakon>
So whatever module handles the save/reload logic is going to have to import all of those modules so it can access their singletons.
21:04
<@Derakon>
However, it only needs them for that one function.
21:04
<@Derakon>
So in this case, is it better to put the import statements at the top of the file, or inside the function itself?
21:04
<@Derakon>
(We're talking about 10 imports here)
21:04
<@ToxicFrog>
Personally I'd put them in the function.
21:08
<@Derakon>
That's what I ended up going for, but I wasn't able to strongly articulate why.
21:08
<@Derakon>
It implies there's some cutoff point at which imports should be local rather than module-global in scope.
21:10
< celticminstrel>
Is there some way to tell my computer that a particular file extension should be mapped to an existing UTI?
21:12
<@ToxicFrog>
UTI?
21:12
< celticminstrel>
Uniform Type Identifier.
21:24
< celticminstrel>
I guess that means you have no idea.
21:50
< celticminstrel>
Is there a way to look at an unknown stream type to see whether it supports reading or writing, short of RTTI?
21:52
< celticminstrel>
(Assuming it's one of the standard streams derived from ios_base)
21:55
<@jerith>
Derakon: Add a "save people's layout" module that just imports and uses them all?
21:56
<@Derakon>
Jerith: yeah, I could do that, except this functionality clearly belongs in the gui.layout module.
21:57
<@jerith>
Ah.
21:57
<@jerith>
Spend a week driving the Refactor Tractor all over the codebase and then do it without the ten imports. *flees*
21:58
<@Derakon>
The alternative would seem to be storing the singletons in some more globally-scoped location so I could only import that and have access to each window.
21:58
<@Derakon>
But that is what I'm trying to get away from...
22:07 ErikMesoy [Erik_Mesoy@Nightstar-c8453cc1.80-203-16.nextgentel.com] has joined #code
22:24
< ErikMesoy>
Idle anecdote from Opera Software: There is a sign in one of the server rooms saying "THINK BEFORE YOU DRILL. Or I will come and drill your noggin. This is a server room, not a bathroom undergoing renovation."
22:51 ErikMesoy is now known as ErikMesoy|sleep
22:56
<@ToxicFrog>
celticminstrel: I don't know of any; is there a particular reason you can't ask if it's instanceof istream or instanceof ostream?
22:57 Derakon [Derakon@Nightstar-1ffd02e6.ucsf.edu] has quit [[NS] Quit: Leaving]
23:04
< celticminstrel>
I could in principle do a "typeid(stream) == typeid(istream)", but I'm not sure how that interacts with the fact that stream is stored as a void pointer.
23:18 kwsn [kwsn@Nightstar-1def9d24.dyn.centurytel.net] has joined #code
23:35
<@ToxicFrog>
celticminstrel: actually, better question
23:35
<@ToxicFrog>
Why do you need to ask this question in the first place, as opposed to typing your program such that incorrect usage here will fail to compile?
23:36 * ToxicFrog sighs. I've finished the recursive-backtracking brute force sudoku solver. It's 30 lines long, half of that is comments and whitespace, and it works so well and runs so fast there's no reason to write something elegant. :(
23:37
< Namegduf>
Nice.
23:38
< celticminstrel>
I didn't choose to store it as a void pointer; that's just what the library gives me to work with. I'm attempting a solution involving templates at the moment.
23:39
< Tarinaky>
ToxicFrog: Turn it into something you can conceal about your person in order to cultivate the illusion that you are really good at Sudoku?
23:42
< Tarinaky>
That or you could adapt it for 4x4 sudoku?
23:43
<@McMartin>
This is one reason why SquareLogic/Killer Sudoku is more fun, really
23:44
<@McMartin>
Variable size/shape cages, and instead of every one being "9-Stright" they're things like "must sum to X", "must all be even", etc.
23:44
<@McMartin>
As a result they have many fewer starting clues and make for a better logic chain.
23:55
< kwsn>
ToxicFrog: what lang?
23:55 You're now known as TheWatcher[T-2]
23:57 You're now known as TheWatcher[zZzZ]
23:58 RichardBarrell [mycatverbs@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
--- Log closed Tue Oct 19 00:00:26 2010
code logs -> 2010 -> Mon, 18 Oct 2010< code.20101017.log - code.20101019.log >