05:11 -!- kcj [~casey@unaffiliated/kcj] has joined #mcdevs 05:13 -!- kcj [~casey@unaffiliated/kcj] has quit [Max SendQ exceeded] 05:14 -!- kcj [~casey@unaffiliated/kcj] has joined #mcdevs 05:17 -!- ranie [~rramiso@124.105.60.242] has quit [Ping timeout: 240 seconds] 05:17 -!- kcj [~casey@unaffiliated/kcj] has quit [Max SendQ exceeded] 05:18 -!- kcj [~casey@unaffiliated/kcj] has joined #mcdevs 05:29 -!- ranie [~rramiso@124.105.60.242] has joined #mcdevs 05:34 -!- kcj [~casey@unaffiliated/kcj] has quit [Ping timeout: 252 seconds] 05:36 -!- kcj [~casey@unaffiliated/kcj] has joined #mcdevs 05:56 -!- Yoshi2 [~Yoshi2@xdsl-87-79-112-142.netcologne.de] has joined #mcdevs 05:58 -!- ranie [~rramiso@124.105.60.242] has quit [Ping timeout: 252 seconds] 06:04 -!- Amaranth [~travis@ubuntu/member/Amaranth] has quit [Read error: Connection reset by peer] 06:04 -!- Amaranth [~travis@ubuntu/member/Amaranth] has joined #mcdevs 06:04 -!- mode/#mcdevs [+v Amaranth] by ChanServ 06:10 -!- ranie [~rramiso@124.6.182.55] has joined #mcdevs 06:10 -!- InfinitePulsing [~Coon@pool-98-113-216-78.nycmny.fios.verizon.net] has quit [Read error: Connection reset by peer] 06:31 -!- conehead [~conehead@unaffiliated/conehead] has quit [Quit: Computer has gone to sleep.] 06:35 -!- Drainedsoul_2 [~Drainedso@mail.rleahy.ca] has joined #mcdevs 06:40 -!- conehead [~conehead@unaffiliated/conehead] has joined #mcdevs 06:47 -!- Yoshi2 [~Yoshi2@xdsl-87-79-112-142.netcologne.de] has quit [Quit: Bye] 06:59 -!- Zartec [~Thunderbi@95-89-157-17-dynip.superkabel.de] has joined #mcdevs 07:03 -!- Eloston [~Eloston@c-76-121-64-112.hsd1.wa.comcast.net] has joined #mcdevs 07:04 -!- Drainedsoul_2 [~Drainedso@mail.rleahy.ca] has quit [Ping timeout: 246 seconds] 07:06 -!- Logloxan [~logan@71-217-19-168.tukw.qwest.net] has joined #mcdevs 07:06 -!- Eloston [~Eloston@c-76-121-64-112.hsd1.wa.comcast.net] has left #mcdevs [] 07:09 -!- Cay [~OlofLarss@s83-177-171-150.cust.tele2.se] has joined #mcdevs 07:20 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has quit [Ping timeout: 256 seconds] 07:21 -!- Zartec [~Thunderbi@95-89-157-17-dynip.superkabel.de] has quit [Quit: Zartec] 07:43 -!- Logloxan [~logan@71-217-19-168.tukw.qwest.net] has quit [Quit: Leaving.] 07:49 -!- r04r|away is now known as r04r 08:19 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has joined #mcdevs 08:42 -!- r04r is now known as r04r|away 09:35 -!- mode/#mcdevs [+v sadimusi] by ChanServ 09:37 -!- ServerMode/#mcdevs [+vv ammar2 fragmer] by leguin.freenode.net 11:18 < Not-001> [fCraft] fragmer * r2051 7 files : Simplified MapGenerator implementations a bit by adding reasonable defaults and simplifying preset handling. 11:29 < Not-001> [fCraft] fragmer * r2052 2 files : Updated branch README 13:13 <+AndrewPH> TkTech: sigh, got the feeling he would act up again :| he seems to be quite good at not being able to accept answers. 13:16 < SinZ> ^ 13:18 < jast> welcome to #mcdevs, the channel about #mcdevs 13:19 < dx> banned... again? 13:19 < dx> god dammit this guy 13:54 < Cube> Hi guys :) 13:55 < dx> ha ha someone called Cube in a channel about development related to a game made of cubes 13:56 < Cube> dx you got that :P 13:56 < dx> best joke ever. 13:56 < Cube> I know right 13:57 < Cube> So?I've never dev'd for mine craft before 13:57 < Cube> whats the best way to go about it 13:57 < Cube> Any open source server packs? 13:57 < dx> depends on what you consider 'dev for minecraft' 13:57 < dx> server packs? 13:57 < Cube> C++ server? I'm assuming it's all Java though 13:58 < dx> heh you seem a bit lost 13:58 < dx> yeah, the official server and client are java 13:58 < jast> there are many unofficial server implementations in all kinds of languages 13:58 < jast> none of them are as complete as the official server, though 13:58 < Cube> Which works best? 13:59 < jast> (though, of course, the more actively developed ones keep moving forward) 13:59 < dx> a lot of people do modifications of the official implementations, you'll have to look elsewhere for those though. the main projects for that are bukkit and MCP/forge 13:59 < jast> and those are all java, yay! 13:59 < dx> this channel is mostly about reimplementing clients and servers in other languages (or not), or messing with the protocols, or other stuff like that. 14:00 < Cube> I'm just looking to mess with some code for a server?make a few commands etc 14:01 < SinZ> Craft.Net would be a good place, but its in C# 14:01 < Cube> C# is fine 14:01 < jast> for reference: http://www.minecraftwiki.net/wiki/Custom_servers 14:02 < dx> wait that's not our wiki 14:02 < Cube> SinZ craft.net doesn't exist? 14:02 < dx> but that page seems more complete 14:02 < SinZ> it doesn't have some of the ones ours dows 14:02 < SinZ> does* 14:02 < dx> Cube: lol, it's not a website 14:02 < SinZ> http://www.wiki.vg/Server_List 14:03 < SinZ> right, Craft.Net is a library 14:03 < SinZ> http://www.wiki.vg/Library_List 14:03 < Cube> haha thanks 14:03 < Cube> Not fully awake at the minute 14:04 < Cube> oh wow: http://i.imgur.com/hQ3YtYDh.jpg 14:04 < Cube> that looks creative 14:05 < SinZ> if you compare it to some builds that used to be done in classic, it doesn't quite compete 14:05 < dx> what's that game? i never heard about it 14:05 < dx> (just kidding, but the way i play minecraft is extremely far from that :D) 14:05 < SinZ> http://dl.dropbox.com/u/6378186/projectpar1.png 14:05 < SinZ> http://dl.dropbox.com/u/6378186/projectpar2.png 14:06 < dx> neat 14:06 < SinZ> http://www.minecraftforum.net/topic/134443-project-parliament-the-hungarian-parliament/ 14:06 < Cube> wow 14:07 < SinZ> Saiko is a god of building, unfortunally he quit MC when everyone shited to mid-late alpha / early beta 14:07 < SinZ> shifted* 14:07 < dx> yeah, there was a 'gap' in which there was no proper creative mode, and most of alpha didn't even have colored wool 14:08 < dx> that must have sucked for the people who did this kind of stuff in classic 14:08 < SinZ> yup =S 14:09 < dx> iirc beta 1.2 had colored wool, and 1.8 had creative. that's an awful lot of time 14:09 < Cube> I can imagine some servers on mc have massive cities... 14:10 < SinZ> there is a server building a to-scale WoW map 14:10 < SinZ> its currently 30gb or something 14:10 < SinZ> and another making a to-scale China map 14:10 < dx> http://www.minecraftforum.net/topic/997352-crafting-azeroth/ 14:11 < Cube> to-scale China :| 14:11 < dx> i don't care much about WoW but i love this project so much, because it's mostly made through scripting 14:12 < SinZ> Cube: I think its only Beijing 14:13 < Cube> That's crazt 14:13 < SinZ> http://www.planetminecraft.com/project/project-1845/ 14:13 < Cube> crazy* 14:14 < Cube> To be played locally, the map requires 24 gigabytes of hard-drive space. 14:22 < Aaron00> Hi. Sorry to bother again, but I'm having another problem :p Players are falling through blocks (making custom server) 14:26 < Aaron00> Also, I implemented PlayerAbility 0xCA, but players keep falling, but the flying bool changes correctly :s 14:26 < Aaron00> https://github.com/maser00/MineSharp/tree/master/MineSharp 14:55 < dav1d> lol 14:55 < dav1d> pdelvo: you highlight me when you join^^ 15:00 < dx> lol 15:00 < dx> why do you have highlights on hostmasks 15:01 < dav1d> dx: it's the watch module from znc 15:02 < dav1d> I wonder if pdelvo does that or if the znc is freaking out 15:02 < dx> so check the error logs of znc? 15:02 < dav1d> na znc is fine 15:02 < dav1d> must be him 15:03 < dx> not sure how to intentionally cause an 'operation timed out' 15:04 < dx> some time ago i was really bored and played with iptables rules trying to get different irc quit messages, all i managed to get was 'client closed connection' and 'ping timeout' 15:10 < dav1d> mh 20:58 <+AndrewPH> dx: that WoW map recreation is really awesome 20:58 <+AndrewPH> (I followed it back when the guy was strating out making his generation tools) 21:41 < InfinitePulsing> This lag. 21:43 < InfinitePulsing> Question, when you guys try figuring out new protocol stuff, or for example, the recent change in crafting recipes, do you guys manually deobfuscate code as needed, or automatically? 21:48 < Yoshi2> InfinitePulsing: there is Burger which can automatically retrieve and show information about new packets and other stuff, but usually it's manual work 21:49 < InfinitePulsing> Alrighty, thanks. 22:08 < TkTech> InfinitePulsing: I'm a lazy arse so it's fallen on sadimusi to keep burger maintained, but when it's working it's the easiest tool to quickly view new changes in the JARs. 22:09 < InfinitePulsing> I see, :P 22:36 < TRocket__> is burger mostly working atm? 22:36 <+sadimusi> yes 22:36 <+sadimusi> I'm just having some troubles with fastcgi 22:37 < TRocket__> what's fastcgi used for? 22:37 <+sadimusi> deploying burger 22:39 < TRocket__> oh, ok 22:49 <+sadimusi> my hoster is officially the best, I asked him to enable my error logs and got a reply in <2min https://twitter.com/ubernauten/status/350354410360143872 22:52 < iBotPeaches> :) 22:52 < iBotPeaches> thanks for burger, almost got ss up and running, lots of changes to do in msg 23:02 < TRocket> sadimusi they're probably actual progammers or technical people(:D), not just a random n00b who realises it's a good way to make money 23:02 < TRocket> sadimusi: my client took out the ':' 23:03 <+sadimusi> the support is pretty awesome, they helped me out a few times in the past and it was always incredibly fast 23:03 <+sadimusi> remind you, it's 11pm here 23:04 <+sadimusi> m( it was of course my stupid fault 23:04 * sadimusi installs flup --- Day changed ven. juin 28 2013 00:44 < Not-001> [fCraft] fragmer * r2053 3 files : Tweaking the way "Default" preset is shown in AddWorldPopup, and improving its error handling. 03:33 < Not-001> [fCraft] fragmer * r2054 6 files : ReSharper-aided cleanup pass on MapGeneration code. Notably, fixed equality overrides in RealisticMapGenTheme. 15:12 < dx> did someone say pre-release 15:12 < dx> i sure hope burger works this time, gotta inspect some packets 15:48 <+sadimusi> finally got fcgi running :) 15:49 <+sadimusi> apparently suEXEC doesn't like it if others have writing privileges to the folder my .fcgi script is in 15:53 < dx> oh, yep, suexec is annoyingly strict about privileges 15:54 <+sadimusi> I'm still not sure wether /release should redirect to /1.6 or just show the 1.6 output. any thoughts? 15:55 <+sadimusi> currently it just shows it http://beta.ceilingcat.ch/release~1...release 16:01 < dx> oooh nice, release~1, looks like git commits/tags 16:01 < dx> considering it like a tag, it makes more sense to show the 1.6 output instead of redirecting 16:02 < dx> lol 404 http://beta.ceilingcat.ch/1.6...1.6 16:08 <+sadimusi> :D there are still a few issues to work out 16:08 <+sadimusi> especially with the packet instruction topping 16:57 < dav1d> 17 seconds lag awesome 16:57 < dav1d> [Lag: 17,627] 16:57 < dav1d> -_- 16:59 < dav1d> ever tried to buffer a youtube video with 36% packetloss... 17:45 < Not-001> [fCraft] fragmer * r2055 9 files : Another change to the way default mapgen presets work. 19:53 < dx> sadimusi: needs more automated download of snapshots and pre-releases 19:53 < dx> (1.6.1 is out) 19:55 < dx> http://dpaste.com/1274231/ 19:55 < dx> it's real. 19:56 < dx> md_5: it actually happened 19:56 < dx> so uhm 19:56 < dx> don't mind me, but: 19:57 < dx> FUCK YEAH! 19:57 * dx hugs Grum 20:35 < dav1d> dx: utf.8? 20:40 < dx> dav1d: nah 20:40 < dx> dav1d: and that's not something to add in a point release anyway 20:40 < dav1d> dx: in theory a 5min job to add 20:41 < dx> dav1d: like everything :P 20:43 < dx> dav1d: actually i think that this change to the ping packet would allow switching to utf-8 keeping backwards compat of clients that expect UCS-2 20:44 < dav1d> I don't care about backwards compat :P 20:44 < dav1d> also I don't understand why mojang suddenly does 20:44 < dx> dav1d: they do, for the ping packet 20:44 < dx> and only that one 20:44 < dexter0> for ping they should 20:44 < dav1d> dx: oh only ping 20:44 < dav1d> I see 20:45 < dav1d> then I misunderstood it, I thought it was a goal for everything 20:45 < dx> every protocol number change is a break in backwards compatibility, so yeah. 20:48 < dx> hmm, given the nature of the ping packet, i think the sanest way to implement it is to assume it's a different protocol 20:49 < dx> there's the schrodinger byte and switching to utf-8 would also add a different kind of conditional parsing 20:49 < dav1d> dx: well I wouldn't care if the ping packet is still in UCS-2 :> 20:49 < dx> ...oh right you can do that 20:49 < dx> lol. 20:50 < dx> and it's actually a much saner solution 21:08 <+sadimusi> dx: it doesn't update automatically yet, but it'll be way easier now with the version list 21:10 < dx> sadimusi: :D 21:11 <+sadimusi> I still have no idea why the packets topping stopped working on the server 21:12 <+sadimusi> it works fine on my machine and with all versions < 1.6 on the server 21:12 < Drainedsoul> They could just switch to UTF-16 instead of UTF-8 if they want to maintain backwards compatibility. That would only break backwards compat for high/low surrogate pairs, which you shouldn't be encoding anyway 21:12 < Drainedsoul> admittedly UTF-16 is a pretty awful encoding, but you can just abstract that away from yourself 21:19 < InfinitePulsing> Damn computer 21:20 < dav1d> Drainedsoul: if you use utf-8 you save a tiny bit of bandwith 21:20 < dav1d> so why not doing it 21:20 < dav1d> it will add up 21:23 < InfinitePulsing> This 21:23 < Yoshi2> with utf8, strings that only use the standard ascii character set should use roughly 50% less data than they did with the ucs-2 encoding 21:23 < InfinitePulsing> Computer 21:24 < dav1d> Yoshi2: yeah but not much strings are sent in comparison to other packets 21:24 < Yoshi2> dav1d: that is true 21:25 < dav1d> still, also if we get json-chat (well we already have it), it has a bigger impact 21:25 < Drainedsoul> I was more thinking of getting the advantages of UTF-16 (full code space coverage) without losing backwards compat, since people seem worried about that 21:26 < Drainedsoul> the only sensible encodings to use are UTF-8 and UTF-32. UTF-16 takes the disadvantages of both, but the advantages of neither, it's so wild 21:27 < dav1d> Drainedsoul: protocol breaks anyways 21:27 < dav1d> (every release) 21:28 < Drainedsoul> yeah but people get their knickers in a twist about the ping packet 21:28 < Drainedsoul> I don't see what reason they have for not switching to UTF-8. It SHOULD be like a one line change. 21:28 < Drainedsoul> SHOULD be 21:30 < Yoshi2> it should be as long as nothing depends on characters in a string having a fixed size 21:30 < Drainedsoul> well the point is that the strings should be decoded in one place, so you just change the decoding in that one place and then let the Java string abstractions take care of the rest 21:30 < Drainedsoul> the wildest part is that Java strings are UTF-16 internally, so using UCS-2 makes even less sense 21:32 <+sadimusi> they changed all the packets to use DataOutput instead of DataOutputStream, maybe they want to write their own DataOutput with a writeChars() which sends utf-8 21:32 <+sadimusi> (they could have just subclassed DataOutputStream for that purpose though) 21:34 < dav1d> actually, I brought that up, Gr*m meant it's too much work, I asked, what if I implement it, will it get into minecraft? he said maybe 21:34 < Drainedsoul> oh right, I forgot about reliance on inflexible high-level language abstractions. I just assumed everyone wrote an abstraction around Berkeley Sockets/epoll/kqueue/iocp 21:43 < InfinitePulsing> Sadi didn't I make something like that 21:43 < InfinitePulsing> ? 21:44 < InfinitePulsing> A writeChar() thing.. sorta. 21:47 < InfinitePulsing> test 22:58 <+Amaranthus> Drainedsoul: It isn't one line to switch to UTF-8, Java's String is UCS-2 22:59 <+Amaranthus> I mean, so long as you stick to the limits of UCS-2 I suppose it wouldn't be hard to switch 23:06 < dav1d> Amaranth: http://vp.dav1d.de/yTfg?ReadUTF8.java 23:07 <+Amaranth> dav1d: Like I said, so long as you stick to the limits of UCS-2 it wouldn't be hard 23:07 < Drainedsoul> umm 23:07 < dav1d> Amaranth: no limits 23:07 < Drainedsoul> Amaranthus: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html => "A String represents a string in the UTF-16 format [...]" 23:07 < Drainedsoul> it's almost as though I know what I'm talking about, weird eh 23:08 <+Amaranth> Java originally used UCS-2, and added UTF-16 supplementary character support in J2SE 5.0. However, non-BMP characters require the individual surrogate halves to be entered individually, for example: "\uD834\uDD1E" for U+1D11E. 23:08 < Drainedsoul> that doesn't make the strings UCS- 23:08 < Drainedsoul> 2 23:08 <+Amaranth> Huh, so they don't really support it and only started saying they did in 1.5 23:09 < Drainedsoul> a compliant UCS-2 implementation will not represent high/low surrogates at all, so the fact that surrogates appear in the string by definition makes it not UCS-2 23:11 < Drainedsoul> as for Java originally using UCS-2, that's because the BMP was originally the entire Unicode code space 23:16 <+Amaranth> hmm, I could have sworn UTF-8 was older than UCS-2 but it seems not 23:17 <+Amaranth> In any case I would consider UTF-16 support to mean I could put in \u1D11E (or perhaps just type 𝄞) and have it figure things ou 23:17 <+Amaranth> out* 23:18 < Drainedsoul> \u escaping doesn't allow 5 hex digits pretty much universally 23:20 < Drainedsoul> I do really like how the G clef is everyone's go to outside the BMP character 23:22 <+Amaranth> I actually wouldn't know about the escaping, I've never used it. I just write my files in UTF-8 and put the actual characters :P 23:23 <+Amaranth> Drainedsoul: The real test is this: Does Java say "\uD834\uDD1E" has a length of 1 or 2? 23:23 < Drainedsoul> virtually no modern string abstraction does that, the only one I can think of that might is Python because I'm p. sure Python stores UTF-32 internally 23:23 < Drainedsoul> .NET doesn't, Java doesn't, etc., they'll all say 2 23:24 < Drainedsoul> of course then you run into the question of the actual usefulness of that information 23:24 <+Amaranth> I'm pretty sure Python is more complicated than that in version 3 and scales between ASCII, UCS-2, and UCS-4 depending on string contents (with conversion penalties when it has to switch) but I might be making that up based on an idea someone had for Python 3 23:24 < Drainedsoul> what good does it really do you to know how many codepoints long a string is. That doesn't really correlate to anything useful 23:25 < Drainedsoul> it certainly doesn't correlate to how many characters the user thinks are in the string 23:25 < Drainedsoul> I think what most people want when they count the "characters" in a string, is to know how many grapheme clusters are in the string 23:25 < Drainedsoul> but that's even further removed from the reality of must Unicode string implementations 23:27 < Drainedsoul> of course most of the programming world is anglocentric, and with the exception of CRLF for almost all English text 1 code point = 1 grapheme cluster 23:31 <+Amaranth> CRLF is mainly only used on Windows though 23:31 < Drainedsoul> umm 23:31 < Drainedsoul> r u srs 23:32 < Drainedsoul> all of HTTP, SMTP, and FTPs line endings are mandated to be CRLFs 23:32 <+Amaranth> Right, forgot about protocols it was written in to 23:33 <+Amaranth> I meant in text editors and such 23:33 < Drainedsoul> yeah that's true. But the beautiful part about Unicode awareness is that CRLF and LF both will show up as one grapheme cluster that is a line break if you're parsing properly 23:33 < Drainedsoul> so if you use Unicode correctly the age old "CRLF or LF" divide disappears 23:34 <+Amaranth> EIther I don't understand how that is or I've never seen unicode used correctly 23:34 < Drainedsoul> well it's because most Unicode implementations aren't really Unicode implementations 23:34 < Drainedsoul> they're just a buffer of some size of "character" and they're totally Unicode ignorant 23:35 < Drainedsoul> where "character" has no actual Unicode meaning at all, there are code points and there are grapheme clusters. 23:35 <+Amaranth> Well that is the idea, just read in some bytes, write some bytes, and let someone else deal with it :P 23:35 <+Amaranth> err, ideal 23:36 < Drainedsoul> U+0061 is a code point. U+00E1 is a code point. Both of the aforegoing are grapheme clusters. But U+0061, U+0301 is two code points, one grapheme cluster, and should for all reasons and purposes be considered identical to U+00E1 23:37 <+Amaranth> Yep, don't think I've ever seen that as a thing 23:37 < Drainedsoul> what? normalization? 23:38 < Drainedsoul> U+00E1 is the small letter a with acute, in Normalization Form: Canonical Composition, whereas U+0061, U+0301 is the small letter a followed by the combining mark acute above, which is U+00E1 normalized to Normalization Form: Canonical Decomposition 23:39 < Drainedsoul> you have to normalize if you want to compare or sort strings in any kind of sane or consistent way 23:39 < Drainedsoul> otherwise á!=á but also á=á 23:39 <+Amaranth> Oh, I didn't pay attention to the specific points, I thought we were still talking about CRLF 23:40 < Drainedsoul> CRLF and LF are actually not equivalent Unicode sequences :( 23:40 <+Amaranth> But to be honest in my time I've mostly relied on Python and glib to deal with all the nuances of size, sorting, etc and pango to display the result correctly 23:41 <+Amaranth> And I've just written everything in UTF-8 and to load/save in UTF-8 23:41 < Drainedsoul> yeah as long as you use a library that's unicode-aware, and don't muck around with the strings yourself, you're good. It's when you start indexing into strings and using unicode-unaware substring functions 23:41 < Drainedsoul> like the JAva and .NET substring functions are literally capable of turning valid Unicode into invalid Unicode by slicing a surrogate pair in half 23:41 < Drainedsoul> : | 23:42 <+Amaranth> Most of what I know about unicode comes from Behdad Esfahbod's blog posts about pango and harfbuzz :P 23:42 < Drainedsoul> All of what I know about Unicode comes from reading the Unicode Consortium's documents 23:43 <+Amaranth> Yeah, I guess the difference is I only cared about how to not break it while you seem to care about how it works 23:44 < Drainedsoul> well I was super exhausted with trying to fiddle around with Unicode in a safe way in languages whose standard libraries don't even pretend to know about Unicode 23:44 < Drainedsoul> C/C++ namely 23:44 < Drainedsoul> so I wrote my own Unicode string/regular expression engine 23:44 <+Amaranth> Honestly I think the C approach is better than most languages 23:45 < Drainedsoul> when you get down to it, it is. It doesn't pretend to know about Unicode. C# and Java's dangerous pretending is far worse, because it makes the programmer think you've taken care of it for them, when that's not it at all 23:45 <+Amaranth> That is, it doesn't even try to pretend to deal with strings beyond defining a char type that for most people just means "a byte that is a part of a string" 23:45 < dav1d> D o/ 23:45 < dav1d> strings are utf-8, std.uni, std.utf operate correctly on unicode 23:46 < Drainedsoul> are they grapheme cluster aware, or just code point aware? 23:46 < dav1d> also iterating over it yields dchar (32bit unicode code-points) 23:46 < dav1d> I think code-point, (std.uni) 23:46 <+Amaranth> Is anything grapheme cluster aware? 23:46 <+Amaranth> I don't even think glib or go are 23:46 < dav1d> not sure about std.utf that is new! 23:46 < Drainedsoul> well, nothing I've seen. My string implementation is, but that means nothing to anyone except me ;) 23:46 < dav1d> and written by someone who knows what he's doing (my impressioin) 23:47 <+Amaranth> And glib is made by people who tend to care about such things 23:47 < Drainedsoul> if it yields dchar, and that's 32-bit wide, then it's code point aware 23:47 < Drainedsoul> but grapheme clusters don't have a fixed width 23:47 <+Amaranth> That's mainly a problem with arabic, right? 23:47 < Drainedsoul> CJK has a lot of multi-code point grapheme clusters 23:48 < Drainedsoul> any language that uses accented latin characters has the potention for multi-code point grapheme clusters, if the text is decomposed 23:48 < Drainedsoul> *potential 23:48 <+Amaranth> Ah, I guess this shows where I learned this kind of stuff, Behdad Esfahbod was mainly worried about arabic vs farsi rendering since they use the same codepoints iirc 23:49 < Drainedsoul> the coolest part about Unicode is if your language/library of choice implements the character database. Then you don't have to write arrays of "upper case characters" like you had to dealing with ASCII strings in C 23:49 < Drainedsoul> you can just query the database and see if it's a lower case/upper case/title case character 23:50 < Drainedsoul> if it's a digit, what its numerical value is, etc. 23:51 < Drainedsoul> certain arabic languages being written right-to-left is interesting, because embedded English text is still left-to-right. Go try typing arabic text into Google search in Chrome sometime, and then type English text in the middle 23:55 <+Amaranth> Drainedsoul: Isn't that database just converting a unicode appendix into some kind of associative array in your language of choice? 23:55 < dav1d> import unicodedata? 23:56 < dav1d> ^ python 23:56 < Drainedsoul> yeah the way I did it was I downloaded the TXT files that define the various properties, parsed them out programmatically, and programmatically generated a 9 megabyte CPP source file 23:56 < Drainedsoul> and then I use a binary search to find code points 23:56 < dx> dav1d: before you mentioned python i thought 'imagemagick'. i have issues. --- Day changed sam. juin 29 2013 00:03 < dav1d> dx: ? 00:04 < dx> dav1d: there's an imagemagick command called "import" that has a completely unintuitive name and does screenshots (i think they thought "import the contents of a window/screen") 00:05 < dx> dav1d: so if you type "import something" in a shell, or run a python script with bash, you get a nice crosshair cursor to select something in the screen and stay confused for a while, thinking "oh god how did this get in here i'm not good with computer" 00:12 < dav1d> dx: ah 00:13 < dav1d> I thought you meant the python imagemagick bindings 00:13 < dav1d> haha 00:13 < dav1d> "I'm not good with computer" :D 00:13 < dav1d> anyways, cya, zz time 02:39 < InfinitePulsing> So.. what about puppies >.> 03:00 < iBotPeaches> the new message json killed puppies 03:00 < iBotPeaches> even though i <3 json, i hate change 03:15 < InfinitePulsing> Hah 03:15 < InfinitePulsing> >.> So about the cute faces of minecraft animals.. 03:16 < InfinitePulsing> *le moo* 03:18 < InfinitePulsing> >.> So about Spawn Eggs 03:19 < InfinitePulsing> Let's make one for Yoshi's.. 03:19 < InfinitePulsing> Yoshis* 03:19 <+sadimusi> you might fit in better in #minecraft ;) 03:19 < InfinitePulsing> D:< Sadi I thought you went to sleep 03:19 < InfinitePulsing> I am trying to make conversation >.> 03:33 <+AndrewPH> InfinitePulsing: lmao i love may mays. my favorite is le rage face 03:33 <+AndrewPH> ecks dee 03:33 < InfinitePulsing> may mays? 03:33 < InfinitePulsing> oh 03:33 < InfinitePulsing> Memes. 03:33 < InfinitePulsing> LOL 04:59 < InfinitePulsing> So.. what about those sheep >.> 05:11 < mbaxter> bah 05:27 < AlphaBlend> InfinitePulsing: Dat InfinitePulsing 05:27 < InfinitePulsing> Tap dat. 05:27 < AlphaBlend> AlphaBlend: Recursion! 05:27 < InfinitePulsing> Dat AlphaBlend. 05:27 < AlphaBlend> hello sire 05:27 < AlphaBlend> so what is it that you do? 05:27 < InfinitePulsing> Do you mean Recursion? 05:28 < InfinitePulsing> (Google reference) 05:28 < AlphaBlend> lol 05:28 < AlphaBlend> programming term 05:28 < InfinitePulsing> I do some java 05:28 < InfinitePulsing> I know 05:28 < AlphaBlend> it's not... for the faint of heart 05:28 < AlphaBlend> :P 05:28 * InfinitePulsing cries out Juliet 05:28 < AlphaBlend> i don't use it very much though 05:28 < AlphaBlend> NO! 05:28 * InfinitePulsing cri out 05:28 * AlphaBlend tries to put Juliet back in 05:28 * InfinitePulsing get pulled in 05:28 < AlphaBlend> Claw out! 05:28 < dx> wat 05:29 < SinZ> wat 05:29 < InfinitePulsing> Ow.. bitch, you pulled my braid. 05:29 < dx> drugs are bad kids 05:29 < AlphaBlend> dang,, i forgot the name of that zakpakuto... 05:29 < AlphaBlend> zanpakuto* 05:29 < AlphaBlend> derp 05:29 < InfinitePulsing> LOL DX 05:29 < AlphaBlend> ok i remembered, but can't really spell it 05:30 < AlphaBlend> SinZ: wat 05:30 < InfinitePulsing> AlphaBlend: wat 05:30 < AlphaBlend> are non computer-enthusiasts likely to use "wat" at all? 05:30 < InfinitePulsing> SO WHAT ABOUT MAKING A YOSHI SPAWN EGG 05:31 < SinZ> AlphaBlend: not really 05:31 < AlphaBlend> ehh... >.> 05:31 < InfinitePulsing> I'D NAME IT PICCOLO. 05:31 < dx> seriously, wtf are you two.. doing 05:31 < SinZ> ^ 05:31 < InfinitePulsing> It's called: Having fun. 05:31 < AlphaBlend> dx: I don't know... 05:31 < AlphaBlend> dx: What minecraft project are you a part of? 05:32 < dx> absolutely nothing at all 05:32 < dx> i'm just here to troll 05:32 < AlphaBlend> :P 05:32 < InfinitePulsing> So.. 05:33 < AlphaBlend> i'm actually more of a plugin dev, but i really do like keeping up with the actual development talk and stuff. I've had to figure out how somethings in vanilla worked, and modified some code, at least the vanilla obfuscated stuff, but not too much 05:33 < InfinitePulsing> I see. 05:33 < AlphaBlend> i'm part of a team of 3 others working on a private plugin as part of a public minecraft community 05:33 < InfinitePulsing> I see a similarity: AlphaBlend is going to be my friend 05:33 < dx> yeah, all i do nowadays is bukkit too 05:33 < InfinitePulsing> I'm not good enough to be part of a team.. yet 05:33 < AlphaBlend> yeah 05:33 < AlphaBlend> well what would interest me is how 1.6 is going to go down with bukkit 05:33 < InfinitePulsing> I know Java but unformalized. 05:34 < dx> some time ago i wrote a shitty protocol parsing proxy and used it to debug random stuff, but now i don't need it and use mc3p 05:34 < AlphaBlend> InfinitePulsing: I joined the team not knowing java at all 05:34 < InfinitePulsing> I learn by example and I don't know a lot of technical terms. 05:34 < InfinitePulsing> But I learn quick as fuck. 05:34 < AlphaBlend> but it's been about 2 years since i joined the team, so i got quite a knowledge of it 05:34 < InfinitePulsing> I see. 05:34 < InfinitePulsing> I learn usually by coding random shit. 05:34 < AlphaBlend> mcp is a really cool tool 05:34 < InfinitePulsing> So I can implement my knowledge. 05:34 < InfinitePulsing> Not really a hardcore gamer. 05:35 < InfinitePulsing> I might be once I get a macbook. 05:35 < AlphaBlend> I actually plugged the original skylands back into minecraft 1.3.1 using mcp and a lot of trial and error 05:35 < dx> wait 05:35 < dx> 00:33 < AlphaBlend> well what would interest me is how 1.6 is going to go down with bukkit 05:35 < dx> AlphaBlend: what do you mean?^ 05:35 < SinZ> Not really a hardcore gamer. 05:35 < SinZ> I might be once I get a macbook. 05:35 < InfinitePulsing> Yeah 05:35 < SinZ> Gaming on a macbook, good luck with that 05:35 < InfinitePulsing> This computer is shit 05:35 < AlphaBlend> dx: The new changes with colorized text -> json system, then the entity attribute system 05:35 < InfinitePulsing> wait 05:35 < SinZ> s/macbook/mac 05:35 < dx> well, macbooks are intel now... you can install windows on them 05:35 < InfinitePulsing> Gaming being minecraft 05:35 < InfinitePulsing> >.> 05:35 < AlphaBlend> lol 05:36 < InfinitePulsing> Anywa 05:36 < dx> AlphaBlend: oh, that. at least § based colors are supported for this release 05:36 < InfinitePulsing> But I just dev on minecraft to have fun coding 05:36 < AlphaBlend> i'm not sure why apple moved from motorola 05:36 < AlphaBlend> dx: Still? The pre-release lets you color text using them still? 05:36 < InfinitePulsing> I'm not sure why apple is a copyright whore 05:36 < dexter0> The latest MacBook pros have very high end NVidia cards you know. 05:36 < AlphaBlend> InfinitePulsing: Jealousy over abilities 05:36 < dx> AlphaBlend: you have to wrap that in json, but yes 05:36 < AlphaBlend> OMG LET'S COPYRIGHT THE FINGER MOVEMENTS TO DO STUFF, LOL! 05:37 < InfinitePulsing> IMG 05:37 < InfinitePulsing> FAIL 05:37 < InfinitePulsing> OMG* 05:37 < InfinitePulsing> "Wait... let's copyright Steve Job's quotes." 05:37 < AlphaBlend> dx: It's really quite addicting to read up on what bukkit does 05:38 < InfinitePulsing> They have a cult around that guy. 05:38 < dx> AlphaBlend: hm? what part of it? 05:38 < AlphaBlend> what sucks is how i don't actually have a real job, and all this stuff is essentially not paving my way through life 05:38 < dx> actually, does bukkit do anything nowadays? :333 05:38 < AlphaBlend> it's almost like a dream job, only it's not 05:38 < AlphaBlend> no..... 05:38 < AlphaBlend> i guess they're tired of all the work for now 05:38 < AlphaBlend> come 1.6 they'll pick back up 05:38 < dx> yeah 05:39 < AlphaBlend> that'll be fun when it happens 05:39 < dx> actually 05:39 < dx> they should have started yesterday 05:39 < AlphaBlend> maybe 05:39 < mbaxter> < dx> actually, does bukkit do anything nowadays? :333 05:39 < AlphaBlend> release is on monday 05:39 < mbaxter> ._. 05:39 < InfinitePulsing> >.> How about watermelons 05:39 < dx> mbaxter: bah, i knew someone who knew better would point that out, shhhh 05:39 < AlphaBlend> mbaxter: s/anything/anything dev related/ 05:40 < dx> mbaxter: i meant that the api development isn't progressing as quickly as it used to be 05:40 < mbaxter> AlphaBlend: What is bukkit not doing currently, other than pushing code which obviously isn't going to happen while people are doing 1.6 05:41 < AlphaBlend> mbaxter: Well, they're not required to anyways, I assume they are just tired of having to input work right now, and concentrate on other areas of their lives, but will pick up when 1.6 is released 05:41 < AlphaBlend> mbaxter: I assume other areas of bukkit are still pretty lively, what with the JIRA and BukkitDev are concerned 05:42 < InfinitePulsing> WHAT ABOUT FUCKING COWS >.> 05:42 < InfinitePulsing> (Randomness mode: 100%) 05:42 < dx> .. 05:42 < mbaxter> moo 05:42 < InfinitePulsing> moo 05:42 < mbaxter> AlphaBlend: Input work? Wot? 05:42 * InfinitePulsing licks mbaxter 05:43 < InfinitePulsing> Heh, I like being random 05:43 * mbaxter shudders 05:43 < dx> mbaxter: it's like the API is now "stable" and all the development is focused in updating between versions 05:43 < AlphaBlend> mbaxter: Sorry... PUSHING CODE = input work 05:44 < AlphaBlend> InfinitePulsing: So do I, you should see what goes on in the innectis staff chat skype group... 05:44 < mbaxter> AlphaBlend: Ah. There's been a lot of behind the scenes work, much of which I believe was described in... the RB post maybe? 05:44 < InfinitePulsing> Lol 05:44 < AlphaBlend> mbaxter: Would you say I'm blind? 05:44 < mbaxter> dx: Stable is hardly a good term to describe API that is strongly bound to an ever changing game. 05:44 < mbaxter> AlphaBlend: No? 05:44 < InfinitePulsing> Alpha, you know, you're cool bro. 05:44 < InfinitePulsing> Minecraft is Minecraft, it says "Fuck logic." 05:45 < AlphaBlend> exactly 05:45 < mbaxter> FOUND IT 05:45 < dx> mbaxter: hm, indeed 05:45 < mbaxter> That's why. It was the RB candidate post. 05:45 < AlphaBlend> which is why the Y coordinate is used where the Z coordinate is usually concerned... 05:45 < mbaxter> http://forums.bukkit.org/threads/craftbukkit-1-5-2-r1-0-rb-candidate-is-now-available.153218/ 05:45 < mbaxter> There ya go 05:45 < InfinitePulsing> LOL 05:45 < AlphaBlend> Was going to find the post myself... 05:45 < AlphaBlend> but ty 05:46 < dx> "The unfortunate truth is that Bukkit is built on an unpredictable moving target that the project has no control over" 05:46 < dx> says evilseph, mojang employee :D 05:46 < AlphaBlend> mbaxter: I think I was mainly referring to the delay from the RB onwards, which is quite long 05:46 < dx> (i'm not saying that statement isn't true) 05:47 < AlphaBlend> look at all of you 05:47 < AlphaBlend> this channel wouldn't exist if it were not for Markus Persson :D 05:47 < mbaxter> 14 days? That's not long by many standards, to be honest. 05:48 < AlphaBlend> mbaxter: I wouldn't know, I'm not a bukkit staff member, but you are :P 05:48 < AlphaBlend> that's always an option, to apply and see what happens though 05:50 < AlphaBlend> I'm not going to whine, mbaxter, enough community members do that, and I really could care less about what Bukkit does in a certain time period, I was simply informing what i felt 05:50 < mbaxter> AlphaBlend: I didn't read it as whining :) 05:50 < AlphaBlend> see package rename commit... oh BOY were people happy about that... 05:50 < mbaxter> Also, if you are interested, see the "How do we plan to prevent further delays" section of the RB candidate post 05:50 < AlphaBlend> it took me about 3 days till i finally saw some benefit to it, but others wouldn't for like 8 months 05:51 < mbaxter> many still are blinded by rage and see none :( 05:51 < dx> whoa this page https://github.com/Bukkit/CraftBukkit-Bleeding/branches 05:51 < mbaxter> dx: whoa 05:51 < dx> mbaxter: whoa 05:51 < dx> "Last updated 2 years ago by tahg" awesome. 05:52 < mbaxter> History! 05:52 < dx> 1817 commits behind, you guys can still merge this! i know you can! 05:53 < mbaxter> nope 05:53 < AlphaBlend> mbaxter: You don't see what's so wrong about it, and I actually see only one reason why people would be infuriated, but that reason alone blinds them from the more crucial reason which both you and I know of 05:53 < AlphaBlend> :( 05:54 < dx> i got distracted with these branches and i have no idea what you guys started talking about 05:54 < AlphaBlend> Hey, I'd rather have 1.3x more work than to have 1,300 server owners with corrupt worlds because they still used old plugins 05:54 < AlphaBlend> dx: Let me grab the commit, sec 05:54 < mbaxter> "I can't pretend my code is futureproof against volatile internals anymore! :(" 05:54 < AlphaBlend> LOL 05:55 < mbaxter> AlphaBlend: Takes me no additional time to write multi version support at this point. 05:55 < dx> gotta use mcp/forge's magic remapping of everything to have magic support of every version ever 05:55 < dx> i ain't gotta explain shit 05:55 < mbaxter> dx: Which breaks the moment a method works differently, takes different arguments, returns different values....... 05:55 < InfinitePulsing> So 05:55 < AlphaBlend> mbaxter: I never have done that before, but I don't write plugins that go on BukkitDev 05:55 < dx> mbaxter: IT'S MAGIC 05:55 < mbaxter> I have a few base folders with a few approaches to mavenizing multi-version support that I grab depending on waht I need, AlphaBlend :) 05:56 < mbaxter> See: TagAPI, VanishNoPacket. 05:56 < AlphaBlend> besides, we have a tool that can already automate that :P 05:56 < AlphaBlend> ah 05:56 < dx> mbaxter: are these documented methods to link against NMS? 05:56 < mbaxter> You can't automate adapting to future changes in method signature 05:56 < mbaxter> dx: Are what what what? 05:56 < InfinitePulsing> Math class: Unobfuscated Code + Big protocol changes (any big change) = x 05:56 < InfinitePulsing> Just solve it 05:56 < dx> mbaxter: butt butt butt 05:56 < mbaxter> dx: No, what are you asking :P 05:57 < InfinitePulsing> I'll be coding again, type my name to get my attention 05:57 < dx> mbaxter: i mean, the multi-version support stuff you do, and corresponding maven scripts, is that documented somewhere to let other plugin developers stop whining about not being able to use NMS nicely? 05:58 < mbaxter> Wrote a topic about it with a sample repo 05:58 < AlphaBlend> mbaxter: Sorry, we run the tool and it converts the imported names automatically 05:58 < mbaxter> I believe I had that out before the change in CB made it to a recommended build. 05:58 < mbaxter> AlphaBlend: Which only works as long as the method signature is intact, and method functionality is intact, which is even less likely 05:58 < AlphaBlend> dx: https://github.com/Bukkit/CraftBukkit/commit/8f12382e8efc8c39a919af9180dd884caf3720ff here you go, and all 1,508 comments of it :P 05:59 < AlphaBlend> mbaxter: Yeah... I know, well at least it's a base conversion, only the rest is making sure of what you said 05:59 < dx> oh, that one 05:59 < AlphaBlend> yep! 06:02 < dx> it's just a pessimistic approach that guarantees that the code gets tested before you try to use code that is (allegedly) being refactored constantly by mojang... now, uh, remind me what you were complaining about 06:03 < mbaxter> He wasn't complaining, he understands its purpose and usefulness 06:03 < mbaxter> Just discussing \o/ 06:03 < AlphaBlend> ^ 06:03 < mbaxter> v 06:03 < dx> < 06:04 < InfinitePulsing> >.> 06:04 < AlphaBlend> mbaxter: I can't think of a better approach, but if one existed, it would mean that you could use any plugin despite it not being updated to cohere to package renames, and still be able to alert if a plugin is bad... only that won't happen unless you can stop the execution of the plugin... which I can't think of a better solution to do 06:05 < AlphaBlend> so, there probably isn't a better way to do this 06:05 < mbaxter> Thus, that commit :) 06:05 < dx> i know! add a version to every single fucking method! 06:05 < AlphaBlend> who thought of that? 06:05 < dx> (increase version when signature changes) 06:05 < dx> best idea ever right 06:06 < AlphaBlend> wolvereness made the commit, but someone else thought of that 06:06 < AlphaBlend> dx: That wouldn't be the job of bukkit, since that would be condoning the use of NMS to fill in for API vacancy 06:06 < mbaxter> dx: Why stop there? Just reobfuscate craftbukkit every commit! 06:07 < AlphaBlend> lol 06:08 < InfinitePulsing> Who what now? 06:08 < InfinitePulsing> Do I hear people modifying a product that is obfuscated, then deobfuscatted, and obfuscating a product based on the latter? 06:08 < InfinitePulsing> LIES 06:09 < dx> mbaxter: translate craftbukkit to scala, make a build script that translates back to java but with completely different obfuscation. that way, you don't get diff noise for each commit, but people can't use it directly... most of the time. 06:09 < InfinitePulsing> AlphaBlend 06:09 < InfinitePulsing> Mind joining #communicationTesting 06:09 < InfinitePulsing> I wanna test my bot 06:09 < InfinitePulsing> Sorry mah guinea pig 06:09 < dx> mbaxter: nah, wait, that's dumb. i'm terrible at this "terrible ideas" thing 06:11 < InfinitePulsing> Holy shit 06:11 < InfinitePulsing> It actually worked 06:11 < AlphaBlend> :P 06:11 < InfinitePulsing> First time something worked without an error 06:11 < InfinitePulsing> I suck with arrays 06:11 < InfinitePulsing> xD 06:11 < AlphaBlend> dx: That's just treble, you should feel bad! 06:11 < InfinitePulsing> I did that in Python 06:12 < AlphaBlend> ;o 06:12 < InfinitePulsing> I suck at Python 06:12 < InfinitePulsing> But I made that by looking at one script 06:12 < dx> lewd 06:14 < AlphaBlend> nice 06:15 < AlphaBlend> sigh, almost done re-writing this framework 06:15 < AlphaBlend> we end up loading other plugins to do certain things with, and i'm re-writing it to make it more compact and easy to work with 06:15 < AlphaBlend> lots of files to edit! 06:21 < InfinitePulsing> Curious 06:21 < InfinitePulsing> Alpha, I gawt files 06:21 < InfinitePulsing> Jokin 06:22 < AlphaBlend> lol 06:22 < AlphaBlend> how much of a programmer are you? 06:23 < InfinitePulsing> Well, a lot, it's just that I learn by example, I can write and understand code. 06:23 < InfinitePulsing> I'm not pro like others here, but I will become pro soon ;3 06:24 < InfinitePulsing> Why :3 06:26 < AlphaBlend> learning by example shows you how to construct code, it doesn't teach you why the code is constructed that way 06:27 < InfinitePulsing> ^.^ Yep, except I know a lot of "why"'s too. 06:27 < AlphaBlend> yeah 06:27 < AlphaBlend> cool 06:30 < AlphaBlend> mbaxter: Are you busy at all? 06:32 < mbaxter> AlphaBlend: what's up 06:40 < InfinitePulsing> Hey guys 06:40 < InfinitePulsing> GAIS 06:47 < AlphaBlend> wat 16:31 < Drainedsoul> when you serialize chunks e.g. in 0x33, are the arrays per column, or per chunk? I.e. do you lead with a block type array of 4096 bytes (for the first chunk) or with a block type array of 4096-65536 bytes (for all the types of all the blocks in the column)? 18:57 < redu> http://youtu.be/E3418SeWZfQ javapocalypse time 22:01 < InfinitePulsing> >..> 22:15 < antonella> hello :-D 22:17 < antonella> Olá 22:18 < Yoshi2> good day, antonella 22:20 < dx> just watched that javapocalypse vid (again), i like how they say "investigating reports of open source activity" right after someone says "oracle" 22:25 < Calinou> lol 22:33 < InfinitePulsing> http://www.youtube.com/watch?v=3io8Ys7KSGY 22:33 < InfinitePulsing> Le shivere.. 22:38 < InfinitePulsing> 俺は蜂が好きない。 22:38 < InfinitePulsing> 俺は蜂が好きない。 22:38 < InfinitePulsing> Ore wa hachi ga suki nai.. 22:39 < InfinitePulsing> ORE WA HACHI GA SUKI NAIYO 22:40 < antonella> anyone know speaks spanisk 22:40 < antonella> ??? 22:40 < antonella> :-/ 22:40 < dx> antonella: maybe 22:40 < dx> InfinitePulsing: u wot m8 22:41 < Calinou> dx: LE BAGUETTE ( | | | | | ) 22:41 < InfinitePulsing> I don't like bees 22:41 < dx> er.. 22:41 < dx> InfinitePulsing: why are you posting that and why are you talking in japanese 22:41 < dx> InfinitePulsing: why 22:41 < antonella> l ´ m from venezuela 22:42 < InfinitePulsing> Ore (I) wa (topic) hachi (bee/wasp), ga (~subject) suki (likeable) nai (negative) 22:42 < InfinitePulsing> For the lulz, dx. 22:42 < dx> InfinitePulsing: wrong channel for that 22:43 < InfinitePulsing> Dx.. 22:43 < InfinitePulsing> It is so silent here. 22:43 < InfinitePulsing> Stop trolling 22:43 < InfinitePulsing> こいつはバカだ。 22:43 < InfinitePulsing> (He is an idiot.) 22:43 < InfinitePulsing> Well, (This guy is a fool.) 22:43 < dx> welcome to irc 22:44 < Yoshi2> 'baka' is as far as my japanese goes 22:44 < dx> constant activity is not required here 22:44 < InfinitePulsing> bakadayo 22:45 < InfinitePulsing> Wow, My excited side came in 22:45 < InfinitePulsing> I only put -yo when I'm roused up 22:45 < dx> ..:V 22:45 < Yoshi2> tell that to the guy who invented the yoyo 22:46 < InfinitePulsing> -yo is a sentence ending particle 22:46 < antonella> haaaaaaaaaaaaaaaaa no se lo que diceeeeeeeeen 22:49 < InfinitePulsing> You don't understand? 22:50 < InfinitePulsing> Yo comprendo espanol un pocito poco poco POCO. 22:50 < InfinitePulsing> But go to another channel. 22:50 < InfinitePulsing> I needa stop speaking other languages, 22:54 < dx> i PM'd her to talk in spanish 22:54 < dx> turns out that she joined this channel picking randomly from the channel list 22:55 < dx> so... derp. 22:55 < antonella> haaaaaaaaaaa nadien habla español bueno solo dx 22:55 < antonella> XD jejeje 22:55 < antonella> y yo 22:55 < antonella> XD XDDDDDDDDDDDDDD 22:56 < dx> antonella: eh... 22:56 < antonella> leer 22:56 < antonella> q nadie habla es español solo tu y yo entedites XD 22:58 < dx> sigh 23:00 < dx> she had to ask what's an "admin"... 23:02 < InfinitePulsing> LO 23:02 < InfinitePulsing> LOL 23:02 < InfinitePulsing> LOL 23:02 < InfinitePulsing> ?MOP 23:02 < InfinitePulsing> You're lying. 23:02 < dx> what 23:02 < dx> i need to take a break from irc, i think i can't handle the weirdness 23:05 < Yoshi2> "What's an admin?" wouldn't be the weirdest thing I've ever heard 23:05 < Yoshi2> in fact, that's one of the more reasonable questions 23:07 < dx> that's not the weird part 23:08 < Yoshi2> I know, I find InfinitePulsing's reaction very exaggerated 23:43 < InfinitePulsing> I hate life.. 23:45 < InfinitePulsing> And then it squirted all over my keyboard 23:45 < InfinitePulsing> I guess that didn't work 23:45 < InfinitePulsing> Tried that thing from bash.org 23:45 < InfinitePulsing> where when someone came in 23:45 < InfinitePulsing> a guy said that 23:52 < dx> welcome to irc 23:52 < dx> it's not like bash.org 23:57 < InfinitePulsing> dx 23:57 < InfinitePulsing> dx 23:57 < InfinitePulsing> f 23:57 < InfinitePulsing> uc 23:57 < InfinitePulsing> ky.u 23:57 < dx> .. 23:59 < dx> okay, whatever, i'm sorry, i'll stop caring about whatever your interpretation of how irc works is, and let you live in your own world where you seem to cure your boredom while pretending that #mcdevs is a really entertaining place --- Day changed dim. juin 30 2013 00:02 < Morrolan> It is quite entertaining at times. There's not many channels where a member who's been rather impolite doesn't get banned for a long time, then gets banned, gets unbanned, and gets banned agani! 00:03 < Morrolan> s/agani/again/ 00:03 < iBotPeaches> this new chat json thing is the devil 00:03 < InfinitePulsing> I don't know JSON 00:03 < dx> Morrolan: yeah, "at times" 00:03 < InfinitePulsing> *pokerface* 00:04 < Morrolan> dx: Okay, you got a point. ;) 00:05 < InfinitePulsing> Dx, dear, I frankly don't give a fuck. 00:05 < Morrolan> InfinitePulsing: I've got good news for you, you don't need to "know" JSON if you're using a reasonable programming language which parses it for you. 00:05 < dx> InfinitePulsing: I DO GIVE FUCKS 00:05 < dx> InfinitePulsing: BECAUSE YOU GOT THE QUOTE WRONG 00:05 < iBotPeaches> If our packet length max for 0x03 didn't increase, and we introduced json, I will be sad 00:06 < dx> i did say i needed to take a break, but i'm still trying to get the dotnet 4.0 framework installed 00:11 < InfinitePulsing> Well, I'm coding Project Tursiops later. 00:11 < InfinitePulsing> Delphinidae. 00:12 < iBotPeaches> well, taking the max characters that the client allowed was 101, including the username w/ color attribute, attached to the json text:, with color attribute 00:12 < iBotPeaches> put us around 180bytes 00:12 < iBotPeaches> and still worked, so whew :) 00:13 < dx> iBotPeaches: what max length 00:13 < iBotPeaches> chat message 00:14 < dx> yes i know 00:14 < dx> the server can send up to 32kb which is just the limitation of the signed shorts that give the field length 00:14 < dx> how is that an issue? 00:15 < iBotPeaches> there is no issue, im mainly talking to myself as I update 1.5.2 -> 1.6.1 00:15 < iBotPeaches> I believe in something older than 1.4 there was a 100char limit 00:16 < iBotPeaches> and we still had the code to auto split and resend the message in multiple packets, that with JSOn is a no no, thus my above messages 00:16 < dx> 1.2.5 changed that 00:16 < iBotPeaches> ive been out of it for a long time :) 00:18 < InfinitePulsing> Project Tursiops. 00:20 < InfinitePulsing> Dolphins. 00:20 < InfinitePulsing> Epicness. 00:20 < InfinitePulsing> Yas. 01:29 <+sadimusi> the JS library for google font is hosted on github, not google code o.O 01:39 < dav1d> RX errors 0 dropped 94605 overruns 0 frame 0 01:39 < dav1d> :> 09:25 <+md_5> so 09:26 <+md_5> if someone could email me the necessary NDA's to get the 1.5.2 and 1.6.1 obfuscation mappings I'll have them couried back to sweden with 2-3 days. 10:21 < dav1d> md_5: this is possible? 10:21 < dav1d> sign a NDA and get basically unobfuscated minecraft? 10:25 < Yoshi2> dav1d: if Mojang offers such a service, maybe 10:25 <+md_5> dav1d no :3 backstory is I want to update Spigot sooner rather than later 10:25 < dav1d> why would they do that? 10:25 <+md_5> was a bit of a poke saying the lengths I would go to :p 10:27 < Yoshi2> damn, I knew that sounded too good to be true 10:28 <+md_5> well 10:28 <+md_5> Yoshi2 dav1d a few other parties already get access to the mappings 10:28 <+md_5> so yeah 10:29 < dav1d> but they work on it, don't they? 10:29 <+md_5> no 12:14 < Not-001> [fCraft] fragmer * r2056 8 files : Renamed MapGenTheme.Forest to MapGenTheme.Grass. Added EnumUtil.TryComplete method. Improvements to /SetGen. 12:31 < Not-001> [fCraft] fragmer * r2057 2 files : Finished integrating FlatMapGen with /SetGen 13:02 < Not-001> [fCraft] fragmer * r2058 2 files : Fixed the way VanillaMapGen handles CaveDensity and OreDensity parameters. 17:23 < Jishaxe> Hi, I plan to write a simplified Minecraft server in Node.JS for a minigame. I don't want to write my own map generator, is it feasible to somehow hook into Minecraft's one? 17:30 < dav1d> iirc mcedit does that 17:30 < dav1d> reset the spawn of the map, launch minecraft, let it generate the terrain, kill minecraft 17:31 < dx> completely ignoring the legal side which is as gray as with any kind of modding, you'll have to mess with the java code, adapt it to be usable from outside, and then have a JVM running alongside your own server... which kinda defeats the purpose of writing your own. 17:31 < dx> dav1d: hah interesting, completely external then 19:00 < TRocket> what happened to the notifico bot? 19:01 < dx> hmm probably going to ping out 19:02 < dav1d> TkTech: ^ 19:03 < TkTech> TRocket: You mean Not-001…? It's here. 19:03 < TRocket> TkTech: my commits aren't appearing 19:03 < TRocket> http://n.tkte.ch/TRocket/BenchCraft 19:04 < dx> TkTech: i sent a ctcp ping and got no reply, but then i realized that i'm not sure if you even implemented ctcp ping, so now i'm trying to read the source 19:04 < mbaxter> Is current resource pack support just textures? 19:04 < dx> no, also sounds and translations 19:05 < dx> and maybe something else 19:05 < mbaxter> Is that actually supported in the client, or just planned though? 19:05 < dx> pretty sure it's supported but haven't confirmed that myself 19:07 < mbaxter> This is the only documentation on the mojang site other than that jar file which converts texture packs https://gist.github.com/Dinnerbone/5662824 19:07 < dx> featuring comments by SirCmpwn 19:08 < dav1d> that is dumb lol 19:08 < dx> and yes, that's not even the final version of the resource pack format 19:08 < dav1d> assuming the "clamp" stuff etc. is implemented like that... 19:09 < dav1d> that is a pure performance killer 19:09 < mbaxter> Sigh. Anybody have an updated reference? I'd like to get started on building a sound pack for my server if it's there. 19:09 < dx> dav1d: deja vu 19:10 < dav1d> dx: mh? 19:10 < dx> dav1d: we talked about this before 19:10 < dav1d> dx: yes we did 19:10 < dav1d> it's still valid 19:10 < Thinkofdeath> mbaxter: I think for sounds the path just has to match the orginal one (unless your doing custom sounds) 19:10 < dx> dav1d: you even got a reply from grum saying something along the lines of "it's not as bad as you think, only one texture needs it" 19:11 < dav1d> dx: I don't remember that reply 19:12 < dav1d> dx: also would be interesting to see what happens if you set this param for e.g. stone 19:12 < mbaxter> Thinkofdeath: The gist there implies there's planned entries for it. I'd assume you would need those. 19:13 < Thinkofdeath> mbaxter: Not sure, I was going from DB twitter where he said just change the / with a . for the sound name to add your own sounds 19:14 < dx> dav1d: interesting idea! 19:14 < dav1d> dx: no not interesting, horrible 19:14 < dx> dav1d: interesting because it's a quick way to prove that clamp is horrible as you say :P 19:15 < dav1d> assuming they implemented it properly (so it would actually work for stone, even if it is useless) 19:15 < Thinkofdeath> mbaxter: https://twitter.com/Dinnerbone/status/350631272239988736 19:15 < dav1d> dx: clamp would do nothing, except make the texture unesable for the terrain-atlas 19:15 < Dinnerbone> Soundpack support isn't complete 19:15 < Dinnerbone> You can replace sounds right now but not add or remove 19:16 < mbaxter> Thanks, mr bone 19:16 < Thinkofdeath> Dinnerbone: Ah thanks 19:16 < Dinnerbone> That will be coming in the next update, where we'll switch from "filename" to "sound event" system 19:16 < dav1d> Dinnerbone: this makes only sense for "standalone" textures which aren't packed into an atlas 19:16 < dav1d> Dinnerbone: sorry, that was supposed to go to dx 19:16 < mbaxter> Dinnerbone: What about translations? 19:16 < dav1d> dx: and you should always try to get as many textures as possible into an atlas 19:17 < dav1d> (depending on the usecase, for minecraft that is valid) 19:17 < dx> dav1d: around line 25, added context just because http://dpaste.com/1276379/ 19:18 < dav1d> SirCmpwn so nice speaking of BraLa <3 19:18 < dx> also, this is where i realize that using dpaste links that always expire is not a great idea. 19:19 < dx> heh yeah, but it's hard to compare BraLa with the minecraft renderer when we don't know shit about opengl 19:19 < dav1d> would be interesting if they actually allowed clamp:true etc. for terrain textures 19:19 < dx> do they not? 19:19 < dav1d> dx: well minecraft supports opengl 1.2 (lol) 19:19 < dav1d> dx: because it makes no sense at all 19:20 < dx> i mean, the resource pack system seems to allow it... 19:20 < dav1d> if clamp:true means GL_CLAMP 19:20 < dav1d> glTexParameter(tex, GL_TEXTURE_WRAP_*, GL_CLAMP) 19:20 < dav1d> man I made so many abstractions, I had to look that command up 19:21 < dav1d> I even think it's glTexParameterf 19:21 < dx> what i'm saying is that you can just go ahead, grab the default resource pack, modify to use clamp for stone or dirt or whatever, and see it with your own eyes 19:21 < dav1d> dx: clamp has no impact on the texture 19:21 < dx> dav1d: there surely must be a reason that it's needed for one or two, though 19:21 < dav1d> dx: clamp only says how to handle texture-coordinates > 1, < 0 19:22 < dx> hm i see 19:22 < dav1d> dx: GL_REPEAT means, the texture is virtually appended to the sides 19:22 < dav1d> so setting GL_CLAMP makes absolutely no sense e.g. for stone 19:22 < dav1d> the clamp value should be internal 19:23 < dx> 'internal' where? 19:23 < dav1d> dx: in minecraft 19:23 < dav1d> texture X, requires GL_CLAMP, because our texture coordinates require that 19:23 < dx> as in something that shouldn't be configurable? 19:23 < dav1d> since you can't influence the texture coordinates from outside, you shouldn't be able to change the GL_CLAMP either 19:23 < dav1d> dx: right 19:24 < dav1d> GL_CLAMP makes only sense if your texture coordinates require that 19:24 < dav1d> (off topic, I want minecraft to support: https://github.com/Dav1dde/BraLa/blob/master/res/brala.conf#L17 ) 19:24 < dav1d> +line 18 19:24 < dx> github protip: shift-click a line number, it extends the highlight 19:25 < dav1d> ah yeah, I always forget about that one, thanks 19:25 < dav1d> I mean, mipmapping is literally only +1 line 19:25 < dx> optifine has mipmaps, it's a really nice improvement 19:25 < dav1d> and 2 lines changed 19:25 < dav1d> it is really nothing more 19:26 < dx> literally 1 line for #mcdevs 19:26 < dav1d> opengl generates the mipmaps for you (if you tell it to do it) and you have to set the texture parameter 19:26 < dav1d> dx: if they need more, the whole codebase is fucked up 19:26 < dav1d> really fucked up 19:26 < dx> dav1d: guess what reply we got every single time we suggested one line changes 19:26 < dx> (hint: apparently it is) 19:26 < dav1d> dx: well, that is one opengl command 19:27 < dav1d> and changing the texture parameters... 19:27 < dx> yeah i know, but i wouldn't be surprised if there was *something* that suddenly makes it not-trivial 19:27 < dav1d> making it configureable, probably a bit more 19:28 < dav1d> dx: https://github.com/Dav1dde/BraLa/blob/master/brala/gfx/terrain.d#L312-L316 19:28 < dav1d> the only difference 19:28 < dav1d> (because I generate mipmaps for textures by default) 19:28 < dx> that's five lines! 19:28 < dx> why are you such a liar 19:28 < dx> (:3) 19:28 < dav1d> glGenerateMipmap would be the 2nd line, or the setting the auto-generate parameter for older opengl versions 19:28 < dav1d> dx: nope 19:29 < dx> kidding, kidding 19:29 < dav1d> dx: one line glGenerateMipmap + changing GL_NEAREST to GL_NEAREST_MIPMAP_LINEAR 19:29 < dav1d> :) 19:29 < dav1d> +1 line, 1 line changed :) 19:29 < dx> GL_NEAREST_MIPMAP_LINEAR <-- doesn't sound like this would look smooth 19:29 < dav1d> dx: that is exactly what you want 19:29 < dav1d> dx: GL_NEAREST is the current 19:29 < dx> right 19:30 < dav1d> otherwise your textures would be blurry n' stuff 19:30 < dx> which is what every other lowres non-minecraft game does, right? 19:30 < dx> we love pixels 19:30 < dav1d> yes 19:30 < dx> okay, i get it then 19:30 < dav1d> but minecraft textures are so low-res that it looks like shit 19:30 < dav1d> basically interpolation between texture pixels 19:30 < dav1d> *texels, whatever 19:31 < dx> wouldn't it be better to interpolate when we have higher res textures? 19:31 < dav1d> dx: well that function specifies the filter if the area to texture is > than the texture provides pixels 19:31 < dav1d> MAG_FILTER and MIN_FILTER does the opposite 19:32 < dav1d> dx: probably would look better yeah, since higher res texture packs tend to get rid of the characteristic pixels in the textures 19:32 < dav1d> if you still wan't them, then GL_NEAREST is what you want 19:33 < dav1d> (dat terrain.d is horrible) 19:33 < dx> so MAG_FILTER means that it does NEAREST without mipmaps regardless of the config if the texture is high res? 19:33 < dav1d> but I like it :) 19:33 < dav1d> dx: depending on the option 19:33 < dav1d> dx: GL_NEAREST = no mipmaps 19:33 < dx> yeah, but sampler.set_parameter(GL_TEXTURE_MAG_FILTER, GL_NEAREST); 19:33 < dav1d> dx: GL_NEAREST_MIPMAP_LINEAR well, GL_NEAREST + MIPMAPS linear 19:34 < dx> that's GL_NEAREST always for MAG_FILTER 19:34 < dav1d> dx: ah sorry the min filter is the important one 19:34 < dx> what is mag for then? 19:34 * dx is finding it hard to try to pretend to understand this 19:35 < dav1d> dx: you can't have a mipmap MAG filter 19:35 < dav1d> dx: obvious? 19:35 < dav1d> mipmaps scale down the texture, but mag filter is used for areas > texture 19:35 < dav1d> so a smaller texture doesn't help you here at all 19:35 < dx> oooh, okay, i get it. 19:36 < dx> you got the > backwards before then 19:36 < dav1d> and for the characteristic minecraft pixel-style textures you need GL_NEAREST 19:36 < dav1d> dx: yeah my bad, sorry 'bout that, waas mixing up min and mag filter 19:36 < dx> dav1d: so back to clamp, is it always "evil"? 19:37 < dav1d> dx: no, it is not evil in general, it simply shouldn't be exposed to the user 19:37 < dx> oh okay, that makes sense 19:37 < dav1d> dx: GL_REPEAT (the other options): 1.X → 0.X, 234234.X → 0.X 19:37 < dav1d> dx: GL_CLAMP: 1.X → 1, 324223.X → 1 19:37 < dav1d> for texture coordinates 19:38 < dav1d> opengl texture coordinates are limited to a range from 0 to 1 (normalized coordinates for the lookup) 19:38 < dav1d> so instead of texture[pixelrow, pixelcolumn] you do texture[pixelrow/height, pixelcolumn/width] 19:39 < dav1d> only that it pixelcolumn then pixelrow 19:39 < dav1d> dx: now if you want to set GL_CLAMP on a texture, you have to separate it from the others → preventing putting all small textures into one big 19:40 < dav1d> dx: one big has the advantage, you only have to upload the texture once and you don't have to switch it while drawing blocks 19:40 < dx> dav1d: wouldn't it do the rendering in two passes if there are two sets of textures? 19:41 < dx> (not sure if this makes sense) 19:41 < dav1d> dx: correct and that complicates things and makes them slow, too 19:41 < dav1d> dx: you would have to render blocks with different textures sepeartly 19:41 < dav1d> → more opengl calls → slower 19:41 < dav1d> also switchignt textures → even more opengl calls 19:41 < dx> oh, you can't put every GL_CLAMP texture in a single texture map either? 19:41 < dav1d> dx: you can but that would be useless again 19:42 < dx> why? 19:42 < dav1d> dx: since it only affects the borders 19:42 < dav1d> dx: well having GL_CLAMP for terrain is completly useless 19:42 < dav1d> dx: (terrain textures), that's the reason it shouldn't exist in the first place 19:43 < dx> (at this point we should check what it is used for) 19:43 < dav1d> secondly, setting clamp:false for a texture which requires it, is also stuipid 19:43 < dav1d> dx: e.g. shadows under animals 19:44 < dx> this is magnets for me. 19:44 < dav1d> haha 19:45 < dav1d> dx: if you keep your texture coordinates (indices specifing which pixel of the texture) stay in the range of 0 to 1, GL_CLAMP or GL_REPEAT have no impact 19:45 < dx> dav1d: these texture coordinates are specified in the java code, i guess? 19:45 < dx> that's very vague. 19:45 < dav1d> dx: kinda, you remember the old terrain.png? 19:45 < dx> yeah 19:45 < dav1d> dx: I had for every texture the coordinates hardcoded 19:46 < dx> wait wait 19:46 < dav1d> dx: upper left had e.g. (0, 0), (1/16, 0), (1/16, 0), (1/16, 1/16) 19:47 < dx> is there any relationship between "texture coordinates between 0 and 1" and the fact that terrain.png had all the textures in a single image? 19:47 < dav1d> now these are mapped dynamically when loading a texture, the terrain.png is stitched together from many small textures, so you can't hardcode them anylonger 19:47 < dav1d> dx: yes 19:47 < dx> so was terrain.png sent directly to opengl or something? 19:47 < dav1d> dx: ok, let's say our terrain png is 256x256 pixels 19:48 < dav1d> dx: so to acess pixel 128x and 128y you would do it like that: terrain[128][128] right? 19:48 < dx> sounds about right 19:48 < dav1d> dx: now opengl requires you to normalize these: terrain[128/256][128/256] 19:48 < dav1d> that's it 19:48 < dav1d> so terrain[0.5][0.5] 19:48 < dx> ...oh 19:48 < dx> so wait, why would anyone want more than 1 or less than 0? 19:49 < dav1d> dx: rarely the case, sometimes it's easier 19:49 < dav1d> dx: if you don't want to go over 0,1 but your code does, set the parameter to GL_CLAMP 19:49 < dav1d> then gl will clamp every texture coordinate < 0 to 0 and every coordinate > 1 to 1 19:50 < dav1d> for GL_REPEAT only the decimal places are relevant (including 0 and 1) 19:50 < dx> GL_CLAMP is there to avoid the behavior of GL_REPEAT which... would repeat with a wrapping texture? 19:51 < dav1d> dx: GL_CLAMP clamps the texture coordinates to a range between 0 and 1 and GL_REPEAT virtually duplicates the texture to the left, right, top and bottom 19:51 < dav1d> so texture coordinate 1.5 == 0.5 and 2.0 == 1.0 19:51 < dx> so yeah, wrapping 19:52 < dav1d> maybe? don't know if that is the correct english term, but might be 19:52 < dx> so the textures that needed GL_CLAMP just couldn't be inside the old terrain.png 19:52 < dav1d> dx: http://wiki.delphigl.com/images/6/63/S_clamp_t_clamp.jpg http://wiki.delphigl.com/images/6/60/S_repeat_t_repeat.jpg 19:53 < dav1d> dx: correct, if you really want to apply GL_CLAMP 19:53 < dav1d> this complicates the code a whole lot (I wouldn't even know how to implement it so that it makes at least a little sense) and is well useless 19:53 < dav1d> dx: first picture has GL_CLAMP set for X and Y direction, the 2nd GL_REPEAT for both 19:54 < dx> yeah, those pics made it pretty obvious 19:54 < dx> i wouldn't have imagined that something like this could have such implications in the rendering 19:55 < dav1d> if you're interested in that: http://www.arcsynthesis.org/gltut/Texturing/Texturing.html 19:55 < dav1d> with a few code snippets here and there, you can ignore them 19:56 < dav1d> just skip where he goes into code-details 19:56 < dx> sorry, i can't read this page 19:56 < dav1d> ok?^^ 19:56 < dx> it has default font as "calibri" and since i've installed it it has fucked up rendering which i haven't figured out how to fix :( 19:56 < dav1d> haha 19:56 < dx> http://dump.dequis.org/_tU8I.png it looks really awful ;_; 19:57 < dx> those "ti" 19:57 < dx> i have no idea why that happens 19:57 < dav1d> dx: http://vp.dav1d.de/img/RGKD0 :D 19:57 < dx> dav1d: do you even have win7/vista fonts installed? 19:58 < dav1d> dx: no, I don't think so 19:58 < dx> i think i'll just get rid of that font pack 19:58 < dav1d> well, maybe they came with wine 19:58 < dav1d> but I don't think so, I had a real font mess once, somehow I "fixed" it, at least it now everything looks quite ok ... 19:58 < dav1d> → I don't touch my fonts! 19:59 < dav1d> (ever again) 19:59 < dx> all my fonts work fine, except the ones i've modified/installed in the last three months or so - all of those look awful 20:00 < dx> i have no idea where to ask for help about this issue either 20:00 < dav1d> dx: #archlinux 20:00 < dx> dav1d: ha ha funny guy 20:01 < dx> that channel has so much spam that any non-trivial question will always go unanswered 20:01 < dav1d> I tend to get great advices from there, if you ignore the few dickheads 20:01 < dav1d> dx: naa 20:01 < dx> i guess it's a matter of luck 20:01 < dx> it's a huge channel 20:01 < dav1d> yeah 20:02 < dav1d> I always found someone helping me so far :) 20:02 < dav1d> lucky me, I guess 20:02 < dx> i'll give it a try again now then 20:10 < dav1d> meh, now back to math 20:10 < dx> have fun 20:11 < dav1d> ha thanks... 20:13 < dx> dav1d: admire how the offtopic continues on #archlinux and the unanswered questions start getting lost up there 20:14 < dx> this is why i'd rather ask in specific channels with almost no activity 20:17 < dx> sometimes i really wonder what's more effective, to try to write the whole issue in a single message that's nearly 400 chars long, or to leave out most details and at least hope that someone asks me a question that would be redundant otherwise