15:13 < ffdr> client can use it fine but I guess it adds diffrent form to hash 15:13 -!- Rudench [shnaw@irc.minecraft.org] has joined #mcdevs 15:15 < ffdr> hmm java getEncoded() is also der ;/ 15:18 < ffdr> is there a way to make minecraft login with minecraft.net when running without launcher? 15:18 -!- Prf_Jako1 [~jakob@c-2b27e155.1214-1-64736c20.cust.bredbandsbolaget.se] has joined #mcdevs 15:18 -!- mode/#mcdevs [+v Prf_Jako1] by ChanServ 15:18 -!- Prf_Jakob [~jakob@c-2b27e155.1214-1-64736c20.cust.bredbandsbolaget.se] has quit [Ping timeout: 264 seconds] 15:18 -!- Prf_Jako1 is now known as Prf_Jakob 15:20 -!- Rudench is now known as Shnaw 15:20 -!- Paprikac_ [~Paprikach@178.112.87.12.wireless.dyn.drei.com] has quit [Ping timeout: 260 seconds] 15:24 -!- Paprikac_ [~Paprikach@178.112.87.12.wireless.dyn.drei.com] has joined #mcdevs 15:28 -!- BizarreCake [~BizarreCa@46.121.251.157] has joined #mcdevs 15:38 < SinZ> AnotherOne: https://github.com/ylt/Resonate/blob/master/src/Resonate/dev/Generate_Packets.py Not sure if that works anymore 15:40 <+sadimusi> ffdr: did you figure out how to do the hash? 15:40 < ffdr> sadimusi: oh 15:41 < ffdr> I just setup minecraft client & my server to print byte arrays on sha1#update 15:41 < AnotherOne> SinZ: looks too easy 15:42 < AnotherOne> i'll try my own monstrous parsing 15:42 <+sadimusi> ffdr: and are you getting the same thing? 15:42 < AnotherOne> and evolude it into regex 15:42 < ffdr> sadimusi: pretty much ;/ 15:43 < ffdr> java prints the server id added to sha1 as nothing, but secret token and public key are same 15:43 <+sadimusi> then you're probably not sending the server id correctly 15:43 < ffdr> so it must be wrong twos complement 15:44 < ffdr> sadimusi: I mean 15:44 < ffdr> it just prints "Updating sha1 with: " 15:44 < ffdr> and then two updates for public key and secret token with correct hex 15:45 < ffdr> on the client side 15:45 <+sadimusi> it probably initializes with the server id 15:45 < ffdr> http://pastebin.com/unPXSSRQ 15:46 <+sadimusi> if you're getting correct values for jeb_, Notch and simon (that's me) it's most likely not your two's-complement implementation 15:47 <+sadimusi> so I'm still going with incorrect oxFC 15:47 <+sadimusi> *0 15:47 < ffdr> sadimusi: i have no idea, i tried everything 15:51 < ffdr> that java debug breaks with servverId string 15:51 < ffdr> printing nothing 15:52 <+sadimusi> maybe I can quickly modify mc3p's client encryption debugger to also work for servers 15:52 < ffdr> ^_^ 15:52 <+sadimusi> It'll look something like this http://cl.ly/POYU 15:53 < ffdr> thats a nice debug 15:53 <+sadimusi> what os are you using? 15:54 < ffdr> my old ruby client debug was even more fancy xD 15:54 < ffdr> arch linux 16:02 -!- BizarreCake [~BizarreCa@46.121.251.157] has quit [Ping timeout: 240 seconds] 16:09 < ffdr> sadimusi: ping me when you make it 16:09 <+sadimusi> I will 16:15 < ffdr> sadimusi: O_O 16:15 <+sadimusi> ffdr: ? 16:15 < ffdr> minecraft is updating sha1 with empty byte array at first 16:15 < dav1d> no 16:16 <+sadimusi> I'm pretty sure it isn't 16:16 < ffdr> it looks weird but this is what my debug hooks prints 16:16 < ffdr> in minecraft client 16:16 < ffdr> no idea why 16:16 < dav1d> https://github.com/Dav1dde/BraLa/blob/master/brala/network/session.d#L92 16:16 < dav1d> works! 16:17 < ffdr> this is what am i doing but hash is diffrent from java one 16:17 -!- BizarreCake [~BizarreCa@46.121.251.157] has joined #mcdevs 16:17 <+sadimusi> I'm still saying you're not sending the server id correctly 16:18 < ffdr> hmmm 16:18 < dav1d> then you're doing it wrong 16:19 < ffdr> sadimusi: what do you think about that => http://pastebin.com/XnHmhDf4 16:19 <+sadimusi> that looks ok 16:19 < ffdr> why the first one is empty 16:19 < ffdr> it was supposed to be server id 16:20 <+sadimusi> [4:17pm] sadimusi: I'm still saying you're not sending the server id correctly 16:20 < ffdr> sadimusi: its minecraft source code 16:21 <+sadimusi> so you're not trying it with your server? 16:21 < ffdr> yeah i am trying 16:22 <+sadimusi> try it with the vanilla server and look if the array is still empty 16:22 <+sadimusi> (spoiler: it isn't) 16:23 < ffdr> ahh you say that i send it wrong in 0xFD 16:23 < ffdr> sorry I didn't understand you 16:24 < ffdr> I think it know where the problem may be *facepalm* 16:24 < ffdr> I know* 16:26 < ffdr> yay 16:26 < ffdr> fixed 16:28 < ffdr> Ported my java project to ruby...java 1632 lines, ruby 231 \o/ 16:36 < ffdr> oh btw it was wrong minecraft strings impl. 16:46 -!- TRocket [~TRocket@213.205.228.98] has joined #mcdevs 16:56 < ffdr> after EncKeyResponse the kick is unencrypted? 16:58 -!- TRocket_ [~TRocket@31.90.162.156] has joined #mcdevs 16:58 -!- TRocket_ [~TRocket@31.90.162.156] has quit [Read error: Connection reset by peer] 16:59 < ffdr> ah ok it is 17:00 -!- TRocket [~TRocket@213.205.228.98] has quit [Ping timeout: 240 seconds] 17:16 < TkTech> sadimusi: Can I suggest the textwrap module for those hex dumps? 17:17 -!- TRocket [~TRocket@82-69-14-167.dsl.in-addr.zen.co.uk] has joined #mcdevs 17:21 <+sadimusi> TkTech: what would be the benefit of using that? 17:21 < TkTech> sadimusi: Easier reading when the rows are aligned to 80 chars, for example. 17:22 <+sadimusi> I already wrap them manually, currently the default is just the window's width 17:23 -!- dexter0 [~dexter0@c-24-23-138-192.hsd1.ca.comcast.net] has quit [Quit: exit(0);] 17:23 <+sadimusi> and I think this module won't let me easily write on two lines at once 17:23 <+sadimusi> oh, the raw bytes are not wrapped 17:23 <+sadimusi> I'll add that 17:24 < TkTech> sadimusi: "Two lines at once", I don't entirely understand that. 17:24 < TkTech> It's specifically for blocks of text, including multiline text. 17:25 < AnotherOne> http://pastebin.com/ysX2DCJt 17:25 < AnotherOne> hell yeah! 17:25 <+sadimusi> every received byte gets written immediately to the "Receiving raw bytes" and the "Decrypted bytes" line 17:26 < TkTech> sadimusi: For example you would use it with initial_indent='\tchallege_token: ', subsequen_indent='\t\t\t' 17:26 < TkTech> (Don't use tabs, but you get the idea. 17:26 <+sadimusi> I might use it for everything else than the LoggingStream 17:27 < TkTech> Oh, sorry, I misunderstood 17:27 < TkTech> Using curses? 17:27 <+sadimusi> yes 17:27 < AnotherOne> i need your advice, people. should i format field names to fieldName before writing to JSON? 17:28 <+sadimusi> why would you have to do that? 17:29 -!- SuinDraw [~NiaTeppel@WiseOS/Founder/NiaTeppelin] has joined #mcdevs 17:29 < AnotherOne> what exactly? 17:29 <+sadimusi> rename the fields 17:30 < AnotherOne> to generate code 17:30 <+sadimusi> I thought you're generating json 17:30 < AnotherOne> and then code from json 17:30 < AnotherOne> i think someone will need packets in JSON 17:30 < AnotherOne> so then i dont need to rename fields 17:31 <+sadimusi> if anything I would reformat it when generating the code 17:31 <+sadimusi> this way everybody can use his own naming scheme 17:32 < AnotherOne> how can i get wiki page source from my application? 17:32 < AnotherOne> it is much easier to parse than html 17:32 <+SirCmpwn> same way you get it through your browser 17:32 <+SirCmpwn> http://wiki.vg/wiki/index.php?title=Protocol&action=edit 17:33 <+sadimusi> I'd use raw instead of edit 17:33 < AnotherOne> raw? 17:33 <+sadimusi> http://wiki.vg/wiki/index.php?title=Protocol&action=raw 17:33 -!- r04r is now known as r04r|away 17:33 <+SirCmpwn> that looks much better 17:34 < AnotherOne> good 17:34 -!- BizarreCake [~BizarreCa@46.121.251.157] has quit [Ping timeout: 245 seconds] 17:34 -!- conehead [~conehead@unaffiliated/conehead] has joined #mcdevs 17:41 -!- kahrl [~kahrl@p5790C241.dip0.t-ipconnect.de] has joined #mcdevs 17:49 -!- Paprikachu [~Paprikach@194-166-35-167.adsl.highway.telekom.at] has joined #mcdevs 17:50 -!- BizarreCake [~BizarreCa@46.121.251.157] has joined #mcdevs 17:53 -!- Paprikac_ [~Paprikach@178.112.87.12.wireless.dyn.drei.com] has quit [Ping timeout: 245 seconds] 18:09 -!- DavidEGrayson [~David@ip70-189-241-7.lv.lv.cox.net] has joined #mcdevs 18:10 -!- yorick [~yorick@oftn/member/yorick] has joined #mcdevs 18:12 < Not-001> [fCraft] fragmer * r2027 2 files : Improved MapGeneratorGui documentation, and disabled auto-resizing while in designer mode. 18:16 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has quit [Ping timeout: 256 seconds] 18:19 -!- umby24|offline is now known as umby24 18:21 -!- unnicked911 [~50e8f3d5@204.155.152.124] has quit [Quit: CGI:IRC (Session timeout)] 18:26 -!- umby24 [~umby24@cpe-66-69-92-104.satx.res.rr.com] has quit [Quit: ZNC - http://znc.in] 18:29 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has joined #mcdevs 18:31 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has joined #mcdevs 18:31 -!- mode/#mcdevs [+v SpaceManiac] by ChanServ 18:31 -!- umby24|offline is now known as umby24 18:34 < Not-001> [netherrack] thinkofdeath pushed 2 commits to master [+3/-0/±10] http://git.io/e77Yvg 18:34 < Not-001> [netherrack] thinkofdeath 8735c00 - Added a new logger which supports colours (windows only) 18:34 < Not-001> [netherrack] thinkofdeath bf163cc - Added linux support for console colours + a fallback for other OSs 18:36 < AnotherOne> wiki is wrong 18:36 < AnotherOne> it breaks my parser 18:36 < AnotherOne> so i will fix wiki 18:41 <+clonejo> AnotherOne: wrong about what? 18:42 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has quit [Read error: Connection reset by peer] 18:43 < AnotherOne> 0x17 18:43 < AnotherOne> small formatting issues 18:43 < AnotherOne> i fixed it 18:43 < AnotherOne> you may look 18:44 -!- Jailout2000 [~Jailout20@unaffiliated/jailout2000] has quit [Read error: Connection reset by peer] 18:45 -!- r04r [~r04r@ip216-86-212-87.adsl2.static.versatel.nl] has joined #mcdevs 18:45 -!- r04r is now known as Guest99831 18:47 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has joined #mcdevs 18:47 -!- mode/#mcdevs [+v SpaceManiac] by ChanServ 18:49 -!- Paprikachu [~Paprikach@194-166-35-167.adsl.highway.telekom.at] has quit [Remote host closed the connection] 18:50 -!- Guest99831 [~r04r@ip216-86-212-87.adsl2.static.versatel.nl] has quit [] 18:50 -!- AlphaBlend1 is now known as AlphaBlend 18:51 -!- r04r|away is now known as r04r 19:01 -!- umby24 is now known as umby24|offline 19:01 -!- BizarreCake [~BizarreCa@46.121.251.157] has quit [Read error: Operation timed out] 19:02 < AnotherOne> moar fixes 19:05 -!- Yoshi2| [~chatzilla@xdsl-87-78-72-187.netcologne.de] has joined #mcdevs 19:07 -!- Yoshi2 [~chatzilla@xdsl-87-78-28-73.netcologne.de] has quit [Ping timeout: 264 seconds] 19:07 -!- Yoshi2| is now known as Yoshi2 19:13 -!- Calinou [~Calinou@unaffiliated/calinou] has joined #mcdevs 19:18 -!- BizarreCake [~BizarreCa@46.121.251.157] has joined #mcdevs 19:26 -!- AlphaBlend1 [~AlphaBlen@pool-173-58-81-210.lsanca.fios.verizon.net] has joined #mcdevs 19:27 -!- AlphaBlend [~AlphaBlen@pool-173-58-81-210.lsanca.fios.verizon.net] has quit [Read error: Connection reset by peer] 19:35 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has quit [Ping timeout: 256 seconds] 19:36 -!- AlphaBlend1 is now known as AlphaBlend 19:47 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has joined #mcdevs 19:48 -!- enchilado [~enchilado@defocus/yummy/enchilado] has quit [Ping timeout: 248 seconds] 19:52 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has quit [Ping timeout: 256 seconds] 19:53 < ffdr> what is default pkcs version used by java? 19:53 < ffdr> for rsa 19:54 <+sadimusi> ffdr: pkcs#1 19:54 < ffdr> hmm 19:55 < ffdr> my server works on mri ruby but on java ruby client can't decode the public key 19:55 <+SirCmpwn> 1.5 19:55 <+SirCmpwn> http://wiki.vg/Protocol_Encryption 19:55 <+SirCmpwn> there's lots of details on this page 19:55 < ffdr> error is somehow related to pkcs 19:55 < ffdr> SirCmpwn: yeah, readed that 19:55 <+SirCmpwn> link to your code 19:56 < ffdr> I can create a quick testcase for this but it looks more like an jruby problem 19:56 < ffdr> I guess it uses other pkcs version as default 19:56 < ffdr> where at mri ruby it works fine 19:57 <+SirCmpwn> I feel your pain, Craft.Net has a Mono-only dependency because Mono has broken crypto support 19:57 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has joined #mcdevs 19:59 < ffdr> is there some easy way to detect pkcs version from byte array key 19:59 < ffdr> in java? 19:59 < ffdr> I want to add some debugs for this in vanilla client 19:59 -!- umby24|offline is now known as umby24 20:01 <+SirCmpwn> md_5 is our java guy 20:03 < shoghicp> Who is the C# guy? 20:03 -!- eddyb [~eddy@unaffiliated/eddyb] has quit [Quit: Konversation terminated!] 20:03 < ffdr> SirCmpwn is D: 20:04 < shoghicp> I've a guy on #mcpedevs asking questions about C# a lot, InusualZ 20:05 -!- umby24 [~umby24@cpe-66-69-92-104.satx.res.rr.com] has quit [Ping timeout: 256 seconds] 20:05 <+SirCmpwn> shoghicp: who? 20:05 < ffdr> oh it looks like there are some classes for every pkcs version 20:05 < ffdr> maybe I can force v1.5 20:05 < shoghicp> SirCmpwn: InusualZ 20:05 <+SirCmpwn> oh, I thought your prior statement was addressing this guy 20:06 <+SirCmpwn> I vaguely remember not liking him. Should I help him? 20:06 < ffdr> uhh only pkcs 5,7 and 12 has its own class 20:06 < shoghicp> He has no idea about how packet works 20:07 < shoghicp> packets* 20:07 < shoghicp> nor binary R/W 20:07 <+SirCmpwn> I'm not particularly good with UDP 20:07 <+SirCmpwn> never done anything with it 20:07 <+SirCmpwn> I did manage to show up in my phone's server list once 20:07 < shoghicp> don't worry, the UDP protocol in MCPE is a TCP-alike implementation 20:08 < shoghicp> I've to handle all the packet reliability myself 20:08 < shoghicp> and splitting packets :s 20:08 < ffdr> SirCmpwn: according to wikipedia PKCS #7 is version 1.5 20:08 -!- TRocket [~TRocket@82-69-14-167.dsl.in-addr.zen.co.uk] has quit [Read error: Connection reset by peer] 20:08 < shoghicp> He did an IRC client 20:15 -!- BizarreCake [~BizarreCa@46.121.251.157] has quit [Ping timeout: 264 seconds] 20:15 < shoghicp> SirCmpwn: thanks ;) 20:15 <+SirCmpwn> I should add PE support to Craft.Net 20:15 <+SirCmpwn> after I add classic support in a week or so 20:16 <+SirCmpwn> huh, I installed the latest PE on my phone and multiplayer seems to have been replaced by realms 20:16 <+SirCmpwn> shoghicp: what is the meaning of this 20:17 < shoghicp> oh, no, go to "Play" 20:17 < shoghicp> local servers now appear there 20:17 <+SirCmpwn> interesting 20:17 <+SirCmpwn> find anything that lets you run PE on a desktop yet? 20:18 < ffdr> ok it looks like pkcs7 is not what i want 20:18 < shoghicp> SirCmpwn: bluestacks, someone had success with it 20:19 <+SirCmpwn> and if I use linux 20:21 < shoghicp> hmm 20:22 < shoghicp> it is only available for Win and Mac 20:22 <+SirCmpwn> trying out androvm 20:22 < ffdr> SirCmpwn: uh are the KEYS in the der format even padded 20:22 <+SirCmpwn> I'd prefer a solution built on virtualbox anyway, afaik bluestacks is an adware-driven piece of shit 20:23 < ffdr> I was thinking only data was padded 20:23 <+SirCmpwn> ffdr: which keys' 20:23 < shoghicp> SirCmpwn: keep in mind that MCPE is ARM 20:23 < ffdr> SirCmpwn: public key send to client 20:23 <+SirCmpwn> shoghicp: asdf 20:27 < ffdr> correct public key is 272 bytes, faulty is 280 bytes 20:28 < ffdr> ah nevermind that* 20:29 < ffdr> I was looking at base64 ones not binary where one implementation was adding RSA after BEGIN 20:30 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has joined #mcdevs 20:30 < ffdr> hmm correct public key in der is 162 bytes and faulty(jruby impl) is actually 140 20:30 < ffdr> weird 20:31 < ffdr> http://stackoverflow.com/questions/4739662/problem-transmiting-a-rsa-public-key-javame-bouncy-castle 20:31 < ffdr> heh, looks like same problem. 162 vs 140 20:33 < ffdr> rsa pkcs #1 is 140 bytes and x509 is 162 20:40 < ffdr> it is BEGIN RSA PUBLIC KEY vs BEGIN PUBLIC KEY where the second one is correct x509 ._. 20:50 < barneygale> ffdr: not sure if this is of use to you https://gist.github.com/barneygale/bc303b2515fdaa7c2fb2 20:50 < barneygale> python snippet that uses M2Crypto 20:56 < dav1d> clonejo: BraLa scripting with https://github.com/maximecb/Higgs ? :D 20:58 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has quit [Ping timeout: 256 seconds] 20:58 -!- Calinou [~Calinou@unaffiliated/calinou] has quit [Quit: Excess Flood] 20:58 -!- dexter0 [~dexter0@c-24-23-138-192.hsd1.ca.comcast.net] has joined #mcdevs 21:01 -!- cathode [~cathode@c-76-105-184-52.hsd1.or.comcast.net] has quit [Read error: No buffer space available] 21:01 -!- cathode|alt [~cathode@c-76-105-184-52.hsd1.or.comcast.net] has joined #mcdevs 21:07 < ffdr> barneygale: it is a bug in java ruby impl. where it exports keys to diffrent format than normal ruby 21:31 < AnotherOne> http://pastebin.com/dbbAdj4L 21:31 < AnotherOne> here is JSON for 0x01 21:31 < AnotherOne> is it ok? 21:31 <+SirCmpwn> AnotherOne: strip out 21:32 < AnotherOne> ok 21:33 -!- Calinou [~Calinou@unaffiliated/calinou] has joined #mcdevs 21:35 < AnotherOne> should i add number of packets field? 21:37 <+SirCmpwn> any JSON library worth its salt can do that 21:37 -!- mappum [~mappum@c-67-170-21-29.hsd1.wa.comcast.net] has joined #mcdevs 21:37 < AnotherOne> mojang thought the same about packet lengths 21:38 <+SirCmpwn> wat 21:38 < AnotherOne> nothing;) 21:58 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has joined #mcdevs 21:59 -!- SuperSpyTX [~SuperSpyT@198.24.160.84] has joined #mcdevs 21:59 < AnotherOne> https://github.com/tehme/mcprotocol/blob/master/packets_json_v01.txt 21:59 < AnotherOne> here it is 21:59 -!- SuperSpyTX [~SuperSpyT@198.24.160.84] has quit [Client Quit] 22:00 < AnotherOne> tell me if you find any wrong data, please 22:07 -!- Yoshi2| [~chatzilla@xdsl-78-35-200-39.netcologne.de] has joined #mcdevs 22:07 -!- eddyb [~eddy@unaffiliated/eddyb] has joined #mcdevs 22:09 <+SirCmpwn> https://github.com/tehme/mcprotocol/commit/ece182f5a9da91efa60731c758f8553656a9579c 22:09 <+SirCmpwn> charming. 22:10 -!- Yoshi2 [~chatzilla@xdsl-87-78-72-187.netcologne.de] has quit [Ping timeout: 264 seconds] 22:10 -!- Yoshi2| is now known as Yoshi2 22:10 <+ammar2> 216 line .gitignore 22:10 <+ammar2> woah 22:11 -!- SuinDraw [~NiaTeppel@WiseOS/Founder/NiaTeppelin] has quit [Quit: Leaving] 22:12 < jast> copied from somewhere, I'm sure 22:12 < AnotherOne> it's all github:) 22:12 < jast> one of them "ALL the dotfiles" repos or something 22:15 -!- Yoshi2| [~chatzilla@xdsl-81-173-139-240.netcologne.de] has joined #mcdevs 22:16 <+SirCmpwn> why does this repo even need a gitignore 22:16 < AnotherOne> because of visual studio project inside 22:17 -!- Yoshi2 [~chatzilla@xdsl-78-35-200-39.netcologne.de] has quit [Ping timeout: 264 seconds] 22:17 -!- Yoshi2| is now known as Yoshi2 22:17 <+SirCmpwn> ah, I just noticed that 22:17 <+SirCmpwn> so your goal is more than just a JSON representation of the wiki 22:18 < jast> yeah, including guidance files, resharper, teamcity, dotcover, ncrunch, installshield, ... it's all in your working tree, of course 22:18 <+SirCmpwn> and to think I was hopeful about this venture 22:18 < jast> along with eclipse project files, 22:18 < jast> oh well 22:19 < AnotherOne> jast: github made this file, not me:) 22:19 <+SirCmpwn> the smiley face at the end isn't an excuse for not reading man pages 22:19 < AnotherOne> it is betted for me not to touch it while im new to git 22:19 < AnotherOne> better* 22:20 < AnotherOne> SirCmpwn: don't you like smiley faces? 22:21 < jast> I don't... I hate them :) 22:22 < AnotherOne> heh 22:36 -!- edlothiol [~edlothiol@95-91-255-238-dynip.superkabel.de] has quit [Remote host closed the connection] 22:47 -!- Yoshi2 [~chatzilla@xdsl-81-173-139-240.netcologne.de] has quit [Quit: ChatZilla 0.9.90 [Firefox 21.0/20130511120803]] 22:48 -!- Yoshi2 [~Yoshi2@xdsl-81-173-139-240.netcologne.de] has joined #mcdevs 23:03 < AnotherOne> finally done 23:03 < AnotherOne> time to learn regex 23:10 < Yoshi2> I wish you lots of fun with regex 23:11 < AnotherOne> was that sarcasm? 23:14 < AnotherOne> i have 2 questions about json packets: is it better to store packet id as "0x.." string or int? should i add link to corresponding packet in wiki? 23:14 < dav1d> makes no difference 23:15 < AnotherOne> why? 23:15 < dav1d> both values have to parsed, int is probably better though because json parser understand that 23:26 < AnotherOne> https://github.com/tehme/mcprotocol/blob/master/src/wiki2json/main.cpp#L46 23:26 < AnotherOne> does anyone know replacement for this? 23:27 < dav1d> wow you did really write this in c++ 23:27 < AnotherOne> yes i did 23:27 < dav1d> 500 lines phew 23:27 < AnotherOne> and without regex 23:28 < AnotherOne> man, fuck python 23:28 < AnotherOne> really 23:28 < AnotherOne> i dont want to fight with own tool to make it work 23:29 < dav1d> if you think blaming the language instead of yourself, that's definitly the correct way to do it 23:30 < AnotherOne> blaming myself? for what? 23:30 -!- umby24|offline is now known as umby24 23:31 < AnotherOne> for laze to fix retarded python-only encoding problems? 23:32 < dav1d> AnotherOne: are you sure that python does that wrong? 23:32 < AnotherOne> yes 23:32 < dav1d> holy shit 23:33 < dav1d> you have a lot to learn 23:33 < dav1d> python does it actually correctly, c++ doesn't, but it doesn't check it either 23:33 < AnotherOne> so i have no problems 23:34 < dav1d> oh dear 23:34 < AnotherOne> i googled about python encodings 23:34 < AnotherOne> and it is a problem 23:34 < dav1d> "python encodings" 23:34 < dav1d> as if python defined its own encodings 23:34 < AnotherOne> people use huge hacks to solve it 23:35 < dav1d> http://docs.python.org/2/howto/unicode.html 23:35 < dav1d> read this, maybe you will understand a bit more than 23:35 < dav1d> there is no hack at all 23:35 < dav1d> show me one of your "hacks" 23:36 < dav1d> (why am I even trying to proof you wrong, you obviously have no idea what you're talking about) 23:36 < AnotherOne> ok, i will read this 23:37 < dav1d> do whatever you like 23:37 < AnotherOne> are you angry? 23:37 < dav1d> what you deal with in C++ are pure bytes not unicode 23:38 < dav1d> python expects the correct encoding, that's the difference, C++ doesn't care in which datatypes your shit is 23:38 < dav1d> which gets you into trouble if you actually have to deal with something else than ascii 23:38 < AnotherOne> pure bytes are enough to parse raw wiki 23:38 < dav1d> because it is ascii 23:38 < AnotherOne> yes 23:39 < dav1d> btw. I honestly don't understand what's so hard about typing: lxml.html.parse('http://wiki.vg'), returns you even unicode 23:39 < dav1d> +xpath 23:39 < AnotherOne> lxml didn't install 23:40 < dav1d> why don't you use the fucking installer 23:40 < AnotherOne> what is installer? 23:40 < dav1d> probably because your python is installed completly wrong 23:41 < dav1d> http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 23:42 <+AndrewPH> story of his life 23:42 < dav1d> y u no have select on files windows :( 23:43 < AnotherOne> blah blah no python in registry 23:43 < AnotherOne> looks like it is really installed wrong 23:43 * dav1d wonders how you can install python on windows incorrectly 23:43 < dav1d> AnotherOne: did you use the installer 23:44 < dav1d> *? 23:44 < AnotherOne> yep 23:44 < dav1d> oh wow, then either your system is uhm strange, or the installer is broken, but both explanations are strange^^ 23:44 < AnotherOne> python is strange 23:44 < dav1d> then don't use it? 23:45 < dav1d> also *you think it is strange 23:45 < AnotherOne> this is what happens when you try to install linux software to windows 23:45 < dav1d> how is this linux software 23:45 < AnotherOne> well, linux-oriented 23:45 < AnotherOne> there are absolutely no problems with pythin 23:46 < AnotherOne> python* 23:46 < AnotherOne> i liked it 23:47 < dav1d> I agree getting used to doing unicode correctly is kinda hard at the beginning, python3 makes it a bit easier, in python 2.6 you can do "from __future__ import unicode_literals" to get this behaviour 23:48 < AnotherOne> mb just use python 3? 23:48 < dav1d> AnotherOne: "mb"? 23:48 < AnotherOne> may be 23:49 < AnotherOne> is that phrase incorrect? 23:50 < dav1d> didn't understand mb 23:50 < dav1d> well no idea how much libraries support Python3, should be quite a lot by now 23:50 < dav1d> (python3 is awesome!) 23:50 < AnotherOne> do you use it? 23:52 < dav1d> 50% 23:52 < dav1d> flask was only recently ported, so, I've had to use python2 23:53 < AnotherOne> flask? 23:54 < dav1d> http://flask.pocoo.org 23:55 < AnotherOne> web python 23:55 < AnotherOne> but why? 23:56 < dav1d> why not? 23:57 < AnotherOne> because there are php, ruby 23:58 < dav1d> I bet you never even looked at ruby 23:58 < dav1d> and php, lol 23:58 -!- Amaranth [~travis@ubuntu/member/Amaranth] has joined #mcdevs 23:58 -!- mode/#mcdevs [+v Amaranth] by ChanServ 23:58 < AnotherOne> right 23:58 < dav1d> you never looked at python if you really consider php over python 23:59 < AnotherOne> i looked at php 23:59 < AnotherOne> and used it 23:59 < AnotherOne> it is designed for web programming 23:59 < dav1d> yes but you can't compare it, because you know nothing else 23:59 < dav1d> php is an abused template-engine --- Day changed sam. juin 08 2013 00:01 < AnotherOne> show me your python site 00:03 < dav1d> it's a private repo 00:03 < dav1d> though what I am currently messing with: https://github.com/Dav1dde/vp 00:05 < AnotherOne> wat is this? 00:05 <+AndrewPH> AnotherOne: youtube.com google.com 00:05 <+AndrewPH> both mostly in python 00:05 < AnotherOne> how do you know? 00:05 < dav1d> AnotherOne: can't you just open a link and read the description? 00:05 <+AndrewPH> http://www.gooli.org/blog/youtube-runs-on-python/ 00:06 < AnotherOne> there is no description 00:06 -!- Calinou [~Calinou@unaffiliated/calinou] has quit [Quit: Excess Flood] 00:06 < dav1d> AnotherOne: http://mail.python.org/pipermail/python-dev/2006-December/070323.html 00:06 < dav1d> AnotherOne: then you should get yourself goggles 00:06 < dav1d> *googgles 00:06 < dav1d> ^(google glass joke) 00:06 < AnotherOne> heh 00:07 < AnotherOne> google glass is a dangerous shit 00:07 <+AndrewPH> not really 00:08 <+AndrewPH> phones are more discreet 00:08 < AnotherOne> i've read about helicopter pilot who used some device for one eye 00:08 -!- eddyb [~eddy@unaffiliated/eddyb] has quit [Quit: Konversation terminated!] 00:08 < AnotherOne> in few years his eyes started to move separately 00:08 -!- Cay [~OlofLarss@s83-177-171-150.cust.tele2.se] has quit [Read error: Connection reset by peer] 00:08 < mappum> that sounds like an urban legend 00:09 <+AndrewPH> AnotherOne: AR tech has varied wildly in the past 00:09 <+AndrewPH> google has the resources to ensure that that won't happen in most cases 00:09 < dav1d> I made Eclipse StackOverflow :D 00:10 < AnotherOne> mappum: there was a video 00:10 < mappum> ah, ok 00:10 < AnotherOne> i'll give link if i find it 00:11 <+AndrewPH> i read about a guy who had a glass-like headset 00:11 <+AndrewPH> he mocked the glass for being low-tech in comparison, but his required surgery to put it on 00:11 <+AndrewPH> so, uh 00:11 <+clonejo> dav1d: I would rather go for Lua. 00:11 < dav1d> clonejo: I wasn't serious :) 00:11 <+clonejo> sure :P 00:11 < dav1d> clonejo: but I think the project is pretty cool 00:12 < mappum> AndrewPH: Steve Mann? 00:12 <+clonejo> dav1d: do they support ecmascript completely? 00:12 <+AndrewPH> mappum: possibly 00:12 <+AndrewPH> also AnotherOne, some reasons that PHP is blegh: http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ 00:13 < dav1d> clonejo: *she 00:13 <+clonejo> nice 00:13 < dav1d> clonejo: I think nearly complete v5 of it 00:13 <+clonejo> cool 00:14 <+AndrewPH> afk chilling with gf for a bit 00:15 < mappum> lol, google glass in the 80s: http://spectrum.ieee.org/img/eye02-620px-1360938048957.jpg 00:16 < AnotherOne> http://a1.ec-images.myspacecdn.com/images02/59/5efae069ca1b4286b5ba8166a6aa4ede/l.jpg 00:17 < mappum> AnotherOne: lol 00:18 < AnotherOne> You pull out the hammer, but to your dismay, it has the claw part on both sides. Still serviceable though, I mean, you can hit nails with the middle of the head holding it sideways. 00:18 -!- Xaardas [~tach@p5B2536C8.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 00:18 < AnotherOne> hahahahahahahaha 00:19 < mappum> someone actually made that hammer in response to that 00:19 < mappum> http://www.codinghorror.com/.a/6a0120a85dcdae970b017742d249d5970d-800wi 00:19 -!- XAMPP [~XAMPP@botters/xampp] has joined #mcdevs 00:22 < AnotherOne> fuck 00:22 < AnotherOne> that article made me cry:D 00:23 -!- shoghicp_ [~shoghicp@77.225.6.14] has joined #mcdevs 00:25 < AnotherOne> hey shoghicp 00:25 < AnotherOne> http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ 00:26 -!- shoghicp is now known as Guest98157 00:26 -!- Guest98157 [~shoghicp@77.225.6.14] has quit [Killed (calvino.freenode.net (Nickname regained by services))] 00:26 -!- shoghicp_ is now known as shoghicp 00:45 -!- yorick [~yorick@oftn/member/yorick] has quit [Remote host closed the connection] 00:51 -!- umby24 is now known as umby24|offline 00:54 < Not-001> [fCraft] fragmer * r2028 5 files : Implemented loading/saving embedded generation parameters from/to map files. Fixed MapFCMv3 losing capitalization of embedded metadata on-load. 01:23 < AnotherOne> i ahve a regex "\\|(.*?)\\n" and string "| Packet ID\n| jajaja\n" 01:23 < AnotherOne> i expect 3 matches: full string, " Packet ID" and " jajaja" 01:23 < AnotherOne> but i get 2 01:24 < AnotherOne> sedond is " Packet ID\n| jajaja" 01:24 < AnotherOne> what is wrong? 01:26 -!- gmazoyer_ is now known as gmazoyer 01:33 < Not-001> [fCraft] fragmer * r2029 2 files : Implemented parameter loading/saving in VanillaMapGen. 01:40 -!- r04r is now known as r04r|away 01:44 <+SirCmpwn> AnotherOne: you shouldn't parse complicated things with regex 01:44 <+SirCmpwn> AnotherOne: you should also learn to choose the appropriate channels to present your questions in 01:46 < Not-001> [fCraft] fragmer * r2030 6 files : Added two new IMapGenerator members: CreateParameters(string presetName):IMapGeneratorParameters and Presets:string[]. Not implemented in any MapGens yet. 01:47 < AnotherOne> it is not so complicated i think 01:48 <+SirCmpwn> AnotherOne: you really shouldn't use it for more than sed and grep, imo 01:48 < AnotherOne> should i continue parsing with string::find? 01:49 <+SirCmpwn> well, in this case, I suppose a regex is probably fine 01:49 <+SirCmpwn> since you don't really need to worry about memory usage or speed 01:49 < AnotherOne> so can you give me a hint? 01:49 <+SirCmpwn> yeah, go to #regex 01:49 <+SirCmpwn> AnotherOne: you should also learn to choose the appropriate channels to present your questions in 01:50 < AnotherOne> well,let's try 01:50 < mappum> AnotherOne: I think you just need more groupings 01:51 < AnotherOne> can you show me an example? 01:54 < mappum> i think you can just add a (.*) to the end if i'm understanding it correctly 01:58 < AnotherOne> it works 01:59 < AnotherOne> so i can't use one my old regex to parse multiple entries in a string? 01:59 < AnotherOne> or do i need to loop parsing? 02:00 < AnotherOne> -one 02:15 -!- lianj [~lianj@subtle/user/lianj] has quit [Ping timeout: 276 seconds] 02:19 -!- conehead [~conehead@unaffiliated/conehead] has quit [Ping timeout: 264 seconds] 02:26 < Not-001> [fCraft] fragmer * r2031 2 files : Implemented preset handling in AddWorldPopup and FlatMapGen. 02:32 < Not-001> [fCraft] fragmer * r2032 2 files : Implemented rudimentary preset handling in VanillaMapGen. 02:55 -!- dexter0 [~dexter0@c-24-23-138-192.hsd1.ca.comcast.net] has quit [Quit: exit(0);] 03:05 -!- barneygale [~barneygal@cpc18-sotn9-2-0-cust33.15-1.cable.virginmedia.com] has quit [Ping timeout: 248 seconds] 03:13 -!- Sabriel [~sharvey@pdpc/supporter/student/sabriel] has quit [Ping timeout: 248 seconds] 03:20 -!- Sabriel [~sharvey@scspc337.cs.uwaterloo.ca] has joined #mcdevs 03:20 -!- Sabriel [~sharvey@scspc337.cs.uwaterloo.ca] has quit [Changing host] 03:20 -!- Sabriel [~sharvey@pdpc/supporter/student/sabriel] has joined #mcdevs 03:24 -!- Yoshi2 [~Yoshi2@xdsl-81-173-139-240.netcologne.de] has quit [Ping timeout: 264 seconds] 03:30 < Not-001> [fCraft] fragmer * r2033 5 files : Improved "Load Preset" and "Import Settings" menus. Fixed broken "Ocean" preset in FlatMapGen. 03:45 -!- TomyLobo [~TomyLobo@91-66-112-147-dynip.superkabel.de] has quit [Quit: Standby mode...] 03:57 -!- Yoshi2 [~Yoshi2@xdsl-87-78-120-218.netcologne.de] has joined #mcdevs 04:03 -!- kcj [~casey@unaffiliated/kcj] has joined #mcdevs 04:13 <+md_5> >"Working on some funstuff today. Mapmakers may like it, and @SethBling will have to revisit one of his previous projects. :D" 04:13 <+md_5> Priorities guys! 04:32 < Not-001> [fCraft] fragmer * r2034 2 files : Implemented rudimentary preset handling to FloatingIslandMapGen 04:37 -!- Yoshi2 [~Yoshi2@xdsl-87-78-120-218.netcologne.de] has quit [Ping timeout: 260 seconds] 04:48 -!- Yoshi2 [~Yoshi2@xdsl-78-35-211-132.netcologne.de] has joined #mcdevs 04:57 -!- dexter0 [~dexter0@c-24-23-138-192.hsd1.ca.comcast.net] has joined #mcdevs 05:16 -!- mapppum [~mappum@c-67-170-21-29.hsd1.wa.comcast.net] has joined #mcdevs 05:19 -!- mappum [~mappum@c-67-170-21-29.hsd1.wa.comcast.net] has quit [Ping timeout: 245 seconds] 05:35 -!- mapppum [~mappum@c-67-170-21-29.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 06:09 -!- conehead [~conehead@unaffiliated/conehead] has joined #mcdevs 06:30 -!- kahrl [~kahrl@p5790C241.dip0.t-ipconnect.de] has quit [Quit: leaving] 06:49 -!- Jailout2000 [~Jailout20@unaffiliated/jailout2000] has joined #mcdevs 07:09 -!- Jailout2000 [~Jailout20@unaffiliated/jailout2000] has quit [Ping timeout: 252 seconds] 07:11 -!- BizarreCake [~BizarreCa@46.121.251.157] has joined #mcdevs 07:44 < AnotherOne> md_5: why not?:) 07:48 -!- BizarreCake [~BizarreCa@46.121.251.157] has quit [Read error: Connection reset by peer] 07:58 < SinZ> md_5: yet another update where it enhances youtubers, and neglets everyone else 08:05 -!- lianj [~lianj@ip-17-145-34-193.static.contabo.net] has joined #mcdevs 08:05 -!- lianj [~lianj@ip-17-145-34-193.static.contabo.net] has quit [Changing host] 08:05 -!- lianj [~lianj@subtle/user/lianj] has joined #mcdevs 08:28 -!- kcj [~casey@unaffiliated/kcj] has quit [Read error: No route to host] 08:43 < AnotherOne> can anyone help me with regex? #regex is silent 08:43 < AnotherOne> i want to parse text, formatted as | text1\n| text2\n and so on. it is unknown how many lines there are. i tried "(:?\\|(.*?)\\n)*", but it gives me only last line in text. using boost::regex. what am i doing wrong? 08:58 -!- shoghicp [~shoghicp@77.225.6.14] has quit [Read error: Connection timed out] 08:58 -!- shoghicp [~shoghicp@77.225.6.14] has joined #mcdevs 09:24 -!- Xaardas [~tach@p5B250CB6.dip0.t-ipconnect.de] has joined #mcdevs 09:29 -!- Cay [~OlofLarss@s83-177-171-150.cust.tele2.se] has joined #mcdevs 09:49 -!- eddyb [~eddy@unaffiliated/eddyb] has joined #mcdevs 09:56 < Grum> AnotherOne: you dont explain what you want to get from that string 09:56 < Grum> because splitting on '|' would just 'do it' 09:57 < Grum> you do not use a regex unless you *need* it :P 10:07 < AnotherOne> splitting you say... 10:07 < AnotherOne> let's try 10:45 -!- Yoshi2 [~Yoshi2@xdsl-78-35-211-132.netcologne.de] has quit [Quit: Bye] 10:46 -!- Yoshi2 [~chatzilla@xdsl-78-35-211-132.netcologne.de] has joined #mcdevs 10:48 < AnotherOne> splitting has its own problems 10:50 < Yoshi2> what problems are you thinking of? 10:54 -!- conehead [~conehead@unaffiliated/conehead] has quit [Quit: Computer has gone to sleep.] 11:03 -!- kcj [~casey@unaffiliated/kcj] has joined #mcdevs 11:08 -!- Yoshi2| [~chatzilla@xdsl-78-35-220-240.netcologne.de] has joined #mcdevs 11:10 -!- Yoshi2 [~chatzilla@xdsl-78-35-211-132.netcologne.de] has quit [Ping timeout: 260 seconds] 11:10 -!- Yoshi2| is now known as Yoshi2 11:12 < AnotherOne> splitting with string delimiter 11:12 < AnotherOne> solved already 11:13 -!- Calinou [~Calinou@unaffiliated/calinou] has joined #mcdevs 11:15 -!- BizarreCake [~BizarreCa@46.121.251.157] has joined #mcdevs 11:38 -!- Yoshi2 [~chatzilla@xdsl-78-35-220-240.netcologne.de] has quit [Quit: ChatZilla 0.9.90 [Firefox 21.0/20130511120803]] 11:47 -!- SuinDraw [~NiaTeppel@WiseOS/Founder/NiaTeppelin] has joined #mcdevs 11:51 -!- barneygale [~barneygal@cpc18-sotn9-2-0-cust33.15-1.cable.virginmedia.com] has joined #mcdevs 12:11 -!- Guest52841 is now known as Me4502 12:11 -!- Me4502 [Me4502@198.143.128.9] has quit [Changing host] 12:11 -!- Me4502 [Me4502@unaffiliated/me4502] has joined #mcdevs 12:16 -!- SuinDraw is now known as TheWiseEyes 12:16 -!- TheWiseEyes is now known as SuinDraw 12:23 -!- shoghicp_ [~shoghicp@77.225.6.14] has joined #mcdevs 12:25 -!- edlothiol [~edlothiol@95-91-255-238-dynip.superkabel.de] has joined #mcdevs 12:27 -!- shoghicp [~shoghicp@77.225.6.14] has quit [Ping timeout: 252 seconds] 12:34 -!- shoghicp_ is now known as shoghicp 12:51 < AnotherOne> http://www.regex101.com/r/eN1aS5 12:51 < AnotherOne> hell yeah 12:51 < AnotherOne> looks like i'm starting to get regex 12:51 < dav1d> AnotherOne: why? 12:51 < AnotherOne> because it works 12:51 < dav1d> this can easily parsed without a regex 12:51 < dav1d> also this regex will break 12:52 < dav1d> .+ is anyways a bad idea, without an end character 12:52 < dav1d> [.^=]+ 12:52 < dav1d> or even 12:52 < dav1d> [.^\(]+ 12:55 < dav1d> that website can't understand this regex lol 12:56 < AnotherOne> maybe you are wrong?:) 12:56 -!- kcj [~casey@unaffiliated/kcj] has quit [Ping timeout: 256 seconds] 12:57 < AnotherOne> \) will follow .+ anyway 12:57 < AnotherOne> so i dont think it needs to be fixed 12:57 < dav1d> AnotherOne: \w[^(]+\(\s*[^)]+\s*\) 12:57 < AnotherOne> well, .+? 12:57 < dav1d> but this could still be better 12:57 < dav1d> of course it needs, except you're parsing only these small chunks at a time 12:58 < barneygale> AnotherOne: good practice with regex is to match the minimum thing you're expecting 12:58 < barneygale> as it's mostly greedy 12:58 < dav1d> what would happen if you regex the whole wiki site at once (as you should do it) 12:58 < AnotherOne> i will not 12:58 < dav1d> then why da fuq are you using a regex? 12:58 < dav1d> split by whitespace, strip out the () done 12:58 < AnotherOne> well 12:59 < AnotherOne> === Chat Message (0x03) === 12:59 < dav1d> faster to develop, faster in runtime, less errors 12:59 < AnotherOne> how shuold i extract "Chat Message" and "0x03"? 12:59 < dav1d> easy lol 12:59 < dav1d> I can do it in a one-liner 12:59 < AnotherOne> enlighten me 12:59 < dav1d> In [5]: '=== Chat Message (0x03) ==='.strip('=').strip().rsplit(None, 1) 12:59 < dav1d> Out[5]: ['Chat Message', '(0x03)'] 12:59 < dav1d> here you go 13:00 < dav1d> removing parens is really trivial 13:00 < dav1d> but I'd use a second line for that 13:00 < dav1d> (still possible in one, with two replaces, but that's ugly) 13:00 < dav1d> _[1][1:-1] 13:00 < barneygale> I'd do it as "=== (.+?) \(0x([0-9A-Z]{2})\) ===" 13:00 < dav1d> In [6]: _[1][1:-1] 13:01 < dav1d> Out[6]: '0x03' 13:01 < dav1d> barneygale: I'd replace " " with \s+ 13:01 < barneygale> why? 13:01 < dav1d> barneygale: it comes from html 13:01 < dav1d> and whitespaces don't matter 13:01 <+md_5> why are we doing this :| 13:02 < dav1d> *with regular expressions 13:02 < dav1d> right, no idea 13:02 < AnotherOne> md_5: why not? 13:06 -!- Calinou [~Calinou@unaffiliated/calinou] has quit [Remote host closed the connection] 13:15 -!- DavidEGrayson [~David@ip70-189-241-7.lv.lv.cox.net] has left #mcdevs [] 13:31 -!- r04r|away is now known as r04r 13:41 -!- kcj [~casey@unaffiliated/kcj] has joined #mcdevs 13:59 -!- TRocket [~TRocket@82-69-14-167.dsl.in-addr.zen.co.uk] has joined #mcdevs 14:16 < Not-001> [netherrack] thinkofdeath pushed 2 commits to master [+0/-0/±6] http://git.io/R68yEQ 14:16 < Not-001> [netherrack] thinkofdeath 38bf8a3 - Fix some deadlock issues on slower machines 14:16 < Not-001> [netherrack] thinkofdeath 9832784 - Snapshot (13w23b) Update (Chat broken currently) 14:18 < Thinkofdeath> With the new system how do you just do a normal message? 14:25 < AnotherOne> i need your advice, people 14:26 < AnotherOne> types in wiki. some are capitalized, others are not. should i convert all types to lower case in my parser or fix wiki? 14:26 -!- TomyLobo [~TomyLobo@91-66-112-147-dynip.superkabel.de] has joined #mcdevs 14:28 < dav1d> fix it in your parser, then in the wiki 14:40 < AnotherOne> is fixing wiki to simplify parser ok? 14:41 < AnotherOne> if fixes are unseen to reader 14:42 < Not-001> [netherrack] thinkofdeath pushed 1 commit to master [+0/-0/±1] http://git.io/RP3AdA 14:42 < Not-001> [netherrack] thinkofdeath eea7c10 - Fixed chat to work with the new system (looks like old colour codes still work) 14:47 -!- yorick [~yorick@oftn/member/yorick] has joined #mcdevs 15:40 -!- BizarreCake [~BizarreCa@46.121.251.157] has quit [Ping timeout: 261 seconds] 15:52 < SinZ> AnotherOne: just set it to lower in your parser 15:52 < AnotherOne> SinZ: i already did it 15:52 < AnotherOne> i meant fixing tables a little 15:53 < SinZ> can only fix something that is broken, and they aint broken 15:53 < AnotherOne> http://www.wiki.vg/wiki/index.php?title=Protocol&diff=3898&oldid=3896 15:54 < AnotherOne> that is what i did 15:58 -!- BizarreCake [~BizarreCa@46.121.251.157] has joined #mcdevs 15:58 < TRocket> hi 16:00 < SinZ> hi 16:00 < TRocket> OpenGL is bleh 16:01 < SinZ> then stick to CLI 16:04 < TRocket> yeah, CLI would be easy (We plan on implemeting this) but, the point of our project is for increased perfomance 16:04 -!- kcj [~casey@unaffiliated/kcj] has quit [Read error: Operation timed out] 16:05 < dav1d> "OpenGL is bleh" → you have to learn a lot 16:08 < TRocket> yup 16:18 -!- act4 [~alex@host86-135-89-50.range86-135.btcentralplus.com] has joined #mcdevs 16:31 -!- kcj [~casey@unaffiliated/kcj] has joined #mcdevs 16:43 -!- Calinou [~Calinou@unaffiliated/calinou] has joined #mcdevs 16:51 -!- kcj [~casey@unaffiliated/kcj] has quit [Ping timeout: 264 seconds] 17:06 -!- Prf_Jakob [~jakob@c-2b27e155.1214-1-64736c20.cust.bredbandsbolaget.se] has quit [Ping timeout: 256 seconds] 17:07 -!- Prf_Jakob [~jakob@c-2b27e155.1214-1-64736c20.cust.bredbandsbolaget.se] has joined #mcdevs 17:07 -!- mode/#mcdevs [+v Prf_Jakob] by ChanServ 17:16 -!- Calinou [~Calinou@unaffiliated/calinou] has quit [Quit: Excess Flood] 17:30 < Thinkofdeath> Anyone know why the player's walking speed is extremely fast on the snapshot? (On my server) 17:34 <+SirCmpwn> which snapshot? 17:35 <+SirCmpwn> 13w23a? 17:35 < Thinkofdeath> yep 17:35 < Thinkofdeath> well b 17:35 <+SirCmpwn> walking speed did change to a float 17:35 <+SirCmpwn> also, tell me everything you know about the latest protocol version 17:36 < Thinkofdeath> Yeah I changed that but I never sent it anyway 17:36 < Thinkofdeath> Also the changes https://github.com/NetherrackDev/netherrack/commit/9832784c1a523afb2d3e527105e9ee71272dad16 17:37 -!- Yoshi2 [~chatzilla@xdsl-81-173-162-180.netcologne.de] has joined #mcdevs 17:37 <+SirCmpwn> Thinkofdeath: you don't just have to change it to a float, you change it to a float and divide by 250 from the old value 17:37 <+SirCmpwn> try sending it, maybe it won't work right without 17:38 < Thinkofdeath> Tried sending it but only the flying speed part works 17:38 < Thinkofdeath> walking speed doesn't change anything 17:38 <+SirCmpwn> what value did you send? 17:38 < Thinkofdeath> 0.05 for flying and 0.1 for walking 17:39 <+SirCmpwn> interesting 17:54 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has quit [Ping timeout: 256 seconds] 18:20 < Thinkofdeath> SirCmpwn: Changing it does change the fov just not the speed. Not sure whats going on 18:20 <+SirCmpwn> I don't have a functional 13w23b server at the moment, so you're going to have to figure it out yourself 18:21 < Thinkofdeath> damn ok then 18:26 -!- bartbart333 [5065d53c@gateway/web/freenode/ip.80.101.213.60] has joined #mcdevs 18:30 < bartbart333> Hey 18:30 < bartbart333> Can anybody help me 18:30 < bartbart333> I'm trying to make a minecraft client 18:32 < mbaxter> ok? 18:32 < mbaxter> What's your question 18:33 < bartbart333> How can i connect to a minecraft server 18:34 -!- Cay [~OlofLarss@s83-177-171-150.cust.tele2.se] has quit [Read error: Connection reset by peer] 18:35 < bartbart333> I read the protocol but i don't know how to send the packets 18:35 < bartbart333> btw i'm using java 18:36 < Thinkofdeath> http://docs.oracle.com/javase/tutorial/networking/sockets/ might help 18:36 < bartbart333> I already have a socket and a data in and outputstream 18:38 -!- mh0 is now known as clop0 18:39 < bartbart333> but what do i need to do now 18:40 <+SirCmpwn> learn more about computer science 18:40 -!- clop0 is now known as mh0 18:41 < bartbart333> I do know a lot about computers 18:41 <+SirCmpwn> apparently not enough 18:41 <+SirCmpwn> minecraft is complicated and badly designed 18:41 <+SirCmpwn> if you can't answer your question yourself, you aren't prepared to work with Minecraft 18:42 < barneygale> bartbart333: MC is a bad way to learn network programming. You're diving in at the deep end. 18:43 < bartbart333> I already made a chat program in java so i know how to work with networking but i don't know how to work with a minecraft server 18:44 < barneygale> Why not? What problem are you having? 18:44 < bartbart333> When you connect to the server you need to do writeByte(0x02); 18:44 < bartbart333> I think 18:44 <+SirCmpwn> if you're doing that, you probably won't succeed 18:44 < barneygale> bartbart333: yeah that's right 18:45 <+SirCmpwn> there are more than a hundred packets, you should be making some kind of system to write them for you 18:45 < barneygale> though later on you'll need to write a more high-level definition of packets 18:45 <+SirCmpwn> instead of manually doing writeByte(0x02) on login, you should probably be doing writePacket(new LoginPacket(...)) 18:46 < bartbart333> Yeah i know but i'm in a very early stage with this project so thats something i need to do when i know how minecraft works 18:46 < barneygale> that's fine. that's how most folks start 18:48 < bartbart333> but what do i need to do next i think i need to send the protocol id, username, ip and port but how 18:48 < Thinkofdeath> bartbart333: http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html 18:48 < barneygale> bartbart333: http://wiki.vg/Data_Types 18:50 < Not-001> [Craft.Net] SirCmpwn pushed 1 commit to refactoring [+0/-0/±1] http://git.io/RWHh1g 18:50 < Not-001> [Craft.Net] SirCmpwn a7b062a - Fixed inventory bug related to placing blocks 18:50 -!- Calinou [~Calinou@unaffiliated/calinou] has joined #mcdevs 18:50 -!- umby24|offline [~umby24@cpe-66-69-92-104.satx.res.rr.com] has joined #mcdevs 18:51 < bartbart333> but how do i need to write them 18:51 < bartbart333> what method do i need to use 18:51 <+SirCmpwn> bartbart333: let's think back to my earlier statements 18:51 < bartbart333> thanks 18:52 <+SirCmpwn> why not use one of the many existing minecraft clients as the basis for yours? 18:52 < barneygale> yeah, what are you trying to do? Is this just for fun, or do you have a purpose in mind? 18:52 < bartbart333> Do you know one thats low level so i can learn how minecraft works 18:53 <+SirCmpwn> you probably shouldn't learn how minecraft works, you'll be learning bad habits 18:53 <+SirCmpwn> but Craft.Net has a library that only does networking, if you want 18:53 < bartbart333> its for fun but i'm trying to make a chat client for minecraft 18:55 < bartbart333> Is it so hard to learn how the packets work 18:55 <+SirCmpwn> you should already know, it's all on wiki.vg 18:57 < bartbart333> that says what each packet is 18:57 < bartbart333> but i don't know how to send packets or how to receive 18:57 <+SirCmpwn> and also describes their structure and how they work. It also provides documentation detailing the login procedure, encryption details, and the data types each packets use 18:57 <+SirCmpwn> yes, because that's not our job, that's basic networking 18:58 <+SirCmpwn> we don't document java 18:58 < bartbart333> okay but can you please give code to send a 0x02 packet 18:59 <+SirCmpwn> I've got C# code 18:59 <+SirCmpwn> sadimusi probably has python code 18:59 <+SirCmpwn> dav1d might have D code 18:59 <+SirCmpwn> which would you like? 18:59 < dav1d> wat? 18:59 < dav1d> 0x02? 18:59 < bartbart333> I think you need to do writeByte(0x02); to indicate that it is an 0x02 packet but how to send the args 18:59 < dav1d> as any other packet 18:59 <+SirCmpwn> dav1d: this guy doesn't know his stuff and won't be convinced otherwise 19:00 < bartbart333> If possible java or something that looks like that 19:00 < dav1d> here 0x02 xD 19:00 < dav1d> https://github.com/Dav1dde/BraLa/blob/master/brala/network/packets/client.d#L23 19:00 <+SirCmpwn> here's mine: https://github.com/SirCmpwn/Craft.Net/blob/refactoring/source/Craft.Net.Networking/Packets.cs#L91 19:01 < dav1d> (new Handshake(60, "username", "host", 2222)).send(stream), done 19:01 <+SirCmpwn> new HandshakePacket(60, "username", "host", 2222).WritePacket(stream), done 19:01 < dav1d> https://github.com/Dav1dde/BraLa/blob/master/brala/network/connection.d#L115 19:01 < dav1d> the part where it is used 19:01 <+SirCmpwn> https://github.com/SirCmpwn/Craft.Net/blob/master/Craft.Net.Client/MinecraftClient.cs#L77 19:02 < barneygale> bartbart333: the next thing you send is protocol version, which you do via writeByte(protocol version here) 19:02 < barneygale> bartbart333: next you need to write two strings (username and server host). You need to write your own method for encoding strings, because minecraft uses a specific format. You can't just write them to the socket as the server won't know where it ends. 19:04 < bartbart333> i need to go 19:04 < bartbart333> dinner time 19:04 < barneygale> see you soon 19:04 < bartbart333> okay 19:05 < barneygale> SirCmpwn: be nice! 19:06 <+SirCmpwn> I would rather not encourage someone who will obviously fail to waste their time 19:06 <+SirCmpwn> I would instead advise them to learn more about their field before continuing 19:06 <+SirCmpwn> let's see what happens when he gets to encryption 19:07 < barneygale> If he's working in java that shouldn't be too bad 19:07 < barneygale> most of the trouble with encryption is replicating java's behaviour 19:07 <+SirCmpwn> shall we place a bet? 19:08 < barneygale> I'd rather we just help someone who's asked for help 19:08 < barneygale> I didn't know very much about network programming when I started 19:09 < barneygale> MC is a hard way to learn, sure, but he'll learn something along the way and he's only doing it for the experience. 19:09 <+SirCmpwn> he'll learn things along the way that will make him worse off than before 19:09 <+SirCmpwn> and I did give him code snippets 19:09 <+SirCmpwn> surely you knew how to work a stream when you started 19:10 < barneygale> I don't think he'll be worst off. Most of MC's bad habits are more high-level, e.g. threading or use of opengl 19:10 < barneygale> Protocol is getting saner and saner 19:10 < barneygale> much better than it used to be 19:11 <+SirCmpwn> better, yes, but still pretty damn bad 19:11 < barneygale> meh 19:11 < SinZ> its still not really a protocol 19:11 <+SirCmpwn> how many ways can you encode 3D coordinates 19:12 < SinZ> but Mojang don't care to fix it, because "It'll break backwards compatibility", which is why they just add features for youtubers to orgasm over 19:12 <+SirCmpwn> short,byte,short; float,float,float; double,double,double; "absolute int", absint, absint; "absolute byte", absbyte, absbyte; etc 19:12 <+SirCmpwn> surely there are more 19:12 <+SirCmpwn> short, short, short; too 19:19 -!- conehead [~conehead@unaffiliated/conehead] has joined #mcdevs 19:46 -!- Jailout2000 [~Jailout20@unaffiliated/jailout2000] has joined #mcdevs 19:48 -!- Jailout20001 [~Jailout20@unaffiliated/jailout2000] has joined #mcdevs 19:49 -!- Eric12 [~Eric1212@64.231.38.62] has quit [Quit: Textual IRC Client: www.textualapp.com] 19:49 -!- Jailout20001 [~Jailout20@unaffiliated/jailout2000] has quit [Read error: Connection reset by peer] 19:52 -!- Jailout20001 [~Jailout20@unaffiliated/jailout2000] has joined #mcdevs 19:53 -!- Jailout2000 [~Jailout20@unaffiliated/jailout2000] has quit [Ping timeout: 260 seconds] 19:53 < TRocket> ping? 19:54 < TRocket> ping TRocket:ChanServ 19:58 -!- Eric12 [~Eric1212@64.231.38.62] has joined #mcdevs 20:03 -!- TRocket [~TRocket@82-69-14-167.dsl.in-addr.zen.co.uk] has quit [Ping timeout: 240 seconds] 20:03 < dav1d> lol 20:06 -!- BizarreCake [~BizarreCa@46.121.251.157] has quit [Ping timeout: 264 seconds] 20:11 -!- TRocket [~TRocket@82-69-14-167.dsl.in-addr.zen.co.uk] has joined #mcdevs 20:13 -!- Calinou [~Calinou@unaffiliated/calinou] has quit [Remote host closed the connection] 20:20 -!- Jailout2000 [~Jailout20@unaffiliated/jailout2000] has joined #mcdevs 20:21 -!- Jailout20001 [~Jailout20@unaffiliated/jailout2000] has quit [Ping timeout: 256 seconds] 20:28 < AnotherOne> bartbart333: if you still need help, http://wiki.vg/How_to_Write_a_Client 20:32 < bartbart333> i'm back 20:33 < bartbart333> i barbecued 20:33 < dav1d> this is good for you! 20:36 -!- TRocket_ [~TRocket@82-69-14-167.dsl.in-addr.zen.co.uk] has joined #mcdevs 20:36 -!- TRocket [~TRocket@82-69-14-167.dsl.in-addr.zen.co.uk] has quit [Read error: Connection reset by peer] 20:37 <+SirCmpwn> I wish Mojang would include packet length in the protocol 20:37 <+SirCmpwn> this would make my life so much easier 20:38 <+SirCmpwn> figuring out how long a packet is, that's one of the most annoying parts of reverse engineering the new snapshots 20:38 -!- barneygale [~barneygal@cpc18-sotn9-2-0-cust33.15-1.cable.virginmedia.com] has quit [Ping timeout: 260 seconds] 20:40 < bartbart333> SirCmpwn can you please explain me how to send a full packet 20:40 < bartbart333> i know how to write a byte 20:40 < dav1d> write multiple bytes? 20:40 < dav1d> information is on the wiki 20:40 < bartbart333> but which method do you need to use to write the arguments 20:41 < dav1d> look it up 20:41 < dav1d> the data type name is even on the wiki page, simply look up how you can send it over a socket 20:42 < bartbart333> the wiki says which packet is what but it doesn't give any code or more specific information on how to program it 20:42 < dav1d> bartbart333: it does 20:42 < bartbart333> where 20:42 * SirCmpwn sighs 20:42 < dav1d> it tells you exactly which data type you have to send 20:42 <+SirCmpwn> bartbart333: you write each field of the packet, in order 20:42 <+SirCmpwn> it's not complicated, it's just a stream 20:43 < bartbart333> i'm sorry if i irritate you 20:43 <+SirCmpwn> your ignorance is not irritating 20:43 -!- umby24|offline is now known as umby24 20:44 <+SirCmpwn> your denial of your ignorance is irritating 20:44 < dav1d> bartbart333: all you need to do is constantly write data into the socket, the wiki tells you what you have to write into the stream 20:44 < dav1d> bartbart333: how you write that in the stream, I don't know, but if you already know how to write bytes, then you can also figure out who to write e.g. a short, integer or float 20:45 < dav1d> if you have more specific question we can help you, but we can't write the code for you 20:45 < bartbart333> its eay to write a integer or float or something but you can write a string in multiple ways 20:46 < bartbart333> you can do writeChars or writeUTF or writeBytes 20:46 <+SirCmpwn> it's right there on the wiki 20:47 <+SirCmpwn> http://wiki.vg/Data_Types 20:47 -!- pdelvo [~pdelvo@mcdevs/trusted/pdelvo] has quit [Read error: Connection reset by peer] 20:47 <+SirCmpwn> UCS-2 string, big-endian. Prefixed by a short containing the length of the string in characters. UCS-2 consists of 16-bit words, each of which represent a Unicode code point between U+0000 and U+FFFF inclusive. 20:48 < Thinkofdeath> The Data Types page should be higher up on the page 20:48 < dav1d> bartbart333: on the wiki, length prefixed as short then UCS-2 (basically utf-16) 20:49 < bartbart333> so if i need to write a string i do writeshort with the length of the string and then i need to write utf16 20:50 <+SirCmpwn> it's UCS-2, not UTF-16 20:50 <+SirCmpwn> did you even read it? 20:50 -!- conehead [~conehead@unaffiliated/conehead] has quit [Read error: Connection reset by peer] 20:50 < dav1d> SirCmpwn: ... 20:50 < umby24> bartbart333, sounds about right. 20:50 < dav1d> SirCmpwn: UCS2 is basically utf-16 20:51 <+SirCmpwn> the byte ordering is wrong, dav1d 20:51 < dav1d> bartbart333: yes, if you're using java, der should be even a method to write UCS2 20:51 < dav1d> SirCmpwn: no 20:51 <+SirCmpwn> dav1d: really? 20:51 < umby24> and the link on the data types page for UCS-2 takes you to UTF-16 anyways, so that should be corrected if they're incompatible. 20:51 < dav1d> SirCmpwn: UCS2 is basically utf-16 only with a fixed character length of 2 byte 20:51 < bartbart333> yes i did read it but other people say its basically utf 16 20:51 <+SirCmpwn> dav1d: alright then, I thought the byte ordering was reversed 20:51 < dav1d> I just said that... 20:54 < bartbart333> okay i'm gonna try to find out how to write ucs2 to a datastream 20:56 <+ammar2> bartbart333: the writeChars method in DataOutputStream should do the trick 21:05 < bartbart333> I thing i'm getting somewhere 21:05 < bartbart333> the server says bartbart333 lost connection so it did receive my username 21:06 <+SirCmpwn> you can't *just* send that 21:06 < bartbart333> i know you have to login to the server first 21:06 <+SirCmpwn> there's also encryption to be done, and then you have to handle pings, and then you can chat 21:06 < bartbart333> but i was stuck at sending strings 21:08 < bartbart333> to read incoming packets i think you need to read a byte and then the packet data 21:08 < bartbart333> ? 21:09 <+SirCmpwn> correct 21:09 < bartbart333> i'm finally getting somewhere 21:09 <+SirCmpwn> it would be unwise to use a giant switch...case or a bunch of if statements 21:13 < dav1d> SirCmpwn: how do you dispatch? 21:14 < dav1d> use a fat hash-map? 21:14 < dav1d> (less efficient then a switch-case) 21:14 -!- balrog [~balrog@discferret/developer/balrog] has quit [Quit: Bye] 21:15 <+SirCmpwn> dav1d: I use a constant array of function pointers 21:15 <+SirCmpwn> handlers[packetId](...) 21:15 < dav1d> SirCmpwn: so, a switch case 21:15 <+SirCmpwn> yes, but maintainable 21:16 < dav1d> you haven't seen mine, I guess :D 21:16 <+SirCmpwn> don't need to go poking through a 2k line file to fix it up 21:16 <+SirCmpwn> what do you do? 21:16 < dav1d> SirCmpwn: a switch case :D 21:16 < dav1d> SirCmpwn: https://github.com/Dav1dde/BraLa/blob/master/brala/network/connection.d#L128 21:17 < dav1d> in 7 lines :) 21:17 <+SirCmpwn> that's kind of sexy 21:17 <+ammar2> thats some nice syntax 21:17 <+ammar2> kinda makes me wanna use d 21:17 < dav1d> (import s = brala.network.packets.server) 21:17 -!- Zartec [~Thunderbi@95-89-157-17-dynip.superkabel.de] has joined #mcdevs 21:18 <+SirCmpwn> var packet = PacketReader.ReadPacket(stream) 21:18 -!- act4 [~alex@host86-135-89-50.range86-135.btcentralplus.com] has left #mcdevs [] 21:18 < dav1d> yeah you went the OOP route 21:18 < dav1d> I have a mix of both 21:18 <+SirCmpwn> https://github.com/SirCmpwn/SMProxy/blob/master/SMProxy/Proxy.cs#L91 21:19 < dav1d> casting to void* and passing the pointer and the id around instead of the super-class 21:19 -!- balrog [~balrog@discferret/developer/balrog] has joined #mcdevs 21:19 < dav1d> not optimal but it "happened" 21:19 <+SirCmpwn> SMProxy has some ugly formatting, I should fix that 21:19 <+SirCmpwn> mixed tabs and spaces 21:19 <+SirCmpwn> probably because MonoDevelop has tabs by default and I forgot to fix it 21:19 < dav1d> yeah github is an ass, displays tabs as 8 whitespaces 21:21 <+ammar2> and for more fun, it displays is at 2 spaces in diff views 21:21 -!- AnotherOne [~kvirc@178.151.74.138] has quit [Ping timeout: 246 seconds] 21:21 <+ammar2> s/is at/it as/ 21:22 < bartbart333> The server returns -3 is that the same as 0xFD 21:23 <+SirCmpwn> java in once sentence, folks 21:24 <+ammar2> heh 21:24 <+ammar2> use readUnsignedByte bartbart333 21:25 <+ammar2> the method lies btw, it returns an int because java has no unsigned bytes ;) 21:27 < bartbart333> ok now it says 253 21:27 -!- Zartec [~Thunderbi@95-89-157-17-dynip.superkabel.de] has left #mcdevs [] 21:27 < umby24> which is 0xFD. 21:28 < bartbart333> but is there a way to recognize that as 0xFD or do you need to figure that that out for every packet 21:29 <+SirCmpwn> do you know what 0xFD actually means, bartbart333 21:29 -!- Zartec [~Thunderbi@95-89-157-17-dynip.superkabel.de] has joined #mcdevs 21:29 < bartbart333> eem no 21:29 <+SirCmpwn> do you know anything other than java, bartbart333 21:30 < bartbart333> not realy except for php html and css 21:30 <+SirCmpwn> >php 21:30 <+SirCmpwn> okay, I shan't help you until you can convince me you aren't a first year CS student 21:31 < umby24> Do you know what hex is, bart? 21:31 < dav1d> bartbart333: 0xFD is FD with a basis of 16 21:32 < dav1d> *base 21:33 < bartbart333> SirCmpwn i'm from the Netherlands and i don't know what CS is 21:33 <+SirCmpwn> computer science 21:33 < umby24> Computer Science.. 21:33 <+SirCmpwn> they offer CS courses in the netherlands, you know 21:34 * dav1d is a first year CS student 21:34 < bartbart333> o i'm at high school second year so i'm not a CS student 21:35 <+SirCmpwn> ah, so it's high school 21:35 < redu> bartbart333: if you got a free hour and want to learn more about binary and hex - www.computerscienceforeveryone.com/Course_1/Unit_2/ - go through unit 2 21:35 < bartbart333> i learned java and php myself from videos and a bit from a friend 21:35 <+SirCmpwn> bartbart333: well, let me tell you this: PHP is the worst language there has ever been, and though not nearly as much, Java is largely considered a joke as well 21:35 < bartbart333> binary is with 0101 is it? 21:35 <+SirCmpwn> if you plan to do networking, you should learn a low level language and get to know the metal better 21:36 < redu> bartbart333: it is 21:36 <+sadimusi> I don't see how a lower level language would help with networking 21:36 -!- AnotherOne [~kvirc@178.151.74.138] has joined #mcdevs 21:36 < bartbart333> i know php is high level and not realy a programming language and java is also high level and not realy much used for pc's 21:36 <+SirCmpwn> sadimusi: it would help since he doesn't understand signed number or hexadecimal 21:37 <+SirCmpwn> numbers* 21:37 <+SirCmpwn> and getting closer to the metal makes you a better programmer overall 21:37 < bartbart333> yeah but i think its easier to start with somthing more simple like java 21:38 < bartbart333> i'm only 14 so i don't know everything 21:38 <+SirCmpwn> and then you jumped into minecraft, one of the worst network protocols with bad design decisions everywhere to learn from 21:38 < dav1d> sadimusi: a lower level language allows you to make less mistakes 21:38 <+sadimusi> bartbart333: php is a programming language (a horrible one) and java is used by thousands (millions?) of applications 21:39 <+SirCmpwn> html and css are the ones that aren't programming languages, bartbart333 21:39 <+sadimusi> dav1d: you mean if I make mistakes it blows up more? 21:39 < bartbart333> ok but php is realy different than java c++ c and c# 21:39 < dav1d> bartbart333: never give up! stuff is confusing at first, but once you get it, it's makes so much sense 21:40 <+SirCmpwn> if it blows up violently enough, it's more noticeable 21:40 < dav1d> sadimusi: mh, you could phrase it like that :P 21:40 <+sadimusi> SirCmpwn: that's one of the reasons why php is so horrible :) 21:40 < dav1d> but starting programming with a lower level language, I don't recommend that 21:40 <+SirCmpwn> you get a stack trace and a nice error message and a debugger if you use C, sadimusi 21:41 < bartbart333> yeah i started with php and now java 21:41 <+sadimusi> dav1d: at first I thought you were saying that low level langs are more tolerant for mistakes 21:41 < dav1d> sadimusi: ha! definitly not 21:41 <+SirCmpwn> bartbart333: forget about minecraft for a few years. Learn python. 21:41 < AnotherOne> no 21:41 < dav1d> yeah the "allow" doesn't quite fit in there 21:41 <+SirCmpwn> learn C when you're comfortable with python 21:42 < AnotherOne> no python 21:42 <+SirCmpwn> AnotherOne: why not 21:42 < dav1d> SirCmpwn: because he doesn't get encodings and now blames python for it 21:42 <+SirCmpwn> AnotherOne: he started on PHP, for goodness sake 21:42 < AnotherOne> why learn C after python? 21:42 < bartbart333> but i do know a lot of java i know a bit of lwjgl i made a chat server and client and a lot of other projects 21:42 <+SirCmpwn> python is a good first language 21:42 <+SirCmpwn> C is a good low level language 21:42 < dav1d> bartbart333: keep on doing what you enjoy 21:42 < dav1d> the rest comes from alone 21:42 < AnotherOne> python will make him a mind deformation 21:42 <+SirCmpwn> python will introduce him to programming, C will make him skilled 21:43 < dav1d> AnotherOne: could you please stop with you unquilified messages, which are simply wrong 21:43 < dav1d> why will C make him skilled o.O 21:43 < dav1d> you all have strange understandings 21:44 < AnotherOne> because C is good 21:44 <+SirCmpwn> dav1d: forces him to get closer to the metal 21:44 < AnotherOne> python and company are languages for lazy people