May 15, 2012
AnyNowhere — daily chat log — back (to logs index)
00:03, Cryoburner> I think it would be cool if the next version had a procedurally generated world.
00:03, Cryoburner> The masterspirits (or their equivalent) could then modify the world on top of the procedura generation.
00:05, Cryoburner whispers: That could also allow for borderless 'sectors'.
00:09, Cryoburner> The generation could probably even be handled server-side by a PHP script, with generted sectors cached for future visitors, to reduce server load..
00:19, Chad> Sounds like magic.
00:28, Cryoburner> It is.
00:43, Alex whispers: just waked up
00:44, Cryoburner whispers: "Woke" up. :D
00:44, Alex whispers: I always forget that.
00:44, Cryoburner whispers: Oh, I guess that works too. :P
00:45, Cryoburner whispers: http://www.thefreedictionary.com/waked
00:46, Alex whispers: ok, but "woke" takes less to type and say
00:48, Cryoburner whispers: Especially since it is more common, and less likely to lead to a conversation about its use. -_-
00:48, Alex whispers: you started it.
00:49, Cryoburner blames Alex.
00:49, Alex whispers: oh no it was "you stort it".
00:50, Alex blames irregular tenses in English (although wait to see Italian's).
00:51, E_net4> Riiiite.
00:51, Alex> Riiiiite of paaaaaaaassage?
00:52, E_net4> Oh, almost forgot.
00:53, E_net4> AnyNowhere looks buggy on my smartphone. :|
00:53, Alex> Not on mine. :|
00:54, E_net4> Mine adds huge empty spaces on both top and bottom.
00:54, E_net4> A strange behaviour indeed.
00:54, Cryoburner> I think my 3DS does too...
00:54, Alex> Oh yeah, that's because of frames. They interpret the "*" size of frames in that weird way.
00:55, Cryoburner whispers: For the 3DS, Nintendo went with a webkit browser, rather than Opera used in their earlier handhelds.
00:55, E_net4> Ah, at least you know the root of the problem. :]
00:56, E_net4> Just a tiny little question before I go to sleep...
00:56, Alex> Possibly I could add some of those CSS indications that size their "virtual" screen to a specific pair of dimensions. Can't remember exactly which.
00:57, E_net4> Does the Network interface establish TCP connections? Does it depend on the implementation? Can't we choose to use another transport layer?
00:58, Alex> It goes with TCP on my RTM. So far, you can't choose otherwise because it's ideally layer-agnostic. It doesn't mind.
00:59, E_net4> I'd had imagined other, lower-level capabilities on that matter.
01:00, Alex> And yes, in practice, it leaves the implementation to the RTM developer and the details of the network.
01:00, E_net4> Anyways, 'night.
01:00, Alex> Does UDP have any goods that you can think of?
01:01, E_net4> It's simple, and needs no three-way handshake like TCP does.
01:02, E_net4> It's commonly used for gaming, streaming, and other situations where reliability isn't as important as data being received in time.
01:02, Cryo> The 3ds browser actually seems to handle it pretty well.
01:03, E_net4> Honestly, I can't imagine myself using TCP for everything network-oriented.
01:03, Alex> look! a red Cryo! ban the communist!!
01:03, E_net4> Especially in games. Were you really going to use TCP in Keyway?
01:04, Alex> well I admit I didn't use low-level networking much, so maybe I didn't see what it implies to use TCP for real-time data.
01:04, Cryo> Except this lacks the nice fit-to-width features of the DS/DSi browsers.
01:04, Alex> can't TCP connections be kept open to avoid redundant handshaking?
01:05, E_net4> Yes, they're usually persistent. But that's not the only problem.
01:06, E_net4> TCP obtains its reliability by managing how packet fragments are sent from one end to another. If a bad packet arrives or doesn't arrive at all, it is sent again.
01:07, E_net4> Now imagine you're sending information about a player's position over time. The information will quickly lose its validation.
01:07, E_net4> Usually, losing data in this context isn't critical.
01:07, E_net4> And produces less traffic.
01:08, Alex> So let me understand: if we were to tag the two layers with a single word, could TCP be seen as "reliable" and UDP described "fast"?
01:08, E_net4> You can use that, I guess...
01:09, Alex> That's because I could add means to indicate the RTM that you'd wish to use UDP in place of TCP, but I wouldn't like it to call them by name.
01:09, E_net4> I see. A rather good idea.
01:10, E_net4> Now excuse me, I'm having less than 7 hours of sleep before my lecture and research work.
01:10, Selbio> Fast isn't the best word, probably, though reliable is the correct one for TCP
01:10, Alex> Oh right, goodnight.
01:11, Alex> If you can think of a better one, feel free to suggest.
01:11, Selbio> UDP is just not reliable, whatever that happens to mean on a given route
01:11, Selbio> I'd just call it unreliable, I think that's the technical term :P
01:11, Cryoburner whispers: Oh, UDP, didn't I suggest adding that, like, years ago? :P
01:11, E_net4> Sure packets are equally fast in both protocols. But consider situations where you don't want it to bother making sure packets get there.
01:12, Alex> Unreliable Datagram Protocol :D
01:12, E_net4> User Datagram Protocol, mind you.
01:12, E_net4> Bye.
01:12, Selbio> In those situations, you use an unreliable protocol! :P But I know what you mean
01:12, E_net4 whispers: I'll read the logs in case something interesting happens afterwards.
01:12, Selbio> UDP is marked more by what it's not designed to be than what it's designed to be
01:13, Alex> only a suggestion, e_net: I generally bookmark the recdisc.php and logs.php scripts when browsing through mobile devices, and go frameless from there.
01:13, Selbio> So any nice properties are mostly slightly unintentional side effects
01:13, Alex> Got it. "that's not a bug, that's a feature".
01:14, Alex> Thanks for the lecture. I needed it.
01:14, Selbio whispers: TCP is reliable data transfer over IP, and UDP is just transfer over IP with a port field and checksum :P
01:14, Alex whispers: I've always been behind with low-level networking.
01:17, Selbio> I had a painfully in-depth networking course in college
01:17, Selbio> The details of TCP are quite fascinating and clever
01:22, Alex> Me, I remember skimming over most such details while attempting to pick only what was strictly necessary and abstract enough.
01:24, Selbio> An analogy that might sway you to include it is this
01:25, Selbio> UDP is like the assembler of networking; you can implement anything in it, even a TCP clone, only limited by your own competence
01:26, Alex> Sounds nice to have. Maybe we could refer them to "high level" (TCP) and "low level" then?
01:27, Selbio> That might work :)
01:27, Alex> Ok, sold!
01:27, Selbio whispers: Err, I'm not actually a Lino programmer though, so maybe my opinion isn't the best :P
01:28, Selbio whispers: But then you're the main Lino programmer, so if you like it that's fine then :P
01:28, Alex whispers: it's nothing to do with being Lino programmers, it's more to do with networking knowledge, at which you sound far better than me. :P
01:30, Selbio> UDP will also be a lot simpler to implement in the isokernel (is that what it's called? I just remember lots of isocalls) than TCP, since you just open a socket with an IP and port and spray messages at it, and since they're not reliable, you don't care what happens after that or maintain much state
01:31, Selbio> I really need to put parenthetical statements (such as this particularly silly demonstration of one) into my Frespych messages more often, so that people can scroll :D
01:32, Selbio> ... okay, that was embarrassing, my joke message was still far shorter than the one I was satirizing :|
01:32, Alex> maybe you were referring to run-time kernels. The isokernel is not an OS kernel, it's just the part of the RTM that, upon isocalls, parses the state of control variables as set by the application.
01:33, Alex> run-time kernels are run-time modules designed to act as kernels over just a firmware layer (BIOS or else).
01:33, Selbio> That, then :P Again, I'm not really a Lino programmer, it was just one of the billion languages I toyed with years ago
01:33, Selbio> Oh
01:33, Selbio> Then not that! :P
01:33, Alex> no problem :)
01:33, Selbio> Run-time modules? I think they were called RTMs
01:34, Alex> it's their acronym, R.T.M.
01:34, Alex> virtual machines if you prefere :)
01:35, Alex> I prefer calling them "run-time modules" because they're a part of the final application. A virtual machine may be something completely separated, like the JVM is to Java.
01:36, Selbio> I think they're a little less bloated than the JVM, too, so the term "module" is fitting
01:36, Selbio> :P
01:36, Alex whispers: probably MUCH less bloated
01:37, Alex> ...whereas "run-time kernel" is just a contraction of "a run-time module that is also used in place of a host OS kernel"
01:41, Alex> well, got to go do stuff.
01:42, Selbio> Enjoy it, unless it's not something enjoyable or you're not in that kind of mood, in which case do whatever's appropriate and you feel like doing, unless you feel like doing what's inappropriate, then go ahead and do that if that's what you want, unless restricted by an applicable law, unless you don't mind the consequences of breaking said law
13:04, Alex> I really had to just bring some php code on.
14:11, Chad> Got Noctis to run on my Android tablet. Just need to figure out controls.
14:16, Chad> Going to see if I can get my SixAxis to work with it. Using DosBox Turbo on the Android market if anyone is interested. But if I get my keyboard dock, that'll work too.
15:19, Valorin> No thread on Diablo 3, and to be honest, I don't expect it. Blizzard failed hard and seemed to forget that their Diablo audience is a very, very different audience than their other games.
15:50, Chad> Played the beta, got bored pretty quickly. And the Koreans already killed Diablo. :P
16:08, Cryoburner> It's interesting that there are no proper reviews of the game out yet.
16:09, Cryoburner whispers: I'm guessing Blizzard didn't send out pre-release copies, at least not ones activatable prior to the official launch.
16:26, Chad> Metacritic is at 3.6. :P
17:01, Cryoburner whispers: Those are "user reviews" by people who haven't actually played the full game though. :P
17:06, Cryoburner whispers: Reviews based on a couple hours spent with a demo, or by people who didn't try the demo at all, can't really be taken seriously. :)
17:08, Cryoburner> I'm guessing the "official reviews" will probably average in the upper 80s, at worst.
17:30, Chad> Well anyone who reviews for a living would be foolish to give a low score or loose there job. :P
17:40, E_net4> Dude. UDP is as high-level as TCP.
17:40, E_net4> What have you done!
17:41, E_net4> Real low level would be sending and capturing network layer packets from/to the system.
17:43, E_net4> Oh well. "Reliable" and "Unreliable" was fine, in my opinion. But I do not wish to stand in someone's way.
17:43, E_net4> In anyone's way, in fact.
17:48, E_net4> Oyay, sunrise/set event.
17:59, E_net4> http://anynowhere.com/bb/cd/pngs/VaQgMyx4XoWeExlih1.png
18:51, Kristos> Bleh. FORTRAN vomit.
21:20, Selbio> If UDP is as high-level as TCP, then real low-level programming is soldering :P
21:21, Selbio whispers: What I'm saying is, it's relative within the layer, and doing anything below the transport layer isn't that useful and often not really possible
21:22, Selbio whispers: Though I agree that "reliable"/"unreliable" is the right terminology, mind you, but I don't think the other is terribly wrong
21:30, Cryoburner whispers: That terminology would make it sound like your programming language is unreliable though. :P
21:33, Selbio> haha
21:33, Selbio> MAYBE IT IS
21:39, Cryoburner whispers: How about "trustworthy" and "treasonous"?
22:47, Kynreeve> Neat stuff! -- http://www.decarpentier.nl/scape-procedural-extensions
22:49, Kynreeve whispers: The thing is mostly about procedural landscape errosion, not actual errosion but rather a simulation. Looks pretty good.
22:50, Kynreeve whispers: erosion. Duh.
23:58, E_net4> XD