--- Log opened Mon Apr 08 00:00:56 2013 |
00:08 | <@Reiv> | So, linear programming. |
00:08 | <@Reiv> | Reveal unto me its secrets. |
00:09 | <&McMartin> | That's a technique for solving large-scale systems of inequalities, IIRC. |
00:09 | <&McMartin> | Unless you mean integer linear programming in which case Abandon All Hope. |
00:09 | <&McMartin> | That's all I've kept in the mental index after algorithms class ten years ago, sorry >_> |
00:10 | | Vorntastic [Vorn@Nightstar-221158c7.sd.cox.net] has quit [Ping timeout: 121 seconds] |
00:11 | <@Reiv> | Large scale systems of inequalities would sound correct. |
00:11 | | Vorntastic [Vorn@Nightstar-221158c7.sd.cox.net] has joined #code |
00:15 | <&McMartin> | I'm afraid the only "secret" I have available then is that if you constrain the coefficients to be integers, then the problem is NP-Complete. |
00:17 | <@Reiv> | Darn. |
00:17 | <@Reiv> | I had hoped to be able to gaze apon its wonder and not have my mind flayed from its roots |
00:18 | <~Vornicus> | The Simplex Method |
00:18 | <~Vornicus> | or Simplex Algorithm |
00:19 | <~Vornicus> | Learn It Love It Have Cute Babies With It |
00:19 | | * Reiv has cute babies with Vorn, that he may extract the simplex method. |
00:24 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
00:24 | | mode/#code [+o himi] by ChanServ |
00:33 | < Vorntastic> | Have you read over the wikipedia page? |
00:34 | | Kindamoody[zZz] [Kindamoody@Nightstar-e9aa495d.tbcn.telia.com] has quit [Operation timed out] |
00:35 | | Kindamoody[zZz] [Kindamoody@Nightstar-e9aa495d.tbcn.telia.com] has joined #code |
00:35 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
01:14 | | Vornlicious [Vorn@Nightstar-221158c7.sd.cox.net] has joined #code |
01:14 | | Vorntastic [Vorn@Nightstar-221158c7.sd.cox.net] has quit [Client closed the connection] |
01:32 | | Vornlicious [Vorn@Nightstar-221158c7.sd.cox.net] has quit [[NS] Quit: Bye] |
01:33 | | syksleep [the@Nightstar-fa720306.iinet.net.au] has joined #code |
02:20 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
02:20 | | mode/#code [+o celticminstrel] by ChanServ |
03:30 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
04:03 | | Kindamoody[zZz] is now known as Kindamoody |
04:48 | | mac [mac@Nightstar-fe8a1f12.il.comcast.net] has joined #code |
05:15 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:04 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
06:09 | | syksleep [the@Nightstar-fa720306.iinet.net.au] has quit [Ping timeout: 121 seconds] |
06:12 | | ErikMesoy|sleep is now known as ErikMesoy |
06:14 | | Turaiel is now known as TURAIEL |
06:16 | | syksleep [the@A6D346.0419D1.6213A0.35EA4A] has joined #code |
06:36 | | TURAIEL is now known as Turaiel |
07:06 | | syksleep is now known as Syk |
07:36 | | Turaiel is now known as Turaiel[Offline] |
08:08 | | Syk [the@A6D346.0419D1.6213A0.35EA4A] has quit [Ping timeout: 121 seconds] |
08:10 | | Syk [the@Nightstar-4ea517f4.iinet.net.au] has joined #code |
08:22 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
08:22 | | mode/#code [+o himi] by ChanServ |
08:31 | | Kindamoody is now known as Kindamoody|afk |
09:23 | | mac [mac@Nightstar-fe8a1f12.il.comcast.net] has quit [[NS] Quit: This computer has gone to sleep] |
09:25 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
10:32 | | Syk [the@Nightstar-4ea517f4.iinet.net.au] has quit [Ping timeout: 121 seconds] |
10:37 | | RichyB [richardb@Nightstar-228a334c.plus.com] has joined #code |
10:37 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
10:37 | | mode/#code [+o himi] by ChanServ |
10:37 | | Syka [the@Nightstar-5f5b57d9.iinet.net.au] has joined #code |
11:29 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
13:38 | | RichyB [richardb@Nightstar-228a334c.plus.com] has quit [Ping timeout: 121 seconds] |
14:32 | | RichyB [richardb@Nightstar-228a334c.plus.com] has joined #code |
14:37 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
14:51 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
14:51 | | mode/#code [+o himi] by ChanServ |
15:06 | | EvilDarkLord [jjlehto3@Nightstar-a5db08cc.org.aalto.fi] has quit [Ping timeout: 121 seconds] |
16:05 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
16:15 | | Turaiel[Offline] [Brandon@Nightstar-949d7402.resnet.mtu.edu] has quit [Ping timeout: 121 seconds] |
16:17 | | Turaiel [Brandon@Nightstar-949d7402.resnet.mtu.edu] has joined #code |
16:17 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
16:17 | | mode/#code [+o himi] by ChanServ |
16:41 | | Turaiel is now known as Turaiel[Offline] |
17:03 | | Syka is now known as syksleep |
17:32 | | mac [mac@Nightstar-fe8a1f12.il.comcast.net] has joined #code |
18:13 | | Kindamoody|afk is now known as Kindamoody |
18:35 | | EvilDarkLord [jjlehto3@Nightstar-a5db08cc.org.aalto.fi] has joined #code |
18:35 | | mode/#code [+o EvilDarkLord] by ChanServ |
18:38 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
18:52 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
18:52 | | mode/#code [+o himi] by ChanServ |
19:36 | | Turaiel[Offline] is now known as Turaiel |
19:50 | | Turaiel is now known as Turaiel[Offline] |
19:53 | | Kindamoody is now known as Kindamoody|afk |
20:18 | | Kindamoody|afk is now known as Kindamoody |
20:31 | | ToxicFrog is now known as ToxicFrog|W`rkn |
20:33 | | Kindamoody is now known as Kindamoody[zZz] |
21:21 | < ErikMesoy> | Help, I have a problem I can't articulate, and I'm also feeling existential angst that programming difficulties generally boil down to either syntax queries or being inarticulate. :-( |
21:23 | <&ToxicFrog|W`rkn> | I would ask you what the problem is, but if you can't articulate it... |
21:23 | < RichyB> | A lot of the difficulty really _is_ elucidation. |
21:23 | <@AnnoDomini> | ErikMesoy: What are you doing? |
21:24 | <&McMartin> | This is why you have to ask the duck your question, not pray to it |
21:24 | | AnnoDomini is now known as Dog |
21:24 | < RichyB> | Other part of it is correctness over a large number of details... |
21:24 | < RichyB> | The third half is difficulty inherited from maths... ;) |
21:24 | < ErikMesoy> | I can't even get as far as asking the duck because I keep correcting myself and replanning partway through. |
21:24 | < ErikMesoy> | RichyB: pfffffft :D |
21:25 | <@Dog> | ErikMesoy: Is this homework or your game? |
21:25 | < ErikMesoy> | Dog: I want to do something with keeping track of what object is being interacted with, where this value is stored, which things I have access to, and how to interface with this whole thing in a reasonably user-friendly manner. And I realize that this is terribly generic. |
21:26 | <@Dog> | This sounds like a top-level design problem. |
21:27 | <@Dog> | Do you mean object like a programming object, or an in-game object? |
21:28 | < ErikMesoy> | A programming object. I find myself wavering between writing god objects and passing data-tuples up and down 3+ levels. |
21:29 | <&McMartin> | If I have to choose between the two I lean towards the latter, personally. |
21:29 | <@Dog> | This is python, right? I can't help you much about specific implementation, but I can tell you how I've done things in my C projects. |
21:29 | <&McMartin> | But then, I also tend towards having "modules" in python instead of objects that serve as god objects. |
21:29 | < ErikMesoy> | Specific implementation is a syntax query. :P |
21:31 | <@Dog> | Okay. I have a bunch of global variables (due to the nature of C, this is more involved than flagging it with 'global' or the like and using henceforth). I have separated them into two broad categories: things that are needed for the functioning of the application, and things that needs to go in save files. |
21:31 | < ErikMesoy> | Currently I'm in the latter phase, and my design notes go like this: User clicks GUI, GUI triggers ButtonListener, ButtonListener passes chosen value to CurrentObject, CurrentObject calls RelevantMethod, RelevantMethod calculates the OptionList for what can be done next, and the OptionList gets passed all the way up to GUI. |
21:32 | < ErikMesoy> | (With some other data being passed along the way.) |
21:33 | <&ToxicFrog|W`rkn> | Speaking of passing n-tuples up and down 3+ levels, I am completely infatuated with dynamic binding for making that no longer an issue. |
21:33 | <@Dog> | The savefile stuff I keep in a struct called GameState. The various application variables I keep individually (but may later change them to a global container also). |
21:33 | <&McMartin> | This is a GUI, so the 3 levels are in fact exactly what you want |
21:33 | <&McMartin> | There's the "object the user sees" level, the "shit actually getting done" level, and the glue layer between them. |
21:33 | <&McMartin> | View, Model, Controller. |
21:33 | <&McMartin> | (Controller is fuzzy but roll with it~) |
21:35 | <@Dog> | Interface is keyboard-only at this point and is done with a looped keyboard listening thingy courtesy of SDL. Drawing the visible parts I have in a bunch of functions. |
21:36 | <&McMartin> | Yeah, as much as possible you want RelevantMethod to not really give a shit about that stuff |
21:36 | <@Dog> | The drawing functions are called from interface functions which are launched in a state-machine-like setup over in main(). |
21:36 | <&McMartin> | Having both it and the SDL-facing code both speak Value Objects is the way to go. |
21:36 | | * ToxicFrog|W`rkn makes a change that requires the execution of ~83k tests, is told by the test cluster not to submit that during working hours :( |
21:38 | <@Dog> | Dog: I'll show it to you tomorrow, before RRAG. |
21:39 | <&McMartin> | TF: Heh |
21:39 | <&ToxicFrog|W`rkn> | McMartin: I was thinking more of situations where you have some kind of state object that a function at the other end of the call stack needs to see. |
21:44 | <&ToxicFrog|W`rkn> | ...huh. gitk is using up a gig and a half of memory. |
21:44 | <&ToxicFrog|W`rkn> | That's new an exciting. |
21:45 | <&McMartin> | That is Many Megs. |
21:48 | <&ToxicFrog|W`rkn> | It is. |
21:48 | <&ToxicFrog|W`rkn> | It is also displaying Many Commits, so this is forgiveable. |
21:50 | < ErikMesoy> | McMartin: Looking over my stuff, it appears that I have something more like View, Glue, ModelController. |
21:51 | <&ToxicFrog|W`rkn> | (can't wait until I have more memory, though) |
21:51 | < ErikMesoy> | The glue is really thin, and the objects mostly know what to do with themselves and one another. |
21:51 | <&McMartin> | ErikMesoy: It's traditional to jam the controller bits up with the View, since main() has to have the event loop |
21:54 | < ErikMesoy> | I think I should brush up on MVC. |
21:54 | < ErikMesoy> | Been a loooong time since I did anything complicated enough to need it in full |
21:59 | < ErikMesoy> | Yeah, making a Controller here seems useful. |
22:03 | <&McMartin> | Oh man |
22:03 | <&McMartin> | "Hey, what's the Chrome 'working' mouse icon?" "I think they're OS dependent." "So... they're aftermarket Chrome spinners?" |
22:37 | <@sshine> | ErikMesoy, I've usually done MVC-like design so that the controller classes both are event listeners and modify the model classes which are either just dumb containers or dumb containers wrapped inside an ORM. |
22:40 | <@sshine> | ErikMesoy, but I liked this other way of doing it that I saw recently: the controller classes are event listeners for input from the view, and they do update the model classes, but then the view classes react to a set of event listeners that the model triggers. this way you get an update in the UI whenever you set properties in the model, which synchronizes the model and the view. |
22:41 | <@sshine> | ErikMesoy, I think this resembles how modern javascript front-ends are built, although I have a limited experience with them. |
22:44 | <@sshine> | ErikMesoy, alternatively, the controller would have the responsibility of setting both the view and the model so their states match. when the model and the view communicate directly through a set of event listeners, those event listeners become the total set of legal UI state changes. |
22:44 | | * sshine shrugs... I suppose you could call any set of event listeners a part of "control". |
22:50 | | RichyB [richardb@Nightstar-228a334c.plus.com] has quit [[NS] Quit: >:3 This is BunThulhu. Copy him into your quit message to help him take over the Internet.] |
22:57 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
22:59 | | ErikMesoy is now known as ErikMesoy|sleep |
23:05 | | syksleep [the@Nightstar-5f5b57d9.iinet.net.au] has quit [Operation timed out] |
23:11 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
23:11 | | mode/#code [+o himi] by ChanServ |
23:29 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Connection closed] |
23:32 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
23:33 | | mode/#code [+o himi] by ChanServ |
23:41 | | Turaiel[Offline] is now known as Turaiel |
23:46 | | RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has joined #code |
--- Log closed Tue Apr 09 00:00:11 2013 |