--- Log opened Mon Jun 17 00:00:00 2013 |
00:01 | <@McMartin> | Well, right; what I mean is they're actually good enough that they get a fee-for-service setup |
00:02 | <@McMartin> | (I have some HK friends aggravated that they canot pay the license fee directly to them in exchange for streamed versions of the broadcasts, which I find hilarious) |
00:04 | | Typherix is now known as Typh|offline |
00:27 | | Derakon is now known as Derakon[AFK] |
00:35 | | Turaiel is now known as Turaiel[Offline] |
01:26 | | Derakon[AFK] is now known as Derakon |
01:50 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.] |
01:53 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
02:03 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
02:16 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
02:16 | | mode/#code [+o himi] by ChanServ |
02:59 | | Kindamoody[zZz] is now known as Kindamoody |
03:02 | | Vorntastic [Vorn@Nightstar-4cbf1288.sub-70-211-10.myvzw.com] has joined #code |
03:51 | | Turaiel[Offline] is now known as Turaiel |
04:04 | | Vorntastic [Vorn@Nightstar-4cbf1288.sub-70-211-10.myvzw.com] has quit [[NS] Quit: Bye] |
04:05 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
04:11 | | * Vornicus pokes at his code, tries to decide what precisely to do next with it. |
--- Log closed Mon Jun 17 04:21:43 2013 |
--- Log opened Mon Jun 17 04:38:57 2013 |
04:38 | | TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code |
04:38 | | Irssi: #code: Total of 38 nicks [17 ops, 0 halfops, 0 voices, 21 normal] |
04:38 | | mode/#code [+o TheWatcher] by ChanServ |
04:39 | | Irssi: Join to #code was synced in 36 secs |
04:39 | < ktemkin[avol]> | That will let you do things like set/get the individual flag values without explicitly bit-twiddling, and also compare the whole structure to a constant. |
04:40 | <~Vornicus> | One of the difficulties is I actually do have to iterate them. |
04:42 | <~Vornicus> | Fitting a bitfield over something usable for iteration sounds like a Problem. |
04:42 | < ktemkin[avol]> | You're using C++, still? |
04:43 | <~Vornicus> | Yeah. |
04:43 | < ktemkin[avol]> | You /could/ just store the flags in an array of chars; one char per flag. |
04:43 | <~Vornicus> | I kind of had a Very Large ADD Time, not assisted of course by my fiancee buying Arkham City for me. |
04:44 | < ktemkin[avol]> | Create a (static) const char for each of the indices, and one that indicated the largest index, and just iterate them using a standard for. It has simplicity going for it. |
04:45 | < ktemkin[avol]> | You'd have fast, random-access to the flags (e.g. arrayName[flagName]) at the cost of seven wasted bits per char. |
04:47 | <~Vornicus> | I'm a little confused here. |
04:48 | <~Vornicus> | Well, okay, a lot... |
04:50 | < ktemkin[avol]> | What are you actually trying to do? |
04:52 | <~Vornicus> | http://pastebin.com/RaQ2ME3r <--- here's some stuff as I've sort of understood McM. |
04:54 | <~Vornicus> | I need to be able to iterate the various combinations of flags; each one can contribute to the final answer. Among other things I need to index a (const) array with them, and check each flag individually. |
04:55 | <~Vornicus> | (this is a heavy lifting computation; I've been slowly converting to C++ from Python because it was taking hours upon hours to do things) |
04:58 | < ktemkin[avol]> | What you have will work (it will iterate over every possible combination of the three); I just can't see what you're gaining by doing that. |
04:59 | < ktemkin[avol]> | Why specificially do you need to be able to iterate through all possible combinations of those? |
05:03 | <~Vornicus> | So, the overall task: I'm looking to optimize my resource generation in a space 4x game (I know, this is a lot of work for a silly game). In order to do this I have to determine the 'frontier', the best resource values I can reach. Part of this is generating a frontier for each system; each system may have a variety of layouts for its system-wide resource enhancement facilities, which the flags represent the overall presence/absence of. |
05:03 | <@celticminstrel> | What's wrong with the bitfield class? |
05:04 | <@celticminstrel> | I forget what it's called... I don't think I'm thinking of vector<bool> or even valarray<bool>... |
05:04 | < ktemkin[avol]> | celticminstrel: You can create bitfields as raw C structs. |
05:05 | <@celticminstrel> | That said, I believe valarray<bool> would probably do what you want... |
05:05 | <@celticminstrel> | That's true, yes. |
05:05 | <@celticminstrel> | That's nice if you want to just be able to access each bit by name, for example. |
05:05 | <@celticminstrel> | But that doesn't quite sound like what Vorn wants... |
05:05 | <@celticminstrel> | It might be val_array rather than valarray, I forget. |
05:06 | <@celticminstrel> | But I seem to recall there being a dedicated bitfield class... |
05:06 | <~Vornicus> | So for each system (and thus each planet within) I must iterate through all possible flag layouts; it's possible (and in fact, considering, pretty likely) that a system will be lacking one or two of the system-wide enhancement facilities. |
05:07 | <@celticminstrel> | Ahhh, I was thinking of bitset. |
05:08 | <@celticminstrel> | http://www.cplusplus.com/reference/bitset/bitset/ |
05:08 | < ktemkin[avol]> | You will get better time-performance if you were dealing with an array of bools rather than something packed (like a bitset, or what you've implemented). |
05:08 | <@celticminstrel> | As for valarray: http://www.cplusplus.com/reference/valarray/ |
05:09 | <~Vornicus> | But I can't know that - I can't know what the frontier for the whole system looks like - until I've considered all possibilities, and merged the frontiers from each possible system-wide enhancement layout together into a single frontier. |
05:09 | < ktemkin[avol]> | Again, that's at the cost of seven bits per flag stored, as C++ bools tend to be char-sized. (I don't remember if that's in the language spec, or if that's platform-specific.) |
05:09 | <@celticminstrel> | I'm not 100% sure, but I think valarray would allow you to use next_permutation. |
05:09 | <@celticminstrel> | I dunno if bitset would. |
05:10 | < ktemkin[avol]> | You shouldn't need to use anything that complex; just counting will generate every possible permutation of bits. |
05:10 | <@celticminstrel> | True. |
05:10 | <@celticminstrel> | Anyway, I've put forth some things to maybe consider, and now I'm off to bed. |
05:11 | | 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!] |
05:12 | < ktemkin[avol]> | Vornicus: What you have will work okay; though it's not the paradigmatic use of an enum. Enough major code projects have adopted flag enums, though, so it's not all that bad. |
05:14 | < ktemkin[avol]> | The one advantage of using a bitfield structure is that you can very easily switch between the time-optimized and space-optimized versions of the routine by adjusting the field widths. |
05:19 | < ktemkin[avol]> | (Though you might be able to do the same thing by switching the type between an array and a bitset.) |
05:25 | | Kindamoody is now known as Kindamoody|afk |
05:48 | | Kindamoody|afk is now known as Kindamoody |
06:07 | | ktemkin[avol] is now known as ktemkin |
06:22 | | Derakon is now known as Derakon[AFK] |
07:00 | | himi [fow035@Nightstar-56d2452a.in-addr.csiro.au] has quit [Ping timeout: 121 seconds] |
07:15 | | * Vornicus fiddles with what data to keep around, where. |
07:17 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
07:18 | | mode/#code [+o himi] by ChanServ |
07:18 | | Turaiel is now known as Turaiel[Offline] |
08:10 | <~Vornicus> | okay. When I build a single planet's frontiers, I have to consider how many system facs to place, and the fac flags. This gives me 28 lists of frontiers; each frontier has a signifier (what that planet specializes in and how many system facs it has) and a coordinate (the actual values that planet gives). |
08:12 | <~Vornicus> | the signifiers are placed in a map<planet_name, signifier> so they can be joined later with other planets and their signifiers. |
08:33 | <~Vornicus> | So.... looks like I pass in the whole pair from the map iterator, and the system descriptor is my map key: it'll be... map<SystemFacSelection, vector<pair<map<string, PlanetSignifier>, coordinate> > >. Ewwies. |
08:36 | <~Vornicus> | This of course will be much improved by the creation of various typedefs, but damn |
08:38 | | Kindamoody is now known as Kindamoody|afk |
08:41 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code |
09:23 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving] |
10:05 | | ktemkin is now known as ktemkin[awhale] |
10:18 | <~Vornicus> | erwiou |
10:18 | <~Vornicus> | Typesplosion. |
10:20 | < Syka> | john madden |
10:26 | <~Vornicus> | just, really, ridiculously, typesplosion. |
10:27 | <~Vornicus> | I had no idea I was doing this much, it's crazy. |
10:54 | <~Vornicus> | Now let's see if I can get back to having more code than definitions again... |
12:15 | | * Vornicus tries to figure out if it's possible to, um. how do I put it. I have a struct, I have data, can I just toss the data into... something and come out with a struct on the other end. |
12:16 | <@TheWatcher> | Well, define "data" here. |
12:19 | <~Vornicus> | Two scenarios: first is, the struct is a bunch of things like ints and chars; I have a bunch of ints and chars. Second is, the struct contains a fixed-size array of ints, and I have some pile of ints that I wish to load in. |
12:20 | <~Vornicus> | (I haven't gotten so far as to writing how the ints are structured in the second case, pending knowledge of whether I can do this a nice way or have to do something silly) |
12:23 | | * Vornicus hunts around, finds "compound literal" |
12:24 | <@TheWatcher> | Also, example of how utterly stupid the DBAs in central are: they will not give me direct access to the Oracle database containing student records, because I'm not "the point of contact in the school" for the information, I should be going to him and using his php scripts to access the data. |
12:25 | <@TheWatcher> | So, I just looked at his php scripts, and what do you know, database connection information! |
12:25 | <~Vornicus> | ...which contain the ... yes. |
12:26 | | cpux [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!] |
12:26 | <@TheWatcher> | (actually, his scripts do give me almost all the information I need, except for programme specification data. There's now a new 'getprogrammes.php' script in the directory with all his other scripts >.>) |
12:26 | <@TheWatcher> | (and I need to go wash my hands) |
12:26 | <@TheWatcher> | (with lye, or something) |
12:50 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
12:53 | < Syka> | TheWatcher: or his blood |
12:53 | < Syka> | the blood of incompetents is a good moisturiser |
13:08 | | * TheWatcher eyes this data, ...s |
13:12 | <@TheWatcher> | The student data contains ACAD_PROG and ACAD_PLAN fields, and they contain id numbers. I think the ACAD_PROG ones are supposed to be ids in the PROGRAMME_DETAILS table... except that a bunch of them are missing |
13:12 | | * TheWatcher sighs |
13:16 | <@Tamber> | This is probably why he didn't want to let you see it. |
13:29 | | * McMartin is awakened at 0530 with raging caffeine withdrawl |
13:29 | | * McMartin goes to have a little tea so he can get back to sleep. -_- |
13:31 | <~Vornicus> | ...ouch |
13:32 | < Syka> | better than being awaken with a ragin- *shot* |
13:34 | <~Vornicus> | I awoke the next morning with a bad hangover, and my penis was missing again. |
13:36 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
13:36 | <~Vornicus> | Or perhaps: "I woke up to discover a full grown goat in bed beside me. Worse than this, my head felt like there was a manhole cover on top of it. Imagine my surprise when I reached up and discovered that there /was/ a manhole cover resting on the top of my head." |
13:36 | < Syka> | heh |
13:37 | < Syka> | reminds me of that red dwarf ep |
13:38 | < Syka> | "Lister: We're on a mining ship, three million years into deep space... can someone explain to me where the smeg I got this traffic cone?" "The Cat: Hey! It's not a good night unless you get a traffic cone! It's the police woman's helmet and the suspenders I don't understand!" |
13:38 | <@Tamber> | =D |
13:40 | < Syka> | that episode also has one of the best lines ever |
13:40 | < Syka> | "Kryten: Is this the human quality you call friendship?" "Lister: Don't give me any of that Star Trek crap. It's too early in the morning." |
13:43 | <@TheWatcher> | 'The Last Day', right? |
13:43 | < Syka> | yep |
13:43 | <@TheWatcher> | Poor Hudzen >.> |
13:44 | < Syka> | heh |
13:44 | < Syka> | "An excellent plan, with only two minor drawbacks" is also one of the best things ever |
13:45 | <@TheWatcher> | (Where would all the of the calculators go?) |
13:45 | <@iospace> | to the taco truck! |
14:00 | | Syloq [Syloq@B4EC54.59F324.016BDA.8CB0A3] has joined #code |
14:01 | | mode/#code [+o Syloq] by ChanServ |
14:12 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
14:12 | | mode/#code [+o celticminstrel] by ChanServ |
14:12 | <@TheWatcher> | .... they've blocked the use of DESC, apparently unaware of the fact that you can get the same information via a SELECT in user_tab_columns. |
14:12 | <@TheWatcher> | Le sigh. |
14:16 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
14:20 | <@gnolam> | DESC? |
14:20 | <@gnolam> | As in ORDER BY? |
14:21 | <@iospace> | isn't the default sort DESC? |
14:22 | <@gnolam> | I'm going to assume it's some sort of Oracle-specific !SQL command. |
14:23 | <@gnolam> | I've thankfully never had that much to do with Oracle. |
14:24 | <@Azash> | iospace: Better safe than sorry |
14:24 | <@iospace> | Azash: i know |
14:25 | <@TheWatcher> | gnolam: DESC <TABLENAME> describes the table. |
14:25 | <@iospace> | ah |
14:25 | <@iospace> | in that sense |
14:27 | <@TheWatcher> | And why is it that, when you need information off someone urgently, they are always on holiday? |
14:28 | | Reivles [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
14:28 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds] |
14:28 | <@iospace> | isn't there a law about that? |
14:33 | <@gnolam> | I think it's the beginning of Skynet, actually. |
14:33 | <@gnolam> | They're not /actually/ on holiday. |
14:33 | <@gnolam> | It's just Skynet intercepting every mail it deems urgent and sending a fake vacation autoreply. |
14:34 | | Reivles is now known as Orthia |
14:36 | <@Tamber> | Beginning of skynet? It's been up there, listening and watching since 1969. Maybe now it's just starting to act! :tinfoil: |
14:37 | <@iospace> | welp |
14:37 | <@iospace> | looks like all that work i did on XP Embedded is actually going to matter ._. |
14:38 | <@Tamber> | Hooray? (Unless I'm misunderstanding somehow.) |
14:42 | <@iospace> | Tamber: a customer is planning to use it |
14:42 | <@Tamber> | This is a good thing, yes? |
14:42 | <@iospace> | yes and no |
14:42 | <@iospace> | yes in that my work isn't going to waste |
14:43 | <@iospace> | no in that |
14:43 | <@iospace> | WHAT THE FUCK PEOPLE USE THIS STILL? D: |
14:43 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [[NS] Quit: Going dooooown...] |
14:43 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
14:43 | | mode/#code [+o Orthia] by ChanServ |
14:44 | <@Tamber> | Considering "Microsoft marked Windows 98 for end-of-life on June 30, 2006.", I'm sadly not surprised |
14:45 | <@Tamber> | Well, that and *how long did people keep using it*, in combination. |
14:45 | | * Tamber cannot into the joined-up thinking today |
14:52 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [Ping timeout: 121 seconds] |
14:52 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Connection reset by peer] |
14:53 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
14:53 | | mode/#code [+o celticminstrel] by ChanServ |
14:53 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
14:53 | | mode/#code [+o Orthia] by ChanServ |
14:56 | | ErikMesoy|sleep is now known as ErikMesoy |
15:28 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
15:30 | <@TheWatcher> | iospace: frankly, there are exactly three versions of Windows I will willingly use: Win7, WinXP, and Win2K. One machine at home runs win7, the other XP. In work, a good 50% of the windows machines are still XP (so, around 2000 of them) |
15:31 | <@iospace> | TheWatcher: thsi is XP Embedded :P |
15:31 | <@iospace> | not XP Pro/Home |
15:31 | <@TheWatcher> | Fair enough |
15:41 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
16:03 | <@Azash> | Hm |
16:03 | <@Azash> | The Finnish army is replacing the older text messaging device (looking like a combination of a tape calculator and a commodore 64) with tablets running Windows 7 |
16:04 | <@Azash> | I'm not sure how they expect to compete with this http://www.reservilaisliitto.fi/files/9022/015.JPG in sheer ruggedness for terrain use |
16:06 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
16:13 | | * TheWatcher eyes that photo |
16:13 | <@gnolam> | Heck, forget ruggedness. What about battery life? |
16:13 | <@TheWatcher> | That think looks like you could drive a tank over it |
16:13 | <@TheWatcher> | *thing |
16:13 | <@Azash> | TheWatcher: I wouldn't be surprised considering how heavy they are |
16:13 | | * Azash laments his days in signal carrying them everywhere |
16:14 | <@Azash> | gnolam: They are apparently toughbooks so I suppose they can take it |
16:14 | <@Azash> | It's true though that people will probably forget to go standby/hibernate a lot |
16:15 | <@Azash> | The security in the older ones was questionable anyway (either GSM or conventional radio signals) |
16:15 | <@gnolam> | Also, no ? and ?? |
16:15 | <@Azash> | Nope |
16:16 | <@Tarinaky> | Looks like there's a compose key. |
16:16 | <@gnolam> | Our ancient ones have them: http://www.soldf.com/images/s_ra380dart.jpg |
16:16 | <@Azash> | At least I never figured out how to do them if it's possible |
16:17 | <@Tarinaky> | If it's GSM it's probably strict ASCII because of the cost-per-byte. |
16:17 | <@Tarinaky> | Maybe >.> |
16:17 | <@Azash> | I'd guess it was extended ASCII |
16:17 | <@Azash> | No guarantees though |
16:17 | <@gnolam> | (Also: naturally, yours were Nokia. Ours were Ericsson. >_>) |
16:18 | | Turaiel[Offline] is now known as Turaiel |
16:18 | <@Azash> | Jingoism! |
16:19 | <@Tarinaky> | http://cdn-usa.gagbay.com/2012/01/nokia_3310-11586.jpg << Better than both~ |
16:22 | <@TheWatcher> | Can't argue with that~ |
16:22 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds] |
16:23 | <@Azash> | I personally though the 3310's strength was that the case would absorb all the force more than anything else |
16:23 | <@Azash> | Like you dropped it and it would be fine but the case would disperse |
16:23 | | Derakon[AFK] is now known as Derakon |
16:50 | <@froztbyte> | Azash: that's not the main worry I |
16:50 | <@froztbyte> | I'd* have |
16:51 | <@froztbyte> | but yeah, loller tiems |
17:04 | | Turaiel is now known as Turaiel[Offline] |
18:02 | | jeff [NSwebIRC@2D9871.A95144.C9ADC1.96CEFA] has joined #code |
18:16 | | jeff [NSwebIRC@2D9871.A95144.C9ADC1.96CEFA] has quit [Ping timeout: 121 seconds] |
18:49 | | jeff [NSwebIRC@2D9871.A95144.C9ADC1.96CEFA] has joined #code |
18:59 | | Turaiel[Offline] is now known as Turaiel |
19:16 | | Typh|offline is now known as Typherix |
19:55 | | Azash [ap@Nightstar-339920e6.net] has quit [Operation timed out] |
19:58 | | sshine [simon@Nightstar-2aa33f9d.pronoia.dk] has quit [Ping timeout: 121 seconds] |
19:59 | | jeroud [uid10043@Nightstar-7fd75919.irccloud.com] has quit [Ping timeout: 121 seconds] |
20:00 | | sshine [simon@Nightstar-2aa33f9d.pronoia.dk] has joined #code |
20:00 | | Azash [ap@Nightstar-339920e6.net] has joined #code |
20:00 | | mode/#code [+o Azash] by ChanServ |
20:01 | | Kindamoody|afk is now known as Kindamoody |
20:23 | | Kindamoody is now known as Kindamoody[zZz] |
21:27 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
21:27 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
21:54 | <@Azash> | Do null C pointers equal zero if interpreted as ints? |
21:55 | < [R]> | yes |
21:57 | | jeroud [uid10043@Nightstar-7fd75919.irccloud.com] has joined #code |
21:57 | <@McMartin> | And if, for some reason, null pointers are not all zero bits on your architecture, my understanding is that the compiler is required to cheat to make them equal zero anyway. |
21:57 | <@Azash> | Lol'd |
21:57 | <@Azash> | Due to spec? |
21:59 | <~Vornicus> | NULL is supposed to be falsy. |
22:00 | <@McMartin> | I'm not 100% on this one but I'm pretty sure of it |
22:01 | <@McMartin> | I'm also pretty sure the transform happens during the cast to int, which is normally a no-op but not there. |
22:01 | <@Azash> | Can you do if(pointer) ? |
22:01 | <@McMartin> | Yes; this is also entirely idiomatic |
22:02 | <@McMartin> | (I know for a fact that C++ is allowed to change the bit pattern of pointers during static casts, and that this will generally happen as a result of casting an instance multiply-inherited class to a subclass) |
22:38 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
22:42 | | ErikMesoy is now known as ErikMesoy|sleep |
22:47 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
22:47 | | mode/#code [+o Reiv] by ChanServ |
22:54 | | jeff [NSwebIRC@2D9871.A95144.C9ADC1.96CEFA] has quit [Ping timeout: 121 seconds] |
23:01 | | gnolam [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has quit [Connection reset by peer] |
23:02 | | gnolam [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has joined #code |
23:02 | | mode/#code [+o gnolam] by ChanServ |
23:42 | <@Azash> | Out of curiosity |
23:43 | <@Azash> | Why isn't there a way in HTML to specify "only these pages may be referenced as children of this page" ? |
23:43 | <@McMartin> | Like, a whitelist to block XSS? |
23:43 | <@Azash> | As in "if there is an <a href> it may only work on the following sites" |
23:43 | <@Azash> | Bingo |
23:44 | <@Azash> | I suppose it could be written in PHP |
23:44 | <@McMartin> | Mmm. Not my field of expertise, but doesn't the term "same origin policy" cover that? |
23:44 | < sshine> | Azash, I'd say it isn't in the spirit of WWW. |
23:45 | <@Azash> | McMartin: I don't know if it applies, really, considering how many pages use eg. external CDNs and ad trackers |
23:46 | <@Azash> | sshine: Well, if you already know what domains/IPs should be referenced in an HTML document it doesn't really prevent anything normal |
23:47 | < sshine> | Azash, I misread your first sentence. |
23:47 | < sshine> | Azash, that could be useful. |
23:47 | <@Azash> | It could possibly be done in PHP though with a bit of reflection, but I know little of the language so I dare not say |
23:48 | < sshine> | Azash, but if JS allows changing the DOM, then some tags should be read-only to really prevent scripted XSS. |
23:48 | <@Azash> | Mm, true |
23:49 | <@Azash> | The better solution is probably to try and write safe web pages :P |
23:49 | < sshine> | Azash, which would give them status like HTTP headers, after which I think this feature probably belongs to HTTP rather than HTML. :) |
23:49 | < sshine> | yeah :) |
23:49 | <@Azash> | But if it was in HTML then you could also read that data before executing JS |
23:49 | <@froztbyte> | I don't particularly understand what that would do |
23:50 | <@froztbyte> | because without JS, you're the only person (hopefully) who creates the page's contents |
23:50 | <@froztbyte> | and with JS, glhf because anything can happen |
23:50 | <@froztbyte> | that's not even including all the user-side DOM changing bullshit |
23:50 | <@McMartin> | "glhf" also being the sound you make when you try to lock it down without breaking everything~ |
23:50 | <@McMartin> | And yeah, GreaseMonkey and friends will have opinions about this |
23:51 | <@froztbyte> | if you want to try do a form of security on the client side, maintain state between the various stages and let each stage verify that |
23:51 | <@froztbyte> | at least, that's been my understanding |
23:52 | <@froztbyte> | (this does not imply you need to bring that state back to your server the whole time, though) |
--- Log closed Tue Jun 18 00:00:15 2013 |