--- Log opened Sat Dec 14 00:00:48 2013 |
00:05 | | celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
00:05 | | celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has joined #code |
00:05 | | mode/#code [+o celticminstrel] by ChanServ |
00:46 | | Derakon[AFK] is now known as Derakon |
00:46 | | Turaiel is now known as Turaiel[Offline] |
00:49 | | You're now known as TheWatcher[T-2] |
00:51 | | You're now known as TheWatcher[zZzZ] |
01:03 | | Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
01:32 | | thalass [thalass@Nightstar-be7.ses.145.58.IP] has joined #code |
01:33 | | * thalass ponders installing #! on the netbook |
01:34 | < thalass> | Mint14 is a bit long in the tooth, and despite moving to Mint to get away from Unity, i'm getting bored with the !gnome style desktop. |
01:34 | < thalass> | Thus: #! on netbook, and maybe KDE on the desktop when i get back from holidays. |
01:37 | < thalass> | Also: My netbook is getting so old that the plastic is cracking around the hinge points on the screen. >.< |
01:54 | | Derakon is now known as Derakon[AFK} |
01:54 | | Derakon[AFK} is now known as Derakon[AFK] |
02:10 | | thalass [thalass@Nightstar-be7.ses.145.58.IP] has quit [[NS] Quit: arg] |
02:26 | | Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has joined #code |
02:26 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
02:46 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
02:56 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
02:56 | | mode/#code [+o Syloq] by ChanServ |
03:03 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
03:15 | <&McMartin> | Aha, it seems SteamOS is using Debian Wheezy as the base now. |
03:15 | <&McMartin> | Good; they originally based on Ubuntu 12.04 and I think that proved over the next couple years to be a misstep |
03:19 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
03:19 | | Syloq is now known as NSGuest27306 |
03:22 | | Turaiel[Offline] is now known as Turaiel |
03:31 | | NSGuest27306 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
03:36 | | NSGuest10821 [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
03:38 | | NSGuest10821 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Operation timed out] |
03:40 | < RichyB> | McMartin, is Debian stable no longer as ossified as it used to be? |
03:42 | <@Namegduf> | Stable is still entirely unsuitable to use as a home desktop system. |
03:43 | <@Namegduf> | The critics are still entirely stupid for criticising it for that, though, seeing as that's not its job. |
03:45 | < RichyB> | What's it meant for, servers and corporate desktop images? |
03:46 | <@Namegduf> | Yes. |
03:46 | <@Namegduf> | Servers above all else. |
03:47 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
03:47 | | Syloq is now known as NSGuest8430 |
03:50 | <&ToxicFrog> | I'm glad steamOS is out but WHERE IS MY GAME STREAMING VALVE |
03:52 | <&McMartin> | Namegduf: I would say that prior to the new stable, it was also entirely unsuitable for corporate desktop images. |
03:52 | <&McMartin> | I base this on receiving bug reports that one of my PyGTK apps unconscionably relied on features that were not introduced until GTK+ 2.3 |
03:53 | <&McMartin> | Being nine minor revisions out of date means Nothing Is Gonna Work. |
03:53 | <@Namegduf> | Fair enough. |
03:53 | <@Namegduf> | I don't really know about that use case. |
03:53 | <&McMartin> | Actually, wait, no, at the time I believe it would have been eleven minor revisions out of date |
03:53 | <&McMartin> | I think 2.13 was the latest at that time. |
03:56 | <&McMartin> | And yes, my reaction to this was "this is your fault for attempting to install software onto Debian stable that was not shipped with it", a policy I continue to hold to this day |
03:56 | <@Namegduf> | For end users, that's reasonable. |
03:56 | | NSGuest8430 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
03:57 | <@Namegduf> | Stable ought to permit IT people to upgrade server stuff readily freely, I think, by custom packages and similar. It ought to be up to date enough for that. |
03:57 | <@Namegduf> | Possibly with some work. |
03:57 | <@Namegduf> | And maybe now that's reasonable for desktop, too. |
03:58 | <&McMartin> | Yeah. For anything with a graphical interface, however, it was entirely hopeless because they never upgraded the core widgets from a position where they were entirely broken. |
03:58 | <@Namegduf> | Okay. |
03:58 | <@Namegduf> | For SteamOS, though, it sounds fairly ideal. |
03:58 | <&McMartin> | And then apparently suggested that they should blame the developers for relying on bleeding edge techniques |
03:58 | <&McMartin> | Yes |
03:58 | <&McMartin> | Also, stable *just* revved. |
03:59 | <@Namegduf> | Which means it's only, what, three months behind rolling? |
03:59 | <@Namegduf> | Freeze plus typical lag time. |
03:59 | <&McMartin> | As opposed to seven years or so, that sounds about right. |
03:59 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
03:59 | <@Namegduf> | I tend to like Ubuntu with custom WM stuff installed for desktop, myself. |
04:00 | | Syloq is now known as NSGuest24041 |
04:00 | <&McMartin> | Yeah |
04:00 | <@Namegduf> | Debian Unstable is good, but configuring things like bluetooth is such a pain. |
04:00 | <&McMartin> | s/like bluetooth// |
04:00 | <@Namegduf> | It has all the parts just as well as Ubuntu, but it's self-assembly. |
04:00 | <@Namegduf> | And bluetooth stacks on Linux are hideous. |
04:00 | <&McMartin> | Ubuntu and Fedora are the only distros I've ever used where hardware actually worked to spec mostly out of the box. |
04:01 | <@Namegduf> | Yeah. |
04:01 | <&McMartin> | The one counterexample involved patent licensing bullshit causing one chip to lie about its capabilities when queried via standard means. |
04:01 | <@Namegduf> | Well, it could be a time issue. |
04:01 | <@Namegduf> | Back when I was moving distro, nothing worked. |
04:01 | <&McMartin> | (The Intel HD4000; flipping a checkbox in the DRI config makes it work) |
04:02 | <@Namegduf> | My ATI GPU was *weird* and nothing could autodetect on it without crapping itself. |
04:02 | <@Namegduf> | Including current Ubuntu liveCDs. |
04:02 | <&McMartin> | Yeah. ATI drivers were pretty infamous about that even on Windows -_- |
04:02 | <@Namegduf> | THen I had some nVidia hardware which worked alright under most distros, IIRC. |
04:02 | <@Namegduf> | I stuck to nVidia-only offerings up until my last purchase in 2010. |
04:03 | <@Namegduf> | After my ATI experience. |
04:03 | <@Namegduf> | nVidia at least quite consistently works under Linux. |
04:03 | <&McMartin> | Yeah |
04:03 | <@Namegduf> | Now it has probably changed. |
04:03 | <&McMartin> | Pretty sure nvidia's proprietary drivers are still the best ones, but I think Intel's are now the best OSS ones. |
04:03 | <&McMartin> | Of course, the intel chips *do* less |
04:04 | <@Namegduf> | I'd agree if Intel didn't switch to embedding PowerVR crap a couple of generations back on Atom. |
04:04 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
04:04 | <&McMartin> | I should qualify that with "The Intel HDxxxx chips" |
04:04 | <@Namegduf> | My GPU on my netbook took getting a bleeding edge kernel installed and fiddling to get to work. |
04:05 | <&McMartin> | HD4000 worked out of the box on 12.04 and ran TF2 and HL2 flawlessly, and ran Bastion once I flipped the aforementioned DRI switch ("This chip can do S3TC in hardware even though it claims not to be able to") |
04:05 | <@Namegduf> | And by work, I mean, work at native resolution. |
04:05 | <@Namegduf> | Forget acceleration. |
04:05 | <@Namegduf> | PowerVR hate Linux and have no released drivers. The reverse engineering work was very recent. |
04:06 | <@Namegduf> | It was not very friendly of Intel to use them. |
04:06 | | NSGuest24041 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
04:06 | <@Namegduf> | But it's okay now. |
04:06 | <&McMartin> | That seems unique to one line. |
04:07 | <&McMartin> | As in, it both predates and postdates lines where Intel directly supports the OSS drivers (including the Ivy Bridge ones like the one I cited) |
04:07 | <@Namegduf> | All Atom Cedarview and I think Centerton ones. |
04:08 | <@Namegduf> | They switched Atom over to them entirely for at least a couple of generations. |
04:08 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
04:08 | | mode/#code [+o Syloq] by ChanServ |
04:08 | <&McMartin> | Ah |
04:08 | <&McMartin> | Yeah, these are i7s on the other side |
04:08 | <@Namegduf> | Yeah. |
04:08 | <&McMartin> | Oh hey, mesa supports OpenGL 3.3 |
04:08 | <&McMartin> | That'll be a reason to upgrade in April |
04:08 | <&McMartin> | I'll actually be able to run those OpenGL tutorials -_- |
04:09 | <&McMartin> | http://en.wikipedia.org/wiki/Comparison_of_Intel_graphics_processing_units |
04:10 | <&McMartin> | The grouping is a little wacky; the PowerVR-based stuff is all jammed together but it seems like about half a dozen independent generations |
04:12 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
04:19 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
04:19 | | mode/#code [+o Syloq] by ChanServ |
04:22 | < RichyB> | McMartin, my current opinion of Intel's GPUs and drivers is that it's nice that they work so reliably under Linux, but I class it as a bit of a pain that the driver for the GPU in this i7-3540M (only one revision behind latest available) doesn't support GLSL 330 and hence I can't use it to follow http://www.arcsynthesis.org/gltut/ :| |
04:22 | < RichyB> | OTOH, great 2D driver! Rock solid! |
04:36 | <&McMartin> | RichyB: Yes, that's the thing that Mesa released an update for two months ago, apparently |
04:37 | <&McMartin> | And that very gltut was the thing I wrote ARGLE to deal with |
04:38 | <&McMartin> | There are bits that can translate down to earlier versions, which I wound up doing since information about OpenGL 2.1 (the important breakpoint) is being eradicated from history itself |
04:48 | < RichyB> | Oh interesting, so it might actually work with just a software update? |
04:48 | <&McMartin> | Yeah |
04:49 | <&McMartin> | The chip on my i7 (I don't recall the submodel offhand) apparently supports all the way up to DX11 and thus OpenGL 4.x |
04:49 | <&McMartin> | Linux drivers are just lagging a bit, it seems (shock) |
04:50 | < RichyB> | Supposedly Fedora 20 comes out some time next week so I'll upgrade then. |
04:50 | | * McMartin nods |
04:50 | | Kindamoody[zZz] is now known as Kindamoody |
04:50 | <&McMartin> | I'm gonna wait for the new year, since my Fedora machine is headless |
04:50 | < RichyB> | On a partly-related note |
04:50 | <&McMartin> | The lappy runs Ubuntu at the moment and it will ultimately take 14.04 LTS when it hits. |
04:50 | < RichyB> | KDE4 is still pretty fucking sweet. |
04:50 | <&McMartin> | And then probably stay there. Forever. |
04:52 | < RichyB> | Incidentally, F19's GUI installer did, IMO, blow Ubuntu's out of the water a bit. |
04:52 | < RichyB> | I'd be interested to see if that installer bubbles all the way down to RHEL 7 whenever that comes out. |
04:53 | | * Vornicus ...can't remember what he was up to when he left off last time |
04:53 | <~Vornicus> | I really suck at that. |
05:05 | <&McMartin> | It's goldfish time. Serial pastebomb inc. |
05:05 | <&McMartin> | OK, so, game objects in Monocle have a list of "traits". |
05:05 | <&McMartin> | Some of these are things like "invisible" that define how they interact with the under-the-hood parts. |
05:05 | <&McMartin> | Some are things like "pre-physics" registering for a callback when that part of the frame happens. |
05:05 | <&McMartin> | And some are user-custom, like "enemy" or "bullet" or "wall". |
05:05 | <&McMartin> | Other objects can register for a callback whenever they collide with an object with a given trait (so, for instance, things might register a take-damage routine upon collisions with a bullet, while bullets will register a 'remove from play' routine upon collision with anything) |
05:05 | <&McMartin> | Where I'm stuck is in how to represent the collision. |
05:05 | <&McMartin> | Since the form the developer is using when speccing out objects is the string (it's all JSON), it would make sense to have it be a string. "You, object X, hit this object, Y, and you care because it has trait Z." |
05:05 | <&McMartin> | Due to Monocle's internals, I can make those strings be "interned" - that is, they will be exactly the same chunk of memory if it's the same trait. Once you've seen it once, you can recognize it again with ==/eq?/pointer compare. |
05:06 | <&McMartin> | But since I have to do these checks a *lot*, I also need to translate them into small integers suitable for indexing into arrays, since that's how groups of objects of interest will be indexed internally |
05:06 | <&McMartin> | That seems like it might be worth exposing to the end user so they can build trait-based jump tables of their own. Does it make sense to have the callback give the trait of interest as *both* a string *and* the integer version? |
05:07 | <~Vornicus> | or... you could give the callback the integer, and publish somewhere the array of strings? I don't know. |
05:08 | <&McMartin> | Well, if I expose it, there will be "convert ID to string" and "convert string to ID" |
05:08 | <&McMartin> | Internally there's already "convert string to ID, making a new ID if needed" |
05:09 | <&McMartin> | But, like, PyMonocle probably would do just fine with just the string, since it's going to use it to index a table with |
05:10 | <&McMartin> | (And Gambit or C# could just use the IntPtr as a key in an IntPtr -> relevantdata table) |
05:14 | | Derakon[AFK] is now known as Derakon |
05:14 | <&McMartin> | Derakon: If you have some thoughts on the last page of backscroll I welcome your design insights >_> |
05:15 | <&Derakon> | Will check, roger. |
05:15 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Operation timed out] |
05:16 | <&Derakon> | Hmm.. |
05:16 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
05:16 | <&Derakon> | Yeah, I'd say do callbacks with the ints by default, and make the mapping of int -> string available. |
05:17 | <~Vornicus> | Stupid thoughts: in C++ you could pick what it sends by teh signature of the callback function |
05:17 | | Syloq is now known as NSGuest9648 |
05:17 | <&Derakon> | PyMonocle could, as a matter of convenience, automatically sub in the strings for ints if it wanted to (or make a convenience function that does so). |
05:18 | <&McMartin> | Derakon: Well, what I'm actually imagining is that the user defines a class with a method ilke "collide_bullet" and it gets getattr'd. |
05:18 | <&McMartin> | But OK |
05:18 | <&Derakon> | McM: er, you lost me. I thought we were talking about simplifying traits down to ints. |
05:18 | <&McMartin> | We are; the question is what happens next. |
05:18 | <&Derakon> | Where do methods enter into it? |
05:19 | <&McMartin> | The "callbacks" are actually presented as "here is an event for you to consume" so that I can minimize having to actually do FFI-based callbacks |
05:19 | <&McMartin> | But that's going to turn into method calls for C++ and I could see it do that in Python too. |
05:19 | <&McMartin> | In C++, integers are the natural way to do it; in Python, strings are. |
05:20 | <&Derakon> | Okay, walk me through a use case from setup to invocation. |
05:20 | <&McMartin> | That's part of what I'm trying to design >_> |
05:20 | <&Derakon> | Monster object says "I want to have this method called when I collide with a bullet"? |
05:20 | <&Derakon> | Heh, okay. |
05:20 | <&McMartin> | Config file says "kind 'monster' subscribed to collision with 'bullet'", more or less |
05:20 | | * Derakon nods. |
05:20 | <&McMartin> | That gets loaded in when you load the resource map. |
05:21 | | * McMartin draws some clouds |
05:21 | | NSGuest9648 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
05:21 | <&Derakon> | Hm, okay...and this is all in pure C, right? |
05:21 | <&McMartin> | Now you're in the game logic, and when you create an object you do so by specifying, in part, that it is of kind "monster" |
05:21 | <&McMartin> | Yeah. |
05:21 | <&McMartin> | You get back a structure that you fill in with customizations from "monster"'s defaults. |
05:21 | | * Derakon tries to figure out a way to do this that doesn't have the client having to handle their own event dispatch. |
05:21 | | * McMartin draws more clouds |
05:22 | <&McMartin> | The client, then, handling its own event dispatch, yes, calls mncl_pop_event() |
05:22 | <&McMartin> | This returns a structure that, say, says "I am a collision event, involving this object, and this other object, and this is being fired because that other object has the "bullet" trait." |
05:23 | <&McMartin> | It's how to "phrase" "that other object has the bullet trait" that I'm trying to nail down. |
05:23 | <&Derakon> | So something like (EVT_COLLISION, objId1, objId2, "bullet") |
05:23 | <&McMartin> | Right, or (EVT_COLLISION, objPtr1, objPtr2, "bullet", 12) |
05:23 | <&Derakon> | Where 12 means "the bullet trait"? |
05:23 | <&McMartin> | Yeah |
05:23 | <&McMartin> | And isn't guaranteed to be constant across runs. |
05:24 | <&Derakon> | If the client is handling their own event dispatch, then they'll have a mapping somewhere of object IDs/pointers to event callbacks for them. |
05:24 | <&McMartin> | (*probably* will be if all else is equal, but) |
05:24 | <&McMartin> | Right. |
05:24 | <~Vornicus> | I was about to ask that |
05:24 | <&McMartin> | Derakon: Most likely, and I'm doing a standard optimization to make that easier. |
05:24 | <&Derakon> | So they'll just do subscribers[objId1]["bullet"](objId2) if this were Python. |
05:25 | <&McMartin> | Yup. |
05:25 | <&McMartin> | With C++, which does not have reflection, life is harder. |
05:25 | <~Vornicus> | Well, okay, I was more about to ask, "how does a thing know what trait gets what ID?" |
05:25 | <&Derakon> | Eh? You have std::map and function pointers; what more do you need? |
05:25 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
05:25 | <&Derakon> | Vorn: API function returns a mapping or a list of pairs or something. |
05:25 | <&McMartin> | Pointers to bound methods are garbage; std::map is not O(1) |
05:26 | <&Derakon> | Hm. |
05:26 | <&Derakon> | I thought it was. |
05:26 | <~Vornicus> | it's a treemap |
05:26 | <&Derakon> | What good is a non-O(1) hash map? |
05:26 | <&McMartin> | Nope, it's a tree-map, not a hash. |
05:26 | <&Derakon> | ...ah. |
05:26 | <~Vornicus> | O(log n) |
05:26 | <&McMartin> | "It doesn't require you to define anything other than operator<" |
05:26 | | Syloq is now known as NSGuest44358 |
05:27 | <&Derakon> | Also, why are pointers to bound methods garbage? |
05:27 | <&McMartin> | The syntax is finicky and opaque and developers dislike using them. |
05:28 | <&Derakon> | &(this->funcName) doesn't work? |
05:28 | <&Derakon> | But okay, fair enough. |
05:29 | <&McMartin> | Basically, with small ints you can have one dispatch function with a computed goto^W^Wswitch statement that does the secondary dispatch by trait, and then you do the rest with inheritance. |
05:29 | <&Derakon> | Hrm, given traits-as-ints, you could have an array of subscribers; the trick then would be how to invoke the subscribers' appropriate functions, without making them handle their own event dispatch too! |
05:29 | <&McMartin> | Yup |
05:29 | <&McMartin> | This is exactly how I'm handling subscriptions internally, even |
05:29 | | NSGuest44358 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
05:30 | <&Derakon> | Tricky problem. |
05:30 | <&McMartin> | array indexed by trait, contents are an iterable, sorted set. |
05:30 | <&Derakon> | I much prefer Python where I can just throw around function references like it ain't no thang~ |
05:30 | <&McMartin> | Yup |
05:30 | <&McMartin> | One of the reasons I'm sticking to C for Monocle itself is so that clients can, once they set up the glue right, do all the wacky shit their language prefers~ |
05:30 | <&McMartin> | (The scheme dispatcher is totally going to be something like 'vector of lambdas' or 'symbol-indexed table of lambdas') |
05:32 | <&Derakon> | Getting back to the original question, for now I'd say just provide both the string and the int. |
05:33 | <&Derakon> | Maybe in the future you can also provide just-the-string and just-the-int versions and the client can specify their preference, but the efficiency gain is so negligible I honestly wouldn't worry about it. |
05:33 | <&McMartin> | I suppose that works. |
05:33 | <&McMartin> | Yeah |
05:33 | <&McMartin> | I mean, we're already in tagged-union land |
05:41 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
05:41 | | Syloq is now known as NSGuest35129 |
05:43 | | Derakon is now known as Derakon[AFK] |
05:44 | | NSGuest35129 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Operation timed out] |
05:49 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
05:50 | | Syloq is now known as NSGuest32157 |
05:52 | | NSGuest32157 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Operation timed out] |
06:03 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
06:04 | | Syloq is now known as NSGuest43218 |
06:18 | | NSGuest43218 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
06:23 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
06:24 | | Syloq is now known as NSGuest43437 |
06:27 | | NSGuest43437 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
06:34 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
06:35 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.] |
06:35 | | Syloq is now known as NSGuest46102 |
06:38 | | NSGuest46102 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
06:38 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has joined #code |
06:50 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
06:51 | | Syloq is now known as NSGuest39593 |
07:03 | | thalass [thalass@Nightstar-iaimd3.bigpond.net.au] has joined #code |
07:19 | | Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
07:24 | | Turaiel is now known as Turaiel[Offline] |
07:24 | | celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
08:13 | | NSGuest39593 is now known as Syloq |
08:14 | | Syloq is now known as NSGuest61684 |
08:17 | | NSGuest61684 is now known as Syloq |
08:17 | | mode/#code [+o Syloq] by ChanServ |
09:16 | | thalass [thalass@Nightstar-iaimd3.bigpond.net.au] has quit [Ping timeout: 121 seconds] |
09:29 | | thalass [thalass@Nightstar-g3c0h3.bigpond.net.au] has joined #code |
09:40 | | You're now known as TheWatcher |
09:50 | | Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has quit [[NS] Quit: ] |
10:04 | | Kindamoody is now known as Kindamoody|afk |
10:10 | <&jerith> | McMartin! I have a Monocle question! |
10:10 | <&jerith> | Is it safe to add files to a resource directory after that resource directory has been added? |
10:11 | <&jerith> | (This is relevant to tests I am writing.) |
10:12 | <&McMartin> | I think it is! But I don't know if it works. |
10:12 | <&McMartin> | My guess is that it works for files but does not work for zips, because I cache the zip's directory structure. |
10:13 | <&jerith> | It works for the test I've just written. |
10:13 | <&jerith> | I wouldn't expect it to work for zipfiles, but directories are more malleable. |
10:13 | <&McMartin> | Actually, it looks like it does work on zipfiles because I don't cache the directories |
10:14 | <&McMartin> | However, I do not feel comfortable guaranteeing that I never will |
10:16 | <&jerith> | I have a little test helper that makes a tempdir and has methods for adding files to it. It's more convenient to call mncl_add_resource_dir() when I construct the helper than to do it in every test that adds resources. |
10:16 | | * McMartin nods |
10:16 | <&McMartin> | Yeah, that's fine |
10:17 | <&McMartin> | Changing files while they're acquired is not great |
10:17 | <&jerith> | Yeah. I wouldn't expect that to work without an explicit reload. |
10:18 | <&McMartin> | It refcounts so you have to release the resource for each place that acquired it |
10:18 | <&jerith> | I didn't say an explicit reload would be *easy*.~ |
10:19 | <&McMartin> | I'm saying "I don't expose an explicit reload"~ |
10:19 | <&McMartin> | In fact, I don't think there's one internally, even |
10:24 | <&jerith> | Right, that's KV data parsing done. |
10:25 | <&McMartin> | I should probably make an API for that that doesn't require callbacks |
10:25 | <&jerith> | I think Python-level event objects are the next thing to look at. |
10:25 | <&McMartin> | See some discussion earlier re: things I plan to do with collision objects |
10:25 | <&McMartin> | Need to get generic subscription working first. |
10:25 | <&jerith> | The callback API is a bit clunky, but I can't think of anything better. |
10:26 | <&jerith> | Ooh, I should read that discussion. |
10:26 | | AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has joined #code |
10:33 | <&jerith> | Hrm. |
10:34 | <&jerith> | McMartin: Do you translate between SDL events and Monocle events? |
10:34 | <&McMartin> | About halfway. |
10:35 | <&McMartin> | Keysymbols are directly imported, but SDL_Event and MNCL_EVENT are not the same type, not even remotely |
10:35 | <&jerith> | Ah, cool. The latter is what I was interested in. |
10:35 | <&McMartin> | That's a tagged union in monocle.h |
10:36 | <&jerith> | (I spent a chunk of last Sunday doing all the event stuff (except user-posted events) in pygame-cffi.) |
10:36 | <&jerith> | (There was some scary stuff in there.) |
10:37 | <&jerith> | Are you going to have user events? |
10:37 | <&McMartin> | No, in that the sequence will be hardcoded... |
10:37 | <&jerith> | MNCL_EVENT_USER is fine. |
10:38 | <&jerith> | Oh, event firing sequence? |
10:38 | <&McMartin> | ... yes, in the sense that every event that's attached to an object, ever, only happens because you asked for it. |
10:39 | <&jerith> | We've found it useful to have events for things like "change scene" which can be fired in response to other things. |
10:40 | <&jerith> | The door objects in Suspended Sentence fire those and then the event loop takes care of all the mechanics of loading the new scene, etc. |
10:40 | <&McMartin> | Yeah, Monocle fires each event that can be attached to an object with a NULL object once per frame. |
10:40 | <&McMartin> | That's the hook for external processing, more or less. |
10:41 | <&McMartin> | "PREINPUT" with NULL is the frame boundary mechanism. |
10:42 | < AverageJoe> | does 'go' support 'goto'? |
10:42 | <&McMartin> | I'm keeping that out of the C layer for now; I think it can be more readily handled by the client when it gets generic cues. |
10:42 | <&McMartin> | (Monocle also, after all, has no notion of rooms/scenes.) |
10:42 | <&jerith> | Cool. |
10:43 | <&jerith> | McMartin: Of course. We just used custom events to trigger transitions in our implementation on top of pygame, which also doesn't have them. |
10:44 | <&McMartin> | Yeah, I'm thinking that's better handled with a separate queue. |
10:45 | <&McMartin> | One difference between Monocle and raw SDL - possibly also pygame - is that Monocle *does* have a notion of frames. |
10:45 | <&McMartin> | That would mean user events need to happen at a specific point in the logic, and specifically do not get to be the next event fired. |
10:45 | <&McMartin> | Monocle's "event queue" is actually a generator, not a true queue. |
10:46 | <&McMartin> | If I had a "remind me of things" system it would be an independent queue that I consulted after POSTRENDER and before PREINPUT. |
10:46 | <&McMartin> | It's not clear to me yet that this belongs in the C layer. |
10:48 | <&McMartin> | Especially since wrapper libraries could trivially add it by reacting to PREINPUT-NULL themselves. |
10:48 | <&jerith> | pygame has no notion of frames either, except that you call clock.tick() to wait until enough time has passed to give you the maximum framerate you've asked for. |
10:48 | <&McMartin> | That's what you do in raw SDL as well. |
10:49 | <&McMartin> | Monocle is fixed: PREINPUT, (all input events this frame, mostly map SDL), PREPHYSICS, (dx, dy, df processed), COLLISION, PRERENDER, RENDER[*], POSTRENDER. |
10:49 | <&McMartin> | the frame wait happens on the way to returning PREINPUT on NULL. |
10:50 | <&jerith> | Hrm. |
10:50 | <&McMartin> | RENDER is only received if you are marked as a custom renderer; otherwise you draw the current frame of your current sprite, unless you have the "invisible" trait. |
10:50 | <&McMartin> | RENDER on NULL happens first and is where rooms and backgrounds are drawn; POSTRENDER on NULL is where you draw the GUI. |
10:52 | <&McMartin> | Every one of the phases produces a consumable event on NULL, then any objects that subscribed to it get the message. Order is only guaranteed on RENDER, where objects will be called in reverse order of depth. |
10:52 | <&McMartin> | (But not yet because keeping the scene sorter consistent is a lot of work and I'm not ready for that yet) |
10:55 | <&jerith> | Anyway, no user event posting means I only have to worry about reading events. |
10:55 | <&McMartin> | Yeah |
10:55 | <&jerith> | Which is easier. :-) |
10:57 | <&McMartin> | Yeah, making the event stream work properly is my challenge for the weekend. |
10:57 | <&McMartin> | (Right now all objects are visible, subscribed only to PRERENDER, and don't have custom rendering.) |
11:01 | <&jerith> | What is the purpose of MNCL_EVENT.subscriber? |
11:03 | <&McMartin> | ... that shouldn't be there the next time I push. It's a leftover from when all events could be subscribed to. It's been replaced with self pointers inside value. |
11:04 | <&McMartin> | Originally there was no actual MNCL_OBJECT, just IDs that you could use to subscribe to things with. |
11:05 | <&jerith> | Cool. One less thing to worry about. :-) |
11:05 | | thalass_ [thalass@Nightstar-jvdib0.bigpond.net.au] has joined #code |
11:06 | | thalass [thalass@Nightstar-g3c0h3.bigpond.net.au] has quit [NickServ (GHOST command used by thalass_)] |
11:06 | | thalass_ is now known as Thalass |
11:08 | <&McMartin> | In other news, I took a quick look at MMF2 and there's nothing in it worth looting. -_- |
11:09 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
11:09 | <&jerith> | In a "nothing new" sense or a "they do everything wrong" sense? |
11:09 | <&jerith> | I'm guessing the latter. ;-) |
11:09 | <&McMartin> | Little of column A, little of column B. |
11:10 | <&McMartin> | They don't do *everything* wrong, as evidenced by the fact that Nyfflas wrote everything good in it. |
11:10 | <&McMartin> | But it's definitely, uh, the ADRIFT to GM:S's Inform 7. |
11:12 | | * jerith looks at ADRIFT, isn't impressed. |
11:13 | <&McMartin> | ADRIFT is real bad |
11:14 | <&McMartin> | MMF2 is demonstrably better than ADRIFT in that while doing the form-filling thing instead of having a proper scripting language available it has a decent presentation layer |
11:16 | <&McMartin> | Really Big Sky looks quite nice |
11:16 | <&McMartin> | Pity about the, you know, game~ |
11:17 | <&McMartin> | But yeah, MMF2 was WaDF, Knytt, Knytt Stories, and the Knytt Stories level editor |
11:18 | <&McMartin> | So it's clearly got something going for it when it's expressible. |
11:18 | <&McMartin> | (I think Knytt Underground is the successor to MMF2) |
11:26 | | Thalass [thalass@Nightstar-jvdib0.bigpond.net.au] has quit [Connection closed] |
11:32 | | NSGuest1893 [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
11:37 | | NSGuest1893 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
11:39 | | AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has quit [Ping timeout: 121 seconds] |
11:42 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
11:43 | | Syloq is now known as NSGuest60066 |
11:47 | <&jerith> | Events wrapped nicely. |
11:48 | | NSGuest60066 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
11:50 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
11:51 | | Syloq is now known as NSGuest62 |
11:54 | | NSGuest62 [Syloq@Nightstar-ujl.ett.136.198.IP] has quit [Ping timeout: 121 seconds] |
12:02 | | Syloq [Syloq@Nightstar-ujl.ett.136.198.IP] has joined #code |
12:03 | | Syloq is now known as NSGuest22299 |
12:13 | | Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
12:48 | | thalass [thalass@Nightstar-gucq71.bigpond.net.au] has joined #code |
12:49 | < thalass> | Can i just say that netgear suck |
12:51 | <&jerith> | thalass: Yes. |
12:51 | <&jerith> | All consumer networking equipment is made entirely out of fail. |
12:52 | <@TheWatcher> | Also woe. |
13:12 | < thalass> | We have an EVG2000, and i'm trying to create a firewall rule that forwards inbound port 22 to my raspberry pi, so i can continue fiddling with it while in canada. It insists that said port is in use with either remote management, another firewall rule, upnp port mapping, RIP, or the internet connection type. None of which are related. |
13:15 | <@TheWatcher> | thalass: ... you really don't want to froward port 22 |
13:15 | <@TheWatcher> | *forward |
13:15 | < Shiz> | s/networking // |
13:16 | <@TheWatcher> | set something like port 24832 or something to forward to port 22 on the pi |
13:16 | < thalass> | I'm not sure i can do that on this POS, but i do see your point. |
13:17 | < Shiz> | what if you try to login to your external IP under port 22 |
13:17 | < Shiz> | inb4 remote ssh |
13:17 | < Shiz> | inb4 router backdoor |
13:17 | < thalass> | It would be preferable if it told me not to be stupid, rather than send me hunting for nonexistent rules somewhere |
13:18 | < thalass> | If i try to connect inbound on 22 it times out |
13:18 | < Shiz> | ssh $(curl -s ifconfig.me) is always my first test |
13:18 | < Shiz> | :P |
13:21 | <@TheWatcher> | thalass: if your box is anything like mine, what you need to do is go to "Services", add a custom service, give it a name like "realssh", tcp type, start port 24832, finish port 24832. Then go to Firewall Rules, add an "inbound service" rule, select the realssh service, set Action to Allow always, set "send to lan server" to be the IP address of your pi. Then on the pi, set sshd so it listens on both 22 and 24832. |
13:21 | < thalass> | ah |
13:22 | < thalass> | I was looking for something in the router to translate the port there. >.< |
13:22 | | * thalass is such a noob |
13:22 | < Shiz> | lol |
13:22 | < Shiz> | that is some shitty routing |
13:22 | <@TheWatcher> | yeah, their firmware doesn't support forwarding to a different port |
13:22 | < thalass> | AUGH |
13:23 | < thalass> | Apparently /that/ port is also in use somehow. |
13:23 | < thalass> | i blame the telstra branded gorram firmware also |
13:23 | < Shiz> | iptables -t nat -A PREROUTING -p tcp --dport 23458 -j DNAT --to-destination 192.168.1.5:22 |
13:23 | < Shiz> | is how you'd do it on a standard linux router |
13:23 | < Shiz> | :P |
13:24 | <@TheWatcher> | Thal: At this point I'd be checking whether they prohibit running services off your connection in the AUP, and have decided to enforce that in their firmware with a shitty message. |
13:24 | < thalass> | wait. never mind. Finger slipped and selected the wrong rule |
13:25 | < thalass> | In my defence i've had 8 hours sleep in nearly 48 hours. |
13:25 | < thalass> | openwrt doesn't support the evg2000, either. I checked. I miss the old linksys routers that were half decent. |
13:26 | < Shiz> | Linksys, decent? |
13:26 | < Shiz> | if you're talking about a WRT54G maybe |
13:26 | < Shiz> | but then only with alt firmware :P |
13:26 | <&jerith> | Shiz: Only when you replace the firmware. |
13:27 | < Shiz> | I mean |
13:27 | < Shiz> | it's not like dd-wrt is a marvel of engineering either |
13:27 | < Shiz> | Had a lot of shit with it too |
13:27 | < Shiz> | and I tried to check out hteir source tree once |
13:27 | < Shiz> | it included over 30 full linux source trees |
13:27 | < Shiz> | ... before I aborted |
13:29 | < thalass> | That's exactly the router i was thinking of. :P |
13:30 | < thalass> | Though the one i had was a later version with less memory, so openwrt was tricky and/or impossible to flash |
13:52 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
14:35 | | * thalass facepalm |
14:36 | | redwire [redwire@Nightstar-27dppb.nl.bellaliant.net] has joined #code |
14:36 | < thalass> | that's why it's not working. There's an "sshd_config" file, which is the one i want, not "ssh_config" |
14:36 | | * Syka makes thalass's facepalm quieter |
14:37 | < Syka> | you'll scare off the ssh(d) |
14:37 | < thalass> | heh |
14:38 | < Syka> | also, i made a thing https://dl.dropboxusercontent.com/u/14290114/Screenshot%20from%202013-12-14%2000 %3A41%3A33.png |
14:38 | < Syka> | (that's autogenerated from the API configuration file) |
14:40 | < thalass> | Nice. Where does the weather info come from? BOM? |
14:41 | < Syka> | thalass: oh, it's not actually a real thing |
14:41 | < Syka> | thalass: this is an API-creation framework |
14:41 | < Syka> | thalass: this is the source of where it does that https://github.com/hawkowl/haddock/blob/master/haddock/test/betterAPI.json |
14:42 | < Syka> | the idea is that you write an API config, write your implementation, and then plug it into this |
14:42 | < Syka> | and it does parameter existence/validity checking, plus an option to generate API documentation, as part of it |
14:43 | < Syka> | you don't even need to do anything special - your function is called with the params, you return a dict/list/etc of the result, the framework checks it and JSONises it, then returns it |
14:43 | | * thalass eyes the .json, doesn't look. Too high codefu |
14:43 | < thalass> | neat |
14:43 | < Syka> | the actual 'implementation' is https://github.com/hawkowl/haddock/blob/master/haddock/test/test_haddock.py#L108 |
14:44 | < Syka> | or rather, that is what you would write |
14:44 | < Syka> | combine it with that JSON using the 6 or so lines here: https://github.com/hawkowl/haddock/blob/master/example.py |
14:44 | < Syka> | and then bam |
14:45 | < thalass> | That's reasonably legible |
14:46 | < Syka> | it's probably able to be made a bit nicer |
14:46 | < Syka> | but |
15:09 | | thalass is now known as Thalasleep |
15:46 | | Derakon[AFK] is now known as Derakon |
16:23 | | Turaiel[Offline] is now known as Turaiel |
16:25 | | AnnoDomini [abudhabi@Nightstar-d00ld9.gw-out.freebnc.net] has quit [Connection closed] |
16:50 | | AnnoDomini [abudhabi@Nightstar-d00ld9.gw-out.freebnc.net] has joined #code |
17:42 | | celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has joined #code |
17:42 | | mode/#code [+o celticminstrel] by ChanServ |
18:36 | | NSGuest22299 is now known as Syloq |
18:37 | | Syloq is now known as NSGuest29954 |
18:39 | | NSGuest29954 is now known as Syloq |
18:39 | | mode/#code [+o Syloq] by ChanServ |
20:44 | | Derakon is now known as Derakon[AFK] |
21:13 | | Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has joined #code |
21:13 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
22:16 | | Kindamoody|afk is now known as Kindamoody |
22:55 | <&McMartin> | RichyB: I was poking around packages.ubuntu.com and it looks like 14.04 is gonna have Mesa 10.0, which has OpenGL 3.3 support on Intel GPUs. |
22:57 | <&McMartin> | Fedora 20, however, only has 9.2.4. 10.0 is in Rawhide. |
22:57 | <&McMartin> | https://apps.fedoraproject.org/packages/mesa |
22:58 | | Kindamoody is now known as Kindamoody[zZz] |
23:04 | < RichyB> | McMartin, aaaargh. |
23:04 | < RichyB> | Thank you for that. |
23:05 | <&McMartin> | Among the reasons Debian drives me up the wall: I'm kind of tentative on whether my statement about 14.04 is true, because there isn't a "mesa" package. I'm operating on the assumption that libg1-mesa-glx will have the same version as Mesa proper. |
23:05 | <&McMartin> | Because there are dozens if not hundreds of *-mesa-* packages |
23:06 | < Syka> | er |
23:06 | < Syka> | is there a mesa metapackage? |
23:06 | < RichyB> | That's one of the things I used to love about Arch and Slackware; with fewer people working on them, they lack the manpower to do stupid busywork like breaking up packages into ever-smaller and smaller bits. |
23:07 | <&McMartin> | Syka: Not seeing one at http://packages.ubuntu.com/search?keywords=mesa&searchon=names&suite=trusty§ ion=all |
23:07 | < RichyB> | The fact that Arch lacks separate -dev(el)? packages alone kinda made me love it. |
23:07 | < Syka> | RichyB: u, |
23:07 | < Syka> | um |
23:08 | < RichyB> | Pity I really dislike most everything else about the distro. |
23:08 | <&McMartin> | But I'm pretty confident in my 10.0 Mesa Underlying theory because most of these are version 10.0.0-whatever |
23:08 | < Syka> | so you mean you're happy with arch being unable to do proper packaging? |
23:08 | <&McMartin> | And they weren't in Saucy |
23:08 | <&McMartin> | Syka: Right, that's the point. Debian's idea of "proper packaging" is wildly at odds with everyone else that isn't basing on them. |
23:08 | < Syka> | you have packages for each item, bound together with a metapackage |
23:08 | <&McMartin> | s/each item/each version of each item/ |
23:09 | < Syka> | McMartin: ? |
23:09 | < RichyB> | McMartin, to be fair, RPM distros do the libfoo vs libfoo-devel split too. |
23:09 | <&McMartin> | RichyB: Yes, and I'm totally OK with that |
23:10 | <&McMartin> | I just prefer that, when I subscribe to a package, I get minor upgrades too. |
23:10 | <&McMartin> | major upgrades, since the break backcompat, should be new packages. |
23:10 | < Syka> | but you do? |
23:10 | <&McMartin> | My experience with Debian is that you only get patch upgrades when you take a package |
23:10 | < Syka> | that's... how it's always worked |
23:10 | < Syka> | you never get new packages |
23:10 | < Syka> | unless you're using sid |
23:11 | < Syka> | in which case it's a moot point |
23:11 | <&McMartin> | Syka: Right |
23:11 | <&McMartin> | I'm saying "When I install the python2 package, it will autoupgrade me from 2.6 to 2.7" |
23:11 | <&McMartin> | This is incorrect behavior by APT standards AIUI |
23:11 | < Syka> | no it won't, unless you're on sid |
23:12 | < Syka> | in which case it's rolling release |
23:12 | <&McMartin> | YES THAT'S EXACTLY THE PROBLEM, IS THAT IT DOESN'T. |
23:12 | < Syka> | and that is expected behaviour |
23:12 | < RichyB> | That's accurate. If you're using a stable release of a DEB or RPM distro, you get only -patchlevel version bumps for security fixes⦠excepting a few packages like Firefox and Chrome which tend to have far more aggressive release schedules than everything else in the same distro, but there are good reasons to treat web browsers differently. |
23:12 | <&McMartin> | *********ONLY********** IF YOU ARE ON A DEBIAN-BASED SYSTEM |
23:12 | <&McMartin> | Maybe I haven't been shouting loud enough? |
23:12 | < Syka> | also |
23:12 | <@celticminstrel> | O_O |
23:13 | <&McMartin> | What you are describing as "expected behavior" - and, presumably, evidence that the entire rest of the world is wrong - is the reason APT-based systems drive me up the wall compared to all its competitors |
23:13 | < Syka> | in your python2 example, that's not kind of correct |
23:13 | < RichyB> | Uh? If I install "python" on a CentOS 6.x system, it installs python-2.6.something-some_patch_level. |
23:13 | < Syka> | python2 is a metapackage that depends on the python2.7 package or something, doesn't it? |
23:13 | < RichyB> | "yum update -y" will never get me a version of python that doesn't match "python-2.6.something-$((some_patch_level + n))" |
23:14 | < Syka> | since I have both python 2.6 and 2.7 i think |
23:14 | < RichyB> | until I hit the magic sequence of commands that takes me off CentOS 6.x and onto CentOS 7.x, whenever that comes out. |
23:14 | <&McMartin> | RichyB: Sure, and then you don't have to do that by hand afterwards. |
23:15 | <&McMartin> | My experience with Ubuntu in the past has been that I *do* have to specify these things by hand unless the distro built on top of it has elected to make them part of the basic install. |
23:15 | < RichyB> | Well yes, when I upgrade to Cent7, when that comes out, I will get whatever the Cent7-blesséd python2 version is. |
23:15 | <&McMartin> | Syka: When I search Ubuntu's package database I don't see a "python2" metapackage either. Maybe it's not listing metapackages? |
23:15 | <&McMartin> | Where do I look for those? |
23:15 | < Syka> | well |
23:15 | < Syka> | are you talking debian or ubuntu |
23:16 | <&McMartin> | Python 2 has been around for a very long time and Ubuntu inherits debian packages. |
23:16 | < Syka> | it does and it doesn't |
23:16 | < Syka> | ubuntu sometimes do wacky things |
23:18 | < Syka> | McMartin: http://packages.debian.org/unstable/python/python |
23:18 | < Syka> | `python` depends on `python2.7` |
23:18 | <&ToxicFrog> | Mint has python2.7 but not python2. |
23:19 | <&McMartin> | Aha! |
23:19 | <&McMartin> | That's because it's "python" and not "python2" |
23:19 | < Syka> | well |
23:19 | <&McMartin> | This is hilarious because it was trying to install python 2.5 and getting 1.7 that was my *first* experience with apt |
23:19 | < Syka> | thats because python2 means python too |
23:19 | < Syka> | as per PEP something or other |
23:20 | <&McMartin> | Anyway, this is really the issue that I have with Ubuntu/Debian vs. Fedora; it seems like I can guess package names with about 75% accuracy on Fedora's (admittedly smaller) repos, while the apt systems my accuracy is more like 10% and even having access to a search engine only bumps that to like 30%. |
23:21 | < Syka> | some things might specify it as python2 |
23:21 | < Syka> | well, i have a generally good success rate |
23:21 | < Syka> | there is also apt-cache |
23:21 | < Syka> | which contains the description of all the packages in all the repos you have |
23:21 | <&McMartin> | I'm trating apt-cache as "access to a search engine" |
23:21 | <&McMartin> | And yes |
23:21 | <&McMartin> | I have never been able to get aptitude to work for me |
23:22 | <&McMartin> | Even when it was nominally better than apt-get + apt-cache |
23:22 | < Syka> | neither have i |
23:22 | < Syka> | i dont even know how to use it |
23:22 | <&McMartin> | It's TOO USER-FRIENDLY TO DOCUMENT! |
23:22 | < Syka> | its a curses interface |
23:22 | < Syka> | it is not user friendly :( |
23:22 | <&McMartin> | Oh wait, you hit a key by accident, I'm going to queue 47,235 packages for install and not tell you how to reverse that action |
23:23 | <@celticminstrel> | My first issue with apt is that I didn't know there were commands beyond apt-get. |
23:23 | <&McMartin> | You need, at minimum, apt-get and apt-cache to interact with it at all. |
23:23 | <@celticminstrel> | ^was, not is |
23:23 | < Syka> | i dont fully know how to use apt-cache either |
23:23 | <&McMartin> | I don't know why they're still different commands; it's not like there's overlap between their command sets |
23:24 | < Syka> | er, well |
23:24 | <&McMartin> | I keep hearing tell that there's something fatally wrong with yum, but I have yet to get a clear explanation of what that thing is |
23:24 | < Syka> | one downloads and installs packages, one searches the package cache |
23:24 | < Syka> | also yum's problem is that it sucks |
23:24 | <&McMartin> | So does apt-get, as we have just demonstrated. You'll need to be more specific. |
23:24 | < Syka> | it's also unbearably slow every time i've used it |
23:24 | < Syka> | apt-get is fine |
23:24 | <&McMartin> | This is incorrect~ |
23:25 | <&McMartin> | (See how useless this conversation is?) |
23:25 | <@Tamber> | It is software, therefore it sucks. |
23:25 | <&McMartin> | Let me be more precise |
23:25 | <@Tamber> | Or, better, it exists, therefore it sucks. ;) |
23:25 | <&McMartin> | "I am given to understand that despite things like CentOS using it, yum has serious problems at scale" |
23:25 | <&McMartin> | For, like, actual reasons beyond "when I tried it I had a bad user experience" |
23:26 | < Syka> | my best experience with yum so far is it exploding on centos when updating nagios |
23:26 | < Syka> | also on fedora when updating the package cache |
23:26 | < Syka> | also, re: fedora packages, jesus christ why do they not support nvidia drivers |
23:27 | | Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
23:27 | < Syka> | the wiki article was like ten pages and involved compiling |
23:27 | <@celticminstrel> | I find yum easier to use than apt, though. |
23:28 | <&McMartin> | OSS or proprietary drivers? |
23:28 | <@celticminstrel> | It might have something to do with that its interface is closer to MacPorts. >_> |
23:28 | <&McMartin> | Fedora's big deal is that they have no nonfree section at all |
23:28 | < Syka> | McMartin: proprietary |
23:28 | <@celticminstrel> | So how would you install nonfree software on Fedora? |
23:28 | <&McMartin> | Set up a private side repo and use that, ideally |
23:28 | <&McMartin> | But people that do that don't use Fedora in the first place. |
23:28 | < Syka> | ie. the ones that don't freeze my GPU upon bootup :| |
23:29 | < Syka> | and thats kind of dumb |
23:29 | | * McMartin shrugs |
23:29 | < Syka> | fedora doesnt have non-free software |
23:29 | <&McMartin> | It's their equivalent of Debian's ranting about Tentacles of Evil |
23:29 | <@celticminstrel> | So there's no non-official repositories for Fedora and nonfree software? |
23:29 | < Syka> | made by Red Hat, the kings of pointless proprietary bullshit |
23:29 | <&McMartin> | There's not *no* non-official repositories, but I've never found any acceptable community standard ones. |
23:30 | <@Tamber> | (You may, by now, be beginning to see Syka's viewpoint: There is things she likes, and everything else falls into "Stupid bullshit nobody should use."~) |
23:30 | < Syka> | so what if you want to install working drivers |
23:30 | <&McMartin> | There are instructions right there! |
23:30 | < Syka> | "bad luck, get used to noveau"? |
23:30 | <@Tamber> | "Go get the nvidia tarball. Follow their instructions." |
23:30 | <@Tamber> | or the .bin, whatever |
23:31 | < RichyB> | McMartin, yum has one very specific problem that I'm used to running into in practice, which is that "yum search foo" will re-download the packages list before actually searching for foo unless it's recent/fresh, and that's mildly annoying because it takes a minute or two. |
23:31 | < Syka> | McMartin: what if you want to install them without hackyness |
23:31 | <&McMartin> | Install Windows Problem Solved |
23:31 | <@Tamber> | *snrk* |
23:31 | < Syka> | that's not a solution |
23:31 | <@Tamber> | Sure it is. |
23:31 | < RichyB> | It's not really the end of the world. |
23:31 | < Syka> | because then i have to go and use nvidias hacky windows installer |
23:31 | <@Tamber> | The Official Nvidia Solution is: Get the .bin file, follow the damn instructions. |
23:32 | <&McMartin> | This does raise an interesting point, though. |
23:32 | <@Tamber> | If you want better than that, get them to work on the open-source drivers. |
23:32 | <&McMartin> | I'm now wondering if Fedora takes such a hardline on non-free just so that it can commit to, in the future, never turning into RHEL |
23:32 | < Syka> | I just apt-get install nvidia-driver and BAM i have accelerated video |
23:32 | < RichyB> | Please elaborate on âever turning into RHELâ? |
23:33 | < RichyB> | Do you mean ânever turning into some damn distro which deliberately has to move slowly in order to not break binary compat with a huge collection of awful closed-source software made for itâ? |
23:34 | <@Tamber> | unpleaCent-OS? *shot* |
23:34 | < Syka> | rhel and centos are hilarious |
23:34 | <&McMartin> | RichyB: more "being packed with Red Hat's proprietary stuff that everybody else hates" |
23:34 | <&McMartin> | Which may be, mechanically, what you refer to |
23:34 | <&McMartin> | Moving slowly clearly isn't a problem for everyone, and some consider it a necessary feature. |
23:38 | < RichyB> | you say "proprietary" but centos is all open-source |
23:39 | < RichyB> | may still be "proprietary" in the sense that "RedHat themselves make up the entire community for this thing and they won't accept patches" though? |
23:39 | <&McMartin> | Which thing is "this thing"? |
23:40 | <&McMartin> | Also, CentOS I thought did pretty well for itself |
23:40 | <&McMartin> | And, empirically, Fedora advances faster than CentOS does |
23:40 | <&McMartin> | For good and ill. |
23:43 | <@froztbyte> | <RichyB> McMartin, yum has one very specific problem that I'm used to running into in practice, which is that "yum search foo" will re-download the packages list before actually searching for foo unless it's recent/fresh, and that's mildly annoying because it takes a minute or two. |
23:43 | <@froztbyte> | man. |
23:43 | | Orthia [orthianz@Nightstar-avg.1ee.224.119.IP] has quit [Ping timeout: 121 seconds] |
23:43 | <@froztbyte> | you should see how infuriating shat shit becomes in places with lesser internet |
23:44 | <@froztbyte> | I'm not even kidding when I say that I've seen 20min yum search runs |
23:45 | < RichyB> | McMartin, oh Fedora just rockets off into the distance, it's great and I love it. ⥠|
23:46 | < RichyB> | froztbyte, yeah. Really wish that there was at least delta-compression for the multi-megabyte release lists. |
23:47 | < RichyB> | froztbyte, oh also, yum keeps a per-user cache of the package list. |
23:47 | < RichyB> | so if I run "yum search" as me and then "sudo yum install", it'll end up downloading 1 copy of the package list for me and 1 for root, which somewhat sucks. |
23:47 | <@froztbyte> | RichyB: go search for my name on the yum lists |
23:48 | < RichyB> | Workaround: sudo yum search, sudo yum install |
23:48 | <&McMartin> | RichyB: Huh. |
23:48 | <@froztbyte> | RichyB: years back when I had nary a clue I sent a question/suggestion about that problem |
23:48 | <@froztbyte> | RichyB: didn't even get a response. |
23:48 | <&McMartin> | For as long as I've used Fedora, they made yum fail instantly if you ran it non-sudo |
23:48 | < RichyB> | McMartin, *shrug* software is imperfect. :| |
23:48 | <@froztbyte> | they honestly don't care |
23:48 | < RichyB> | Ah, the read-only operations don't. |
23:49 | < RichyB> | froztbyte, I postulate that this is what happens when programmers have internet connections that are too reliable; most get stupid and lose empathy. |
23:49 | <&McMartin> | Oh hey, how about that. |
23:49 | <&McMartin> | Apparently some of my non-install operations were secretly not read-only |
23:50 | | Turaiel is now known as Turaiel[Offline] |
23:50 | < RichyB> | McMartin, maybe there's something I haven't encountered or thought of, but "yum {search,info,list}" have always worked for me as ordinary user. |
23:51 | <@froztbyte> | RichyB: I would agree |
23:51 | <@froztbyte> | RichyB: I like to fuzztest software by giving it crappy packets |
23:52 | <@froztbyte> | I've made apache httpd crash by feeding it some skype |
23:52 | < RichyB> | Really? That was probably a remote-execution or at least DoS bug at one point. |
23:53 | <@froztbyte> | this was about 3 years ago |
23:54 | | * TheWatcher readsup |
23:54 | < RichyB> | *nodnod* Hopefully fixed⦠hopefully. :) |
23:54 | <@froztbyte> | haha |
23:54 | < RichyB> | I thought Skype was all UDP? |
23:55 | < RichyB> | Kinda assumed that since IIRC they invented the idea that turned into STUN. |
23:55 | <@froztbyte> | it had some TCP as well (at one point?) |
23:55 | <@froztbyte> | for the auth stuff etc |
23:56 | <&McMartin> | RichyB: It's been a long time since I set up a sudo yum alias; I think it might have been to check for updates but not actually take them |
23:56 | <&McMartin> | And maybe it was getting interpreted with the same stricture as update itself |
23:57 | <&McMartin> | Speaking of yum update, I haven't done one in awhile, time to do that |
23:57 | <@TheWatcher> | Syka: CentOS is, as I have noted in the past, quite wonderful if you happen to be dealing with legacy systems, or are happy to go with (claimed) higher stability at the cost of dealing with packages released around the point that mammoths died out. Otherwise it's an utter fucking pain in the arse. |
23:58 | <@froztbyte> | see, this is the point where I .... not disagree, but more wonder |
23:59 | <@froztbyte> | you could just as well leave a debian running |
23:59 | <@TheWatcher> | Yeah, indeed |
23:59 | <@froztbyte> | hell, I've got two etch boxes I set up at $oldco back when I first started |
23:59 | <@froztbyte> | and those will live for *years* more |
23:59 | <@TheWatcher> | Frankly, that'd be my choice |
23:59 | <@froztbyte> | until the hardware dies. and then they'll just reprov on new hardware from backup. |
23:59 | <@froztbyte> | and they'll keep doing that until the software literally can't deal with new enough hardware |
--- Log closed Sun Dec 15 00:00:04 2013 |