01:28 < Drainedsoul> winny: Did you not read what dx said? You trying to talk to someone who apparently isn't there is much more annoying/spammy than the background noise of him connecting/disconnecting 01:29 < winny> :) 01:29 < winny> thanks did not see scrollback 01:30 < winny> (because it scrolled oof the screen :P) 01:30 < dx> yup, indeed more annoying. not a big deal imo, but this really is the third time i check back this channel because it had pending messages, and it was just that 01:31 < winny> i agree 01:32 < expir3dcow> afj is spamming logging in and out xD 01:32 < dx> pls 01:32 < winny> lal, not eveybody got the memo 01:50 < jython234> STOPPPPPPPPPPPPPPPPPPP 01:53 < dx> well, since some people are clearly unable to understand the concept of "being AFK with bad internet"... 01:53 < dx> here's something completely unrelated but slightly interesting 01:53 < dx> http://dual-ec-drbg.eu/ 01:58 < winny> i have a lovely bouncer 01:59 < jython234> ikr 01:59 < winny> I pay $1/mo for it (tiny openvz vps) 02:01 < jython234> i pay $0/mo 02:02 < winny> lovely 02:02 < jython234> yes 02:24 < jython234> a higher level of spam 02:50 < Drainedsoul> dx: Wtf that website makes noise! That's so 90s 02:50 < dx> Drainedsoul: indeed 05:37 < dreadiscool> What do UUID's look like now, with the -'s? 05:38 <+SpaceManiac> 8-4-4-4-12 05:39 < dreadiscool> Thanks 06:13 < deltab> there's probably a library you can use for handling it 06:29 <+fragmer> SpaceManiac, I'm curious, has Glowstone been affected by Bukkit's untimely demise? Or are you continuing? 06:29 <+SpaceManiac> fragmer: it's been smothered in attention 06:29 <+SpaceManiac> the project is continuing & seems to be the sole active Bukkit implementation 06:30 <+fragmer> Nice 06:30 <+SpaceManiac> a bunch of people are working to spec out a replacement to the Bukkit API, which I'm following along with & will likely support 06:31 <+fragmer> Hopefully some good will ultimately come of this 06:31 <+fragmer> Heh I see you've got a whole heap of pull requests this week 06:31 < dx> SpaceManiac: feels so good to see glowstone getting so much attention :3 06:32 <+SpaceManiac> I had to actually write instructions on how to do PRs! 06:32 < dx> :D 06:33 < dx> SpaceManiac: could create a CONTRIBUTING.md file https://github.com/blog/1184-contributing-guidelines 06:33 <+SpaceManiac> yeah, that's planned 06:34 <+SpaceManiac> turt2live of ex-Bukkit is helping handle PRs 06:36 <+fragmer> Meanwhile, I'm still beating the deadest of Minecraft horses, Classic :P 06:37 <+fragmer> I should find a new hobby 07:09 < Not-f47f> [Glowstone] SpaceManiac pushed 1 commit [+9/-0/±3] http://git.io/zxraJw 07:09 < Not-f47f> [Glowstone] jkcclemens 8d9cf2f - Added block placement handling for several blocks (see #119). 07:12 < Grum> SpaceManiac: i assume people have to sign-off their commits to ack to a CLA? 07:13 < Grum> aaand they do not, enjoy getting in the same mess when someone decides to go ragequit 07:13 <+SpaceManiac> MIT license 07:14 < Grum> matters nothing, you depend on Bukkit 07:14 < Grum> or rather; that is a 'legal grey area' 07:15 < Grum> because some court has already dubbed 'an implentation of a subtantial api' a 'non original work' (IANAL) 07:15 < Grum> the taint is big :( 07:16 <+SpaceManiac> IANAL or a big fan of the GPL either, but as far as I can gather my only incompliance with the GPL is not including its text in my distribution, which I intend to rectify 07:16 <+fragmer> Grum: are you representing Mojang's opinion when you say that a 100% written-from-scratch Minecraft-interoperable server is a non-original work? 07:16 <+fragmer> This is the first time I've heard anyone claim that 07:16 < Grum> fragmer: no, this has nothing to do with that, its about using GPL Bukkit 07:17 < Grum> you can use small parts GPL code as long as your code is an 'original works' (compared to what you use) without being GPL-compatible yourself (IANAL) 07:17 < Grum> this is in the c world, using GPL'd headerfiles for example 07:18 < Grum> in theory a set of Java interfaces could be considered equal (IANAL) 07:18 < Grum> though Bukkit contains quite some bootstrapping code (so actually functional code, not just an interface) 07:18 <+fragmer> ah I see 07:19 < Grum> I also love how you completely not read what I said and instantly go 'OMG AS MOJANG REPRESENTATIEV DO YOU [INSERT HORRIBLE STUPID CLAIM]' 07:20 <+fragmer> Well, I think at this point Mojang employees could preface their messages with "(this opinion is my own and not representative of blah blah)" :P 07:20 < Grum> then i should ask you the question, do you think anyone can state anything but their own opinion? 07:20 < Grum> and if you disagree, then you logically must believe in god 07:21 < Fysac> ... what? 07:21 < Grum> (because then all priests that pretend to 'speak for god' according to you speak truthful and thus god must exist) 07:22 < Grum> unless they are just stating their own opinion about something they have in their head 07:22 < Grum> (which is the more likely case :D) 07:22 < Grum> (and it still might be true, but i doubt there is a hivemind going on) 07:23 < Fysac> there's a fallacy in there somewhere, but it's too late for me to have these kinds of discussions :P 07:23 < Grum> ofcourse there is, that's the point :) 07:23 < Grum> and because there is, i must be speaking my own opinion 07:23 <+fragmer> I'm just worried about my own efforts (working on Minecraft-interoperable software since 2009) may be undermined if your opinion is representative of Mojang's 07:23 < Grum> how else could i fail if i were to speak from a hivemind? ;D 07:24 <+fragmer> But I misunderstood what you were saying, so nevermind 07:24 < Grum> its ok ;) 07:24 < Grum> i was just being a bit pendantic 07:25 < Grum> if anything this whole situation is making me even more sarcastic than ever >.> 07:26 < Grum> i think the 'real' issue is Bukkit being GPL and not having a CLA 07:26 <+fragmer> Somewhat on-topic: any update on the official modding API? I apologize if you get asked this too often :P 07:26 < Grum> nope 07:26 < Grum> but we're getting close to having blocks cleaned up, which is rather awesome 07:26 < Grum> i mean, the game is about blocks =) 07:27 <+fragmer> I like blocks. 07:29 < dx> fragmer: were you expecting him to say they are rushing it for 1.9? :D 07:29 <+fragmer> Well, there's always hope! :P 07:29 <+fragmer> I thought that perhaps the recent events have added motivation 07:29 < dx> probably, but something tells me you're not going to hear that from grum, who always wants to do things the right way 07:30 < dx> even if it takes 10 years *cough* 07:30 < Drainedsoul> [22:17] then i should ask you the question, do you think anyone can state anything but their own opinion? <= what kind of a question is this? It is trivially demonstrable that people can state not their own opinion. 07:30 < dx> Drainedsoul: let's not get meta-pedantic now 07:31 < Grum> Drainedsoul: then where to these so called original opinions come from? 07:31 <+fragmer> Ah. I asked because I remember (a couple years ago) that Erik was hailed as One-Who-Shall-Bring-Us-The-API, when he was hired :P 07:31 < Grum> i guess priests again, they have a connection with god! :D 07:31 < Grum> rushing things is always bad 07:31 < Grum> most certainly so with an api 07:32 <+SpaceManiac> You can also state *someone else's* opinion! 07:32 < dx> fragmer: shall bring us the api, when it's ready™ 07:32 < Drainedsoul> Grum: That's orthogonal to the point. You can state your own opinions, or those of others. 07:32 < Drainedsoul> You're not locked into one or the other. 07:32 < Grum> SpaceManiac: in theory you could, but you would give your impression of it 07:32 <+fragmer> Before or after Half-Life 3? :P 07:32 < dx> by the way, there's a pending trademark application for soon™, http://www.trademarks411.com/marks/86376571-soon 07:33 < dx> mojang might get in legal trouble if they keep delaying the api (jk) 07:33 < expir3dcow|away> yup 07:33 <+fragmer> If anyone deserves the trademark Soon, it'd be Valve or Blizzard 07:33 < dx> indeed 07:33 < Grum> but we're not delaying anything 07:33 < dx> jk means 'just kidding' 07:33 < Grum> if there would be a delay that would mean we should have something shippable or have given a date 14:35 < Not-f47f> [node-minecraft-protocol] roblabla pushed 3 commits to master [+0/-0/±3] http://git.io/XPZPog 14:35 < Not-f47f> [node-minecraft-protocol] roblabla cb24696 - Fix tests involving the server jar 14:35 < Not-f47f> [node-minecraft-protocol] roblabla 78f0ea8 - Fix test for 1.7.10 compatibility 14:35 < Not-f47f> [node-minecraft-protocol] overjt 2541934 - Fixed uuid 14:39 < Not-f47f> [node-minecraft-protocol] roblabla pushed 1 commit to master [+0/-0/±1] http://git.io/tIkFcQ 14:39 < Not-f47f> [node-minecraft-protocol] roblabla a6b1e10 - Remove useless toString(10) in UUID 16:20 < Not-c7fb> [node-minecraft-protocol] roblabla pushed 1 commit to master [+0/-0/±2] http://git.io/_wCm4g 16:20 < Not-c7fb> [node-minecraft-protocol] roblabla 06ea770 - Release 0.12.2 17:57 < Fysac> ls 18:00 < Bibl> have a quick question since i've been busy ever since 1.8 came out 18:00 < Bibl> do I need to redo packet parsing for my bot? 18:00 < Bibl> or is everything basically the same 18:00 < SinZ> the structure is the same, just new/changed/removed packets 18:02 < shoghicp> and add the compression feature 18:28 < TkTech> Fysac: porn not_porn projects .. . 19:54 < shoghicp> it starts again... 19:55 < shoghicp> 1.7.6 protocol: 5 19:55 < shoghicp> 1.8 protocol: 47 19:55 < shoghicp> they should have a way to split snapshot protocols from release protocols 19:55 < shoghicp> like a bit set :S 19:56 <+SpaceManiac> at least it's a varint now instead of limited to a byte 19:56 <+SpaceManiac> so maybe they plan to just increment it forever starting from here out 19:57 < roblabla> watch them switch it to a varlong for 1.9 19:57 < roblabla> :> 19:57 < shoghicp> ^ 19:58 < shoghicp> then it'll change to a string, like inventory windows 19:59 < roblabla> haha 19:59 < roblabla> and then we'll start seeing protocol version "523-pre-WIP-4" 20:00 < shoghicp> then SemVer protocol versions >:) 20:00 < roblabla> BTW, is there a website showing packet changes between different 1.7 versions ? 20:00 < roblabla> kind of like burger, but up-to-date :P 20:00 * roblabla misses burger vitrine so much 20:00 < shoghicp> hmm 20:00 <+SpaceManiac> I think you'd have to look at the wiki history 20:00 < shoghicp> that was horrible 20:00 < roblabla> yeah, I've been doing that, but it's a pain 20:01 < roblabla> And wiki can be wrong 20:01 < roblabla> Burger Vitrine was just the decompiled packet code, so it being wrong is extremely unlikely :P 20:01 < shoghicp> well, at least looking at the wiki diff and the page itself shows formatting errors that can be fixed 20:01 < Aragas> oh god why varlong 20:02 < roblabla> Aragas: why not ? :3 20:02 < roblabla> it's totally not 4 more wasted bytes. 20:02 < Aragas> because how to read and write it 20:02 < Aragas> so laaame 20:02 <+SpaceManiac> the same, but bigger limit 20:02 < roblabla> Aragas:don't complain, you're not writing a javascript client/server 20:03 < roblabla> I have no way to store longs :< 20:03 < Aragas> hm, i should... 20:03 < roblabla> This is how I store longs : [lowBits, highBits] 20:03 < Aragas> use two ints, hardcore, lol 20:03 < roblabla> exactly. 20:03 < shoghicp> I remember the pain to encode/decode the Position type using two int32... 20:03 < Aragas> lol 20:03 < shoghicp> and that was yesterday 20:03 < roblabla> DIdn't even implement the position type yesterday 20:04 < roblabla> *yet 20:04 < roblabla> bleigh 20:04 < shoghicp> who knows what will happen today, just crashed Minecraft 20:04 < Aragas> my whole handling code is now just trash 20:04 < Aragas> because new vars and dunno where they are gone 20:04 < roblabla> I love how the "base" packet structure can now change depending on state 20:05 < Aragas> i'm exacly where i was 6 monts ago 20:05 < Aragas> yes. This is too much 20:06 < Aragas> i think craft.net will not survive this, lol 20:06 < roblabla> Really ? 20:06 < roblabla> that was my reference implementation ;( 20:06 < Aragas> rewritings 20:06 < Aragas> and who will do that 20:06 < roblabla> Haha 20:07 < Aragas> i'm still trying to properly handle all packets without error 20:07 < Aragas> man this is pain 20:07 <+SpaceManiac> I'm still maintaining Glowstone which does packet things, but the packet structure is sliiiightly messy 20:07 < roblabla> Well, I'm planning on keeping node-minecraft-protocol up-to-date, but since the upstream maintainer is now 100% unresponsive, it's kind of annoying. 20:08 < Aragas> winter is here 20:08 < Aragas> not all projects will survive this 20:08 < roblabla> haha 20:08 < roblabla> I saved node-minecraft-protocol too many times from death. 20:08 < roblabla> I shall not falter here. 20:09 < roblabla> (Although 1.7 did sever damage) 20:09 < roblabla> I think 1.7 was the most cataclystic update. 20:09 < roblabla> Oh, and 1.3 20:10 < TkTech> roblabla: Sorry, I lost interest in it and I think sadimusi is done with it as well 20:10 < TkTech> The burger has been eaten 20:10 < roblabla> :O 20:10 < roblabla> TkTech: well, I forked it some time ago in hopes to give it a small blow of life 20:10 < roblabla> (At least reviving the packet structure part :P) 20:10 < roblabla> But I have yet to do it. 20:11 < GauHelldragon> a breath of life? 20:11 < Aragas> glad i started after 1.7 20:11 < roblabla> yeh, whatev. 20:11 < roblabla> Aragas: haha yeh. 1.3 added encryption. You have no idea how many custom clients that killed. 20:12 <+SpaceManiac> Nom nom. 20:12 < Aragas> lol. and now we have compression, a new killer 20:12 < roblabla> meh, if people got encryption, compression s hould be no trouble. 20:12 < roblabla> I really dislike how they implemented it though. 20:12 < Aragas> i still get decompression errors with chunks in 1.7 20:13 < Aragas> one per few thousands 20:13 < roblabla> Really ? I don't think it's that hard though 20:13 < roblabla> IIRC, it's just a simple deflate right ? 20:13 < Aragas> nah, i'm just a good coder 20:13 <+SpaceManiac> Aragas: is it "size too big"? 20:14 < Aragas> nope, too small. just don't get enough data to read chunk 20:14 <+SpaceManiac> odd 20:14 < roblabla> ._. 20:14 < roblabla> MFW BurgerVitrine actually decompiles things itself. 20:14 < roblabla> Dem people be crazey. 20:14 <+SpaceManiac> I think the way you can't (non-hackily) tell if a packet sent by the client was sent when they thought encryption was enabled or not is a little sad 20:14 <+SpaceManiac> but it's not that important in practice 20:15 < roblabla> SpaceManiac:Like an echo packet. 20:15 < Aragas> we need rewrite minecraft in assembler 20:15 < roblabla> Actually it's possible 20:15 < roblabla> With the keepalive packet 20:16 <+SpaceManiac> You can "detect" it by interpreting their packet both ways, and taking whichever is most valid 20:16 < roblabla> yeh 20:16 < Aragas> i mean, we are at the last level. assembler is our friend now 20:16 < roblabla> Aragas: I refuse. 20:16 < roblabla> I'm OK with rewriting it in C. 20:16 < roblabla> But ASM ? That'll be done without me :D 20:17 < roblabla> Also, I don't know who'll be the one in charge of world generation, but I'll pass. 20:17 < Aragas> perlin in asm? ez 20:17 < roblabla> Actually, did anyone write a "close enough" open source world generator ? 20:18 < Aragas> nah, who likes vanilla generator :DDD 20:18 < roblabla> (honnest to god question) 20:18 <+SpaceManiac> Spout Vanilla was pretty good-looking. 20:18 <+SpaceManiac> I hope to port it to Glowstone someday 20:18 < roblabla> Spout had the generator done ? 20:18 < roblabla> I didn't know they went that far. 20:19 < shoghicp> I only got past noise generation and some islands with trees 20:20 < shoghicp> but I had to do other things then :S 20:20 < roblabla> https://github.com/SpoutDev/Vanilla/blob/master/src/main/java/org/spout/vanilla/world/generator/VanillaGenerators.java < ooh 20:20 < shoghicp> Is Minecraft 1.8 converting old Anvil worlds when it opens them? 20:20 < Aragas> i tried fo fill chunks with stone. Close enough 20:20 < roblabla> shogchips:they changed the format again ? 20:21 < shoghicp> I mean, the blockId << 4 | data conversion 20:21 < Aragas> wha? 20:21 < shoghicp> or do they convert it on the fly? 20:21 * roblabla has no idea what you're talking about. 20:21 < Aragas> is that new in 1.8? 20:21 < roblabla> Then again, I haven't been very active. 20:22 < shoghicp> Block id section is now a unsigned short (little endian) per a block 20:22 < shoghicp> The block id is equal to (id << 4) | data 20:22 < Drainedsoul> does...that VanillaGenerators class have globals? :( 20:22 < shoghicp> http://wiki.vg/Protocol#Chunk_Data 20:22 < roblabla> Drainedsoul:well yeah 20:22 < roblabla> Drainedsoul:they're constants 20:22 < roblabla> Nothing wrong with that 20:22 < Aragas> ftfs, that my third chunk stuff rewrite 20:23 < shoghicp> well, I'll have to convert it on the fly 20:23 < shoghicp> I had to do the same for McRegion -> Anvil, and Anvil -> McRegion 20:23 < roblabla> oh 20:23 < roblabla> Sponge is back in 1.8 20:23 < roblabla> awesum. 20:24 < roblabla> That's enough of a reason for me to start playing minecraft again. 20:25 < Drainedsoul> roblabla: But they're not just constants, they're actual objects. 20:25 < roblabla> Drainedsoul:point being ? 20:25 < Bibl> "we need rewrite minecraft in assembler" 20:25 < Bibl> Ewwwwwwwwwwwwwwwwwwww 20:25 < Aragas> Hm. Maybe i should play 1.8, not writing clients for it 20:25 < Bibl> ewewewewewewewewew 20:25 < roblabla> This part of code is never going to be reloaded, it ain't a plugin. 20:25 < Bibl> You'll never be able to write a big program in asm better than a good c++ compiler 20:26 < Bibl> not even worth it 20:26 < Drainedsoul> ^ 20:26 < Drainedsoul> roblabla: Never (tm) 20:26 < roblabla> Bibl: but writing ASM is swaaaaaag 20:26 < Aragas> SWAG 20:26 < Bibl> roblabla: it's also a giant waste of time :p 20:26 < roblabla> I write Java Bytecode by hand :3 20:26 < Bibl> sometimes 20:26 < roblabla> (now you're allowed to shoot me) 20:26 < Aragas> exactly 20:26 < Bibl> when i get annoyed with the java compiler 20:26 < Aragas> No more 1.9 with new varlongs 20:26 < Bibl> i sometimes write bits of code myself 20:27 < Bibl> stuff like 20:27 < Drainedsoul> Bibl: To be clear, you don't just mean that a person can't write/maintain a large asm program better than a compiler, you also mean that a person probably can't generate better asm, correct? 20:27 < roblabla> Want to see the greatest piece of code ever ? 20:27 < Bibl> addObject(new ObjectThing().voidCall()) 20:27 < Bibl> cant do that 20:27 < Bibl> so i add a dup2 20:27 < Bibl> instead of dup 20:27 < Bibl> stuff like that 20:27 < roblabla> http://en.wikipedia.org/wiki/Fast_inverse_square_root#Overview_of_the_code 20:28 < Bibl> drained a person wont be able to keep track of that much code 20:28 < Drainedsoul> roblabla: That code doesn't do anything. 20:28 < roblabla> Bibl:actually, it depends on the flavour of ASM you're using. NASM is pretty workable. 20:28 < roblabla> Drainedsoul:it does. 20:28 < Bibl> it will become unmanagable 20:28 < Drainedsoul> i = * ( long * ) &y; 20:28 < Drainedsoul> this is UB 20:28 < Bibl> compilers today produce much better code 20:28 < Drainedsoul> the C standard doesn't require that the program containing this do anything at all 20:29 < roblabla> Drainedsoul: Stop thinking C Standard and start thinking GCC m8 20:29 < roblabla> who cares what the standard says when every implementation doesn't follow it. 20:29 < Drainedsoul> lol 20:29 < Aragas> lide gcc 1.9? 20:29 < Aragas> like 20:29 < roblabla> I mean if we wrote HTML to the standard, the web would be pretty damn uninteresting. 20:29 < Drainedsoul> I take it you've never been stabbed in the back by a compiler @ -O3 20:30 < roblabla> Drainedsoul:trust me, I have been enough times. 20:30 < Drainedsoul> the standard provides memcpy and char * aliasing so you can do exactly what that code is doing with predictable results 20:30 < GauHelldragon> weird 20:30 < Bibl> how can a compiler screw you over? 20:30 < roblabla> Bibl: by using non-standard stuff. 20:30 < Drainedsoul> if the compiler sees that code exhibits UB on certain code paths 20:30 < Drainedsoul> it can assume those code paths are never taken 20:30 < Bibl> ub? 20:30 < Drainedsoul> Undefined Behaviour 20:31 < Bibl> whats that 20:31 < Drainedsoul> for example, C compilers at high optimization levels, after seeing you dereference a pointer 20:31 < Drainedsoul> will look ahead and just delete all comparisons of that pointer to null 20:31 < Drainedsoul> because the standard states that dereferencing a null pointer is UB, therefore if you dereferenced the pointer, it can't be null 20:31 < roblabla> And that's a fun way to break programs in all sort of ways. 20:31 < Bibl> is that not a bug? 20:31 < roblabla> (poorly-written programs) 20:32 < Drainedsoul> Bibl: UB? Yes, that's the point 20:32 < roblabla> Bibl:if you do something that has an UB, you have a bug 20:32 < Bibl> no, the compiler 20:32 < roblabla> Bibl:nope 20:32 < Drainedsoul> How would that be a bug? 20:32 < Bibl> shouldn't it recognise this ub thing 20:32 < Drainedsoul> The C standard says the behaviour is undefined 20:32 < Drainedsoul> therefore the compiler is not obligated to do anything 20:32 < Drainedsoul> it could emit assembly that causes global thermonuclear war, and be ISO C compliant 20:32 < roblabla> Bibl:it can't know a pointer is null whwen being dereferenced 20:32 < roblabla> a pointer is just an int. 20:32 < roblabla> a null pointer is 0 20:32 < Drainedsoul> a pointer is not an int 20:33 < roblabla> who cares, it's to exemplify 20:33 < Drainedsoul> the standard does not place restrictions on the width of int such that it can store a pointer 20:33 < Bibl> anyone here have/had a minecraft gamepack analyser 20:33 < roblabla> Drainedsoul:size_t. There. Happy ? 20:34 < Bibl> that got buttfked by 1.7 and 1.8? 20:34 < roblabla> "gamepack analyzer" ? 20:34 < Drainedsoul> the standard doesn't say size_t can hold a pointer. maybe you're looking for intptr_t 20:34 < Drainedsoul> on segmented architectures sizeof(size_t)!=sizeof(void *) can definitely be true 20:34 < roblabla> size_t can hold an array indice. 20:34 < roblabla> IIRC 20:34 < roblabla> Although I guess intptr_t fits the role nicer 20:35 < Bibl> stuff like http://λ.pw/bji 20:35 < roblabla> dat punny-code URL 20:35 < Bibl> sharex is the best 20:35 < Bibl> friends image hosting site 20:35 < Bibl> started from a 20:35 < Bibl> now we here 20:35 < Bibl> a through to bji 20:36 < Bibl> anyone analyse gamepacks to create mappings? 20:36 < Aragas> wat 20:37 < Bibl> is that a no? 20:37 < Bibl> like MCP 20:37 < Bibl> but not retarded 20:37 < Aragas> something like this exist? 20:37 < Aragas> lol 20:37 < Bibl> well i made mine 20:37 < Bibl> so did darkstorm 20:37 < Bibl> darkstorms analyser was for pre 1.7 20:37 < Bibl> they it broke 20:37 < Bibl> mine was 1.7+ 20:38 < Bibl> then 1.8 broke it 20:38 < Bibl> because they added 700 classes 20:38 < Aragas> mcp was really retarded. Still dunno how to use it 20:38 < Bibl> dude 20:38 < Bibl> its even easier now 20:38 < Bibl> just decompile.bat 20:38 < Aragas> like one-click? 20:38 < Aragas> man 20:38 < Bibl> ye 20:38 < Aragas> that like icloud for me 20:38 < Aragas> so glad 20:39 < roblabla> except it fails with 1.8 last time I checked. 20:39 < roblabla> Anyway, Bibl, I guess yours is closed-source right ? 20:39 < Bibl> yeah 20:39 < Aragas> aaaaand 1.8 has rendering errors 20:39 < Bibl> i believe in free software blah blah 20:39 < roblabla> :( sad panda much. 20:40 < Bibl> but this took me a long time to write 20:40 < Bibl> i can give snippets 20:40 < Bibl> but not a full proj 20:40 < Bibl> http://pastebin.com/0u2bQymP 20:41 < Bibl> just testing can anyone access this page : https://bitbucket.org/0xJAVA/byte-engineer 20:41 < roblabla> I'm making my own sorta-analyzer, trying to extract packets into a simple json format, given a .jar 20:41 < roblabla> erm, I can 20:41 < Bibl> good 20:41 < roblabla> And have access to source and all 20:41 < Drainedsoul> lol closed source 20:41 < Bibl> god 20:41 < Bibl> good* 20:41 < Bibl> what drained? 20:42 < roblabla> :O ERMERGERD 20:42 < roblabla> Bibl:why did you not give me this link sooner ;_; 20:42 < Bibl> wot 20:42 < Bibl> this is like a year old 20:42 < Bibl> bytetools 20:42 < Bibl> then bytetools 2 20:42 < Bibl> then byte engineer 20:42 < Bibl> where we aim to write less shit code every update 20:44 < roblabla> I've been looking for a *good* bytecode analyzing library for a while now 20:44 < roblabla> (No, I don't consider ASM or javassist to be good) 20:44 < Aragas> would be cool if it could use templates or automate-writings packets classed 20:44 < Bibl> it uses asm 20:44 < Bibl> asm is good 20:45 < Bibl> javaassist is for scrubs omg 20:45 < roblabla> well, ASM is good 20:45 < roblabla> but it's hard to work with 20:45 < roblabla> javassist is weird. 20:45 < Bibl> i refuse to use the event system 20:45 < Aragas> i'm too yount fot dat shiet 20:45 < Bibl> its too "scattered" 20:45 < Aragas> young 20:45 < Bibl> young fo wot 20:45 < Bibl> im the best 20:45 < Bibl> in the world 20:45 < Bibl> nerd. 20:45 < Aragas> :DDD 20:46 < roblabla> Aragas: there's no age for bytecode analysis 20:46 < roblabla> It's a completely safe practice :D 20:46 < Aragas> i have not any beard 20:46 < roblabla> Fun Fact : USing javassist to break a running bukkit is a lot of fun as well. 20:46 < roblabla> (been there, done that) 20:47 < Bibl> when i get lectured on why inline java is a bad idea by someone using javaassist who doesnt know about bytecode 20:47 < Bibl> im just like bish dont kill my vibe 20:48 < roblabla> Bibl:hahaha 20:48 < Bibl> inline bytecode in java* 20:48 < Bibl> mb 20:49 < roblabla> Oh 20:49 < roblabla> Found it ! 20:49 < roblabla> Good ol' scala project to extract packet info :D 20:50 < belak> What does the mc client use to display usernames on the server when you're viewing the server list? 20:51 < roblabla> belak:it's sent by the server in the ping packet 20:52 < roblabla> https://gist.github.com/thinkofdeath/6927216 20:52 < roblabla> belak:look at "players" 20:52 < Aragas> where is the coders-graveyard? 20:52 < Aragas> wanna die 20:52 < roblabla> http://wiki.vg/Server_List_Ping#Ping_Process even better :D 20:53 < roblabla> Aragas:don't do that :< 20:53 < roblabla> Coders graveyard... let's see... 20:56 < roblabla> belak:is byte-engineer on a maven repository ? 20:57 < roblabla> gonna use it 21:03 < Bibl> urm 21:03 < Bibl> i only used gradle because someone told me to 21:03 < Bibl> so i duno 21:05 < TkTech> roblabla: What do you mean? (re Burger) Why would it not disassemble the JAR itself? 21:07 < MrARM-Away> Quick packet compare? 21:16 < Bibl> ever have homework that you just really cant find the motivation to do? 21:16 < Bibl> like i have a lot 21:16 < Bibl> but this one piece 21:16 < Bibl> i just can't be bothered at all 21:35 < belak> roblabla: so, you need to be logged in to query that? 21:36 < belak> Actually no... 21:36 < belak> Hm 21:37 < roblabla> TkTech: I thought it used fernflower 21:37 < roblabla> or something like that 21:37 < Bibl> http://i.imgur.com/Rhut2df.png 21:37 < Bibl> hehehe 21:37 < roblabla> the hell ? 21:37 < roblabla> XD 21:38 < Bibl> friend is working on the ui 21:38 < Bibl> for the launch tab 21:38 < Bibl> i did the profiles tab 21:38 < Bibl> logo is 3 months old from another friend 21:38 < Bibl> http://λ.pw/bjp 21:51 < TkTech> roblabla: It predates the existence of fernflower, and long before fernflower became open source 21:51 < TkTech> roblabla: It also doesn't need to decompile, it just needs to disassemble. It's parsing patterns in the bytecode, nothing complex 22:16 < dx> SirCmpwn: hey! wanna join #inferno in esper? they are starting a .net server and irrationally picking some awful .net library as a base (C#raft, implements minecraft 1.4 lol) 22:16 <+SirCmpwn> sure 22:16 < dx> that was quick 22:18 <+SirCmpwn> dx: after seeing that commit I'm immediately convinced that this team does not have what it takes 22:18 < dx> SirCmpwn: this is so doomed 22:19 < dx> SirCmpwn: might as well enjoy telling them how doomed it is 22:19 <+SirCmpwn> after the controversey I'm thinking about starting my own server project 22:19 < dx> i actually suggested #nextlevel to add craft.net to the google doc, but they ignored it because "mono is slow" 22:20 < dx> and well they are all java fanboys, anyway 22:20 < dx> and mostly forge / NMS fanboys too 22:20 < dx> err. s/nextlevel/nextstep/ 22:20 < dx> i'm surprised glowstone turned out to be so sucessful, all the forge fanboys in #nextstep seemed to indicate otherwise 22:21 < dx> but hey, there is definitely *some* interest in a C# implementation, so that's cool 22:23 < TkTech> > Mono is slow 22:24 < TkTech> Coming from Minecraft players? 22:24 < dx> HEH 22:24 <+SirCmpwn> if I was going to build a server to replace bukkit, it might not be in C# 22:24 <+SirCmpwn> I would probably consider Go and C/C++ first 22:25 < TkTech> If you're replacing bukkit you probably want something one step up. 22:25 < dx> 17:24 <@Kayaba> I'm a Microsoft Partner 22:25 < dx> 17:24 <@Kayaba> I will give any contributor Visual Studio 2014 22:26 < TkTech> C#/Java/Python/Ruby/*anything* really that provides better debugging 22:26 < TkTech> And quick iteration, if the entire focus is on plugins over pure speed 22:26 <+SirCmpwn> it's not that difficult to provide interop 22:26 <+SirCmpwn> and performance is an important consideration for bigger servers 22:27 < dx> the difficult part is getting all the boring details written 22:27 <+SpaceManiac> Bukkit itself had bindings for Python/Ruby/others... 22:27 <+SirCmpwn> the only problem is time, I would need to work on it full time to get anything near usable 22:27 <+SirCmpwn> if I worked on Craft.Net full time for a month it'd probably be usable in production 22:28 < dx> depends on your definition of "usable in production" of course 22:28 < Drainedsoul> C++ \o/ 22:28 <+SirCmpwn> suitable as a replacement for the stock server, I mean 22:31 < shoghicp> packet compression in 1.8 is DEFLATE, right? 22:31 < Drainedsoul> yes 22:32 < GauHelldragon> what are you working on? 22:33 < Aaron1011> What should the NBT for Update Block Entity look like? 22:33 < Drainedsoul> Aaron1011: In what way? 22:33 < Drainedsoul> It's just NBT, unless there is no NBT, in which case it's just a zero byte 22:33 < Aaron1011> Drainedsoul: I'm not sure if the top compound tag should a name set to the saveID of the tile entity 22:34 < Drainedsoul> o I don't know anything about what's actually in the NBT 22:37 < Aaron1011> Drainedsoul: From looking at my local CraftBukkit copy, I think it does 22:37 < Aaron1011> There's only one method which serializes to NBT 22:38 < Aaron1011> Which calls super, to put in the ID 22:38 <+SirCmpwn> maybe I will try to put something together 22:38 <+SirCmpwn> I've got a bunch of unused PTO 22:39 < Drainedsoul> SirCmpwn: Put which together? 22:40 <+SirCmpwn> a new server capable of filling the bukkit gap 22:40 < Drainedsoul> in Java? 22:40 <+SirCmpwn> hell no 22:41 < Drainedsoul> in what then? 22:41 <+SirCmpwn> dunno 22:41 <+SirCmpwn> maybe just bringing Craft.Net to completion, or something else 22:44 < dx> SirCmpwn: could start by advertising craft.net subtly on reddit and relevant channels, maybe you'll find interested people 22:44 < shoghicp> If sending 8 sections in a Chunk Data packet, the length should be 131328, right? 22:45 < shoghicp> 131072 + biomeIds 22:45 <+SirCmpwn> dx: not a bad idea 22:45 <+SirCmpwn> got any suggestions on where to mention it? 22:46 <+SirCmpwn> https://mediacru.sh/bgpOlykSL_Pt 22:46 < dx> hmmm, admincraft maybe? that's the only minecraft subreddit i browse nowadays 22:46 < dx> i think SpaceManiac posted about glowstone there before 22:47 < dx> SirCmpwn: hahah 22:48 < dx> http://www.reddit.com/r/admincraft/comments/27iqg0/glowstone_foss_server_with_bukkit_plugin_support/ 22:51 <+SirCmpwn> would it be accurate to say I'm one of the most knowledgable people on the technical details of Minecraft 22:51 <+SirCmpwn> I think I am but modesty forces me to ask for second opinions 22:51 < TkTech> SirCmpwn: There are actually some forks of craft.net that seem to have 1.8 22:51 <+SirCmpwn> really? I know there's one guy working on it, but he's not done 22:52 < TkTech> One is only at 1.7.6, the other seems to be at 1.8 but with a UUID bug 22:52 < TkTech> Other guy seems to be doing bug fixes and world gen 22:52 < TkTech> (Just going by commit messages, which can be utterly off) 22:52 <+SirCmpwn> link to other guy? 22:52 < TkTech> https://github.com/Hyrtwol/Craft.Net/commit/84bfc7fdd6b97095040615b69d4751afb9d32c5e 22:53 < TkTech> Flatlands, maze 22:53 <+SirCmpwn> ah, this is one of the guys involved in the doomed project 22:53 <+SirCmpwn> I wonder if he's going to contribute his changes upstream 22:53 <+SirCmpwn> reading that commit doesn't give me much hope, though :/ 22:53 <+SirCmpwn> for his goals, that is 22:54 < Bibl> fun fact, i'm the best in the world. 22:54 < TkTech> Github diff really needs to filter out Visual Studio project cruft 22:54 < TkTech> I don't care that the UUID on fNBT changed 22:56 < dx> SirCmpwn: i don't know about your knowledge but you can objectively say that a lot of people use your code as reference 22:57 <+SirCmpwn> thanks, dx 22:57 < Bibl> gitignore? 23:00 < dx> SirCmpwn: also you should clarify that, although your name is "SirCmpwn", you didn't get banned from #mcdevs in the last 12 months so being called "SirCmpwn" shouldn't be an issue 23:00 * dx cough 23:00 * SirCmpwn kicks dx in the shin 23:01 < dx> seriously though, i think you've developed more patience now 23:04 < Dhruv0> Heyy 23:04 < Dhruv0> Can someone check if I did Position's correctly? 23:06 < Dhruv0> https://github.com/PlasmaShaft/Craft.Net/blob/master/source/Craft.Net.Common/Position.cs 23:06 < Bibl> can you not decompile the mc client? 23:06 < Bibl> theres public decompilers 23:06 <+SirCmpwn> no 23:06 <+SirCmpwn> Craft.Net is clean room only 23:07 < dx> Dhruv0: first issue: git config --global user.email=your@email.here 23:07 < GauHelldragon> what does that mean 23:07 < dx> https://en.wikipedia.org/wiki/Clean_room_design 23:07 < Dhruv0> dx My bad 23:08 < GauHelldragon> neat, thanks dx 23:08 < GauHelldragon> i learned something today 23:09 < GauHelldragon> a valuable lesson 23:09 < dx> a new method to avoid getting sued has been added to your skills! [check inventory] 23:10 < Dhruv0> The player is crashing on Send Position and I feel its something on the Position class 23:10 < Dhruv0> Are Position's suppose to be sent and read as longs? 23:21 < nickelpro> Bukkit is dead, time for my shitty python implementation to take over the world 23:40 < belak> winny: quick question about mcstat... 23:41 < belak> winny: any idea why it appears to wait for the timeout, no matter what? 23:41 < belak> winny: er, with the non-legacy ping 23:44 <+SirCmpwn> if anyone wants to read my thoughts on all this bukkit stuff, and where Craft.Net may go from here, I've posted them on reddit: http://redd.it/2fuhj7 23:46 < belak> I wish it wasn't .net... since that limits it to pretty much only running on windows easily 23:46 <+SirCmpwn> bullshit 23:46 < belak> Hm? 23:46 <+SirCmpwn> I exclusively use linux 23:46 <+SirCmpwn> Craft.Net was built almost entirely on linux 23:47 < belak> Ah, forgot about mono 23:47 < belak> >_< 23:47 < belak> I'm an idiot 23:47 <+SirCmpwn> it's okay, you're forgiven 23:48 < belak> Looks like an interesting project 23:49 < Dhruv0> Spigot is back O-o, somehow evading copyrights 23:52 < iBotPeaches> patching ftw --- Day changed mar. sept. 09 2014 00:00 < Bibl> with c# 00:00 < Bibl> why**** 00:00 < Bibl> ** 00:00 < Bibl> why c# 00:00 < Bibl> or .net or w/e 00:01 < Bibl> why not c or c++ 00:01 <+SirCmpwn> because C# is more easily extensible 00:01 <+SirCmpwn> and because my actual goal was to build this stuff to serve C# developers 00:02 <+SirCmpwn> and Craft.Net is more performant than any other server out there, so no nonsense about performance, please 00:06 <+fragmer> Choice of C# would also allow existing modders (who mostly use Java) to adopt pretty quickly 00:07 <+SirCmpwn> I'm tempted to try something in golang just to see how I like it 00:07 <+SirCmpwn> but the problem with that is that plugins are more difficult 00:08 <+SirCmpwn> C# has got pretty good concurrency, but the memory and CPU footprint is definitely higher 00:09 <+fragmer> It's possible to squeeze rather good performance out of C#. Profile and optimize! :P 00:09 <+SirCmpwn> oh, sure, of course it is 00:10 <+SirCmpwn> but at the end of the day I imagine you would spend a lot less time tweaking code in native languages than in C# and get better results anyway 00:11 <+SirCmpwn> you know that I'm a big supporter of C# but I have to recognize its faults at some point 00:11 <+fragmer> Perhaps. C# has the benefit of a massive standard library and mature tools. Save some time on development, spend some time on tweaking. 00:11 <+SirCmpwn> true 00:11 <+SirCmpwn> the big benefit of the C# route is that Craft.Net already exists 00:11 < belak> SirCmpwn: Go is pretty nice... what do you mean by plugins are difficult? I assume you mean dynamic loading? 00:11 <+SirCmpwn> belak: right. 00:11 < belak> AH 00:12 < belak> I actually like how they implemented sql drivers... it's pretty much a plugin system 00:12 <+SirCmpwn> it's not elegant 00:12 <+SirCmpwn> and it's harder for non-programmers to comprehend 00:12 < belak> What don't you like about it? 00:12 <+SirCmpwn> hell, it's tough for java programmers to comprehend 00:13 <+SirCmpwn> it stil requires recompiling to support a new driver, right? 00:13 <+SirCmpwn> I can't ask your average server admin to know how to compile go code 00:13 < umby24> Personally I'd be willing to contribute to C.N to try and help further this cause, but currently swamped with schoolwork 00:13 < belak> That is true... 00:13 < belak> Shouldn't be that hard to make a shim around go that'll do it for you 00:14 <+fragmer> I'll keep working on fNbt, in slow motion :P 00:14 <+SirCmpwn> I think plugins would best be accomplished with a secondary runtime, like lua 00:14 <+fragmer> I should probably hurry up 00:14 < umby24> -- and I love using Lua so that would be fantastic 00:14 < umby24> But from personal experience, getting something like NLua to work on mono is a pita 00:14 < belak> SirCmpwn: there's otto... it's a js runtime completely in go 00:14 < belak> But lua is a lot nicer... 00:15 <+fragmer> I got caught up in designing/redesigning the API about 30 times over the course of 1.5 years. A case of perfectionism doing more harm than good. 00:15 <+SirCmpwn> fragmer: I've been working on the KnightOS kernel for 4 years and I've rewritten it 3 times, and rewritten entire subsystems countless times 00:15 <+SirCmpwn> you let assembly sit around long enough and you inevitably become disgusted with it 00:16 <+fragmer> Yep heh 00:16 <+fragmer> "What was I thinking? I better scrap this and start over CLEAN." 00:16 <+fragmer> A few hours later "Oh THAT's what I was thinking. I haven't thought of complications/edge-cases. Better take a break and give it a fresh look tomorrow." 00:17 <+fragmer> Repeat 30x 02:16 < dx> SirCmpwn: congratulations you got 1 reddit gold and 50 cents, that should be enough to fund craft.net development for a month, get to work 02:17 <+SirCmpwn> :< 02:17 < Dhruv0> SirCmpwn If that's the case, can I get paid? 02:17 <+SirCmpwn> paid for what? 02:17 < dx> Dhruv0: you can get 1% of SirCmpwn's share, but that's less than one cent so that's nothing 02:17 < Dhruv0> Paid for idling in your channel :P 02:18 <+SirCmpwn> no, you cannot get paid for idling in my channel 02:18 < Dhruv0> dx deal :P 02:18 < dx> SirCmpwn: too late, already paid him 02:18 < Dhruv0> Send the money somewhere where its useful :P 02:19 < dx> actually i've also donated the same amount of money i gave you to 50 different charities 02:19 < dx> don't worry 02:19 < Dhruv0> Lol 02:50 < enchilado> OMG hi SirCmpwn 02:50 < enchilado> How are you 02:51 <+SirCmpwn> hi enchilado 02:51 <+SirCmpwn> I'm doing fine 02:51 <+SirCmpwn> how are you 02:51 < enchilado> Not bad 02:51 < enchilado> Planning to get addicted to caffeine 02:51 <+SirCmpwn> good luck 02:52 < enchilado> ty 03:06 < Drainedsoul> I never understand what people mean by "extensible" and "plug-ins", and what they feel makes this so difficult in unmanaged languages 03:06 <+SirCmpwn> it's not unmanaged langauges that are difficult 03:06 <+SirCmpwn> it's Go. 03:06 < Drainedsoul> o okay, that makes more sense 03:06 < Drainedsoul> I know nothing about Go 03:06 <+SirCmpwn> Go is statically linked and has no means of loading exteranl code 03:07 < Drainedsoul> I was speaking through the C++ lens 03:07 <+SirCmpwn> external* 03:07 < Drainedsoul> Wow that sounds awful 03:07 <+SirCmpwn> it has its advantages 03:07 <+SirCmpwn> like being totally badass at concurrency 03:07 < dx> not even something ugly like dlopen? 03:07 <+SirCmpwn> dx: nope 03:07 < Drainedsoul> how is dlopen ugly? 03:07 < Drainedsoul> I never understand what people mean by "concurrency" either 03:08 < dx> Drainedsoul: ugly to use a whole library through that 03:08 <+SirCmpwn> you have to recompile or use some sort of external interface (RPC or something) to make it work 03:08 < dx> fun 03:08 <+SirCmpwn> it seems (from my research) that most people run a second process and use IPC for "plugins" 03:08 < Drainedsoul> dx: Okay, that's true. I mostly just bootstrap things through dlopen. So it's one call to dlopen/dlsym 03:08 <+SirCmpwn> Drainedsoul: concurrency means the ability to do several things at once 03:08 < Drainedsoul> So what does Go do so much better than say, std::thread or std::async? 03:08 <+SirCmpwn> it's integrated at a syntax level 03:08 <+SirCmpwn> if you want to run a function asyncronously 03:09 <+SirCmpwn> go functionName(...) 03:09 <+SirCmpwn> they also have thread safe communication built in 03:09 <+SirCmpwn> I was playing around with it a while ago, read this code I wrote: https://github.com/SirCmpwn/rubber/blob/master/client/client.go 03:10 <+SirCmpwn> oh, and they manage your thread pool and stuff for you so it's nice and performant 03:11 < Drainedsoul> this suffix type stuff is hard to read 03:11 < Drainedsoul> doesn't Go like, not have generics 03:11 <+SirCmpwn> yeah 03:11 < Drainedsoul> ugh 03:11 <+SirCmpwn> that's painful but you don't really need them 03:11 * SirCmpwn writes a considerable amount of C 03:11 < Drainedsoul> you're trying to tell someone who's fav language is C++ that you don't really need generics 03:11 < Drainedsoul> not going to be successful 03:12 <+SirCmpwn> I write a shitload of C# 03:12 <+SirCmpwn> including a bunch of stuff with generics 03:12 <+SirCmpwn> and I also know C, python, javascript, assembly, and more 03:12 <+SirCmpwn> you don't need generics 03:12 < Drainedsoul> sure, but you don't "need" anything more than the bare minimum needed to qualify for turing completeness either 03:13 < Drainedsoul> if we want to get pedantic 03:13 <+SirCmpwn> I wouldn't really make a minecraft server very strongly type oriented if I were writing it in Go 03:13 < Drainedsoul> what do you mean 03:13 <+SirCmpwn> I mean that I'd use objects to carry state rather than a big old inheritance tree and such 03:13 <+SirCmpwn> and make it mostly procedural 03:14 <+SirCmpwn> concurrent and procedural, but not throwing big heavy typed objects all over the place 03:14 < Drainedsoul> sure 03:14 <+SirCmpwn> that's part of why I like Go, it's got very lightweight types 03:14 <+SirCmpwn> it's almost duck typed but not quite 03:14 < Drainedsoul> I mean you're not going to get disagreement about "big old inheritance" from a C++ developer 03:14 < dx> what are generics and why do i need them? 03:14 < Drainedsoul> :[ 03:14 * dx doesn't do c++ or C# and sucks at java 03:14 < Drainedsoul> http://git.rleahy.ca/MCPP/blob/master/include/mcpp/packetrouter.hpp 03:14 < Drainedsoul> dude TMP 03:15 <+SirCmpwn> TMP? 03:15 < Drainedsoul> Template MetaProgramming 03:15 <+SirCmpwn> eww 03:15 <+SirCmpwn> Template Metaprograming, or how I learned to stop worrying and love cruft 03:15 < dx> hahah 03:15 < dx> you're insulting Drainedsoul's religion 03:16 <+SirCmpwn> well, I don't use enough C++ to have a meaningful conversation about it 03:16 <+SirCmpwn> I know just enough to steer clear of it 03:16 < Drainedsoul> why 03:16 < Drainedsoul> it's fun 03:16 <+SirCmpwn> I prefer C 03:16 < dx> i had to deal with c++ once 03:16 < Drainedsoul> wut 03:17 < Drainedsoul> how can anyone who's seen std::vector prefer C to C++ 03:17 < dx> i'm not sure if it was the language's fault or the author's, but it was just AWFUL 03:17 <+SirCmpwn> because I don't need std::vector 03:17 < Drainedsoul> std::unordered_map? 03:17 < Drainedsoul> std::find_if? 03:17 <+SirCmpwn> you like those things because you are in the mindset of needing those things 03:17 < Drainedsoul> yes 03:17 <+SirCmpwn> you consider your problems and orient your solutions to fit the tools you have 03:17 < Drainedsoul> I program and therefore I need arrays 03:17 < Drainedsoul> O_o 03:17 <+SirCmpwn> C has got arrays 03:18 < Drainedsoul> sure, and you can use them in C++ 03:18 < Drainedsoul> except with type safety etc. 03:18 < Drainedsoul> std::array 03:18 <+SirCmpwn> C is type safe 03:18 < Drainedsoul> >etc. 03:18 < Drainedsoul> std::array knows how big it is 03:18 <+SirCmpwn> you can't seriously claim that introducing generics improves type safety 03:18 < Drainedsoul> nice array-to-pointer decay 03:18 < Drainedsoul> lol 03:18 < Drainedsoul> generics are type safety 03:18 <+SirCmpwn> forget it, I don't want to fight a language war here 03:18 < Drainedsoul> std::sort (generic) or qsort (not generic) 03:19 <+SirCmpwn> is there any way you could come out of this discussion with a different opinion 03:19 < dx> SirCmpwn: what would this channel be without the language wars!? 03:19 < Drainedsoul> std::sort is also faster, which is nice :) 03:19 <+SirCmpwn> dx: quieter 03:19 < dx> welp. 03:19 < Fysac> C? C++? Real programmers write everything in assembly. 03:19 < Drainedsoul> I just don't see what you gain from limiting yourself to only C 03:20 * SirCmpwn has written tens of thousands of lines of assembly :< 03:20 < dx> SirCmpwn: nerd 03:20 * Fysac feels sorry for SirCmpwn 03:20 < Drainedsoul> like what does having to constantly write error prone manual memory/resource management get you? 03:20 * SirCmpwn enjoys writing tens of thousands of lines of assembly 03:20 < dx> SirCmpwn: z80 or something else? 03:20 <+SirCmpwn> mostly z80, yeah 03:20 <+SirCmpwn> Drainedsoul: I'm ignoring you, I said I didn't want to have a language war with you 03:20 < dx> rip 03:21 < Drainedsoul> rofl 03:21 <+SirCmpwn> nip this in the bud before we argue about it for far too long 03:21 < dx> not in the mood huh 03:21 <+SirCmpwn> indeed 03:21 <+SirCmpwn> I'll spend my time looking up cute anime girls instead 03:22 < Dhruv0> Lel 03:22 < dx> absolutely disgusting 03:22 <+SirCmpwn> if you say so 03:22 < dx> also relevant: "Arguing with an engineer is a lot like wrestling in the mud with a pig. After a few hours, you realize that he likes it" 03:23 < Drainedsoul> disagreement is edifying, provided you go about it in the correct way 03:23 < dx> Drainedsoul: it's rarely correct, but still fun 03:23 < Drainedsoul> Depends on your def'n of "correct"? 03:23 < dx> well, how about, "rarely edifying"? 03:23 <+SirCmpwn> in other news, I'm slowly working on redoing sethbling.com in python 03:24 <+SirCmpwn> I did it in C# and ran it on Windows cause seth knows C# and I figured he'd want to be able to tweak it 03:24 < Fysac> Wow. 03:24 <+SirCmpwn> but the costs of hosting things on a windows server is too high and he's not bothering to change things, so off to python it is 03:24 < Drainedsoul> what are you using to build it in python 03:24 <+SirCmpwn> flask 03:24 <+SirCmpwn> <3 flask 03:24 < dx> ...i'm pretty sure seth always knew python 03:25 <+SirCmpwn> nah, he didn't. 03:25 < dx> isn't that what mcedit filters are made of? 03:25 <+SirCmpwn> he used to work at Microsoft on the C# team 03:25 <+SirCmpwn> he only learned python for mcedit, and that was after I made the website 03:25 < dx> oh ok 03:25 < Drainedsoul> I could never get into Python given the lack of curly brackets 03:25 < dx> Drainedsoul: that's easily fixable 03:25 < Drainedsoul> for whatever reason I can't process whitespace-delimited code, it just looks like noise to me 03:25 < dx> from __future__ import braces 03:25 < Drainedsoul> lol 03:26 <+SirCmpwn> I was about to mention that, dx :P 03:26 < Drainedsoul> can I import antigravity as well? 03:26 <+SirCmpwn> http://www.pythonb.org/ 03:26 < dx> Drainedsoul: yes 03:26 < dx> it works, too 03:26 <+SirCmpwn> if you have x running it works 03:26 < dx> although it throws a GLib-CRITICAL warning here 03:26 < dx> what *doesn't* throw a GLib-CRITICAL warning, anyway 03:26 <+SirCmpwn> or if you're in windows when a graphical enviornment is required because some fucking idiot thought that was a good idea 03:27 < Drainedsoul> I never understood that 03:27 < Drainedsoul> even server core has a GUI, minimalistic as it is 03:27 < Drainedsoul> it's just a GUI that opens conhost.exe 03:27 < Drainedsoul> p. bizarre 03:49 <+AndrewPH> SirCmpwn: import antigravity is working fine here, without x installed 03:49 <+SirCmpwn> what does it do? 03:49 <+SirCmpwn> x, wayland, some means of opening a browser 03:49 <+SirCmpwn> I guess you could open lynx or something 03:50 < dx> it uses the webbrowser module 03:50 < dx> which just does some guessing to find an appropriate web browser to launch 03:51 <+AndrewPH> it just opens lynx lol 03:51 <+SirCmpwn> that sounds super helpful for viewing webcomics 03:51 < dx> lol 03:52 <+AndrewPH> well it launches the default web browser, probably 03:52 < dx> open /usr/lib/python2.7/webbrowser.py 03:52 <+SirCmpwn> also, why are you running without x o_O 03:52 < dx> and see it for yourself 03:52 < dx> interesting stuff around line 500 03:53 <+SirCmpwn> >python2.7 03:53 <+SirCmpwn> ishygddt 03:53 < dx> hue 03:53 < dx> well, you definitely have that installed 03:54 <+SirCmpwn> why is w3m the last choice of console browsers 03:54 <+SirCmpwn> it's the only one that supports images 03:55 < dx> lol yes 03:55 < dx> but its image viewer is an awful hack 03:55 <+SirCmpwn> yeah, one that only works on xterm, bleh 03:56 <+SirCmpwn> it's supposed to work on urxvt but does not seem to be working 03:56 < dx> it worked at some point with st because someone wrote a patch for it, but they reverted it because it was causing performance issues for everything else 03:56 < dx> i'm still not sure how it works 03:56 <+SirCmpwn> am I supposed to know someone named ColonelError 03:57 < dx> eh 04:11 < dx> SirCmpwn: oh, just saw ColonelError on reddit, i don't know but their user page says they moderate /r/dcpu16 04:11 * SirCmpwn would like to forget DCPU-16 04:12 < dx> i think even that reddit forgot about it 04:12 < dx> all posts are months ago 04:13 <+AndrewPH> SirCmpwn: without x -> ssh 04:13 <+SirCmpwn> ah. 04:13 <+AndrewPH> or yolo 04:13 <+SirCmpwn> although using ssh does not neccessarily imply not using x 04:13 <+AndrewPH> connecting to wireless networks without x would be interesting 04:13 < winny> belak: hm, it might have a bug in the code 04:13 * dx would like to pretend ssh X forwarding doesn't exist 04:14 * SirCmpwn was using x forwarding earlier today 04:14 < dx> i'm sorry for your loss 04:14 <+SirCmpwn> it's not terrible 04:14 < dx> well it's okay over LAN 04:14 <+SirCmpwn> I used it to run some windows on my work laptop from the comfort of my personal desktop 04:14 <+SirCmpwn> yeah, over LAN 04:14 <+SirCmpwn> with compression and weak+fast crypto 04:14 < winny> why not vnc into an existing x session 04:15 < winny> or nx 04:15 < dx> ssh is better if latency is very low 04:15 <+SirCmpwn> I like making them first class windows that my window manager is responsible for 04:15 < winny> if link is reliable 04:16 < dx> not sure about nx 04:17 < belak> winny: is it just me, or is that actually happening? 04:17 < dx> it's happening 04:17 < winny> :D 04:17 < belak> lol 04:21 < winny> hm 04:21 < winny> I can't reproduce the bahovior 04:22 < winny> I tried with google.com:25565 04:22 < winny> and with localhost:25565 with nc -l 25565 running (unresponsive server) 04:23 < winny> Error pinging google.com:25565 (Operation timed out) 04:23 < winny> Error pinging localhost:25565 (Connection timed out) 04:23 < winny> is there a specific server you are having issues with? 04:24 <+SirCmpwn> who are you talking to, winny 04:25 < winny> belak: ^ 04:27 < belak> winny: specifically on mc servers... https://gist.github.com/belak/94821f129b077a755686 04:28 < winny> nice gist 04:29 < belak> I wish it didn't call it .gitmodules 04:31 < winny> belak: worked on my mac -- https://i.imgur.com/YvaW06B.png 04:32 < winny> a little slow but worked 04:33 < winny> I've noticed that the minecraf_users_ munin plugin I wrote has problems when hosted on a less than 100% reliable internet 04:34 < winny> for example 04:36 < winny> so does it hit the php execution time limit? 06:28 <+SpaceManiac> http://wiki.vg/index.php?title=Main_Page&curid=1&diff=6091&oldid=6087 <- should this be reverted? 06:28 <+SpaceManiac> I don't feel it's appropriate 06:30 < Not-c7fb> [bravo] edunham created branch versions http://git.io/jEZLsA 06:41 <+SirCmpwn> SpaceManiac: I second that motion 06:42 < dx> kill it with fire 06:43 < Not-c7fb> [bravo] edunham pushed 1 commit to master [+0/-0/±1] http://git.io/-TxydQ 06:43 <+SpaceManiac> It is done 06:43 < Not-c7fb> [bravo] E. Dunham 7be5d79 - fix faq link it appears that the faq previously referenced no longer exists. 06:48 < dx> eh https://github.com/kangarko/Rush 06:49 < dx> from the 'contributions' of the person who added those links 06:49 < dx> "server/src/main/java/imported/world/gen" seems legit 06:51 <+SirCmpwn> no license 06:52 <+SirCmpwn> this is decompiled 06:52 * SirCmpwn closes 06:52 < Jckf> There's CraftBukkit bits in there too 06:52 < Jckf> What is this? 06:52 <+SpaceManiac> it's some horrifying amalgation of Bukkit, CB, Spigot, and Glowstone all in one repo 06:52 < dx> and NMS 06:52 < Jckf> The Frankencraft server 06:53 < dx> also "maincraft" is in the credits, whatever that is 07:06 < Not-c7fb> [Glowstone] SpaceManiac pushed 1 commit [+0/-0/±4] http://git.io/do7woA 07:06 < Not-c7fb> [Glowstone] coelho b6a27d4 - Use 16-bit (MC 1.8) block types internally. 07:13 <+SirCmpwn> https://www.reddit.com/r/admincraft/comments/2fuhj7/i_am_a_minecraft_reverse_engineer_here_to_weigh/ckd73tx?context=3 07:13 <+SirCmpwn> discussion starter 07:17 < dx> SirCmpwn: i wonder if that's sarcastic 07:18 <+SirCmpwn> I'm not sure 07:18 <+SirCmpwn> but I don't want to just leave it unanswered 07:19 < Grum> well it is a discussion starter 07:19 < Grum> not sure if it will be the discussion you wanted to start 07:20 <+SirCmpwn> yeah 07:20 <+SirCmpwn> I think Mojang should have kept its nose out of things, even though I don't suport pay to win 07:20 < Grum> i'd like to discuss one part, well two actually, but they come from 1 reply of you 07:20 <+SirCmpwn> but I haven't settled on my stance in this matter yet 07:20 < Grum> we didn't put our nose in anything that wasn't ours to begin with 07:20 <+SirCmpwn> Grum: go ahead 07:21 < Grum> I don't really see how people can still argue against that... 07:21 < Grum> because I have a long history of butting heads with them over technical flaws in Minecraft that they refuse to fix 07:21 < Grum> what things do we refuse to fix? 07:22 <+SirCmpwn> do we have to rehash this? 07:22 < Grum> i'm just curious :/ 07:22 <+SirCmpwn> well, okay 07:22 < Grum> because you haven't really been butting heads at all 07:22 <+SirCmpwn> let me summon up my list of complaints again 07:22 <+SirCmpwn> it's a rare conversation between you and I that feels friendly, Grum 07:23 <+SirCmpwn> anyway, take this with a grain of salt, since I haven't looked at things since about 1.7.5 07:23 <+SirCmpwn> 1. positions are inconsistently encoded, with three floats in some places, three integers in another, four in some places, etc 07:24 <+SirCmpwn> 2. client-to-server and server-to-client packets are designed like they were made by two people, with the same packet having two different IDs, or packets having different structure depending on where they come from... 07:24 <+SirCmpwn> this complicates the hell out of protocol implementations 07:24 <+SirCmpwn> hold on, reviewing a pull request 07:24 < Grum> 1) yes, not trivial to fix though, we need to untangle far more :( 07:25 <+SirCmpwn> anyway, mo' problems 07:25 <+SirCmpwn> entity metadata is nasty. The weird dictionary format in place for it is just filthy 07:25 < Grum> 2) just because the protocol was 'sync' before (and fields abused for multiple purposes because 'the packets had to look the same both ways' doesn't mean when we made it async is 'worse', yes you have to implement more, but why would we truly care for external implementations? 07:26 < Grum> 3) yeah entity metadata is a horrid hack, but until we start tacking entities (which is probably after 1.9 .. i hope before) there is little to do about it 07:26 <+SirCmpwn> well, you don't have to care about external implementations, but clearly I do and it contributes to my feelings about the atmosphere between us when you don't give a shit about them 07:26 <+SirCmpwn> anyway, more problems to talk about 07:27 <+SirCmpwn> stance is totally weird and unneccessary in the first place, but making it even worse is that the packets that include it are very weird depending on which direction they're going 07:27 < Grum> I'm saying that i do not *have* to give a shit, i dislike the protocol as is, but its in a far better state than before 07:27 <+SirCmpwn> and that was even a problem before 1.7 07:27 < Grum> and because its not sync anymore we can do changes far easier 07:27 <+SirCmpwn> I dunno about that. The 1.7 update just shook things up, I don't feel like it fixed much (except for length-prefixed packets, thanks for that) 07:27 < Grum> yes, stance is atrocious, i dont even know what it does 07:27 < dx> what does 'sync' mean in this context? 07:27 < Grum> 1 packet used for two directions 07:27 <+SpaceManiac> stance shenanigans are gone from the protocol in 1.8 to the best of my knowledge 07:28 < Grum> yes, because we finally fixed one HUGE horrible thing in the codebase 07:28 <+SirCmpwn> well, the problem witht the "async" way is that sometimes you have two packets that do the same thing 07:28 < Grum> that the origin of an entity is different on the client vs the server 07:28 <+SirCmpwn> and it makes sense to put them in the same implementation 07:28 < Grum> 'stance' was there to communicate part of that difference 07:28 <+SirCmpwn> but then they could have different packet IDs and things are weird 07:28 < Grum> SirCmpwn: we fully realize that we have duplicate things now 07:28 < Grum> SirCmpwn: but the intention is to get around to clean that up 07:28 <+SirCmpwn> I'm glad to hear it 07:28 < Grum> if we were stuck with a 'sync' protocol there is no trivial way to do so 07:28 <+SirCmpwn> (this is a recent development) 07:28 < Grum> yes 07:28 < Grum> 'recent' but yes 07:29 < Grum> its 1.7, so a year old orso :p 07:29 <+SirCmpwn> 1.7 is a year old? jesus christ 07:29 <+SirCmpwn> where did the time go 07:29 < Grum> you have no idea how many bugs we found when we 'removed stance' 07:29 <+SirCmpwn> anyway, we already had a spat about the JSON chat that I don't really want to rehash 07:29 < Grum> or rather, when we introduced an official 'eyeHeight' on every entity 07:29 <+SirCmpwn> you remember it, I'm sure 07:29 < dx> hard to forget that one 07:30 < Grum> SirCmpwn: we can optimize that later to a custom parsed meta-language 07:30 <+SirCmpwn> are there still several ways of creating particles or sound effects, by the way 07:30 < dx> SirCmpwn: oh btw they finally added compression :P 07:30 < Grum> writing one 'just for the fun of it' ... yeah total waste of time 07:30 < Grum> SirCmpwn: yes, particle system is untouched 07:30 < Grum> also just for the record, i'm extremely unhappy with all the added commands 07:30 <+SirCmpwn> JSON just isn't good to represent that kind of data 07:30 < Grum> json is a good way to represent any structured data 07:30 <+SirCmpwn> JSON represents objects, not a progressively built string 07:30 <+SirCmpwn> it can be hacked around to fill any need 07:31 < Grum> yup, any structured data need 07:31 <+SirCmpwn> but you were so concerned about whether you could blah blah blah 07:31 < dx> SirCmpwn: in that case, you disagree with the structure (nested bullshit), not so much the representation (json) 07:31 <+SirCmpwn> well, sort of 07:31 < Grum> and as we didn't have the time to spend on making another meta-language just for text, this was easiest 07:31 <+SirCmpwn> JSON just isn't a procedural encoding 07:31 <+SirCmpwn> you should be able to rearrange JSON and it should work the same way 07:31 <+SirCmpwn> serialization and such is totally borked 07:32 <+SirCmpwn> anyway, next: the complete mess that is windows 07:32 < Grum> i'd argue that serialization is to much focused on making it small 07:32 < Grum> rather than making it consistent 07:32 <+SirCmpwn> different windows in different locations in different contexts have different slot IDs and tons of weird junk 07:32 <+SirCmpwn> like the fact that I have to rearrange slots in a players inventory when saving them to disk versus sending them on the wire 07:32 < Grum> SirCmpwn: also agreed, we didn't get around finishing the inventory rewrite, that would take care of that 07:33 < Grum> frankly slots should be named 07:33 < dx> i get the feeling SirCmpwn is just enumerating stuff that is buried at some random point of Grum's TODO list 07:33 < Grum> and the server shouldn't know more than the name