23:23 <+md_5> piracetam in my application 23:23 <+md_5> encryption is around 10-20% of cpu usage 23:30 < shoghicp> So, now that I've completed PocketBurger 23:31 < shoghicp> could it be possible to do a site like b.wiki.vg for MCPE? 23:52 <+sadimusi> shoghicp: how about p.wiki.vg? 23:53 < shoghicp> :D 23:53 < wolfmitchell> tehme, whats the repo for yer lib again 23:53 < shoghicp> I've json and html files 23:53 < tehme> https://github.com/tehme/mcprotocol/ 23:54 < tehme> it is broken now 23:54 < tehme> i'll upload a new one soon 23:54 < wolfmitchell> why? 23:54 < shoghicp> tehme: json on a .txt file 23:54 < tehme> some structures do not work 23:54 < wolfmitchell> tehme, o-o the last commit on it was 3 months ago 23:55 < tehme> i can give you lua tables 23:55 <+sadimusi> i'm surprised nobody posted the CoreText-crashing string in all irc channels yet :) 23:55 < shoghicp> I won't do it xD 23:55 < wolfmitchell> tehme, update le git 23:56 < tehme> not today:) 23:57 < tehme> i'll tell you when i'll finish 23:57 < shoghicp> sadimusi: ping me when it is ready ;) 23:58 <+sadimusi> shoghicp: I have to do it? 23:58 < shoghicp> hmm... I'll copy the b.wiki.vg thing then 23:59 < barneygale> tehme: easily fast enough. 23:59 < shoghicp> sadimusi: Then, I'll msg you the IP to point the domain soon 23:59 <+sadimusi> shoghicp: I can do it for you, but definitely not in the next few days 23:59 <+sadimusi> shoghicp: you can do that yourself on afraid.org 23:59 <+sadimusi> shoghicp: or at least you used to be able to --- Day changed ven. août 30 2013 00:00 <+sadimusi> shoghicp: otherwise you have to contact Tk†ech 00:00 < shoghicp> For p.wiki.vg 00:00 < shoghicp> ok :) 00:02 < shoghicp> I'll point it to burger.pocketmine.net while I set up it 00:04 < wolfmitchell> tehme, can you at least create a list of functions and what they will do so I can work on my MC server? 00:07 < tehme> http://rghost.ru/private/48461629/a37d06f2beef42d55cfc492a8cd95ae3 00:07 < tehme> happy debugging:) 00:09 < wolfmitchell> ack, y u no tar.gz >.< 00:09 < tehme> i dunno 00:15 < tehme> yo people 00:15 < tehme> i need help 00:16 < tehme> dump me some 2c please 00:19 <+sadimusi> in what format? 00:20 < tehme> i dont need it anymore 00:20 < tehme> fixed 00:33 < tehme> wolfmitchell: does it work?:D 00:33 < wolfmitchell> idk yet :D 00:35 < wolfmitchell> can't even sit at my computer for 5 minutes without my mom bugging me -_- 00:38 < tehme> lolololo 00:42 < tehme> well 00:42 < tehme> now i can receive almost all messages 00:43 < tehme> and im glad about this 01:23 < Drainedsoul> if there are no auto completes, should an empty 0xCB be sent, no packet, or does it not matter? 02:09 < tehme> just do not answer 02:11 <+Zaneo> Hm? 02:15 < wolfmitchell> tehme, well... 02:15 < wolfmitchell> http://paste2.org/kN0HHnAG 02:20 < wolfmitchell> http://paste2.org/vB26mZje 02:28 < wolfmitchell> tehme, you can comment out line 110 of basemessage.hpp 02:28 < shoghicp> http://burger.pocketmine.net/ 02:29 < wolfmitchell> the variable 'key' is unused 02:29 < shoghicp> supports url hashes, like http://burger.pocketmine.net/#0.7.4pre 02:29 < wolfmitchell> basemessage.hpp:110:11: warning: unused variable ‘key’ [-Wunused-variable] 02:29 < shoghicp> or http://burger.pocketmine.net/#0.6.1_0.7.4pre 02:44 < wolfmitchell> I feel like trying to write my own library 02:44 < wolfmitchell> lol 03:15 < tehme> wolfmitchell: i know 03:15 < tehme> let it be:) 03:16 < tehme> heh, try it 03:17 < tehme> oh lol 03:17 < tehme> errors errors errors 03:18 < shoghicp> TkTech: I would like to point http://burger.pocketmine.net/ to a wiki.vg subdomain, so it can work as b.wiki.bg for the Pocket Edition 03:18 < shoghicp> like p.wiki.vg 03:18 < shoghicp> Anyone knows his timezone? 03:20 < dexter0> He's in Canada, not sure where. 03:20 < shoghicp> he should be at least up 03:20 < shoghicp> thanks 03:21 < shoghicp> sadimusi: http://burger.pocketmine.net/ Your tools work with that too ;) 03:23 < shoghicp> I'll go to bed now 03:23 < shoghicp> #mcdevs never fills my log xD 03:28 < dx> 22:28 [FreeNode] CTCP TIME reply from TkTech: I'm not a clock you know. 03:28 < dx> lol 03:30 < dx> i want to get MCPE but my phone already had awful framerates with the old demo version 03:30 <+Zaneo> shoghicp, It's about 9:30 pm for him 03:30 <+Zaneo> Asumming he isn't out travelling the world 05:16 < Not-009> [FemtoCraft] fragmer * r116 2 files : Lava and Water can now spread over fire/snow. 05:16 < Not-009> [FemtoCraft] fragmer * r117 3 files : Moved CPE code under Networking 05:43 < Not-009> [FemtoCraft] fragmer * r118 4 files : Implementing snow "physics" (1/3): snow now falls to the ground (similar to sand/gravel), and does not stack. 06:04 < Not-009> [FemtoCraft] fragmer * r119 3 files : Implementing snow "physics" (2/3): fire, lava, and magma now melt snow, with a delay of 2 seconds. 06:26 < Not-009> [FemtoCraft] fragmer * r120 3 files : Implementing snow "physics" (3/3): Added snow-physics config line, and "/physics snow" command. 08:03 < Not-009> [FemtoCraft] fragmer * r121 2 files : Fixed snow physics sometimes triggering when off. Sand/gravel now fall through fire blocks. 08:06 < Not-009> [FemtoCraft] fragmer * r122 2 files : Sand/gravel now also fall through and displace snow. 08:21 < Not-009> [FemtoCraft] fragmer * r123 4 files : Added support for BlockPermissions CPE extension. 08:28 < Not-009> [FemtoCraft] fragmer * r124 4 files : Fixed first batch of SetBlockPermission packets not being sent, due to setting IsOp before negotiating CPE. Updated assembly versions. 08:55 < Yoshi2> Drainedsoul: I think no packet should be sent when there is nothing to be auto-completed 10:22 < shoghicp> back 10:34 < JohnVoiden> Hi 14:57 <+sadimusi> shoghicp: did you use BurgerVitrineServer or did you just write your own? 15:04 <+sadimusi> shoghicp: looking at the source answered that question 15:46 < shoghicp> sadimusi: Oh, is there a BurgerVitrineServer? 15:47 < shoghicp> o.O 15:47 <+sadimusi> yes, but it isn't really finished yet 15:47 < shoghicp> I used a simple script 15:47 < shoghicp> to recreate json & html files 15:47 < shoghicp> then, everything is loaded in an iframe 15:49 <+sadimusi> I'm handing in my bachelor's thesis this sunday, afterwards I might continue working on burger 15:49 < shoghicp> I've uni tests the next week xD 15:49 < shoghicp> ok 15:49 <+sadimusi> eventually it would be nice to have both versions on the same site 15:49 < shoghicp> I've it set up on a VPS, and only html files are there 15:50 < shoghicp> If TkTech points b.wiki.vg at it, it will work 15:50 < shoghicp> the only thing is getting the .asm files 15:50 < TkTech> sadimusi: Good luck! 15:50 <+sadimusi> TkTech: thanks 15:51 < shoghicp> p.wiki.vg* 15:51 < TkTech> shoghicp: p.wiki.vg has been CNAME'd since last night 15:51 < shoghicp> :D 15:51 <+sadimusi> shoghicp: BurgerVitrineServer generates all the resources automatically and should also download new releases on its own. as far as I understand that won't be possible with the pocket version 15:51 < shoghicp> works 15:51 < shoghicp> sadimusi: I've to get the asm files manually 15:52 < shoghicp> but everything else is done by an script 15:52 <+sadimusi> what are you using to get the .asm files? 15:52 < shoghicp> IDA output 15:52 < shoghicp> It is specified in the Readme 15:52 < shoghicp> I haven't tryed with other tools yet 15:52 < shoghicp> tried* 15:53 <+sadimusi> I'll have to look into idascript 15:55 < shoghicp> ida in batch mode produces asm output 15:55 < shoghicp> but since you have to get the .so from the apk 15:55 < shoghicp> I decided to do it manually 15:56 < shoghicp> 30 seconds doesn't matter 15:56 <+sadimusi> iirc the apk is just a zip 15:56 < shoghicp> I know 16:26 < nyuszika7h> is it just me or Mojang's Yggdrasil protocol is a bit inconsistent? 16:26 < nyuszika7h> e.g. Method Not Allowed and Not Found vs. ForbiddenOperationException and IllegalArgumentException 16:28 < Flemmard> "a bit" :> 16:28 <+sadimusi> the ForbiddenOperationException is a bit weird 16:28 <+sadimusi> the rest makes kind of sense 16:28 <+sadimusi> and I assume ForbiddenOperationException is just the default error of restlet 17:40 < TkTech> shoghicp: It's ARM right? 17:40 < TkTech> shoghicp: Which ARM, ARM7? 17:40 < shoghicp> ARMv7, yeah 17:42 < TkTech> shoghicp: http://darm.re/ 17:42 < TkTech> shoghicp: #darm 17:42 < shoghicp> Saw that yesterday 17:43 < TkTech> I've actually been in that channel for months, some guys I know from years back. 17:43 < shoghicp> I'll check it after my tests 19:14 < JohnVoiden> How I can restart servers[no crash or oom][using stops] automatically? 19:27 <+sadimusi> JohnVoiden: run them from some kind of supervisor 19:29 < JohnVoiden> Thx :> 19:54 < Not-009> [fCraft] fragmer * r2183 2 files : Fixed an occasional ArgumentNullException in IRC thread. 19:58 < Not-009> [fCraft] fragmer * r2184 12 files : Fixed IRC crashes not being submitted to the crash reporter. Updated assembly versions to 0.643 --- Day changed sam. août 31 2013 00:48 < Not-009> [fCraft] fragmer * r2185 13 files : Merged fixes r2183-2184 from branch-0.60x 00:49 < Not-009> [fCraft] fragmer * r2186 2 files : Fixed MapRaw documentation. 01:28 < Not-009> [FemtoCraft] fragmer * r125 2 files : Updated JetBrains.Annotations to ReSharper 8.0's implementation 03:54 < Snoutmol> i already know some java but how do i start with the modding of the minecraft 04:24 < wolfmitchell> yes yes, ask for help and leave two minutes later 04:27 < Not-009> [FemtoCraft] fragmer * r126 20 files : Code cleanup and annotation/documentation pass. 04:35 < dx> wolfmitchell: well he was clueless and this was the wrong channel, nothing of value was lost 04:35 < wolfmitchell> good point 05:53 < Not-009> [fCraft] fragmer * r2187 22 files : Switching to .NET 4.0 (take two) 06:03 < Not-009> [fCraft] fragmer * r2188 5 files : Switched from using homebrew ConcurrentQueue to System.Collections.Concurrent.ConcurrentQueue 06:45 < Not-009> [fCraft] fragmer * r2189 4 files : Switched from using homebrew BlockingQueue to System.Collections.Concurrent.BlockingCollection 08:21 < Drainedsoul> does anyone know if minecraft.net allows whitespace in usernames? 08:39 < Not-009> [fCraft] fragmer * r2190 2 files : Improved resolution of fCraft's scheduler, for non-background tasks. 08:40 < tehme> yo 08:41 < tehme> when is order y/stance in 0x0D? 08:41 < tehme> and when is stance/y? 08:41 < tehme> whoops 08:41 < tehme> i see now 09:24 < Not-009> [fCraft] fragmer * r2191 210 files : Updated copyright notices, README and LICENSE files, and credits. 09:27 < Not-009> [fCraft] fragmer * r2192 2 files : Included changelog/readme/license in list of protected filenames. Added license file to UpdateBuilder's list. 09:31 < Not-009> [fCraft] fragmer * r2193 11 files : Updated assembly and updater version numbers. 09:33 < Not-009> [fCraft] fragmer * r2194 2 files : Upgraded Doxyfile to 1.8.4 format 11:03 < Nico90> Hello 11:03 < tehme> yo 11:05 < Nico90> Can I make a question about handshake ?:) 11:05 < shoghicp> Just ask ;) 11:07 < Nico90> why 10bytes +lengh string ? I see byte (1 ) + int ( 4 byte) + string + string 11:08 < shoghicp> packet id? 11:08 < shoghicp> 0x02? 11:08 < Nico90> yes sry 11:10 < shoghicp> 0x02 51 0x0005 Notch 0x09 localhost 0x000063dd 11:10 < shoghicp> for the example packet 11:10 < shoghicp> the packet id 11:10 < shoghicp> the protocol (byte) 11:10 < shoghicp> username (short with the length + string) 11:10 < shoghicp> host (short with the length + string) 11:10 < shoghicp> int 11:23 < Nico90> 0x02 = ID (1 byte) , 51= protocol Version ( 1 byte) , 0x0005 = username (notch) 2byte , 0x09 = username's string example (lenght variable), 0x000063dd =localhost(2byte)+string example , server port (4 byte =int) -> 10 byte + lengh?right? 11:23 < shoghicp> yes 11:23 < shoghicp> should work 11:24 < shoghicp> tried it? 11:24 < Nico90> ...I will try it,im just reading theory :) 11:25 < Nico90> thanks 11:25 < shoghicp> :) 11:31 < Nico90> Immm it's wrong 0x0005 and 0x000063dd aren't fixed value 11:32 < shoghicp> that is the length / port 11:39 < Nico90> ah 0x000063dd = comunication port 25565 ok , 0x0005 is the notch's length ? 11:39 < shoghicp> yep 11:52 < Nico90> so i can rewrite my previous statement and try it : 0x02 = ID(1byte), 51=protocol Version(1byte), 0x0005 notch's length(2byte), 0x09=notch's string example(variable length), 0x0006 localhost's length(2byte), 0x3 localhost's example(variable length), 0x000063dd = port (4byte fixed length) 11:53 < Nico90> 10 bytes + length of strings 12:00 < shoghicp> yep 12:03 < Not-009> [fCraft] fragmer * r2195 10 files : Sporadic documentation improvements, particularly in Packet.cs 12:43 < Not-009> [fCraft] fragmer * r2196 4 files : Further sporadic documentation improvements, particularly in Player.cs 13:09 < Not-009> [fCraft] fragmer * r2197 20 files : Cleaning up some unused/obsolete code. 14:03 < shoghicp> Now MCPE supports saving an external server list 15:21 < Not-009> [Charge] Wallbraker pushed 3 commits to master [+1/-0/±2] http://git.io/_cOvGA 15:21 < Not-009> [Charge] Wallbraker 1ad0b44 - gfx: Add shader class and compiler 15:21 < Not-009> [Charge] Wallbraker aacc8f0 - charge: Update test 15:21 < Not-009> [Charge] Wallbraker 0e83c94 - charge: Fiddle with GNUmakefile 17:44 < Nico90> hello 17:44 <+sadimusi> o/ 17:50 < iBotPeaches> \o 17:52 < Nico90> Can you help me about these blank string received from client between protocol version and username fields and between username and ip field? screenshot http://oi40.tinypic.com/25f7ply.jpg :))) 17:53 <+sadimusi> are you even parsing the packet? 17:55 < Nico90> just created a socket to receive any byte from client ( SOCK_STREAM) 17:56 <+sadimusi> and then you just print it? 17:56 < Nico90> yes every character received 17:57 <+sadimusi> well, you have to extract the individual fields somehow 17:57 <+sadimusi> what language are you using? 17:57 < Nico90> C language 17:58 <+sadimusi> I can't really help you with C, but I think there are a few minecraft libraries around 18:01 <+sadimusi> looks like they're all a bit outdated though https://github.com/deoxxa/libmcnet 18:02 < Nico90> Does the client send even the length? or it is just a long stream and I have to extract data. Ok for library .I was trying to learn something about protocol. thx for link 18:02 <+sadimusi> you just get packet after packet 18:03 <+sadimusi> you have to know every packet definition or you won't know where the packet boundary is… 18:03 <+sadimusi> I assume you already read http://wiki.vg/Protocol 18:03 <+sadimusi> and http://wiki.vg/Data_types 18:04 <+sadimusi> and to make things a bit more complex http://wiki.vg/Protocol_Encryption :D 18:04 < Nico90> not last link:) 18:06 <+sadimusi> if you're not really experienced in your language of choice I really don't recommend writing a minecraft protocol library yourself 18:07 < Nico90> what language are you using? 18:07 < Nico90> just courious 18:08 <+sadimusi> mostly python 18:35 < Drainedsoul> what is the name of "pink" now in chat? I send "pink" as a colour and the client crashes out on me saying that's not a known colour 18:35 < tehme> python is heretical 18:35 < tehme> "rosy"? lol 18:37 < Drainedsoul> Nico0[: Why are you choosing to write a new project in C as opposed to C++? 18:37 < Drainedsoul> *Nico90 18:44 < Nico90> I'm studying at school 18:45 < mcat> Ho 18:45 < mcat> Hi* 18:45 < tehme> yo 18:45 < tehme> wazzup 18:45 < mcat> I have a problem with mark2 18:47 < mcat> Is there any feature that allow me to automatically restart a server when it stops automatically? 18:48 < Drainedsoul> I really doubt that you need to know as much C as you'd need to know to parse the MC protocol to succeed at whatever you're doing in school 18:51 < Nico90> I would like learn this proto just for hobby 18:53 < Nico90> I dont understand if client send me the string length or i have to check blank space to trim every data. it is ok this ? http://pastebin.com/1YLpHc8E 18:54 < Nico90> packet ID 0x02 - handshake 18:55 < tehme> Drainedsoul: if you know c bad, this results in if(result == true) return true; else return false; 18:55 < mcat> Anyone? 18:55 < tehme> mcat: idk sorry 18:56 < Drainedsoul> The client sends you the string length. Every string is a UTF-16BE string, prefixed with its length (in code units) as a big-endian 16-bit signed integer 18:57 < Drainedsoul> this is spelled out pretty explicitly here: http://wiki.vg/Data_types 19:31 < mcat> Hello again 19:31 < mcat> Where should i put the script.txt file? 19:32 < mcat> on mark2 19:59 < barneygale> mcat: "scripts.txt" with an "s". needs to go in the same directory as your server jar 20:11 < mcat> Thanks but i didn't get it working 20:11 < mcat> I did something like this: 20:11 < mcat> @serverstop ~restart 20:12 < mcat> To automatically start the server when it closes 20:12 < mcat> But it dont work 20:22 < mcat> No idea? 20:32 < Drainedsoul> http://i.imgur.com/d6Kpxot.png isn't that the truth 20:33 < Yoshi2> gesalzte Quallen 20:34 < Yoshi2> wrong channel >.< 20:40 < pdelvo> :D --- Day changed dim. sept. 01 2013 07:11 < tehme> yo sup 07:11 < tehme> can anyone explain me conception of 20 ticks per second? 07:16 < tehme> does it mean i need to make loop: get start time; take messages; process messages; sleep (50 - start time); go to begin; ? 07:43 < Drainedsoul> I don't think it means that YOU need to do anything, it's just what the vanilla server does 08:10 < Not-009> [fCraft] fragmer * r2198 2 files : Added basic CPE opcode/packet information. 08:26 < Not-009> [fCraft] fragmer * r2199 4 files : Added an enumeration of CPE extensions. 08:49 < Not-009> [fCraft] fragmer * r2200 2 files : Added methods for creating all the CPE packets, and EnvVariable enumeration. 09:17 <+md_5-> tehme yup, thats basically how it works 09:17 <+md_5-> your server doesnt even need to have ticks though 09:19 < Not-009> [fCraft] fragmer * r2201 2 files : Added CPE negotiation (and cleaned up LoginSequence code while I was at it). 13:49 < Not-009> [FemtoCraft] fragmer * r127 7 files : Renamed SpiderWeb to Rope block, per CPE spec change. CobbleSteps now stack into Cobble. 14:13 < tehme> i am about a client 14:13 <+sadimusi> that sentence does not make sense 14:23 <+clonejo> did you mean: "i am above a client"? 14:42 < tehme> no 14:43 < tehme> i was talking about 20 TPS on client 14:44 <+sadimusi> you don't really need ticks on the client 14:44 < tehme> i do to make things simple 14:45 < tehme> something like SDL main loop 14:45 < Not-009> [FemtoCraft] fragmer * r128 6 files : 1.28 release; updated fCraft license; renamed classic-protocol-extension config key to protocol-extension; updated web page. 15:02 < Yoshi2> it really depends on your goals whether keeping close to these 20 ticks per second makes things more simple 15:09 < tehme> well, at least there is 0x0D that i need to send 20 times per second 15:10 < tehme> and i do not want to make a thread for this 15:17 < Yoshi2> you don't need a thread, you just need to check whether 1/20th of a second has passed since the last 0x0D you sent 15:18 <+sadimusi> I would send it more often anway, you can eat and heal much faster ;) 15:23 < tehme> oh 15:23 < tehme> sadimusi: really? O_O 15:24 <+sadimusi> I have a video of it somewhere 15:24 <+sadimusi> here http://www.youtube.com/watch?v=1Ywe_qeIEw0 15:27 < tehme> oh lol 15:29 < tehme> can server ban for this? 15:33 <+sadimusi> a server can ban for anything 15:33 <+sadimusi> but I'm not sure if NoCheat and friends protect against it 19:39 < TkTech> fragmer: You've been busy the last couple of day. 19:39 < TkTech> *s. I'm assuming you're F. 19:44 < Not-009> [Craft.Net] SirCmpwn pushed 1 commit to master [+0/-0/±1] http://git.io/VP-cLg 19:44 < Not-009> [Craft.Net] SirCmpwn f83db2d - Fix typo in README 20:22 < tehme> i love servers run by schoolboys 20:23 < tehme> there are no rules and i know the game better than they:D 22:19 <+fragmer> TkTech, indeed --- Day changed lun. sept. 02 2013 00:06 < tehme> ololololololo 00:07 < tehme> i lured wither into spawn building 00:07 < tehme> waiting for noobs' screams 00:12 <+sadimusi> irgendwie hesch du mit de links chlei gfailet, hesch zwar hyperref importiert aber kei einzigi \url… 00:12 <+sadimusi> oh sorry, completely wrong program o.O 00:13 <+sadimusi> *application 00:19 < tehme> omfg 00:19 <+sadimusi> ? 00:20 < tehme> suddenly german 00:20 <+sadimusi> that's not even really german 00:20 < tehme> what is this? 00:20 <+sadimusi> swiss german 00:21 <+sadimusi> to be more specific, a dialect spoken in Berne 00:22 < tehme> heh 00:22 < tehme> google translate fails on this phrase 00:23 <+sadimusi> obviously 00:23 <+sadimusi> most germans don't understand as at all 00:24 < tehme> lol 00:25 <+sadimusi> just take the word "chlei" from that sentence, it would be "ein bisschen" in german 00:25 < tehme> like russians don't understand ukrainian-russian dialect 00:25 <+sadimusi> which means "a little" 00:25 <+sadimusi> yeah 00:25 < tehme> of our region 00:26 < tehme> and nooooow is BOOST RAPE TIME 00:27 < dexter0> tehme: what are you building? Client or Server? 00:27 < tehme> sadimusi: do you use that fast food cheat in game? 00:27 < tehme> client 00:27 <+sadimusi> tehme: I rarely play and if I do on my own server 00:28 <+sadimusi> tehme: so there's no point in cheating 00:28 < dexter0> tehme: will you be adding game graphics and is it open src? 00:28 < tehme> dexter0: it will be open source:) i hope i will add graphics 00:29 < tehme> for now it is just protocol 00:29 < dexter0> c++? 00:29 < tehme> and attempts to make message callbacks 00:29 < tehme> yes 00:29 < tehme> instead of switch 00:31 < tehme> hey sadimusi, i have a question for you 00:32 <+sadimusi> ask away 00:33 < tehme> do you like this? http://www.youtube.com/watch?v=D1MvfqDReVs 00:33 < tehme> i guess no, because you understand more than me:D 00:34 <+sadimusi> the times I listened to industrial metal are long gone 00:34 < tehme> too old?:) 00:35 <+sadimusi> I guess so 00:35 < tehme> how old? 00:35 <+sadimusi> the text seems to be loosely based on the children's tale "Hänsel und Gretel" but I didn't really listen to the whole thing 00:35 <+sadimusi> 22 00:36 < tehme> not so old 00:37 <+sadimusi> no, but I listen to very different music anyway 00:37 < tehme> for example? 00:38 * sadimusi picks first item from his spotify inbox 00:38 <+sadimusi> http://www.youtube.com/watch?v=fGksXB6a6s0 00:39 <+sadimusi> I listen to a lot of deep house, nu disco, electro, electro swing and jazz 00:39 <+sadimusi> and techno 00:40 < tehme> woob woob 00:41 < tehme> do you like heresy? 00:42 <+sadimusi> never heard of them/him/her 00:42 < tehme> Lucifer, the Light Bearer, urges followers to enjoy life to the full, to value success in human terms, to be gentle and kind and loving, and to live in peace and harmony with one another. 00:42 < tehme> like this 00:42 <+sadimusi> ah, I thought you were referring to an artist :D 00:42 < tehme> i want to see some fanatic's face after reading this:D 00:43 <+sadimusi> I'm not really religious so I don't care 00:43 < tehme> heh 00:45 < tehme> day before yesterday i travelled home by train, and a fucking book seller tried to sell "365 prayers for every day" 00:45 < tehme> i dont know what is situation about this in your country, but in mine it is sad and facepalm 00:46 < tehme> leap year DIVINE EXCEPTION 00:46 < tehme> sorry 00:47 <+sadimusi> since I moved to Zurich I regularly encounter mormon missionaries on public transportation, but so far they've all been very friendly and respected my believes 00:49 <+sadimusi> switzerland isn't a very religious country anyway 00:50 < tehme> mormons... aren't they those guys who allow polygyny? 00:50 <+sadimusi> don't think so 00:50 < tehme> well my country is not religious too 00:51 < tehme> but many people treat religion as magic 00:51 < tehme> they need to be beaten by Bible 00:51 <+sadimusi> for us it's more a tradition 00:52 <+sadimusi> most people still attend special religious ceremonies such as the confirmation (kind of a rite of passage) 00:54 <+sadimusi> but I'm probably going to quit my church as soon as I have to pay taxes for them :D 00:54 < jast> I quit a few years earlier, to avoid forgetting about it or doing it too late :) 00:55 <+sadimusi> I probably should do that as well 00:56 <+sadimusi> the only real downside is that the church won't hold a funeral service for you, but that's sombody else's problem :D 02:46 < tehme> fucking hell 02:47 < tehme> i love c++ 02:47 < tehme> so, let's check sadimusi's cheat 02:54 < tehme> hey sadimusi, if i send more than 20 position packets a second, does food decrease quicker too? 02:55 <+sadimusi> it actually might 02:55 <+sadimusi> just try it out 02:55 <+sadimusi> I only send them while eating or healing 02:58 < tehme> but fucking yeah 02:58 < tehme> it heals instantly on 40 packets per sec 02:59 < tehme> so i can adjust it a bit 02:59 < tehme> and become IMMORTAL KILLAH 03:00 <+sadimusi> you still need a lot of food 03:00 < tehme> ololo 03:00 <+sadimusi> which isn't really a problem 03:00 < tehme> zombie tries to attack tester character 03:00 < tehme> and flies away 03:01 <+sadimusi> try to stand near a cactus while spamming the packets ;) 03:01 <+sadimusi> (spoiler: insta death) 03:01 < tehme> lawl 03:01 < tehme> can i use it against other player? 03:01 <+sadimusi> no 03:02 < tehme> and now... 03:03 < tehme> time to eat and sleep 03:03 < tehme> good night:) 03:03 <+sadimusi> good night 03:45 < stephenmac7> I was wondering if anyone was interested in contributing to a project I'm working on: http://mml.stephenmac.com/ 03:46 < stephenmac7> I'm in need of a designer most 04:04 < Drainedsoul> why do you love C++? 04:05 < stephenmac7> Drainedsoul: It might be a good idea to define who you're talking to 04:05 <+sadimusi> he likes cryptic special characters 04:05 < Drainedsoul> the person who said "fucking hell [...] i love c++" 04:05 < Drainedsoul> which cryptic special characters does C++ have? 04:05 <+sadimusi> all of them? 04:06 < Drainedsoul> how so? 04:06 <+sadimusi> it's been a while since I touched C++, but to me it seemed like C already used all the "normal" characters, so C++ used what was left 04:06 <+sadimusi> kind of like perl 04:07 <+sadimusi> iirc "::", "&" and "~" are all part of the syntax 04:07 < Drainedsoul> ~ and & are part of C's syntax 04:07 < Drainedsoul> bitwise NOT and bitwise AND, respectively 04:08 <+sadimusi> ah right 04:08 < Drainedsoul> C++ just further overloads them, ~ designates a constructor, & means reference to named value, && means reference to unnamed value 04:08 < Drainedsoul> *destructor 04:09 <+sadimusi> I never really got into C++ apart from a few exercises in a computer architecture class 04:09 < Drainedsoul> ah well, that's a shame 04:10 < Drainedsoul> C++ is a yawning abyss waiting to swallow all 04:10 <+sadimusi> :D 04:10 <+sadimusi> who knows what I'll do for a living in a few years, it might include C++… 04:10 < Drainedsoul> I love it. It's got this ridiculous learning curve, but once you've learnt it there's a certainly effortless joy to doing anything that you can't replicate with other languages 04:11 <+sadimusi> well I'm certain there are also things you can do in other languages which you can't in C++ 04:12 < Drainedsoul> I can't think of any. I've never been writing C++ and thought "this would be easier in X language", but I've certainly thought the reverse 04:12 < Drainedsoul> most of the C++ issues revolve around libraries that aren't part of STD 04:13 <+sadimusi> doesn't C++ have pretty poor reflection capabilities? 04:14 < Drainedsoul> well that really depends. "reflection" encompasses a wide range of problems, which specific one are you referring to 04:15 <+sadimusi> there are many things I regularly use in python applications 04:15 < Drainedsoul> such as? 04:15 <+sadimusi> for example dynamic creation of classes 04:15 < Drainedsoul> what problem does that solve 04:16 <+sadimusi> it could for example be used to generate a minecraft protocol implementation 04:16 < Drainedsoul> okay 04:16 <+sadimusi> it could generate the packet classes from a json for example 04:16 <+sadimusi> I guess you could do it at compile time with templates or something 04:17 < Drainedsoul> that's how I parse the MC protocol, is with templates, but dynamic creation of classes in C++ can also be handled with template/memory magic 04:17 < Drainedsoul> my NBT implementation leverages unrestricted unions 04:17 <+sadimusi> what about monkey patching? 04:18 < Drainedsoul> that's not really a language issue, it's a runtime/operating system issue. A way to solve it is to mark pages of memory writable, take the address of a function, and write assembly to its location 04:19 <+sadimusi> sonds sketchy 04:19 <+sadimusi> *sounds 04:19 < Drainedsoul> I think most C/C++ memory analysis tools use it 04:19 < Drainedsoul> I want to say Valgrind does, but I'm not 100% sure on that 04:19 < zml> you can do anything if you just manually modify regions of memory 04:20 <+sadimusi> I guess you can do most things in C++, but I still prefer python since these things are actually pretty easy to implement 04:21 < Drainedsoul> I can't think of any problems I'd solve with monkey patching though. That sounds like an instance where you didn't write X piece of code and need to do Y to it, which is always sketchy 04:22 <+sadimusi> monkey patching is useful if you have a library X which uses another library Y and you want to make X use Z instead 04:22 <+sadimusi> often used example is replacing the socket module 04:23 < Drainedsoul> yeah just sounds sketchy to me. A solution that could be more easily solved by just recompiling X against Z 04:23 < Drainedsoul> alternately you could replace Y with a compatibility wrapper for Z 04:23 <+sadimusi> X and Y are installed independently of your application 04:24 <+sadimusi> might even be part of the standard library as is the case with the socket module 04:24 <+sadimusi> and Y might be urllib 04:25 < Drainedsoul> you could always supply modified versions of them, unless they're not open source in which case you're spiralling more away from languages and more towards licensing 04:26 < Drainedsoul> I debated doing that with libmysqlclient 04:26 <+sadimusi> the beauty of monkey patching is that once you replace the socket module *ever* other library will use your replacement instead 04:27 <+sadimusi> *every 04:27 < Drainedsoul> well again, this sounds like a runtime issue 04:27 < Drainedsoul> I know on Windows you can solve it by getting Z.dll (named Y.dll) to load before X.dll, and then the OS won't try and load Y.dll because it's already in memory 04:28 <+sadimusi> another beautiful thing about monkey patching is that whenever it doesn't work there's almost no way to figure out why :D 04:28 < Drainedsoul> well that's the case with most library issues 04:29 < Drainedsoul> I had a real head scratcher with zlib until I figured out that I needed to just recompile it to get it to work with x64 binaries 04:29 < Drainedsoul> I don't know why everyone is so stuck in the past with their 32-bit binaries 06:52 < TkTech> Drainedsoul: There are many scenarios where 64-bit is both unnecessary and harmful. 06:58 < Drainedsoul> are you talking about 64-bit width integers, or just the idea of targeting x86-64 rather than x86? 06:59 < TkTech> Many older high-performance applications noticed dramatic hits (such as many databases) when they started moving legacy code to x86-64. 07:00 < TkTech> Pointer-heavy applications (like in-memory B+ trees) suddenly used twice the memory. 07:01 < TkTech> Often when there was no real advantage for the use case to have the expanded range of memory, and no real benefit to 64-bit registers. 07:01 < Drainedsoul> well I would think a database -- at least in an enterprise setting -- would benefit massively from more than a 32-bit address range 07:02 < TkTech> Does it? If it's an accounting database designed to hold nothing more than simple numbers never exceeding the limits of a 32bit integer, is the expanded memory range worth the tradeoff of twice the overhead? 07:03 < TkTech> Many database now take advantage of the available memory, but my point was specifically that older software often doesn't. 07:04 < Drainedsoul> well if your accounting database is containing "simple numbers" that are described by a 32-bit integer you have other problems 07:04 < Drainedsoul> :P 07:04 < Drainedsoul> and the overhead is only wrt pointers, you can still opt to use 32-bit sized types on a 64-bit architecture, it's just that things like sizeof(void *) and sizeof(size_t) will be 8 instead of 4 07:05 < TkTech> Pointers are kind of a big deal in databases (and pretty much anything else.) 07:07 < Drainedsoul> clearly, but it's not a factor of 2 overhead -- since not all your data will be pointers or size_t -- and it unlocks that extra memory 07:08 < Drainedsoul> Are you considering the extra memory used to be a "performance hit", or an actual slowdown. 07:15 < TkTech> Actual slowdowns, typically things that you wouldn't have predicted as an issue moving to 64bit. 07:16 < TkTech> http://structureddata.org/2012/06/18/linux-6-transparent-huge-pages-and-hadoop-workloads/ as an example. 07:16 < TkTech> Which was an issue for awhile that made 64bit builds of Postgres and Hadoop useless. 07:20 < Drainedsoul> does this have to do with x86-64 specifically, or just x86-64 Linux 07:22 < TkTech> THP is only active for x86-64 applications on Linux, but the same issue exist(ed) in Windows. Any operation system that takes advantage of huge pages and tries to hide them from applications. 07:24 < TkTech> You never bother to think about page allocation normally, and why would you? They're so small on x86 under all conditions that any impact is negligible. 07:24 < TkTech> Then you get to x86_64 where they can be up to 1GiB. 07:25 < Drainedsoul> I would consider this to fall more under the umbrella of a malformed operating system feature as opposed to a defect in x86_64, personally. 07:26 < TkTech> I haven't claimed any "defects" in x86_64. 07:26 < wolfmitchell> there are no such things as bugs or defects 07:26 < Drainedsoul> The only expectation I would have of performance loss in x86_64 -- as opposed to x86 -- would be fitting fewer contiguous pointers (as in an array) in cache at once 07:26 < wolfmitchell> only horrible features 07:26 < TkTech> You made a comment about not understanding why "everyone is so stuck in the past with their 32-bit binaries". 07:27 < Drainedsoul> well I don't, especially since -- in the Windows world at least -- x86 is under the axe. Correct me if I'm wrong but 32-bit versions of server 2008 R2 and 2012 don't exist? 07:27 < TkTech> I'm trying to point out to you that there are often factors people often do not think of that impact 64-bit applications in the real world. 07:27 < Drainedsoul> I don't doubt there are issues/factors. But I still consider targeting x86 -- and only x86 -- to be an issue 07:28 < TkTech> The cache issue isn't really an issue, the generation leap from x86 to x86_64 usually saw a dramatic increase in L1 and L2 cache sizes. 07:28 < Drainedsoul> well you could always run x86 code on an x86_64 processor to fit those extra pointers in its big cache? :P Unless alignof(void *) on 64-bit platforms is 8 even when running 32-bit code. 07:29 < Drainedsoul> which I doubt but haven't checked 07:31 < Drainedsoul> btw TkTech, is there any way to get a database dump of the wiki? 07:31 <+sadimusi> with all the password? :D 07:32 < Drainedsoul> sadimusi: wot 07:32 <+sadimusi> you can just use mediawiki's export feature 07:32 < Drainedsoul> okay cool 07:32 < Drainedsoul> I just meant the wiki, nothing else. I just want to be able to make an off-line copy when I travel in December T_T 07:32 < TkTech> Drainedsoul: If you just want the content then that's what http://wiki.vg/Special:Export is for. 07:33 < TkTech> And the sister page http://wiki.vg/Special:Import 07:33 < TkTech> You can do that as often as you want, can import over existing history and merge it, and it will export the complete history of edits. 07:35 < Drainedsoul> cool, thanks 08:49 < pdelvo> lol. I just crashed my display driver with playing around with cuda 09:53 < tehme> sadimusi: if it exists, it can be emulated in c++ :) 11:06 < MaximoMinial> Hi guys, I have a question regarding the Set Window Items (0x68) packet, is it possible that the slot data array is empty, despite a positive number of slots (count). Does that mean that all the {count} slots are empty ? 11:10 < MaximoMinial> The last bunch of bytes I could read before end of stream is reached are 68 00 00 2D. It seems to be a 0x68 packet, with 45 slots, which seems fine, but there are no array. Maybe should I wait a bit before reading from the InputStream ? 11:17 < MaximoMinial> Ok i got it, It was a problem with my debug printing from stream method, I was testing if in.read()==-1 after casting to byte, which is the particular reason why read() returns an int 11:25 <+sadimusi> MaximoMinial: what are you building? 11:26 < MaximoMinial> A java event drived Minecraft Client library, mainly for educational purpose, not really to be released to the public 12:12 < tehme> MaximoMinial: maybe you were just disconnected before full packet came 12:15 < MaximoMinial> The issue was resolved as said. The problem was when I encountered a FF byte, it was interpreted as in.read() returning -1 because I was testing the returned value after casting it to byte, and not as a data byte 12:16 < MaximoMinial> in is the InputStream object returned by my java Socket object btw 12:16 <+sadimusi> if you're using streams directly, don't you want to wrap it in a DataInputStream? 12:21 < MaximoMinial> sadimusi: I should, because I was thinking of a InputStream that could throw Exception when reaching end of stream. I will have to re-write the few things I've already made, should not really be a big deal. Thanks for advice ! 12:22 <+sadimusi> if you're on it, just use a BufferedInputStream as well ;) 12:22 <+sadimusi> new DataInputStream(new BufferedInputStream(stream)) works wonders 12:23 <+sadimusi> (is that a saying in english?) 12:29 < MaximoMinial> sadimusi: DataInputStream already inherits from the mark and reset methods that BufferedInputStream adds. Does using a BufferedInputStream add other advantages, like more performance ? (.. "works very well" if you're referring to 'wonder' as the name, "I wonder if .. works" if referring to 'wonders' as the verb ;)) 12:30 <+sadimusi> I looked it up the german saying "wirkt wunder" translates well into english :) 12:31 <+sadimusi> I'm not actually sure what BufferedInputStream does, I've just seen it often in this setup 12:31 <+sadimusi> I'm pretty sure it isn't as good as I originally thought it was 13:04 < barneygale> http://www.reddit.com/r/admincraft/comments/1lkffk/mojang_auth_server_exploit/ 13:05 <+sadimusi> this sounds more like a bug/backdoor in one of their plugins 13:06 < t89> theres been a bit of discussion about auth exploits lately 13:07 < t89> no-ones really sure if it's true yet though 13:08 <+sadimusi> if it is true I certainly hope it's just the implementation being faulty and not the design 13:09 < barneygale> Well 13:09 < barneygale> seems similar to this 13:09 < barneygale> http://www.reddit.com/r/Minecraft/comments/wl0zy/psa_exploit_in_minecraft_login_server_hackers_can/ 13:09 < barneygale> at least in symptoms 13:09 <+sadimusi> have you heard of anything from anywhere else than this forum? 13:09 < barneygale> It /could/ be a rogue plugin. 13:09 < barneygale> No. 13:10 < barneygale> t89 sounds like he has? 13:10 < t89> spigot channel on esper 13:11 <+sadimusi> the conclusions drawn by andrewkm are hardly based on any evidence 13:11 <+sadimusi> two accounts got compromised => "It allows you to login as anyone" & "It currently effects all servers worldwide" 13:11 < barneygale> There might be more evidence he's not letting on 13:12 < barneygale> lemme find him 13:18 < barneygale> Apparently it's real and they're working with mojang to fix it 13:19 < barneygale> 4 or 5 users on their server affected, 5 servers overall 13:19 < barneygale> Still might be a rogue bukkit plugin 13:21 < tehme> yo minecraft is not slowest game in my rating anymore 13:21 < tehme> nowit is fucking league of legends' 13:23 <+sadimusi> what kind of hardware do you have? lol even works on my old macbook flawlessly… 13:23 < t89> if they can logon as any account why would they do it as only mods on his server? 13:23 < t89> and not the owner for example 13:23 <+sadimusi> and why not bigger servers 13:25 <+sadimusi> ok, ecc is reasonably big 13:26 <+sadimusi> but still, the damage was minimal 13:33 < MaximoMinial> It's directly related to the new auth system right ? 14:09 < tehme> yo i need an advice. i have a thread that receives messages and creates sdl event on each packet. how can i make this thread-safe? i thought about copying all received into buffer, but messages are received too frequently, so this buffer will be always locked 14:28 < barneygale> MaximoMinial: if it's real, I'd imagine it's a bug introduced in new auth, yeah 14:54 * sadimusi finally turned in his bachelor's thesis :) 14:54 < jast> yay 14:54 < jast> best of luck with the results! 14:54 <+sadimusi> thanks 14:54 <+sadimusi> it probably turn out very well, but nobody will ever care about that 14:54 <+sadimusi> +won't 15:46 < tehme> how should i check if chat message is complete? 15:46 < tehme> by checking json? 16:06 < barneygale> sadimusi: fyi, this is the auth thing I was talking about earlier: http://www.reddit.com/r/admincraft/comments/1lkr30/auth_bug_in_two_recent_spigot_builds_upgrade_now/ 16:08 < dx> "dem threads are expensive to make" haha 17:38 <+sadimusi> barneygale: looking at a diff of a diff is weird 17:40 < dx> sadimusi: this one is easier than most diffs of a diff, since he's adding the whole patch file 17:40 <+sadimusi> yeah 17:45 < barneygale> sadimusi, yeah haha 17:46 < pdelvo> I hate finding bugs in cuda. Its like: ErrorUnknown: This indicates that an unknown internal error has occurred. and you have no hint whats going wrong 18:08 < tehme> why do tou need cuda? 18:10 < pdelvo> its more like a "because i can" thingy. for fun :D 18:24 <+sadimusi> anybody wants a battlefield 3 key? 18:26 < shoghicp> I have 2 18:27 < shoghicp> sadimusi: Also, good luck with your thesis ;) 18:27 <+sadimusi> thanks 18:28 <+sadimusi> I've been trying a few games from this EA bundle; dead space was really disappointing 18:28 < tehme> FOOOCK YEAH 18:28 < shoghicp> Mirror Edge ;) 18:28 < tehme> i made first version with graphics 18:29 < tehme> it shows hp 18:29 <+sadimusi> shoghicp: I played that one for a bit longer, but it also got quite boring 18:29 < shoghicp> Bought it for that game, then gifted the Sims 3 key to my sister 18:29 < shoghicp> Then, she bought the bundle again xd 18:30 <+sadimusi> shoghicp: Always running away from stuff isn't really fun. and the combat system sucks pretty hard 18:30 <+sadimusi> i really enjoied mirror's edge on the iPad however 18:30 <+sadimusi> *enjoyed 18:31 < shoghicp> I have it on iOS too 18:31 < shoghicp> Anyway, great bundle to get users try Origin 18:34 < tehme> someone show me how you handle chat message 18:37 < pdelvo> It took me over a week to download bf3. I had to download it to my server, and grab it with ftb because origin always resetet my download progress from 98% to 94% 18:39 < shoghicp> My sister took down our home network xD 18:40 < pdelvo> and btw having a look at gpgpu is woth it. I speeded up a image processing tool of a friend by factor 130 :D 18:40 <+sadimusi> at least I can download most of the games within minutes, it lessens the disappointment if they turn out not to be very fun 19:03 < tehme> wtf 19:03 < tehme> sdl2 eats 30% of cpu when minimizes 19:07 < tehme> minimized* 19:29 < tehme> i modified 0x03 19:29 < tehme> added message table 21:44 < TkTech> pdelvo: The sole reason I won't install BF3 on my desktop is because of Origin. Awful, awful software, it's like Steam 6 years ago. 22:22 <+ammar2> I dunno, I installed origin and its not that bad 22:22 <+ammar2> I quit it when I don't need it, fire it up when I need play games 22:22 <+ammar2> steam is still my primary platform 22:22 <+ammar2> s/need/need to/ 22:23 < Drainedsoul> I used Origin once and didn't have any issues, but that's hardly representative 22:39 < Maxime_> The most painful DRM is Game for Windows Live imo, a real painful crap to install. Took me 2h 23:01 < tehme> fock yeah i made callbacks 23:08 < tehme> yoyoyo anyone here? 23:08 < dav1d> I could kill steam right now 23:08 < dav1d> well now it's ok again 23:08 < tehme> what is minimal health value? 23:08 < dav1d> 0 23:08 < jast> :^D 23:08 < tehme> and after?:) 23:08 < dav1d> 0.5 23:09 < dav1d> iirc 23:09 < tehme> so 0.25 can not be? 23:09 < tehme> good 23:09 < dav1d> le me (reddit yay) playing cs:go, cs:go crashes, steam hangs, steam can't connect to the internet (chrome can), cs:go doesn't start, cs:go doesn't load, cs:go banned me for not rejoining the game in time 23:09 < dav1d> :( 23:10 < dav1d> tehme: someone can do 0.25 damage (protection, thorns etc.) but I forgot how that is managed 23:10 < dav1d> also, anyone using windows 8? 23:10 < dav1d> pdelvo: ^ what do you use 23:11 < dav1d> I think it's time to say good bye to my XP 23:11 < tehme> lol 23:11 < tehme> my dumb sister killed XP on my home PC 23:11 < dav1d> (only because I want to use my 8gb of ram, not somewhat above 3gb) 23:11 < tehme> PAE FTW 23:12 < dav1d> tehme: not sure what's so funny about XP, all my fathers computers are still running xp 23:12 < dav1d> for a reason 23:12 < tehme> will you buy windows 7? 23:12 < dav1d> the additional investments for security a worth it 23:12 < dav1d> tehme: or windows 8 23:12 < dav1d> I can buy win 8 for 8 € 23:12 < dav1d> students n' stuff 23:12 < tehme> starter?:D 23:12 < dav1d> so I would actually buy it :o 23:12 < dav1d> tehme: starter? 23:13 < dav1d> na, I think that's ultimate or something 23:13 < tehme> starter edition or something 23:13 < tehme> wow 23:13 < tehme> i remember our university gave visual studio starter for free 23:13 < dav1d> windows 8 pro 23:13 < tehme> now i am a proud pirate 23:13 < dav1d> yeah you can get visual studio for free as well 23:13 < dav1d> I think the fully blown version 23:14 < tehme> i really like that irony 23:14 < tehme> we had course of win api 23:14 < dav1d> "Version: MS Windows 8 x64 Pro" 23:14 < tehme> and visual studio starter can't resources 23:14 < dav1d> Online8.00 EuroDVD5-Image, 3565 MB 23:15 < tehme> so, pirate or gtfo 23:15 < dav1d> or buy it, lol 23:15 < tehme> noway 23:16 < dav1d> "MS Visual Studio Professional 2012" 23:16 < dav1d> 4,5€ 23:16 < dav1d> I think that's ok :P 23:16 < tehme> for you 23:16 < tehme> send me a license:) 23:16 < dav1d> https://iu.zid.tuwien.ac.at/StudentSoftware.onlineStore 23:16 < dav1d> there you go 23:16 < dav1d> :P 23:17 < tehme> http://www.microsoft.com/visualstudio/redir/buy-2012 23:17 < tehme> there is Saint Pierre and Miquelonand no Ukraine 23:17 < tehme> and no Ukraine* 23:17 < dav1d> maybe I really should try that win8, maybe it's not that bad (as it looks) 23:18 < dav1d> tehme: lol, it costs 615€ 23:18 < tehme> get ready to swear at yourself for killing lovely XP 23:18 < tehme> fick 23:18 < dav1d> tehme: but the ram 23:18 < dav1d> does PAE work on xp? 23:18 < tehme> idk 23:18 < dav1d> and if, how do I get it 23:18 < tehme> google? 23:19 < dav1d> I thought you already did that 23:19 < dav1d> oh wow that's easy 23:20 < dav1d> add /PAE to the boot.ini 23:20 < dav1d> msconfig ftw 23:20 < tehme> aaaand BSOD ON STARTUP 23:20 < dav1d> probably :P 23:21 < tehme> do you have anything to boot from and fix that? 23:21 < dav1d> I wonder if xp can even use more than 4GiB 23:21 < dav1d> tehme: yeah, my beloved arch 23:21 < jast> dav1d: not really 23:21 < jast> windows xp 64 bit edition could, I believe 23:21 < tehme> well, try it:) 23:21 < dav1d> jast: so PAE 4GiB and end? 23:21 < dav1d> I don't have a cd for that 23:21 < jast> but that essentially used the kernel from one of the server editions 23:21 < jast> 2003 or something 23:21 < dav1d> ah 23:21 < jast> not terribly compatible with normal xp 23:22 < dav1d> http://msdn.microsoft.com/en-us/library/windows/hardware/gg487503.aspx yep 4GiB 23:22 < tehme> dav1d: flash drive, unetbootin and ubuntu image 23:22 < dav1d> well +~1GiB better than nothing 23:22 < dav1d> tehme: why? 23:22 < dav1d> I have my arch and another arch on an usb stick 23:22 < tehme> and you don't need cd 23:22 < dav1d> why would I use ubuntu 23:22 < tehme> ah 23:22 < dav1d> arch on the same hdd 23:22 < dav1d> multi-boot 23:22 < tehme> wrong read 23:22 < tehme> nevermind 23:23 < dav1d> (and arch beeing the main os) 23:23 < dav1d> but steam likes to eat sooo much ram 23:23 < dav1d> lately 23:23 < tehme> tomorrow it will not 23:23 < tehme> :) 23:23 < tehme> pacman -Syu, iirc 23:23 < tehme> and KERNEL PANIC 23:24 < dav1d> cs:go not available on linux :( 23:25 < tehme> it will be 23:25 < dav1d> lazy valve didn't port source engine 1.5 yet 23:25 < tehme> right after hl3 23:25 < tehme> oh 23:25 < tehme> wtf Gabe 23:25 < tehme> do you like win8 again? 23:26 < tehme> but i saw that they like sdl 23:28 < tehme> damn fuck visual studio 23:28 < dav1d> sdl works 23:28 < tehme> i want to move to something else 23:28 < tehme> but i cant 23:29 < Drainedsoul> why can't you move to not-Visual Studio? 23:30 < tehme> everything else is... uncomfortable 23:30 < Drainedsoul> in what way 23:31 < tehme> not enough features or something 23:31 < Drainedsoul> what kind of "features" are you relying on 23:32 < tehme> i needed showing of const value on mouse hover 23:32 < tehme> only vs can do this 23:32 < Drainedsoul> wat 23:32 < Drainedsoul> you're using your mouse while coding 23:32 < Drainedsoul> doing it wrong 23:32 < tehme> lol 23:32 < tehme> back to dos?:) 23:36 < Drainedsoul> what does DOS have to do with using keyboard shortcuts to increase efficiency 23:37 < tehme> what is keyboard shortcut to see const value?:) 23:38 < jast> M-x show-eval-const 23:38 < jast> super convenient 23:38 < jast> (this is all partially made up) 23:40 < tehme> lol, vim? 23:40 < tehme> too hardcore for me 23:41 < tehme> hell yeah, i moved part of code to other project almost painlessly 23:42 < tehme> refactoring is everything 23:51 < Noskcaj> I'm an ubuntu developer, working on an OS or app designed as an easy to set up server. more details at https://wiki.ubuntu.com/Noskcaj/Ubuntu-Home-Server . One of the main features i'd like is a way to set up a minecraft server, no existing knowldge, CLI or willingness to learn needed. 23:51 < Noskcaj> Is there someone who can help me? 23:52 < Noskcaj> Also, if anyone has a program they'd like to have put in the debian and ubuntu repositories, i can package that for them 23:55 < dx> did i just read "no willingness to learn needed"? 23:56 < Drainedsoul> yes, you did 23:56 < dx> disgusting. 23:56 < Noskcaj> dx, You've probably noticed, the average person doesn't want to have to learn, anything 23:56 < dx> that's the kind of person that i don't want to see as a server admin 23:57 < dx> it might be acceptable if you only allow whitelisted servers though, but if it's open it's a recipe for failure IMo 23:57 < dx> *IMO 23:59 < Noskcaj> ok, that idea has failed. What about the second half, does anyone have stuff worth putting in the repositories? --- Day changed mar. sept. 03 2013 00:01 < Noskcaj> dx, The idea was more aimed at people who want a "just works" server for themselves and a few friends. not a server for many hundreds of people 00:02 <+ammar2> well, the two main utilities we use, burger and mark2 are on the pypi repos. Not really sure if we have something to put on the debian/ubuntu repos 00:03 < dx> Noskcaj: yeah, like i said, whitelisted servers might be okay. it will 'just work' after they add their usernames to the list, while still keeping some security 00:03 < Noskcaj> dx, good idea, if anyone is willing to help with that, that will be a requirement 00:04 < dx> emphasis in *might* 00:04 < dx> some stuff can still go wrong 00:05 < Noskcaj> ammar2, I think i'll try and package mark2, it looks like everything is licensed 00:05 < dx> but hey, mojang is doing minecraft realms with purely vanilla servers, maybe it's not as bad as i think 00:05 <+ammar2> should probably run it by the guys in #mark2 00:05 < Noskcaj> thanks for the channel ammar2 00:24 < tehme> yo Drainedsoul 00:24 < tehme> typedef size_t (*CallbackType)(const protocol::BinaryBuffer&, size_t, ClientInfo&); 00:24 < tehme> what to doif i want to make ClientInfo template? 00:25 < Drainedsoul> what do you mean? 00:26 < Drainedsoul> why are you using function pointers and not std::function 00:26 < tehme> why std function? 00:26 < tehme> i cant use it:) 00:26 < Drainedsoul> because std::function can contain any invokable target 00:27 < tehme> can i store it into map? 00:27 < Drainedsoul> lambdas, bound functions, objects that have operator (), etc. 00:27 < Drainedsoul> yeah it's copy- and move-constructible 00:27 < tehme> thank you, i'll read about it now 00:36 < tehme> well... 00:37 < tehme> MOAR templates! 00:37 < Drainedsoul> if you're going to get into the wonderful world of std::function in C++, you should become familiar with std::bind, variadic templates, and universal references 00:37 < Drainedsoul> ...and you should stop using VS since MSVC++ is a crappy compiler 00:38 < tehme> heh 00:38 < tehme> is std::bind boost::bind? 00:40 < Drainedsoul> I think so, but you're not going to get the full advantages of generic functional programming in C++ without proper support for variadic templates, which I'm pretty sure MSVC++ doesn't support 00:40 < Drainedsoul> Clang and GCC are fine tho 00:40 < Drainedsoul> last time I tried doing variadic templates in MSVC++ it got confused when I tried to put a catch all block inside a variadic template 00:40 < Drainedsoul> so I gave up and switched to GCC 4.8.0 00:40 < Drainedsoul> best decision ever 00:41 < tehme> what ide? 00:41 < Drainedsoul> I just use Notepad++ 00:41 < tehme> lol 00:41 < tehme> masochism included 00:41 < Drainedsoul> I used Notepad++ when I was using MSVC++ tho 00:42 < tehme> why? 00:42 < Drainedsoul> I can't stand VS 00:48 < tehme> oh man 00:48 < tehme> i switched to std::function 00:48 < tehme> and client still works 00:49 < tehme> great success! 00:49 < Drainedsoul> std::function is template magic. 00:49 < tehme> yep 00:49 < tehme> i added limited template magic 00:49 < tehme> i cant make unlimited for now 00:49 < tehme> because no variadic templates 00:50 < Drainedsoul> like half the things I do depend on variadic templates at some level or another 00:50 < tehme> is using some "state object" a good practice? 00:50 < Drainedsoul> ? 00:51 < tehme> http://pastebin.com/TGrpHRY1 00:51 < tehme> like this 00:51 < tehme> all callbacks use it 00:52 < dav1d> these initializer lists 00:52 < dav1d> not sure if great or just ugly and useless 00:52 < Drainedsoul> https://github.com/RobertLeahy/MCPP/blob/master/include/client.hpp 00:52 < Drainedsoul> I would say so, but I may be biased 00:53 < Drainedsoul> what's wrong with initializer lists? 01:00 < dav1d> they are basically useless, only supposed to be syntax sugar (right?) 01:00 < dav1d> but, imo, they only make the code harder to read/understand 01:01 < Drainedsoul> no, they're definitely not useless. If you don't have an initializer list the compiler will default construct all objects in your class before invoking your constructor body 01:01 < Drainedsoul> which can either be inefficient or illegal (if one of the objects you include in your class has a deleted default constructor) 01:02 < dav1d> oh dear 01:02 < Drainedsoul> C++ doesn't allow objects to be unconstructed unless you exploit type punning or unrestricted unions 01:02 < dav1d> so they are needed to compensate for bad language design :> 01:03 < Drainedsoul> how is that bad language design? 01:04 < B3NW_> Hey I'm looking for information on the packets initially sent to the client from the server during connection 01:04 < Drainedsoul> how early in the connection 01:04 < B3NW_> I've got auth etc implemented 01:05 < B3NW_> In a perfect scenario I want to send chunk data and then just the keep alives 01:05 < Drainedsoul> you need to send 0x01 after you encrypt 01:06 < B3NW_> Okay, is there any resource so I can read up on this? 01:06 < Drainedsoul> http://wiki.vg/Protocol_Encryption 01:06 < Drainedsoul> and http://wiki.vg/Protocol_FAQ 01:07 < B3NW_> ahh I missed a section on the FAQ 01:07 < B3NW_> Thanks 01:07 < B3NW_> I should be able to manage it from there :) 01:07 < B3NW_> Ty 01:08 < tehme> dav1d: what is your D equivalent for initializers? 01:08 < dav1d> tehme: there are none, because they are not needed 01:08 < Drainedsoul> how are they not needed 01:09 < dav1d> tehme: because I don't need to initialize in a constructor 01:09 < Drainedsoul> what happens if you don't 01:09 < dav1d> struct Foo { int x = 3; this() {} } 01:09 < dav1d> Drainedsoul: default initializer for int = 0 01:09 < dav1d> int.init = 0 01:09 < dav1d> Drainedsoul | how is that bad language design? 01:09 < dav1d> that was a joke 01:10 < Drainedsoul> the compiler goes and zeroes integers out for you when you just declare them 01:10 < Drainedsoul> that sounds awful 01:10 < dav1d> I don't know enough C++ to judge 01:10 < dav1d> Drainedsoul: by default 01:10 < dav1d> struct Foo { int x = void; } 01:10 < dav1d> x = uninitialized 01:10 < Drainedsoul> so accessing x would be undefined behaviour? 01:10 < dav1d> Drainedsoul: no 01:10 < dav1d> just the contents of X are undefined 01:11 < Drainedsoul> yeah 01:11 < dav1d> not zeroed out memory 01:11 < Drainedsoul> but what happens if you fail to initialize an actual object 01:12 < tehme> CRASH 01:12 < dav1d> Drainedsoul: what is an object for you? 01:12 < dav1d> pointer (class) 01:12 < dav1d> it's by default null 01:12 < dav1d> → do it in a constructor 01:12 < Drainedsoul> an actual object, not a pointer to an object 01:12 < dav1d> struct Foo { Object object; this() { object = new Object(); } } 01:12 < dav1d> Drainedsoul: a class is basically a pointer in D 01:13 < Drainedsoul> oh well 01:13 < dav1d> and Object is the baseclass 01:13 < Drainedsoul> depending on D's target audience I'd call that bad language design 01:13 < dav1d> why? 01:13 < dav1d> you also have that in C++? 01:13 < dav1d> only with syntactic sugar 01:13 < Drainedsoul> because making/accessing objects shouldn't incur heap allocations/indirection 01:13 < Drainedsoul> no we have 01:14 < dav1d> Drainedsoul: then use a struct 01:14 < Drainedsoul> okay so what happens if you fail to initialize a struct 01:14 < dav1d> or allocate the class on the stack 01:14 < Drainedsoul> yeah which is the real question 01:14 < dav1d> Drainedsoul: how can you fail to initialize it? 01:14 < Drainedsoul> struct foo { bar bar; }; 01:14 < Drainedsoul> *Bar bar 01:14 < Drainedsoul> say "Bar" doesn't have a default constructor, what happens? 01:14 < dav1d> you can only fail to initialize the members 01:15 < dav1d> well same what happens with 01:15 < dav1d> void* foo = NULL; foo() 01:15 < Drainedsoul> but I said "Bar bar" not "Bar * bar" 01:15 < Drainedsoul> Bar can't be nullptr 01:15 < dav1d> what is Bar 01:15 < Drainedsoul> another class 01:15 < dav1d> another struct? 01:15 < dav1d> Drainedsoul: a class is a pointer 01:15 < dav1d> it's a reference type 01:16 < Drainedsoul> well let's say it's a struct then. in C++ structs and classes are basically the same, with different default access specifications 01:16 < Drainedsoul> they're not reference types unless you declare them as a pointer or reference 01:16 < dav1d> if bar is a struct, it's the same deal as with foo 01:16 < Drainedsoul> but what if bar can't be default constructed 01:17 < Drainedsoul> it needs arguments to its constructor 01:17 < Drainedsoul> but foo doesn't have a constructor that passes those arguments through 01:17 < dav1d> Drainedsoul: there are two ways 01:17 < dav1d> you can disable the "no constructor" 01:17 < dav1d> so compiler forces you to initialize bar, which means you have to initialize foo as well 01:18 < dav1d> foo's constructor had to initialize bar 01:18 < dav1d> or you don't 01:18 < dav1d> which is not a big deal, because you normally always initialize something you wanna use 01:18 < Drainedsoul> but that's the problem initializer lists exist to solve, they're a way of specifying arguments to constructors of nested objects 01:18 < dav1d> and as long as you have no heap stuff in there, nothing is uninitialized 01:19 < dav1d> Drainedsoul: as I said, I don't know enough C++ to judge that 01:19 < Drainedsoul> because if you allowed something like Foo () { bar=Bar(); } 01:19 < Drainedsoul> you'd run up against two issues 01:19 < dav1d> but I haven't had a problem so far 01:19 < Drainedsoul> 1. The Most Vexing Parse. 01:19 < Drainedsoul> 2. The overload on operator = and construction 01:19 < dav1d> opAssign has to overloads 01:20 < dav1d> one for the "same type" and one "for everything else" 01:20 < Drainedsoul> but in the above instance bar isn't a validly initiliazed object if we didn't have initializer lists and/or default construction before the invokation of the constructor body 01:20 < Drainedsoul> so calling it's operator = would involve UB 01:20 < Drainedsoul> *its 01:21 < dav1d> then just do it manually in your constructor? 01:21 < dav1d> I don't get it 01:21 < dav1d> just initialize it before using it 01:21 < Drainedsoul> how 01:22 < Drainedsoul> there's no syntax for "just initializing" non-reference types other than simply declaring them in C++ 01:22 < dav1d> ctor { this.bar = Bar(); ... other code } 01:22 < Drainedsoul> yeah that would call operator = 01:22 < Drainedsoul> on an uninitiliazed object 01:22 < Drainedsoul> UB 01:22 < dav1d> aha 01:22 < dav1d> that doesn't exist in D 01:23 < Drainedsoul> plus initializer lists are exception safe 01:23 < dav1d> that's defined, because every type has a default initializer, also compiler knows the overloads of types 01:23 < Drainedsoul> but how can every type have a default initializer 01:24 < dav1d> well everything boils down to primitive types 01:24 < dav1d> struct Foo { int x; } 01:24 < dav1d> x has a default initializer (= 0) 01:24 < dav1d> so has Foo 01:24 < dav1d> Foo.init = { 0 } 01:24 < Drainedsoul> but for some objects a "default initializer" just doesn't make sense. If I have an object that needs to have a valid reference to a thread pool to function, what do I do if it's initialized without a thread pool? 01:25 < dav1d> Drainedsoul: you initialize it 01:25 < dav1d> easy as that 01:25 < Drainedsoul> how? I don't have a thread pool 01:25 < dav1d> you can force initialization 01:25 < dav1d> → calling a constructor 01:25 < Drainedsoul> but that constructor won't have a thread pool either 01:26 < dav1d> if your reference to the threadpool is a pointer and there is no other threadpool yet → make a new one in the constructor 01:26 < tehme> lol 01:26 < dav1d> Drainedsoul: just make a new one? 01:26 < Drainedsoul> that might not make sense in the context 01:26 < dav1d> why? 01:26 < tehme> dav1d: do you regret about your c++ joke?:D 01:26 < dav1d> just call this.pool = get_thread_pool() 01:26 < Drainedsoul> let's say the thread pool requires a bunch of callbacks to be provided, to handle asynchronous exceptional events 01:27 < dav1d> get_thread_pool returns an already existing or makes a new one if none exists 01:27 < dav1d> Drainedsoul: and? 01:27 < Drainedsoul> that's assuming I want to use the factory pattern 01:27 < dav1d> then pass a thread pool instance to the constructor 01:27 < dav1d> or pass the arguments for the new threadpool to the constructor 01:27 < Drainedsoul> but then it's not a default constructor, because it takes arguments 01:28 < dav1d> Drainedsoul: as I told you 01:28 < dav1d> you can force initialization 01:28 < Drainedsoul> but what does that do to the internal state of objects? 01:28 < dav1d> I am gonna stop here, what you say is either easily worked around or not valid 01:28 < dav1d> Drainedsoul: it does what you tell it to do 01:29 < Drainedsoul> okay so a File object, initialized without an constructors. What file does it refer to? 01:29 < Drainedsoul> *any arguments to its constructor 01:29 < dav1d> Drainedsoul: ever used QFile? 01:29 < dav1d> I guess not 01:29 < Drainedsoul> that doesn't answer the question 01:29 < dav1d> Drainedsoul: well if you define a new QFile, it doesn't refer to a file either 01:30 < dav1d> as I told you before, either you force initialization or you don't 01:30 < Drainedsoul> so now you have a bunch of special cases to handle 01:30 < Drainedsoul> in case your QFile doesn't refer to a file 01:30 < dav1d> why is this a special case 01:30 < Drainedsoul> in C++ you just delete the default constructor, and then objects that refer to no file cannot exist 01:30 < dav1d> why would a user expect a uninitialized file to use 01:31 < dav1d> apart from that it could be a class which needed to be initialized 01:31 < dav1d> Drainedsoul: I told you 01:31 < dav1d> Drainedsoul: 3 times already 01:31 < dav1d> Drainedsoul: that this is possible as well 01:31 < dav1d> but you either don't seem to listen, or not care 01:31 < Drainedsoul> but then you keep saying you can "force initialization". How can I force initialization of a file object without giving it a file to refer to?