code logs -> 2013 -> Fri, 07 Jun 2013< code.20130606.log - code.20130608.log >
--- 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
code logs -> 2013 -> Fri, 07 Jun 2013< code.20130606.log - code.20130608.log >

[ Latest log file ]