--- Log opened Fri Jun 07 00:00:21 2013 |
00:19 | | Syka [the@Nightstar-5ed21491.iinet.net.au] has quit [[NS] Quit: leaving] |
00:20 | | Syka [the@Nightstar-5ed21491.iinet.net.au] has joined #code |
01:03 | | You're now known as TheWatcher[T-2] |
01:07 | | You're now known as TheWatcher[zZzZ] |
01:08 | | Kindamoody[zZz] is now known as Kindamoody |
01:22 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
01:36 | | Vorntastic [Vorn@Nightstar-640555c1.public.wayport.net] has joined #code |
01:39 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
01:39 | | mode/#code [+o himi] by ChanServ |
01:56 | | Vorntastic [Vorn@Nightstar-640555c1.public.wayport.net] has quit [[NS] Quit: Bye] |
01:57 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
02:00 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [NickServ (GHOST command used by Derakon_)] |
02:04 | | AnnoDomini is now known as NotMe |
02:04 | | NotMe is now known as AnnoDomini |
02:06 | | Reiver [Reiver@5B433A.3CF6C7.3B6996.43BFF1] has joined #code |
02:08 | | Kindamoody is now known as Kindamoody[zZz] |
02:10 | | himi [fow035@0C0840.B22E58.E3471A.E028A1] has joined #code |
02:10 | | mode/#code [+o himi] by ChanServ |
02:13 | | Harlow [Harlow@Nightstar-85a9ef8d.mycingular.net] has joined #code |
02:26 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.] |
02:29 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
03:01 | < McMartin> | Whoops |
03:02 | < McMartin> | I just apprised my boss of the existence of SpaceChem |
03:02 | < McMartin> | I may have just destroyed a life |
03:02 | < McMartin> | (He got through about a third of the trailer before he went "OK, sold") |
03:03 | <&ToxicFrog> | srk |
03:03 | <@Zemyla> | McMartin: Show him this. http://forums.steampowered.com/forums/showthread.php?s=b49ed737c3edafeb542415911 43446a6&p=34486163#post34486163 |
03:03 | <@Zemyla> | It's a Spacechem tournament. |
03:06 | | Derakon [Derakon@31356A.8FA1FE.CF2CE9.D6CF77] has joined #code |
03:06 | | mode/#code [+ao Derakon Derakon] by ChanServ |
03:14 | <@Reiv> | McMartin: You have a cool boss~ |
03:41 | | VirusJTG [VirusJTG@2B12AA.572255.206A2A.901581] has quit [[NS] Quit: Program Shutting down] |
03:41 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
03:41 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
03:45 | | * ToxicFrog throws an identification system at Vornicus |
03:47 | <~Vornicus> | oh god help |
03:48 | <&ToxicFrog> | I actually think that a properly done identification system can be a good thing. |
03:48 | <&ToxicFrog> | Problem is, most games copy Diablo, and Diablo's was terrible. |
03:50 | <&ToxicFrog> | Take nethack - everything starts out unidentified, partial identification is possible, cursed items tend to be seriously bad news but often have useful effects as well, and means of identification are rare. |
03:50 | <~Vornicus> | that seriously-bad-news bit is a lot of what makes me dislike nethack. |
03:50 | <&ToxicFrog> | Identification becomes a highly desireable resource that must be carefully managed, and even means of partial identification (like altars to tell if something is blessed or cursed) become important. |
03:52 | <&ToxicFrog> | It can certainly be improved, but even as it is it is interesting and adds elements to the gameplay, in sharp contrast to Diablo where it's just an arbitrary (and, after a certain point, trivial) gold and click tax to use magic items. |
03:52 | | * Reiv muses. |
03:52 | <@Reiv> | Identification could be interesting if the curses were /subtle/. |
03:52 | <@Reiv> | And, in fact, possibly mitigatable if you know what you're doing. |
03:52 | <&ToxicFrog> | You could take out the fuck-you items like the Amulet of Strangulation and the Helm of Opposite Alignment and it would still be interesting. |
03:53 | <&ToxicFrog> | You still have to worry about curses, stuff like levitation boots and rings of teleportation are still desireable |
03:53 | <&ToxicFrog> | Reiv: in nethack, "cursed" is actually orthogonal to other magic properties and just means "cannot be removed without magical intervention" |
03:53 | <@Reiv> | And not knowing what they are beforehand is a worthwhile thing to bother with? |
03:54 | <@Reiv> | I see. |
03:54 | <&ToxicFrog> | What makes this dangerous is that there are a lot of situationally useful or, in some cases, outright bad, items that always or usually generate cursed. |
03:54 | <~Vornicus> | Heh. Cursed ring of teleportation. Works 'perfectly' except if you can't see where you're teleporting to, where it will instead land you right next to a melee monster. |
03:54 | <&ToxicFrog> | E.g. levitation boots are damn useful sometimes, but they make you easy to push around and makes it hard to pick stuff up off the floor. |
03:54 | | Reiver [Reiver@5B433A.3CF6C7.3B6996.43BFF1] has quit [[NS] Quit: Bye] |
03:55 | <&ToxicFrog> | Rings of Teleportation are amazing combined with Teleport Control, but without it you get randomly teleported every few hundred turns. |
03:55 | <&ToxicFrog> | Etc. |
03:55 | <@Reiv> | Vornicus: That's precisely the kind of thing I'm talkin'. |
03:57 | <&ToxicFrog> | Reiv: as for not knowing what they are beforehand - depends on the item. And to what extent you've identified it. |
03:57 | <&ToxicFrog> | I mean, as noted, you can partially ID things, and one of the easiest is determining if something is or is not cursed |
03:57 | <&ToxicFrog> | So once you know it's not cursed, you know you can try it on without it welding itself to you and then try to figure out what it actually does. |
03:58 | <&ToxicFrog> | Sometimes the results are immediately obvious (a stat goes up, say) |
03:58 | <&ToxicFrog> | Sometimes they're obvious only after quite a while (randomly occurring teleportation) |
03:58 | <&ToxicFrog> | Sometimes they're subtle, but detectable if you know what you're looking for (slow digestion) |
03:59 | <&ToxicFrog> | And sometimes it's impossible to tell without outside help (resist fire won't make itself known until you walk into a fireball and don't even get singed) |
04:01 | <&ToxicFrog> | And then there's stuff like wands, where the way you ID them without actual identification is writing stuff on the floor with them and carefully observing the results. |
04:02 | <&ToxicFrog> | True identification is so valuable because it's rare, but tells you everything about the items you use it on - blessed/cursed status, + level, durability modifiers, available charges or durability, |
04:03 | <@Reiv> | That's rather more a system mastery trap. |
04:03 | <&ToxicFrog> | Welcome to nethack~ |
04:03 | <&ToxicFrog> | Less flippantly, yes, parts of it are. |
04:03 | <~Vornicus> | nethack is 100% system mastery traps, as far as I can tell. |
04:03 | <&ToxicFrog> | But there is, I think, enough in there that isn't to show that identification systems don't have to be diablo-terrible. |
04:05 | <@Reiv> | Cursed items that are useful when cursed may be the way to go, I feel. |
04:06 | <@Reiv> | Eg, the Teleportation Ring that works just fine until you try to use it blind. |
04:07 | <@Reiv> | Boots of flight that turn out to not work indoors. |
04:07 | <@Reiv> | A Sword that is awesome and has hueg bonuses, but it turns out demands a will save to run away from combat... |
04:07 | <&ToxicFrog> | The levitation boots in Nethack worked everywhere, but you couldn't pick stuff up off the floor without a bullwhip~ |
04:07 | | * Reiv ponders that set of stream-of-conciousness ideas. Cursed items... that have restrictions or gotchas on their use. |
04:10 | <@Reiv> | So you pick up the sword, and the sword works as intended, but comes with a nasty surprise or two you wouldn't notice in default use. |
04:12 | <&ToxicFrog> | But ones that are survivable, or you end up with the same issue nethack has with amulets |
04:13 | <&ToxicFrog> | i.e. you never under any circumstances put one on without IDing it or at least confirming that it's not cursed first |
04:13 | <~Vornicus> | One of the possibilities I've kind of felt at is something like, there's no such thing as direct ID, affixes are randomized (and all materials and carvings and stuff) and you discover their power on use - for something like "knocks enemies back" it'd be pretty quick, but for things that are statistical it'd take more uses, and then you Know What The Affix Means |
04:13 | <&ToxicFrog> | Because if it's a cursed amulet of strangulation the game is over right there |
04:14 | <@Reiv> | ToxicFrog: Hence the suprise is "Wait, I can't always run away?" |
04:14 | <@Reiv> | And the mitigation is "But I do have this headband of willpower..." |
04:15 | <&ToxicFrog> | Whereas a cursed ring of teleportation is dangerous and sometimes annoying but not, generally, guaranteed death. |
04:15 | <@Reiv> | Right. It is irritants that go wrong on you. |
04:16 | <@Reiv> | AKA you were pretty OK with the drawback... and then it all goes horribly wrong. |
04:17 | <@Reiv> | A cursed ring of teleportation that teleports you at random whenever you get hit is actually awesome! |
04:17 | <@Reiv> | ... until you're fighting on a bridge. |
04:28 | | Harlow [Harlow@Nightstar-85a9ef8d.mycingular.net] has left #code ["Leaving"] |
05:42 | | Kindamoody[zZz] is now known as Kindamoody |
06:59 | | Reiver [quassel@37647E.4F56B4.0497F4.7DF399] has joined #code |
08:00 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code |
08:01 | | Turaiel is now known as Turaiel[Offline] |
08:14 | | You're now known as TheWatcher |
08:41 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
09:21 | | VirusHome [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
09:23 | | VirusHome is now known as Pandemic |
09:24 | | mode/#code [+o Pandemic] by ChanServ |
09:26 | | Kindamoody is now known as Kindamoody|out |
10:00 | | Wisdom [NSwebIRC@8E7DA3.52262E.A07D0C.2874C6] has joined #code |
10:01 | < Wisdom> | Oi? |
10:01 | < Wisdom> | Huh...could've sworn this IRC would've had stuff. |
10:02 | < Wisdom> | Er? |
10:02 | <~Vornicus> | ???? |
10:03 | < Wisdom> | Oh thank god. |
10:03 | < Wisdom> | Hello ~Vornicus. |
10:03 | <~Vornicus> | For a guy that shows up while it's 2-5 AM in the most populous english-speaking time zones, you're expecting a lot. |
10:03 | | * Wisdom shrugs |
10:04 | < Wisdom> | Didn't think this was more 'Murica based. |
10:04 | <@Azash> | http://pastebin.com/f0bGxJK6 |
10:04 | <@Azash> | Hello there |
10:05 | < Wisdom> | Sorry, you lost me at the code. |
10:05 | < Wisdom> | Hia. |
10:05 | <~Vornicus> | you're in #code |
10:05 | < Wisdom> | I know. |
10:05 | <~Vornicus> | That code however is write-only so don't feel too bad |
10:06 | < Wisdom> | Good. |
10:08 | < Wisdom> | I'll visit in the mornin' |
10:09 | | Wisdom [NSwebIRC@8E7DA3.52262E.A07D0C.2874C6] has quit [[NS] Quit: Page closed] |
10:16 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
10:16 | | mode/#code [+o Courage] by ChanServ |
10:17 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
10:40 | | * McMartin flails at Project Monocle |
10:40 | < McMartin> | I'm not sure if it's a bad sign or an excellent sign that I want to rip 3/4 of this code out and put it behind C interfaces instead. |
10:42 | < McMartin> | I think I'm going to have everything that talks directly to SDL get a C layer, and then wrap that in C++ at a separate layer of abstraction. |
10:43 | < McMartin> | Though even there it's probably going to have some C++ under the hood, because fuck not having std::map |
10:45 | <@sshine> | what are you making, McMartin? |
10:46 | < McMartin> | 2D exploration platformer |
10:47 | < McMartin> | At some point once I do some sketches I need to wheedle one last sprite out of Vash >_> |
10:56 | <@Azash> | McMartin: Let's examine the evidence |
10:56 | <@Azash> | "I want to.. put it behind C" |
10:56 | <@Azash> | Seems like an excellent sign |
10:57 | < AverageJoe> | unsigned |
10:58 | <~Vornicus> | hooray, std::map |
11:01 | < McMartin> | But before I do that, I have to clean up the rest of my resource code. |
11:01 | < McMartin> | The resource code should probably be mostly staying in C++. |
11:02 | < McMartin> | Azash: That seems like an assertion. |
11:03 | < McMartin> | Do you have reasons behind the assertion or is this intrinsic? |
11:03 | < McMartin> | (I have two reasons for thinking it's good, but only one that I'll admit is rational) |
11:03 | <@Azash> | McMartin: I just love C |
11:03 | <@Azash> | It's not actually a serious suggestion |
11:04 | < McMartin> | Note that the rest of the system is in C++ |
11:04 | <@Azash> | As I don't know Project Monocle nor what you are planning to do |
11:04 | < McMartin> | My irrational reason for wanting a C interface at various levels is a gut-level distaste for traditional OO - for whatever reason I always find the ML/Haskell approach (which in C is done with tagged unions a la SDL_Event) much more agreeable |
11:04 | <@Azash> | Well, obviously I know since you said it, but I don't know in great detail :b |
11:05 | < McMartin> | My rational reason for wanting it is that a C interface is likely to be ABI compatible across compilers and makes bindings to other languages super-trivial |
11:05 | <@Azash> | I didn't do much C++ but coming from a Java background C++ didn't strike me as very nice OOP |
11:05 | < McMartin> | It's the Perl of the language class |
11:06 | < AverageJoe> | number of linux kernels written in C++ |
11:06 | < AverageJoe> | 0 |
11:06 | < McMartin> | Number of years C++ has been a language of choice for game development |
11:06 | < McMartin> | 22 |
11:07 | <@Azash> | To be honest I would say those are both pretty rational, personal taste should play a big part in personal projects |
11:07 | < McMartin> | (I started seeing C++ credits in games around '91) |
11:07 | < McMartin> | (Which was a darker time than I knew until '02 when I got to see the original Star Control 2 code) |
11:07 | < McMartin> | (Which was designed to not have to rely on ANSI C compliance by any C compilers >_<) |
11:08 | < AverageJoe> | mother of god... |
11:08 | < McMartin> | They had this incredibly batshit set of macros that would do function definitions in ANSI C if possible, but would be K&R C if not. |
11:08 | <@Azash> | Are or even were there C compilers that don't comply with ANSI? |
11:09 | <~Vornicus> | You bet your biscuits. |
11:09 | | * Azash goes all in |
11:09 | <@Azash> | Seriously though, as someone who wasn't around back then, I had always heard ANSI was based on K&R |
11:09 | < McMartin> | It was |
11:10 | < McMartin> | But it extended it in some very important ways |
11:10 | < McMartin> | Like, um, function prototypes |
11:10 | <~Vornicus> | yeah. K&R is missing, iirc, variable names listed in the function declaration, among other things. |
11:10 | < McMartin> | In the original versions of C, a function defintion looked like this: |
11:10 | < McMartin> | (types not names) |
11:10 | < McMartin> | int foo(a, b, c) |
11:10 | < McMartin> | int a; |
11:10 | < McMartin> | int b; |
11:10 | < McMartin> | float c; |
11:10 | < McMartin> | { |
11:10 | < McMartin> | /* code */ |
11:10 | < McMartin> | } |
11:10 | <~Vornicus> | wait, it's... oh god, kill me |
11:10 | <@Azash> | Oh wow |
11:11 | <~Vornicus> | Okay, which one do I murder, that is ridiculously terrible, why would they do that |
11:11 | < McMartin> | It got fixed later! |
11:11 | < McMartin> | Also in the original C there was no void type |
11:11 | <~Vornicus> | I know /that/, why didn't it get fixed in the first place. |
11:11 | < McMartin> | C is one of the very few languages that was unambiguously drastically improved by the standardization process. |
11:12 | | mode/#code [+oo McMartin AverageJoe] by Azash |
11:12 | <@Azash> | That is pretty grievous |
11:12 | <@McMartin> | Also, every function was treated as intrinsically varargs, more or less, because there were no prototypes and thus no way to actually enforce that your argument types or even counts matched up |
11:13 | <@McMartin> | IIRC prototypes could exist but only to define *return types*, I guess to make it possible to return longs and doubles. |
11:13 | <@McMartin> | So those were always int f(); |
11:13 | <@McMartin> | (this is why some compilers warn in pedantic mode if you don't write that as int f(void);.) |
11:14 | <@McMartin> | C++ dropped that so that those two are identical |
11:16 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving] |
11:16 | <@Azash> | Well, I feel a bit more thankful now |
11:17 | <@McMartin> | IIRC, Watcom C was the first compiler to really let you write programs that ran in protected mode, which is to say, the 386's actual 32-bit mode without memory segmentation or anything |
11:17 | <~Vornicus> | wat |
11:18 | <@McMartin> | It was 1991, the OS ran in 16-bit mode |
11:18 | <@McMartin> | The x86, you will recall, has 32-bit addresses, but it's the high 16 bits times... 16 or 256, I think... plus the lower sixteen bits to get the actual memory location. |
11:19 | <@McMartin> | That's why the old-school pointers were things like B800:0000 |
11:19 | <@McMartin> | (Which was where text memory was mapped. Yes, my capacity for trivia knows no bounds) |
11:19 | <~Vornicus> | no, I was punning |
11:19 | <@McMartin> | oh |
11:20 | < Syka> | watcom? wat communications? |
11:21 | <@Azash> | https://github.com/HarHar/HarBot/blob/master/bot.py#L53-L140 |
12:20 | | cpux [cpux@61024F.F5A294.9ABDF5.9AA7B5] has joined #code |
12:20 | | mode/#code [+o cpux] by ChanServ |
12:38 | | * Azash wonders for the hundredth time why he hasn't made a serious effort to study Sipser |
12:55 | <@McMartin> | As in "Introduction to the Theory of Computation"? |
12:58 | <@Azash> | Yeah |
13:05 | < [R]> | <McMartin> Number of years C++ has been a language of choice for game development <-- I remember in 2005 someone was berating me for learning C++ since all gamedev was being done in Flash now. |
13:08 | < Syka> | haha what |
13:09 | < [R]> | I dunno man |
13:09 | < [R]> | Some people stupid |
13:10 | < Syka> | ain't that the truth |
13:16 | <~Vornicus> | java is now somehow popular for game dev. |
13:16 | <~Vornicus> | Whether this is a good thing or not is up for debate, but |
13:21 | <@Azash> | I had fairly negative experiences making a 2D game in it |
13:22 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Client closed the connection] |
13:22 | <@Azash> | Like the drawing methods were fairly terrible and it had strange problems with drawing a picture if it was inside an if |
13:22 | <@Azash> | My favourite was when I debugged it and it failed to draw images if they were placed inside if(true) { } |
13:23 | < [R]> | lolwut |
13:24 | < Syka> | ~java~ |
13:30 | <@Azash> | Snerk |
13:30 | <@Azash> | "Intuitively it is fairly obvious O(n^100) does not scale well" |
13:32 | < Xon> | I_i |
13:32 | < Xon> | O_o |
13:32 | < Xon> | how the heck do you get something to be O(N^100) anyway? |
13:32 | <@Azash> | It's an example :P |
13:34 | < Syka> | Xon: how? |
13:34 | | * Syka checks through her folders, is sure she has an O(n^100) algorithm here |
13:34 | < Xon> | heh |
13:35 | < Xon> | that takes effort =p |
13:35 | < Syka> | you're misunderstimating how lazy my algorithms are |
13:35 | <@Azash> | Syka's patented O(n^100) sorting algorithm |
13:36 | < Syka> | i have it licensed |
13:36 | < Syka> | ever wonder why bing is so slow? |
13:36 | | * Syka points at her patent |
13:36 | <@Azash> | Hah |
13:37 | < Syka> | "it's just our crap engineers" didn't hold up in court |
13:37 | < Xon> | Azash, as for java. I have the 'fun' of using C# WCF to talk to half a dozen endpoints exposed by a java container called 'glassfish' the built in tools export each of those as a seperate namespace due to how the schema locations are exported =| |
13:37 | < Xon> | (at work) |
13:38 | < Syka> | but, seriously |
13:38 | <@Azash> | Rather you than me |
13:38 | <@Azash> | :P |
13:38 | < Syka> | i've not done any big-O stuff |
13:38 | <@Azash> | Syka: It's pretty intuitive in the end |
13:38 | < Syka> | O(n^100) means each element is visited 100 times? |
13:38 | < Syka> | I forget how it works |
13:38 | < Xon> | Syka, it's the equivelent of 100 nested for loops |
13:39 | | * Syka is purely practical computer science - if it doesn't have Python or CLI bindings, she doesn't know shit about it |
13:39 | < Syka> | Xon: oh |
13:39 | <@Azash> | It means that if you have 5 inputs then you take the order of n^100 actions |
13:39 | <@Azash> | Er |
13:39 | < Syka> | ...I've done that lots of times |
13:39 | <@Azash> | 5^100 |
13:39 | < Syka> | I once did a file copying program |
13:39 | < Syka> | it worked excellently |
13:39 | < Syka> | however the syncing? |
13:40 | <@Azash> | On a basic level the point isn't to be exact about it but rather give a description of how it scales |
13:40 | < Syka> | for item_f in disk_items; for item_d in dest_items... |
13:40 | <@Azash> | For example a program that does 2 operations per input value and one that does 20, will both count as O(n) because they scale in a linear fashion |
13:40 | < Syka> | it had no smart loops |
13:40 | < Syka> | and it transferred some 300gb of documents :3 |
13:41 | < Syka> | xcopy ran out of memory :D |
13:41 | < Xon> | Azash, the WCF bindings are partial classes. So I use that to inject some interfaces using T4 Text Templates (with a list of known namespaces) which allow me to treat all of them as a single unified type rather than 8-10 seperate type trees. |
13:41 | <@Azash> | Oh dear |
13:41 | <@Azash> | Oh dear x2 |
13:41 | < [R]> | Syka: same boat here. Esp RE: Big-O |
13:41 | < Syka> | oh and it was across the network |
13:41 | < Syka> | robocopy also ran out of memory |
13:41 | < Syka> | OH and I did syncing by hashing |
13:41 | < Syka> | the entire file |
13:42 | < Xon> | rofl |
13:42 | < Syka> | over the network |
13:42 | < Syka> | i have a quote somewhere about this |
13:42 | < Syka> | oh hey it was actually said here |
13:42 | < Syka> | "<@Tamber> Syka, the mistress of slightly scary solutions involving digital duct-tape." |
13:43 | < Syka> | but yeah, 3 years ago me was horrible |
13:44 | < Xon> | Azash, the current project @ work has some rather derpy bits |
13:44 | <@Tamber> | :) |
13:44 | <@Azash> | Oh? |
13:44 | < Xon> | the requirements keep slipping out from the stakes driven into them |
13:45 | < Syka> | who needs requirements when you have whimsical management |
13:45 | < Syka> | "I also want it to dispense kittens on an hourly basis." "...this is an authentication server." "So?" |
13:46 | < Xon> | the business unit we are basicly assimilating, doesn't actually formally know the details of what they sell. or how. or to who. |
13:46 | <@Azash> | Syka: That is when you demand a promotion to chief kitten officer with a hefty raise and promptly declare two weeks of kitten-related training |
13:46 | < Syka> | heh |
13:46 | < Syka> | or in my case, die of allergic reactions |
13:46 | <@Azash> | Then hire yourself a department of kittologists and blame them when the project falls through |
13:46 | | * Syka can't even be around kittens, she fails at internet |
13:47 | < [R]> | Sad times. |
13:47 | < Xon> | Syka, you don't actually need to like cats to like cat pictures =p |
13:47 | <@Azash> | Xon: Sounds like a well-to-do biz unit |
13:47 | < Syka> | cats are soulless creatures |
13:47 | < Syka> | i'd probably love having one |
13:48 | < Xon> | Azash, basicly it grow beyond it's billing system's management capabilities. and management for that unit did ad-hoc improvements without actually recording /how/ those things work |
13:49 | < Xon> | also. on a /completely/ unrelated note. Honest. WHMCS is a pile of fail |
13:50 | <@Azash> | Xon: http://i2.kym-cdn.com/entries/icons/original/000/012/982/post-19715-Brent-Rambo- gif-thumbs-up-imgu-L3yP.gif |
13:50 | < Xon> | hehe |
13:50 | <@Azash> | I used to think I didn't want into academia but hanging around professionals keeps changing that |
13:50 | <@Azash> | :P |
13:50 | < Xon> | rofl |
13:51 | | * Syka shakes her webapp |
13:51 | < Syka> | what are you |
13:51 | < Syka> | doing |
13:51 | <@Azash> | It's time to get sipsered |
13:52 | <@Azash> | Back in an hour featuring despair |
13:52 | < Xon> | WHMCS has the ability to add arbitary line items with arbitary text labels with arbitary costs (but without an arbitary category to take the item as). Note; total recurring costs are a stored value, not dynamically calculated for a subscriptions/service |
13:52 | < Xon> | so. can you guess why they can't do reporting out of this steaming pile? |
13:52 | <@Azash> | Syka: I'll just leave you with this https://haeroe.net/reaction/compile.jpg |
13:53 | < Syka> | Azash: hahaha |
13:53 | < Syka> | oh man |
13:53 | < Syka> | every fucking time |
13:53 | <@Azash> | Xon: Do tell |
13:56 | | * TheWatcher works on installing gitlab |
13:56 | <@TheWatcher> | Good gods, this thing is a beast |
13:57 | < Xon> | Azash, did I mention WHMCS doesn't use foreign keys and tends to name stuff just 'id' |
13:58 | < Xon> | and there are no permissions on who can add atrbitary text line items? |
13:58 | < Xon> | arbitary* |
13:59 | < Xon> | in a *billing* platform |
14:00 | < Xon> | next week I'm going to be spending making sure we can pull account & subscription info and not run into too many unexpected issues. After 4 months of discovery work |
14:00 | < Xon> | UGH |
14:40 | <@Azash> | Xon: That sounds like a terrible system |
14:40 | | * Azash returns, clobbered by the exam |
14:41 | < Xon> | oh it is |
14:42 | < Xon> | thankfully I've had practice with billing migrations before. and my team leader has as well. So we both have a very good handle of what the data needs to look like going in, which logically drives what we need to capture |
14:43 | <@Azash> | Bueno |
14:52 | < Syka> | oh well |
14:52 | < Syka> | has anyone ever heard of IBM UniVerse, and it's 'multi-value' fields? |
14:52 | < Syka> | UniVerse lets you store what seem to be ~entire tables~ inside a ~field~ |
14:53 | < Syka> | it's the most fantastically horrible thing I have ever heard of |
14:53 | < Syka> | it also uses the filesystem for part of its database |
14:53 | < Syka> | it's thousands upon thousands of files |
14:54 | < Syka> | every so often you do a 'resize', which goes through and realigns everything |
14:54 | < Syka> | we also had one application that used it, and presented its patches in .txt files |
14:55 | < Syka> | it took them 10 major versons before they decided to give it a file extension that wasn't txt |
14:55 | < Syka> | because people would open it up and fuck around with it |
14:55 | < Syka> | also, I discovered a major bug, nine versions in |
14:55 | < Syka> | if you sorted any table by its primary key, the application crashed |
14:56 | < Syka> | I did this while the rep was there, and he was like oh let me check, we may have fixed that |
14:56 | < Syka> | so he RDP'd in to the 'build server' |
14:56 | < Syka> | that was running Windows 2000 |
14:57 | < Syka> | and he didn't VPN, he just RDP'd straight from the internet |
14:58 | <@Tamber> | @_@ |
14:59 | < Syka> | oh and it stored creds in plain text in RAM |
14:59 | < Syka> | and it was built on VB6 |
14:59 | < Syka> | oh and they did a .NET 1.1 port in early-2012 |
14:59 | < Syka> | they have a 'secure document store' that uses (unencrypted) FTP |
15:00 | < Syka> | where the password for that is also stored in plain text in RAM |
15:00 | <@Azash> | Nice |
15:00 | <&ToxicFrog> | Eat their skulls |
15:01 | < Syka> | uhh what else |
15:01 | <@Azash> | ToxicFrog: Sounds like it would be bad for the digestion |
15:01 | < Syka> | man, this could make a really good dailywtf article |
15:02 | < Syka> | oh yeah it also used office addins |
15:02 | < Syka> | they werent 64bit compatible either |
15:03 | < Xon> | lol |
15:03 | < Syka> | pretty sure they also stored the username/pass in plain text, too |
15:03 | < Syka> | uhh, oh yeah |
15:03 | < Xon> | we've still got a few old systems like that still |
15:03 | < Syka> | one day a microsoft update broke it |
15:03 | < Syka> | in about fifteen minutes I deduced the problem |
15:03 | < Xon> | got to love passwords limited to 4 characters =| |
15:03 | < Syka> | they were still herping and derping for four days |
15:03 | <@Azash> | Xon: Wow |
15:03 | < Syka> | before going OH SYKA IS RIGHT |
15:03 | < Syka> | oh yes! |
15:03 | < Syka> | invoicing system |
15:04 | < Syka> | creditors/debtors |
15:04 | < Xon> | hehe |
15:04 | < Syka> | one day they fucked it in a major upgrade |
15:04 | < Syka> | we went six months where anyone could approve a purchase order for any amount |
15:04 | < Xon> | >.< |
15:04 | <&ToxicFrog> | This is amazing |
15:04 | < Syka> | my supervisor printed one for $110,000 |
15:04 | <@Azash> | Haha |
15:04 | < Syka> | at the time he had a purchasing limit of $500 |
15:05 | < Xon> | Azash, haven't had a customer complain yet. despite having 5 figure revenue per month flowing thought that system =| |
15:05 | < Syka> | um, what else |
15:05 | < Syka> | it used a lot of mail merges |
15:05 | < Syka> | a *lot* of mail merges |
15:05 | < Xon> | that's some serious industrial scale evil |
15:05 | < Syka> | basically, the entirety of payroll was mailmerge templates |
15:05 | < Syka> | and it just output a csv |
15:05 | <@Azash> | I'm just waiting for the purchase amounts being done as GET parameters |
15:06 | < Syka> | Azash: no, it wasn't a web based system |
15:06 | < Syka> | it was written in VB6 ported to .NET1.1 |
15:06 | < Syka> | it was originally written for UNIX |
15:06 | < Syka> | IBM UniVerse on top of UNIX, I think |
15:06 | < Syka> | then they ported the db to Windows |
15:06 | < Syka> | once, I did a 'DIY' course |
15:06 | <@Azash> | I'm struggling not to repost that Brent Rambo gif.. |
15:06 | < Syka> | where you can make your own 'forms' in it |
15:06 | < Xon> | ToxicFrog, the thing about so many businesses failing isn't suprising. That is suprising is that so many manage to survive fucking incompetence |
15:07 | < Syka> | you did what we called 'octopus-f1' |
15:07 | < Syka> | where you pressed control alt shift f1 or some shit |
15:07 | < Syka> | and then it popped up a box, letting you 'inspect' forms |
15:07 | < Syka> | so you could get the column name |
15:07 | < Syka> | the names and addresses system had a primary key, that had the name "DO_NOT_USE" in it |
15:07 | <@Azash> | Pff |
15:07 | < Xon> | O_O |
15:08 | < Syka> | fields were named incredibly erratically |
15:08 | < Syka> | oh yes on the subject of names and addresses |
15:08 | < Syka> | we had N&A, and Creditors/Debtors |
15:08 | < Syka> | which were two seperate systems containing data |
15:08 | < Syka> | they merged them in a major update - so you would have a name & address tied to property/requests/whatever as well as creditors/debtors |
15:09 | < Syka> | they just imported them all, there were shitloads of doubles |
15:09 | < Syka> | no big deal, Records wanted to audit them anyway |
15:09 | < Syka> | so they were going through and merging them |
15:09 | < Syka> | until they got a few hundred in |
15:09 | < Syka> | and it turns out that when you found the two, and clicked merge |
15:09 | < Syka> | it would take the one on the left, and merge it |
15:09 | < Syka> | with a random name & address |
15:10 | < Syka> | so we had, for example, a major farm have the creditor details of the martial arts club connected to it |
15:10 | < Syka> | and the best bit? because of performance limitations, we had auditing turned off |
15:11 | < Syka> | so all the recovery was *manual* |
15:11 | <&ToxicFrog> | Xon: Oh, I know. |
15:11 | < Syka> | manual cross referencing invoices with a test site of this software we set up |
15:11 | <@Azash> | Syka: I'm starting to understand you starting your own |
15:11 | < Syka> | we had a small stack of PCs which were servers of this |
15:11 | < Xon> | Syka, that place sound crazy |
15:11 | < Syka> | because the updates fucked over data |
15:11 | < Syka> | now, get this |
15:11 | < Syka> | I worked in local government |
15:12 | < Syka> | this is a 'standard' local government software package |
15:12 | < Syka> | guess how many clients they have |
15:13 | < Syka> | oh and, while i'm ranting, I should note that we had a geographic information system guy come |
15:14 | <&ToxicFrog> | My wife works at a company run by a senile lunatic where the main computer system is an iMac |
15:14 | < Syka> | we had a "it'll be fixed in <APPLICATION> __.__" |
15:14 | <&ToxicFrog> | And it's still less fucked up than this |
15:14 | < Syka> | every six months we changed the version number to the next promised version |
15:14 | < Syka> | and we pointed at it a lot |
15:14 | < Syka> | but anyway, they have in excess of 120 customers |
15:15 | < Xon> | that all? |
15:15 | < Syka> | I'm not sure if I should name the software |
15:15 | < Syka> | Xon: we paid $90K+/year for it |
15:15 | < Syka> | Xon: and we were tiny |
15:15 | < Xon> | o_O |
15:16 | < Syka> | we had 70 users at most |
15:16 | < Syka> | we were a *teeny* shire |
15:16 | < Syka> | this was used by cities |
15:16 | < Syka> | City Of Perth probably uses it |
15:16 | < Syka> | I wonder if I should send them a security advisory re: passwords in plaintext |
15:19 | < Xon> | they'll probably file that with all the other issues =p |
15:20 | < Syka> | they'll probably reply with either "LOL SCRUB THAT'S FINE, SINCE YOU'D HAVE TO BE THE USER TO DUMP THE RAM" |
15:20 | < Syka> | or a lawsuit |
15:20 | < Xon> | heh |
15:21 | < Xon> | typically, local government really isn't that great at keeping up to date |
15:21 | < Syka> | I know |
15:21 | < Syka> | the one that I had a hand in running was probably the most up to date in the countru |
15:22 | < Xon> | working on city of cockburn's website was a rather horrible =\ |
15:22 | < Syka> | haha city of cockburn |
15:22 | < Syka> | I know a cockburn guy |
15:22 | < Xon> | heh |
15:22 | < Syka> | well |
15:22 | < Syka> | met, once |
15:22 | < Syka> | but yed |
15:22 | < Syka> | yes |
15:22 | < Xon> | at least it isn't a Windows 2000 box open to the internet anymore! |
15:22 | < Syka> | wait Xon |
15:22 | < Syka> | Xon: ...were they a LinkingCouncils site? |
15:22 | < Syka> | ancient Zope/Plone? |
15:23 | < Xon> | doesn't ring a bell. but it's an unholy mess of aspx 1.1 and classic asp |
15:23 | < Xon> | (for thier website) |
15:23 | < Syka> | oh yes they are |
15:23 | < Syka> | Xon: well |
15:23 | < Syka> | I guess you know who WALGA are? |
15:24 | < Syka> | I guess I can speak about WALGA publicly |
15:24 | < Syka> | for those out of the know: the WA Local Government Association |
15:24 | < Syka> | think a group of your US counties or UK buroughs |
15:25 | < Xon> | I don't really deal with them. as I'm just a developer that ocassionally parachute in to hax a fix in because they aren't willing to pay to have it done properly =p |
15:25 | < Syka> | anyway, they made an app, for reporting faults in roads and stuff |
15:25 | < Syka> | it was a year late |
15:25 | < Xon> | lol |
15:25 | < Syka> | developed by IBM |
15:25 | < Syka> | and a few other contracting corps |
15:25 | < Syka> | aka hugely over budget too |
15:25 | < Syka> | it a) didn't work |
15:26 | < Syka> | b) wasn't 'legal' according to their own WALGA laws |
15:26 | < Syka> | (eg. they didnt collect enough information by the submitter) |
15:26 | < Syka> | c) they had mobile apps that didn't work either |
15:26 | < Syka> | the Android version, you could attach a picture |
15:26 | < Syka> | which wouldn't send |
15:26 | < Syka> | there was no multi user logon - each shire had one login |
15:26 | < Syka> | there was no way to export it out of the system into your on GIS |
15:26 | < Xon> | that's special |
15:27 | < Syka> | there was no way to import data, either |
15:27 | < Xon> | wow |
15:27 | < Xon> | it's expect that out of a toy app |
15:28 | < Syka> | it took two+ years to make |
15:29 | < Syka> | also, another WALGA project |
15:29 | < Syka> | http://www.linkingcouncils.com/ |
15:29 | < Syka> | basically, you pay a few grand to them, they host you a Zope/Plone site |
15:29 | < Syka> | check the Server header |
15:29 | < Syka> | "Zope/(unreleased version, python 2.3.3, win32) ZServer/1.1 Plone/2.0.5" |
15:30 | < Xon> | I'm going to twitch a bit thanks |
15:30 | < Syka> | once I got a error that fell through to what must be Apache proxies, or something |
15:30 | < Syka> | and it was running a version of Apache that was outdated in 200...6, I think |
15:31 | < Syka> | i'm pretty sure it was either a very early version of Apache 2.2, or a late 2.0 |
15:31 | < Syka> | there's security vulns *all over the board* for it |
15:32 | < Xon> | Probably still better than; Microsoft-IIS/5.0 |
15:32 | < Syka> | Azash: I went out onto my own because of an employment dispute |
15:32 | < Syka> | there were many reasons |
15:32 | < Syka> | the major one being that their only onsite IT person (me!) was getting paid a receptionist's wage |
15:33 | < Xon> | hmm Cockburn is actually running on a Windows 2000 box that is open to the internet. Oh Well. |
15:33 | < Syka> | Xon: haha |
15:33 | < Syka> | but yes |
15:33 | < Syka> | local government is 100% spiders |
15:33 | < Syka> | it's good to be out of there |
15:33 | < Syka> | I do miss some of my projects |
15:33 | < Syka> | I thought I was making a real difference, but... |
15:34 | < Xon> | =P |
15:34 | < Syka> | everything was just trash there |
15:35 | < Syka> | no budget, no recognition, shitty pay, terrible culture |
15:35 | < Syka> | they brought in a consultant to run 'company culture' seminars |
15:35 | < Xon> | O_O |
15:35 | < Syka> | multiple years |
15:36 | < Syka> | 60%+ turnover/year |
15:36 | < Syka> | I was one of the top ten staff there, out of 100 office staff, for longevity |
15:36 | < Syka> | before I left, that is |
15:37 | < Xon> | that is some toxic turnover rate for a suposed office enviroment |
15:40 | < Syka> | funnily enough |
15:40 | < Syka> | the outside work crew had a lower turnover rate |
15:40 | <@Azash> | Syka: Ah, I see |
15:40 | < Syka> | and this is Kimberley weather |
15:40 | < Syka> | aka 35C in the day during winter |
15:40 | < Xon> | lol |
15:40 | < Syka> | doing physical work |
15:41 | < Syka> | and theres some guys there that have been there 15 years |
15:41 | < Syka> | there's this one guy with an irish accent |
15:41 | < Syka> | someone asked him what he does |
15:41 | < Syka> | "I drive the digger, ma'am." |
15:41 | < Syka> | it was brilliant |
16:03 | <@Azash> | Not bad |
16:36 | <@Azash> | Hm, I know Neverwinter is in beta but I'm surprised they haven't fixed this one yet |
16:37 | <@Azash> | The /sit emote will print out "yourname sit possibletargetname" |
16:39 | < Syka> | heh |
17:34 | < RichyB> | Interestingly, there are already a series of games called "NeverWinter Nights". You probably already knew that. |
17:35 | < RichyB> | Interestingly, there was a proto-MMO game, I think it was supposed to be a MUD for which a subscription was provided by every AOL subscription, called "Neverwinter Nights" years before. :) |
17:39 | | Turaiel[Offline] is now known as Turaiel |
18:01 | | Turaiel is now known as Turaiel[Offline] |
18:12 | | AnnoDomini is now known as Wires |
19:08 | | Turaiel[Offline] is now known as Turaiel |
19:16 | <@Azash> | RichyB: I know about all those, yeah |
19:17 | <@Azash> | This new one is quite good and also free to play |
19:57 | | Kindamoody|out is now known as Kindamoody |
20:04 | | * ToxicFrog warms up the REALITY CONTROL ARRAY, aka git rebase -i |
20:05 | | * Azash looks for the Matrix soundtrack |
20:08 | | Wires is now known as AnnoDomini |
20:26 | | Turaiel is now known as Turaiel[Offline] |
20:26 | | Kindamoody is now known as Kindamoody[zZz] |
22:35 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
22:35 | | VirusHome [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
22:37 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
22:37 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
22:58 | | Turaiel[Offline] is now known as Turaiel |
23:47 | | You're now known as TheWatcher[T-2] |
23:49 | | You're now known as TheWatcher[zZzZ] |
23:56 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
23:56 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
--- Log closed Sat Jun 08 00:00:36 2013 |