code logs -> 2011 -> Thu, 22 Dec 2011< code.20111221.log - code.20111223.log >
--- Log opened Thu Dec 22 00:00:12 2011
00:15 You're now known as TheWatcher[T-2]
00:21 You're now known as TheWatcher[zZzZ]
00:22 eckse [eckse@Nightstar-6fa75dbe.dsl.sentex.ca] has joined #code
00:58
<@Tarinaky>
Dumb question.
00:58
<@Tarinaky>
Is there a downloadable/offline version for the Python and Panda3d documentation?
01:00
<@Tarinaky>
Ahah! Found it!
01:00
<@Tarinaky>
\o/
01:07
< ToxicFrog>
In cases where there isn't, you can usually generate some yourself with wget.
01:19 Stalker [Z@Nightstar-5aa18eaf.balk.dk] has quit [Connection reset by peer]
01:19 Stalker [Z@Nightstar-5aa18eaf.balk.dk] has joined #code
01:26 * ToxicFrog tracks down a stupid stupid stupid bug in his program
01:26
< celticminstrel>
I don't think wget really counts as generating... <_<
01:27
< ToxicFrog>
It will in fact rewrite all of the links to be local relative links as needed.
01:30
< celticminstrel>
Oh.
01:31
< celticminstrel>
I don't suppose curl can do that too?
01:42
< Ling>
Not to my knowledge
01:43
< Ling>
curl is better for scripting.
01:43
< Ling>
wget is better for getting data en masse.
01:45
< ToxicFrog>
Yeah, generally you want something like wget -p -np -r -l inf -k
01:45 Attilla [Obsolete@Nightstar-9d19ccd5.as43234.net] has quit [Ping timeout: 121 seconds]
01:59 Kindamoody[zZz] is now known as Kindamoody
02:04
< celticminstrel>
I don't have wget.
02:09
< ToxicFrog>
Problematic.
02:09
< Ling>
Well then: run curl on the landing page, pipe output into script that corrects the hrefs as needed and feeds a list of URLs to pull into a script that calls curl piped into the same script.
02:09
< Ling>
Have fun.
02:09
< ToxicFrog>
Or, you know, sudo apt-get install wget~
02:10
< Ling>
Eww, apt-get...
02:10 * Ling lets his biases show
02:11
< ToxicFrog>
Well, replace with zypper or lin or the like accordingly :P
02:11
< Ling>
ToxicFrog: Arch Linux uses pacman
02:11
< ToxicFrog>
Or that, yes.
02:15
< celticminstrel>
It's MacPorts, not apt-get.
02:16
< celticminstrel>
And I agree with Ling's sentiment on apt-get.
02:16
< celticminstrel>
It doesn't make any sense.
02:16
< Tamber>
"It's configure && make && make install, damnit; not apt-get"
02:16 * Ling was an SA, tried making .deb files. Wondered how anyone actually stays sane doing that regularly.
02:17
< Tamber>
They don't.
02:17
< Ling>
I guess that explains the 17-step process.
02:17
< Ling>
(Yes, I counted)
02:18 Kindamoody is now known as KiMo|Portal
02:18
< ToxicFrog>
celticminstrel: it's always worked well for me.
02:18
< celticminstrel>
Oh, it works okay.
02:19
< celticminstrel>
But it doesn't make sense.
02:19
<@Namegduf>
The statement there is wrong.
02:19
<@Namegduf>
apt-get does not configure or make anything.
02:19
<@Namegduf>
It's a binary package management system.
02:19
< celticminstrel>
And I couldn't find any way to search except apt-cache piped through grep.
02:20
< celticminstrel>
I think.
02:20
< Tamber>
Namegduf, if you were referring to my statement, I know. ;)
02:22
< ToxicFrog>
celticminstrel: apt-cache search <pattern>?
02:23
<@Namegduf>
"Open browser, go to Debian package website".
02:23
<@Namegduf>
Oh, no.
02:23
< ToxicFrog>
Works fine for me.
02:23
<@Namegduf>
aptitude, "/something"
02:23
<@Namegduf>
That's my usual.
02:33 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
02:33 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
03:26 KiMo|Portal is now known as Kindamoody
03:38 Kindamoody is now known as Kindamoody|afk
03:58 Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
04:04 Syloqs_AFH [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
04:05 Syloqs_AFH is now known as Syloqs-AFH
04:20 Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
04:24 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: Z?]
04:25 Syloqs_AFH [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
04:26 Syloqs_AFH is now known as Syloqs-AFH
04:44 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code
05:08 Stalker [Z@Nightstar-5aa18eaf.balk.dk] has quit [Ping timeout: 121 seconds]
05:10 Kindamoody|afk is now known as Kindamoody
05:23 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code
06:32 Rhamphoryncus [rhamph@Nightstar-14eb6405.abhsia.telus.net] has quit [Client exited]
06:54 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
07:26 Vash [Vash@Nightstar-8697fea9.wlfrct.sbcglobal.net] has quit [[NS] Quit: Spaaaaaaaaaaaaaaaaace sleeeeeeeeeeeeeeeep!]
08:01 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Connection closed]
08:05 Kindamoody is now known as Kindamoody|out
09:06 eckse [eckse@Nightstar-6fa75dbe.dsl.sentex.ca] has quit [Client closed the connection]
09:10 You're now known as TheWatcher
10:49 AnnoDomini [annodomini@Nightstar-86809d18.adsl.tpnet.pl] has joined #code
10:57 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code
11:38 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Client closed the connection]
11:39 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
12:11 AbuDhabi [annodomini@Nightstar-142b278b.adsl.tpnet.pl] has joined #code
12:14 AnnoDomini [annodomini@Nightstar-86809d18.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds]
12:15 Attilla [Obsolete@Nightstar-9d19ccd5.as43234.net] has joined #code
12:24 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
12:28 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
12:28 Attilla [Obsolete@Nightstar-9d19ccd5.as43234.net] has quit [[NS] Quit: ]
12:35 Attilla [Obsolete@Nightstar-9d19ccd5.as43234.net] has joined #code
13:39 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
13:40 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
14:08 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
14:49
< TheWatcher>
I always find it vaguely offputting when working on something and I'm "Okay, I need a function for X, another for Y, and then one for Z. I've no idea why, but I feel like I'll need them", and then lo and behold, an hour or two later I need functions to do exactly X, Y and Z.
14:53
<@Tarinaky>
Everyone at my uni is going mad crazy for node.js but I'm not sure I understand what it is.
14:53
<@Tarinaky>
Or why it's the dogs bollocks/second coming.
14:54
< AbuDhabi>
I don't even know what that is.
14:54
< TheWatcher>
Server-side javascript system
14:54
<@Tarinaky>
Apparently it's more than that...
14:54
< TheWatcher>
Basically, you write your web app in javascript
14:55
<@Tarinaky>
Some kind of async IO lib.
14:55
<@Tarinaky>
It has stuff for doing File IO in the same way.
14:56
< ToxicFrog>
It's basically Twisted Javascript.
14:56
< ToxicFrog>
So, an asynchronous event-driven IO framework for Javascript.
14:56
< ToxicFrog>
Webapps are the most common use of it.
14:58
< TheWatcher>
Tarinaky: as for why, it'll be a fad. Such things come and go *shrug*
14:59
< TheWatcher>
People should jus tthe system and language that suits them and the problem best, not some system just because it's all 'kewl' and shit.
14:59
< ToxicFrog>
I suspect a large part of it is that this is the first widespread use of Javascript that isn't in a browser and therefor horrible.
15:00
< ToxicFrog>
It's actually a pretty nice language, it's just that, well, it's meant to be used in a browser.
15:02
< celticminstrel>
Isn't ActionScript JS-based?
15:03
<@Tarinaky>
Is Twisted any good?
15:03
< Ling>
... it's Python
15:03
< celticminstrel>
I've heard it is. <_<
15:03
< iospace>
python <3
15:04
< Ling>
It's nice to be able to share code (specifically validation stuff) between the server and the client
15:04
< TheWatcher>
celticminstrel: more or less
15:06
<@Tarinaky>
Because of recent events a friend of mine is going crazy about writing a MUD in node.js.
15:06
<@Tarinaky>
I'd like to one-up them if possible.
15:06
<@Tarinaky>
Is Twisted a good choice? Should I use anything else?
15:08
< Ling>
BTW, unless you've done async code before, you will be severely handicapped when trying to use an async library. If you're used to procedural, stick with that.
15:09
< celticminstrel>
...?
15:11
<@Tarinaky>
I've done some event driven stuff in C++ before, I'm not sure if it was async though.
15:11
< Ling>
The logic flow is completely different.
15:13
< celticminstrel>
Don't some things kinda need to be async?
15:15
< Ling>
It's the way the library is setup, heavy async code will use callbacks very heavily and logic flow becomes difficult to follow.
15:16
<@Tarinaky>
But how can you do multi-user netcode without async...
15:16
<@Tarinaky>
>.>
15:16
<@Tarinaky>
Or am I missing something?
15:16
< ToxicFrog>
Ling: for this reason I'm much more of a fan of the coroutine/thread approach to this kind of thing.
15:17
< celticminstrel>
If what I did in my IRC bot counts as async, it actually makes the logic flow easier to follow...
15:17
< ToxicFrog>
Tarinaky: you can hide it behind yields, or you can use multithreading or multiprocessing.
15:17
< celticminstrel>
I used yields.
15:17
< Ling>
There's more than one way to handle multiple clients
15:17
<@Tarinaky>
Anyway. I read through the documentation of Twisted's defer and it made sense :/
15:18
<@Tarinaky>
IDK. What does #code think I should use/do?
15:18
< Ling>
Event loop or threads are the alternatives.
15:20
< Ling>
Eitherway, I'm not saying don't use "async" I'm saying "beware of async *libraries*", the API is usually simple, but the resulting program has a specific logic flow that is harder to understand unless you're familliar with it. It's something that will hit you midway through.
15:21
< Ling>
Unless it's REST, then every message is basically on its own and you don't have to worry about state as much.
15:22
< TheWatcher>
Tarinaky: it depends how exactly you want to "one-up" them
15:22
< ToxicFrog>
Ling: to clarify - what exactly do you mean by "async" here? It's a pretty broad term.
15:22
< Ling>
<celticminstrel> Don't some things kinda need to be async?
15:22
< ToxicFrog>
Just the usual style of nonblocking IO with callback?
15:23
< Ling>
Whatever that was meant to mean.
15:24
<@Tarinaky>
TheWatcher: Enough to make them utter the catch phrase of "Stop doing so much, you're supposed to be freshers."
15:25
<@Tarinaky>
Learn: ALL THE THINGS!
15:29
< celticminstrel>
Why was I quoted?
15:30
< ToxicFrog>
Ling: er? You're the one who originally mentioned it: <Ling> BTW, unless you've done async code before, you will be severely handicapped when trying to use an async library.
15:30
< Ling>
I meant "async code" as in "code using an async library"
15:31
< Ling>
Like how the "procedural" in "procedural code" applies to the codebase, not a part of it.
15:32
< ToxicFrog>
<ToxicFrog> Just the usual style of nonblocking IO with callback?
15:33
< Ling>
<ToxicFrog> Ling: to clarify - what exactly do you mean by "async" here? It's a pretty broad term. <ToxicFrog> Just the usual style of nonblocking IO with callback? <-- this was replied to with...
15:33
< Ling>
<Ling> <celticminstrel> Don't some things kinda need to be *async*? <Ling> Whatever that was meant to mean.
15:34 * celticminstrel is still confused...
15:35
< ToxicFrog>
Ling: ok, so what did you mean by it when you first mentioned it before celticminstrel ever brought it up?
15:35
< Ling>
A library that is in some what asyncronious, usually that's with callbacks.
15:37
< celticminstrel>
What I was thinking of is that anything involving networks needs to wait for a response before it can continue. Or something like that.
15:37
< Ling>
bbl
15:40
< ToxicFrog>
celticminstrel: yeah, that's not what "asynchronous" means.
15:41
< celticminstrel>
Oh okay. <_<
15:41
< ToxicFrog>
Synchronous IO means you make a request and wait for a response.
15:41
< ToxicFrog>
Eg, fwrite() is synchronous - it doesn't return until the data is written.
15:42
< celticminstrel>
Oh... maybe the issue is how I described it. What I meant is that that particular flow of logic can't continue until there's a response, not that the program is actually sitting there waiting until the response comes... after all, other data could come in the meantime which also needs processing...
15:43 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed]
15:43
<@Tarinaky>
Any suggestions on how to actually handle input once I get something listening on TCP?
15:44
<@Tarinaky>
Since, looking at documentation, listening seems to be the easy part.
15:44
< ToxicFrog>
celticminstrel: yeah, so, generally, there's three ways of handling that.
15:45
< ToxicFrog>
Asynchronous IO - rather than going: buf = read() which waits until data arrives; you do: async_read(callback), which returns instantly and then invokes callback when the data arrives, leaving the program free to continue and work on other stuff;
15:45 * iospace throws a UART at ToxicFrog
15:46
< ToxicFrog>
Concurrency - each logic flow (typically, each client or session) gets its own thread or process, which can block without affecting the others;
15:46
< ToxicFrog>
Coroutines - kind of a combination of the above; there's only one process, but it switches contexts based on which operations are ready to complete in a manner that makes it look threaded.
15:46
< ToxicFrog>
(am I forgetting anything?)
15:47
< celticminstrel>
Aha, so I wasn't doing async then since I used yield...?
15:48
< ToxicFrog>
The underlying library might be.
15:48
< ToxicFrog>
Also, how were you using it?
15:48
< ToxicFrog>
The library I'm used for this (copas) -looks- blocking - you do receive() or send() in your client handler - but internally those yield, and get resumed once the operation completse
15:51
< celticminstrel>
What I did was something like (list,of,params) = yield(resume_condition)
15:52
< celticminstrel>
Where resume_condition is the IRC command or response code I wanted to continue from.
15:53
< ToxicFrog>
Internally that may be using async IO, but for the purposes of that logic flow, it looks like yield() just blocks until resume_condition is met, right?
15:54
< celticminstrel>
Yes, if you're just looking at the one function, it looks like that.
15:55
< celticminstrel>
But it's Python, so if you know Python I think you'd realize there's more to it. :P
15:55
< celticminstrel>
(generic you)
15:55
< ToxicFrog>
Well, the mere fact that it's using yield implies that there's a context switch there, yes.
15:56
< ToxicFrog>
This is the third type I was talking about - coroutines.
16:10
< AbuDhabi>
http://imgur.com/CB5yU <- Also, there is a thread on /tg/ right now, where they're working out the protocol.
16:11
< celticminstrel>
What's /tg/?
16:12
< AbuDhabi>
http://boards.4chan.org/tg/
16:12
< AbuDhabi>
""
16:12
< AbuDhabi>
"Many moons ago, /tg/ invented a grand operation often called a skeleputer, or more properly, "Deep Rot." It comprised of a complex series of skeletons, programmed, if you will, by a necromancer, to interpret other skeletons, and effectively function as circuits and logic gates, forming the core of a computer."
16:28 Netsplit *.net <-> *.split quits: AbuDhabi, gnolam, iospace, Reiver
16:28 Netsplit over, joins: gnolam
16:29
< gnolam>
http://boingboing.net/2011/12/21/how-computers-work.html
16:29 gnolam is now known as 459AACCUP
16:29 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code
16:29 Netsplit over, joins: Reiver, iospace, AbuDhabi
16:30 gnolam is now known as NSGuest53542
16:30 459AACCUP is now known as gnolam
16:32 NSGuest53542 [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
16:36
< gnolam>
http://boingboing.net/2011/12/21/how-computers-work.html for those on the other side of the split.
16:49 Kindamoody|out is now known as Kindamoody
16:51
< TheWatcher>
....
16:53
< iospace>
...
16:53 * iospace eyes that link
16:53
< TheWatcher>
That's awesome
16:54
< AbuDhabi>
MAGIC.
16:55
< iospace>
i think those computers were around before io space was ;D
17:00 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code
17:01 * TheWatcher ponders sending that to allstaff in work
17:07
< AbuDhabi>
Do it.
17:30 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [[NS] Quit: Into the hole again, we hurried along our way, into a once-glorious garden now seeped in dark decay.]
17:51 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Client closed the connection]
17:52 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code
17:53 gruber [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code
17:54 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
17:55 gruber is now known as gnolam
17:56 eckse [eckse@Nightstar-6fa75dbe.dsl.sentex.ca] has joined #code
17:58 Tarinaky is now known as Lowpass
18:03 AbuDhabi is now known as Number3
18:07
< Tamber>
"Who are you?" "The new Number Three." ... ;)
18:07
< Number3>
That's the idea, yes.
18:08
< Tamber>
hehe
18:10
<@Lowpass>
It's Shadowrun. They have better ways to get information.
18:10
<@Lowpass>
You rent a shipping container, a diesel generator and a sophisticated brain-fuck rig.
18:16 Kindamoody is now known as Kindamoody[zZz]
18:17 eckse [eckse@Nightstar-6fa75dbe.dsl.sentex.ca] has quit [Client closed the connection]
18:19 Rhamphoryncus [rhamph@Nightstar-14eb6405.abhsia.telus.net] has joined #code
18:20 eckse [eckse@Nightstar-6fa75dbe.dsl.sentex.ca] has joined #code
18:34 Stalker [Z@Nightstar-5aa18eaf.balk.dk] has joined #code
18:40 Vash [Vash@Nightstar-8697fea9.wlfrct.sbcglobal.net] has joined #code
18:58<~Vornicus> I must be crazy
18:58
< Tamber>
You've only just come to this conclusion?
18:58<~Vornicus> I'm considering a geometry shader mod for minecraft.
19:01<~Vornicus> WHich would mean learning how to make geometry shaders~
19:01
< Tamber>
Well, best way of learning anything is to try it, right? :p
19:01<~Vornicus> Of course
19:02
< Vash>
TAmber
19:02
< Vash>
Don't encourage him, dammit
19:02
< Tamber>
:D
19:02
< Vash>
I'm not sure if I have to compete with the geometry shader... Or if I'm going to get dumped for geometry shader
19:03<~Vornicus> Actually though I had two different ideas, one of which is almost sensible and the other of which would require significant physics engine work.
19:06
< Rhamphoryncus>
I'd rather make a minecraft clone. Just to play with the rendering performance of variable-detail voxels
19:07<~Vornicus> (what i'd do for the sensible one is jitter each vertex)
19:07
< Rhamphoryncus>
Notch tried that once. Looked hideous
19:08<~Vornicus> Really? huh.
19:08
< Rhamphoryncus>
Now if you jitter the texture, that's another matter
19:09
< Rhamphoryncus>
You could smooth the edges too
19:10<~Vornicus> The other crazy idea I had was "depixelization"
19:11<~Vornicus> Which I grant would be absolutely ridiculous in 3d.
19:11
< Rhamphoryncus>
But if you do a lot of smoothing you need to tie it in to the physics. Automatic ramps and such
19:11<~Vornicus> Yeah.
19:11
< Rhamphoryncus>
And you could give most blocks both rough and smoothed variants, to control texture variations and subtle add-on bits
19:12
< Rhamphoryncus>
what's depixelization mean?
19:12<~Vornicus> http://research.microsoft.com/en-us/um/people/kopf/pixelart/
19:13
< Tamber>
...huh, neat.
19:13
< Rhamphoryncus>
interesting
19:13<~Vornicus> I don't think I'd want the full sequence; just up to the voronoi regions
19:14
< Rhamphoryncus>
That is what I'd want from automatic smoothing, but much much simpler for one reason: you're building your world to match the smoothing algorithm, not the other way around
19:14<~Vornicus> Also since there is no ambiguity about the physics of the game, the diagonal choosing tricks are vastly reduced.
19:15
< Rhamphoryncus>
yup
19:17
< Rhamphoryncus>
Looks like their Mario 2 is glitched by the ear: http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/compar ison_epx.html
19:18
< Rhamphoryncus>
But yeah, I want to take minecraft but bump the resolution up by a factor of 2 or 4, make it involve a lot of smooth or tooled surfaces, then make it apply automatic LoD
19:20<~Vornicus> Weird, I missed that one. I wonder why that glitch exists.
19:21
< Rhamphoryncus>
Jitter could work, but not as jitter. You'd have to do something like.. I forget that name, that density map thing he uses for world generation
19:23<~Vornicus> Perlin noise.
19:23
< Rhamphoryncus>
thanks
19:24
< Rhamphoryncus>
Do that as a way to add little bumps and such
19:27
< Rhamphoryncus>
Hopefully you could make tooled blocks be a little smaller than rough, to be more realistic with you taking away material
19:28<~Vornicus> Hrng. I cannot find a link to any vertex jitter images that notch might have made.
19:29
< Rhamphoryncus>
I have some interest in mixed blocks too. Gravel saturated with water (possibly including pressure), gratings that let water through, etc
19:29<~Vornicus> I would like to judge the hideousness for myself~
19:42
< Rhamphoryncus>
Grar. Still haven't found it
19:48
< Rhamphoryncus>
Heh, found an old post that mentioned preventing walk-through-wall hacks.. which makes it clear that the client-server protocol is based on teleportation :P
19:52
< Rhamphoryncus>
Oh, another thought I'd had: indexed compression scheme. If you break the world up into 16x16x16 chunks you'll find only a few block types appear in each, so you could stick an index at the start and chop down the number if bits you use
19:52
< Rhamphoryncus>
That also lets it be extensible
19:52<~Vornicus> One would think RLE would be essentially your first step.
19:53
< Rhamphoryncus>
Maybe, maybe not
19:54
< Rhamphoryncus>
For air you could, but underground? Minecraft is far too consistent IMO. There should be many more types of stone
19:54
< celticminstrel>
Minecraft doesn't distinguish regular movement from teleportation, yeah.
19:59 * Rhamphoryncus contemplates the efficiency of sqlite on many small and variable sized blobs
20:01<~Vornicus> When you say "efficiency", what operations are you fiddling with? What alternative systems are you comparing it with?
20:03
< Rhamphoryncus>
Storing individual blocks in a DB, loading the entire map into memory at once, or whatever crap minecraft uses
20:05<~Vornicus> Minecraft carries 16x16x128 chunks, zipped, then packages those into files by region, which are 64x64 chunks.
20:06
< Rhamphoryncus>
I want ACID compliance, which minecraft doesn't have and makes it a lot harder
20:06
< Rhamphoryncus>
And I want it to be extensible
20:06
< Rhamphoryncus>
And since I'm using smaller blocks the data set is at least 8 times larger
20:10
< Rhamphoryncus>
ACID means some sort of journaling scheme, which leads me to wonder how efficient I'd be
20:13
< Rhamphoryncus>
If I were to do it by hand I might have superblocks (compareable to a minecraft region) that each have their own journal. They'd be synchronized and interleaved so rollback would go to a common point, but once a certain point is committed I could pick one superblock at a time to rewrite and restart the journal
20:18
< Rhamphoryncus>
hmm, probably better to use one journal file for that, just take the oldest entry and select all the entries matching your superblock
20:22 cpux|2 [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code
20:23 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
21:44 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
21:48 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
22:07 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
22:12 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
23:05 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
23:09 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
23:18 Number3 is now known as AnnoDomini
23:19 Lowpass is now known as Tarinaky
--- Log closed Fri Dec 23 00:00:26 2011
code logs -> 2011 -> Thu, 22 Dec 2011< code.20111221.log - code.20111223.log >

[ Latest log file ]