--- Log opened Wed May 16 00:00:10 2012 |
00:00 | <&McMartin> | Can you do that on non-LISP machines >_> |
00:03 | < celticminstrel> | ld wouldn't invoke gcc, would it? |
00:03 | <&McMartin> | More likely to be the other way around, but tbh no idea how template instantiation works these days |
00:04 | < celticminstrel> | So maybe I can replace the linking stage with a custom stage invoking ld... :/ |
00:06 | < celticminstrel> | But that feels like too much work... |
00:12 | | * gnolam realizes he has a spare Arduino, starts wondering what to do with it. |
00:13 | <~Vornicus> | arg arg arg hate high level design |
00:13 | <~Vornicus> | Every single time it feels like I'm doing something wrong and it stops me while I try to figure out what |
00:17 | <&McMartin> | ARGH, WE ARE TERRIBLE PEOPLE ;_; |
00:17 | <&McMartin> | ("Forget it, Jake. It's UI code.") |
00:18 | <~Vornicus> | why are we terrible people again? |
00:18 | <~Vornicus> | or is that what you just told Jake? |
00:18 | <&McMartin> | We being here |
00:18 | <&McMartin> | Near where I sit |
00:19 | <&McMartin> | Basedo n the horrors of this code |
00:19 | <&McMartin> | But it is UI code |
00:19 | <&McMartin> | Thus, dismissal a la Big Trouble in Little China. |
00:19 | <&McMartin> | Or whatever movie that was from~ |
00:29 | | Derakon[AFK] is now known as Derakon |
00:33 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
00:33 | | mode/#code [+o himi] by ChanServ |
00:39 | <@ToxicFrog> | celticminstrel: on "typical to invoke the compiler during the link stage" - it's less "more plausible if you're C++" and more "more plausible if you're gcc", since gcc is actually a frontend to a bunch of preprocessors, compilers, linkers, etc and will automatically, for example, invoke cc1plus if passed .cpp files and ld if passed .o files. |
00:59 | | You're now known as TheWatcher[T-2] |
01:03 | | You're now known as TheWatcher[zZzZ] |
01:04 | < celticminstrel> | Ah. |
01:09 | < celticminstrel> | I think this would work if it just replaced the path to GCC with ld... |
01:15 | < celticminstrel> | ie, if it invoked ld instead of gcc with all the same arguments. |
01:34 | <&McMartin> | Oh hey, this would make a good Clojure project. |
01:34 | <&McMartin> | In that it is kind of pointless, small, and also still kinda cute |
01:35 | <&McMartin> | It would be taking this old BASIC program I copied out of a book in my teens and actually doing it right |
01:35 | <&McMartin> | Possibly as ClojureScript since BASIC means "web page" now. |
01:39 | < celticminstrel> | I wonder if I can somehow tell XCode not to pass .o files to the compiler... |
01:40 | < celticminstrel> | Or maybe I could add a build rule to pass them to the LLVM compiler. |
01:41 | < celticminstrel> | That didn't work. |
02:18 | <&McMartin> | What's the actual linker error? |
02:19 | | Kindamoody[zZz] is now known as Kindamoody |
02:33 | < celticminstrel> | Basically "GCC failed with error code 1". |
02:33 | < celticminstrel> | ^exit code |
02:40 | | * jerith starts downloading 4gb of Xcode. |
02:40 | <~Vornicus> | That's all you get? |
02:41 | <&jerith> | All I want is the compiler. |
02:41 | <~Vornicus> | that's unlike gcc; you should get at least some data on what it's doing wrong |
02:42 | <&jerith> | But the only way to get the compiler is to download the thing that includes the iOS SDK, mobile device simulators, kitchen sink, etc. |
02:44 | | Attilla [Obsolete@Nightstar-cf31f60f.threembb.co.uk] has quit [Ping timeout: 121 seconds] |
02:53 | < Noah> | I need to suck it up and learn how to use twisted words |
03:38 | < celticminstrel> | Yeah, all I get is the GCC call (with arguments) and that error message, with the implication that this is all a result of invoking ld. |
04:18 | < Noah> | The Twisted Book from O'Reilly, has a python mating ball on the cover. |
04:19 | < Noah> | That's pretty naughty. |
04:25 | < Rhamphoryncus> | bow chika wow wow |
04:35 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
04:42 | < Noah> | God damn this is poorly documented. |
04:57 | <&Derakon> | > man this |
04:58 | <&Derakon> | No manual entry for this |
04:58 | <&Derakon> | I guess this is pretty poorly documented, yeah. |
05:07 | < Noah> | > man that |
05:07 | < Noah> | See this. |
05:09 | | sshine_ [simon@Nightstar-883ecc1d.brahmaserver.dk] has joined #code |
05:09 | | sshine [simon@Nightstar-883ecc1d.brahmaserver.dk] has quit [Ping timeout: 121 seconds] |
05:11 | <&Derakon> | "The cause mortal wounds monster spell sometimes caused ~24K damage." -- a bug report for an Angband variant. |
05:12 | <&Derakon> | Note that Half-Troll Warriors with maxed CON can sometimes get around 1100 HP. |
05:42 | | Noah [nbarr@490720.C448F4.6334E9.5D6C06] has quit [[NS] Quit: Leaving] |
05:42 | | Noah [nbarr@490720.C448F4.6334E9.5D6C06] has joined #code |
05:44 | | Noah [nbarr@490720.C448F4.6334E9.5D6C06] has quit [Client closed the connection] |
05:44 | | Noah [nbarr@490720.C448F4.6334E9.5D6C06] has joined #code |
05:51 | | Noah [nbarr@490720.C448F4.6334E9.5D6C06] has quit [[NS] Quit: Leaving] |
05:52 | | Noah [nbarr@490720.C448F4.6334E9.5D6C06] has joined #code |
05:59 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Operation timed out] |
06:14 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
06:14 | | mode/#code [+o himi] by ChanServ |
06:22 | | ErikMesoy|sleep is now known as ErikMesoy |
06:24 | | Derakon is now known as Derakon[AFK] |
06:29 | | Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code |
06:31 | | Reiver|AFK [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds] |
06:33 | < Noah> | Okay, so I'm looking at twisted.words etc etc |
06:33 | < Noah> | And I'm trying to grok how I would handle mulple commands in a sane way |
06:34 | < Noah> | I guess I just use the single privmsg handler and put my commands in there? Seems like that's what I'm supposed to do... |
06:34 | < Noah> | Can't help but think there might be a easier way, so as to have it be easily extensible |
06:35 | < Noah> | Like some kind of global dictionary that contains a commands and the funtion that I want to run on that command... |
06:36 | <&jerith> | Noah: You write your own dispatcher in the privmsg handler. |
06:36 | <~Vornicus> | You can build an event dispatcher on top of the privmsg handle |
06:36 | <~Vornicus> | Too slow again. |
06:37 | < Noah> | Is that what I basically described? |
06:37 | <&jerith> | return getattr(self, 'cmd_' + command, self.unknown_command)(*args) |
06:38 | <&jerith> | (I don't remember the method signatures offhand, but I have written more than one Twisted-based ircbot in my time.) |
06:38 | <~Vornicus> | I would not use getattr in general |
06:39 | <&jerith> | Vornicus: It's idiomatic for this kind of thing in Python. |
06:39 | <~Vornicus> | Especially in situations where you're using untrusted data |
06:40 | < Noah> | Okay...so then I write commands as functions, cmd_dothing(*args) and it handles it without me having to poke at the orignal privmsg handler? |
06:40 | <&jerith> | Vornicus: I'm assuming you preprocess the input. |
06:41 | <&jerith> | Also, the worst you could do with arbitrary input there is look up an arbitrary attribute that starts with your prefix. |
06:42 | <&jerith> | It's safe, and you don't need to duplicate a bunch of stuff in a separate dispatch table. |
06:43 | <~Vornicus> | true. |
06:53 | < Noah> | jerith: Do you actually have an example I can look at that does that dispatchy thing? |
06:54 | <&jerith> | Noah: Not offhand, but I can write up a toy one and patebin it. |
06:54 | < Noah> | Yea, just a very basic example would be fine |
06:55 | < Noah> | I think I get what I'm supposed to do, but I'm having severe brain flatulence |
06:59 | <&jerith> | Noah: https://gist.github.com/2707900 |
07:04 | < Noah> | Okay, so Toy is the command handler class, it has a method to handle input, and methods for commands... would it be better for me to make the command handler it's own class, and have classes inherit that and have their own cmd_things? |
07:05 | < Noah> | Or should I be superclassing classes into the command handler that have their own class? |
07:06 | <&jerith> | Noah: Subclass the IRC client and make it your command handler as well. |
07:06 | <&jerith> | Unless you want to get fancy with a plugin system or something. |
07:07 | < Noah> | Yea, something like a plugin system is what I'm going for |
07:07 | <&jerith> | That's more complicated. You need to collect all the plugins and stuff. |
07:07 | < Noah> | right, hmm |
07:07 | < Noah> | brb |
07:08 | <&jerith> | What you probably want there is to have a plugin class that you instantiate and feed a reference to your client object to. |
07:09 | <&jerith> | Then you build up a dict of those based on command name and stash them somewhere. |
07:09 | <&jerith> | Then you replace the getattr with a dict lookup in that dict. |
07:12 | <&jerith> | If you want to get really complicated, you can look at what I did in http://bazaar.launchpad.net/~eridanus-developers/eridanus/trunk/files and/or http://bazaar.launchpad.net/~ibid-core/ibid/trunk/files |
07:17 | < Noah> | I don't need to get quite that complicated |
07:18 | < Noah> | Is it possible to have python import a bunch of modules that are in a directory? |
07:19 | <&jerith> | Noah: Yes. If you want to do that, look at Twisted's plugin stuff. |
07:19 | <&jerith> | Noah: http://twistedmatrix.com/documents/current/core/howto/plugin.html |
07:20 | < Noah> | Already reading it |
07:41 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
07:42 | | You're now known as TheWatcher |
07:54 | < Noah> | Oh, I think I found something simple jerith, http://goo.gl/Wekjn |
07:54 | < Noah> | It has a basic plugin importer |
07:59 | | Reiv [reiverta@5B433A.3CF6C7.AF2A90.6665F4] has joined #code |
08:05 | | Reiv [reiverta@5B433A.3CF6C7.AF2A90.6665F4] has quit [Ping timeout: 121 seconds] |
08:13 | | Reiv [reiverta@5B433A.F67240.7718E8.1EF5FC] has joined #code |
08:13 | | eckse [eckse@Nightstar-3b021371.dsl.sentex.ca] has quit [Connection reset by peer] |
08:15 | <&McMartin> | OK, it looks like Clojure's limitations aren't *quite* as dire as I had feared |
08:15 | <&McMartin> | Though at least one Stupid Continuations Trick definitely won't work in it (tail call as computed GOTO, handy for state machines) |
08:15 | <&McMartin> | https://gist.github.com/2708257 |
09:33 | < Reiv> | Because else it's a pain to check backscroll~ |
09:40 | <~Vornicus> | in order, level:mean/mode/median: 1:0.25/0/0 2:0.625/1/1 3:1.031/1/1 4:1.453/1/1 5:1.884/2/2 6:2.323/2/2 7.2.743/3/3 8:3.110/3/3 |
09:43 | <~Vornicus> | that's the number of white hits; the number of red hits is a simple geometric distribution. |
09:43 | <~Vornicus> | er, binomial. can tell I'm not running at capacity at the moment |
09:45 | < Reiv> | Funkalicious. |
09:45 | < Reiv> | The mode&median are always the same, so the curves are centered, yes? |
09:46 | <~Vornicus> | No, they've got skew, hang on let me find the equation for skew on weighted stuff, excel doesn't know it |
09:47 | < Reiv> | I'd prefer a graph, I suck at skew~ |
09:47 | <~Vornicus> | Let me build for you the graphs of my people. |
09:52 | <~Vornicus> | Anyway what you really want to consider when thinking about skew is median vs mean |
09:52 | <~Vornicus> | or at least for laymen |
09:54 | <~Vornicus> | In every case here, you see that the mean is not the same as the median; that means there's skewness. |
09:54 | <~Vornicus> | how did that come out italic. |
09:59 | < Reiv> | ctrl insted of shift for the I |
09:59 | < Reiv> | You retyped it assuming it never worked~ |
09:59 | <~Vornicus> | heh |
10:16 | <~Vornicus> | Yeah. These things all have positive skew. value,mean,median,mode,stdev,skew 1,0.250,0,0.000,0.433,4.619 2,0.625,1,1.000,0.599,6.636 3,1.031,1,1.000,0.728,8.692 4,1.453,1,1.000,0.837,10.522 5,1.885,2,2.000,0.934,12.171 6,2.323,2,2.000,1.021,13.680 7,2.743,3,3.000,1.122,14.626 8,3.110,3,3.000,1.292,14.270 |
10:17 | <~Vornicus> | I could calculate kurtosis too if you want, but I don't think you want~ |
10:18 | | Attilla [Obsolete@Nightstar-897e8710.as43234.net] has joined #code |
10:19 | <~Vornicus> | And I miscalculated skew, silly me |
10:19 | <~Vornicus> | 1,0.250,0,0.000,0.433,1.155 2,0.625,1,1.000,0.599,0.381 3,1.031,1,1.000,0.728,0.195 4,1.453,1,1.000,0.837,0.108 5,1.885,2,2.000,0.934,0.058 6,2.323,2,2.000,1.021,0.025 7,2.743,3,3.000,1.122,-0.042 8,3.110,3,3.000,1.292,-0.172 |
10:19 | <~Vornicus> | there. |
10:22 | < Reiv> | So remind me how to read skew~ |
10:23 | <~Vornicus> | okay a positive skew generally means that most of the values are on the left end of the distribution: 1,2,3,6 has a positive skew |
10:23 | <~Vornicus> | and a negative skew means that they're mostly on the right: 1,4,5,6 |
10:25 | <~Vornicus> | Higher skew means it's more off-balance like this. |
10:26 | <~Vornicus> | those two there have skewness of 0.68 and -0.68 respectively. |
10:28 | < Reiv> | Hm |
10:28 | <~Vornicus> | and now I think I might be able to sleep. |
10:28 | < Reiv> | Glad to burn your brain out, cheers Vorny :) |
10:28 | <~Vornicus> | but if you have a quick question I might be able to answer it first. |
10:29 | < Reiv> | Mostly: So do the numbers get closer to reliable (aka less skew) with bigger pools, or is it fairly stable? |
10:29 | | * Reiv is still making sense of the numbers given. |
10:30 | <~Vornicus> | As with most distributions, the more you include the cleaner it is |
10:30 | <~Vornicus> | THe more it looks like a normal distribution. |
10:30 | < Reiv> | Right, cool. |
10:30 | <~Vornicus> | normal distribution has 0 skew. |
10:30 | < Reiv> | So en-mass does heavily favor over singletons. |
10:30 | < Reiv> | Yeah |
10:30 | < Reiv> | That's interesting; thanks! |
10:30 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
10:30 | | mode/#code [+o himi] by ChanServ |
10:30 | <~Vornicus> | ni. |
10:31 | <@TheWatcher> | Nivorn, good luck with slep |
10:31 | < Reiv> | ni! |
10:31 | < Reiv> | (The secret to a Clownenated Vron: Give him a math puzzle for half an hour~) |
10:44 | | RichyB [MyCatVerbs@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
10:51 | | * TheWatcher lifts code he wrote last night for the ORB overhaul, drops it into Sekrit Projekt in work, modifies a few table names and comments >.> |
10:52 | < Reiv> | snrk wut |
10:54 | <@TheWatcher> | Tag management class, basically. The two do the actual mechanics of tagging differently, but store the tags themselves almost identically, so I can just reuse most of the ORB code. |
10:54 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
10:55 | < Reiv> | ORB being? |
10:55 | <@TheWatcher> | Online Recipe Book - the system I wrote for Myst to store our recipes in |
10:56 | < Reiv> | Oh, sweet |
10:57 | <@TheWatcher> | And am now Fixing Up, Adding Long-Delayed Features To, and generally making it so that Other People Can Use It (as there have been a few express interest in doing so) |
10:58 | <@TheWatcher> | (Fixing Up involves lots of staring at code, saying "What the everliving fuck and all of Azathoth's minions was I thinking when I did it that way?!", and rewriting/refactoring chunks) |
10:59 | < Reiv> | Welcome to Perl~ |
10:59 | <@TheWatcher> | No, Welcome to Programming. |
10:59 | <@TheWatcher> | Happens no matter what language you use, really |
11:00 | <&McMartin> | Aye |
11:00 | <&McMartin> | Jeeze, when did it become 3 |
11:00 | | * McMartin slep |
11:00 | <@TheWatcher> | Night! |
11:01 | < Reiv> | ni! |
11:01 | <@TheWatcher> | Reiv: programming's one of those things where, if you're any good, you're constantly learning new ways of doing things (even within the same language), and coming back to old code after any significant period... it can be like it was written by someone else entirely, sometimes. |
11:02 | <@TheWatcher> | (because it was, really) |
11:41 | | Kindamoody is now known as Kindamoody|out |
11:43 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
13:17 | <@ToxicFrog> | <McMartin> Though at least one Stupid Continuations Trick definitely won't work in it (tail call as computed GOTO, handy for state machines) |
13:17 | <@ToxicFrog> | How is this a stupid continuation trick, and why doesn't it work? |
13:21 | <@ToxicFrog> | Oh, I see why it doesn't work. |
13:22 | <@ToxicFrog> | Looks like you can replace tail-call-as-state-transition with (trampoline S) |
13:24 | | * TheWatcher vaguely wonders if the object file format and texture storage formats for HW/HW2 are documented anywhere, other than the source release for HW which he doesn't want to touch |
13:27 | < RichyB> | ToxicFrog, yeah, no tail call optimisation. :/ |
13:29 | < Reiv> | What's this for, TF? |
13:29 | | Attilla [Obsolete@Nightstar-897e8710.as43234.net] has quit [Ping timeout: 121 seconds] |
13:29 | < Reiv> | And TW: Yah, I know. I was just being Humorous regarding your deviant proclivities towards perl :P |
13:29 | <@ToxicFrog> | Reiv: clojure |
13:29 | <@ToxicFrog> | Which can't do generalized tail call optimization because JVM |
13:30 | < Reiv> | So wait |
13:30 | < Reiv> | clojure is a new language |
13:30 | < Reiv> | That runs via the JVM? |
13:30 | <@ToxicFrog> | ...yes? This is actually pretty common. |
13:31 | < Reiv> | Things I Know That Run On The JVM: |
13:31 | < Reiv> | Java |
13:31 | < Reiv> | Jython |
13:31 | < RichyB> | Reiv, yes. It's a Lisp-like language that compiles to JVM bytecode. |
13:31 | < Reiv> | Java |
13:31 | < Reiv> | Jaffas (if only for the sugar rush) |
13:31 | <@ToxicFrog> | Reiv: wikipedia lists like 80 |
13:31 | < RichyB> | Java Jython JRuby Clojure Scala |
13:31 | < RichyB> | Groovy... |
13:31 | <@ToxicFrog> | Of which half are JVM reimplementations of existing languages and half are original languages |
13:32 | < RichyB> | JScheme, Kawa, SISC |
13:32 | < RichyB> | Skij! |
13:32 | < Reiv> | So JVM is the new assembly?~ |
13:32 | < RichyB> | No but sure. |
13:32 | <@ToxicFrog> | JVM is the slightly less new assembly |
13:32 | < Reiv> | Why would you reimplement an existing language, though |
13:32 | <@ToxicFrog> | CLR is the new assembly |
13:32 | <@ToxicFrog> | Lots of reasons |
13:32 | < RichyB> | The JVM isn't a bad compiler target |
13:32 | < Reiv> | Surely you lose half the Cool Tricks of the language in the process? |
13:32 | <@ToxicFrog> | Automatic portability to everything that the JVM runs on, which is a pretty long list |
13:32 | < RichyB> | er, thing to target. |
13:32 | <@ToxicFrog> | High-performance JIT |
13:33 | < RichyB> | Pretty decent performance from the JIT. |
13:33 | <@ToxicFrog> | Ability to call and be called by Java libraries, which is a huge list |
13:33 | < Reiv> | JIT? |
13:33 | <@ToxicFrog> | Ability to call and be called by any of the other languages on the list |
13:33 | <@ToxicFrog> | Just In Time compiler |
13:33 | <@ToxicFrog> | Conversion from VM bytecode to native machine code on the fly |
13:33 | < RichyB> | Reiv, whether or not you lose the Cool Tricks by targeting the JVM depends on what you're up to. |
13:34 | <@ToxicFrog> | This is the main reason the modern JVM is so fast: it has a good JIT that can dynamically re-optimize the generated machine code as the program runs in response to runtime profiling |
13:34 | < RichyB> | The JVM doesn't implement cool tricks, but your CPU sure doesn't implement any of those Cool Tricks either! |
13:34 | < Reiv> | ... interesting |
13:34 | < Reiv> | RichyB: I meant things like how Python screws with arrays, etc |
13:34 | <@ToxicFrog> | And yeah, the main limitations of porting are type erasure and tail recursion |
13:35 | < RichyB> | What happens is that some people write implementations of languages like Scheme, and they implement cool tricks by compiling to really un-idiomatic java code. |
13:35 | <@ToxicFrog> | The former is not a problem if your language is dynamically typed or doesn't have type parameterization |
13:35 | <@ToxicFrog> | The latter can be faked with Stupid Compiler Tricks |
13:35 | < RichyB> | and other people design languages from scratch (like Clojure and Scala) specifically to target the JVM, and those people tend to leave out some cool features just to make implementation on the JVM easier. |
13:36 | <@ToxicFrog> | Clojure, for example, does actually have both tail recursion and mutual tail call support - via the special forms recur and trampoline. |
13:36 | < RichyB> | Reiv, Python's lists aren't really *all* that screwy. That said, Jython might not implement lists using raw Java ArrayLists. |
13:36 | <@ToxicFrog> | It's more limited than a proper lisp but in practice those cover almost everything you would use TCO for anyways |
13:36 | < Reiv> | Which are distinct because? |
13:36 | < RichyB> | Reiv, what are distinct from what, sorry? |
13:37 | <@ToxicFrog> | Recur is used for self-recursive tail calls, trampoline is used for arbitrarily nested tail-calls-as-GOTOs for, for example, state machines |
13:37 | | Panyk [Panyk@Nightstar-b184cf3a.cable.rogers.com] has joined #code |
13:40 | <@ToxicFrog> | Reiv: basically, recur is "tail-recursively call the current function with these arguments" and trampoline is "call this function, then call what it returns, repeat until it returns something non-callable" |
13:43 | <@ToxicFrog> | Reiv: anyways, the CLR is catching on as a replacement, and it lacks some of the JVM's irritating limitations; a bunch of the JVM languages, clojure included, can target the CLR |
13:43 | < Reiv> | CLR being? |
13:43 | <@ToxicFrog> | It's kind of annoying at the moment though because you have to limit yourself to the common subset of stuff available in both Mono and .NET if you're going for a cross-platform release and don't want the windows users to have to install mono |
13:44 | <@ToxicFrog> | Which is a shame because mono comes with way more stuff~ |
13:44 | <@ToxicFrog> | The .NET runtime. The open-source version is called mono. |
13:45 | <@TheWatcher> | Reiv: Common Language Runtime |
13:46 | < Reiv> | aha, mono |
13:46 | < Reiv> | Wherein Microsoft revolutionized linux gaming! |
13:47 | < Panyk> | If by revolutionized you mean 'gave one more library to yell at when it fails for no real reason', yes ;P |
13:48 | < Panyk> | ...okay I'm going to stop being mocking, I just spent ten minutes failing at slicing, I'm not allowed to snark anymore >.>;; |
13:51 | <@ToxicFrog> | Reiv: this is not entirely hyperbole~ |
13:52 | < Reiv> | ToxicFrog: Which bit?~ |
13:52 | <@ToxicFrog> | Given that there are in fact commercial games out on linux using CLR, and as long as you stay away from the OS-specific features (WPF on windows, GTK# on Mono), it makes a tri-platform release super easy |
13:53 | <@ToxicFrog> | SpaceChem, for example, is basically the same thing on linux, windows, and OSX, just packaged differently. |
13:53 | | * Panyk blinks |
13:58 | | Reiv [reiverta@5B433A.F67240.7718E8.1EF5FC] has quit [Ping timeout: 121 seconds] |
13:59 | | Reiv [reiverta@5B433A.3CF6C7.D9FB7D.11AEA8] has joined #code |
13:59 | <@ToxicFrog> | <Reiv> ToxicFrog: Which bit?~ |
13:59 | <@ToxicFrog> | <ToxicFrog> Given that there are in fact commercial games out on linux using CLR, and as long as you stay away from the OS-specific features (WPF on windows, GTK# on Mono), it makes a tri-platform release super easy |
13:59 | <@ToxicFrog> | <ToxicFrog> SpaceChem, for example, is basically the same thing on linux, windows, and OSX, just packaged differently. |
13:59 | <@ToxicFrog> | Panyk: this is in part a callback to an earlier conversation elsechannel |
14:00 | < Panyk> | No, I followish, just didn't realize that spacechem was .net, as you were :P |
14:01 | <@ToxicFrog> | In which people are talking about Unity, C#, and Mono, and how Mono has made possible easy porting of games to Linux, and much careful straight-facing at what rms's reactions will be if it turns out that microsoft was ultimately responsible for mainstreaming linux gaming through their commitment to open standards |
14:01 | <@ToxicFrog> | Which I must admit would be hilarious |
14:02 | <@Tamber> | TF: He may have to be carted off in an ambulance after exploding with rage. |
14:02 | <@Tamber> | Then again, maybe not; since it'll all still be evil, eeeeeeviiiiiil closed source~ |
14:03 | <@ToxicFrog> | Well yes, that's where much of the rage will come from |
14:03 | <@ToxicFrog> | all these evil closed-source games sullying his linux |
14:04 | <@ToxicFrog> | People installing linux just so they can use proprietary software, don't they understand?! |
14:04 | <@Tamber> | Nono, his GNU/Linux. |
14:04 | <@Tamber> | (Alternatively, he'll just go and sulk from the relative safety of Hurd.) |
14:07 | <@ToxicFrog> | HURD still exists? |
14:07 | <@ToxicFrog> | Can you actually, you know |
14:07 | <@ToxicFrog> | Run it on anything? |
14:07 | <@ToxicFrog> | Or run anything on it? |
14:08 | <@Tamber> | Yes. Probably not. Probably not. |
14:08 | <@Tamber> | In that order. |
14:08 | <@Tamber> | Which is why it'll be safe. :p |
14:08 | <@TheWatcher> | Actually, there's a version of Arch that'll run on HURD, and Debian. |
14:09 | <@Tamber> | "Latest unstable release: Arch Hurd LiveCD / 17 August 2011" |
14:09 | <@Tamber> | So, yeah, it's still hanging around like a funny smell. |
14:10 | < Reiv> | what is HURD and why is it so legendary |
14:11 | <@Tamber> | It's legendary for the same reason that DN:F was~ |
14:11 | <@ToxicFrog> | Reiv: Back In The Day, UNIX was proprietary software |
14:11 | <@ToxicFrog> | The GNU project started out developing FOSS alternatives to common (proprietary) unix tools like awk |
14:11 | < Noah> | Yes, called Guh-new |
14:12 | <@ToxicFrog> | After a while, they realized that they had all the GNU software for a complete operating system...except the kernel |
14:12 | <@ToxicFrog> | So they decided to write one, the GNU HURD, which - in combination with the existing GNU tools - would be a complete operating system that's FOSS from the ground up |
14:12 | <@Tamber> | <<It has been under development since 1990 by the GNU Project of the Free Software Foundation.>> <<In 2010, after twenty years under development, Stallman said that he was "not very optimistic about the GNU Hurd.">> Meanwhile, in twenty years of Linux... |
14:12 | < Noah> | Except they failed horribly |
14:13 | <@ToxicFrog> | Originally they planned to base it on 4.4BSD (one of the few non-proprietary unixes), but they didn't get along with berkely |
14:13 | < Noah> | Then this Swed was like "hey, I have this kernel ya know" |
14:13 | <@ToxicFrog> | Then they spent like 5 years dicking around trying to decide what kernel to base it on or whether to write it from scratch or whatever |
14:13 | <@Tamber> | So it /is/ like DN:F; only without yet reaching a proper release? :p |
14:13 | <@ToxicFrog> | And then Linux came along and all the frustrated open-source programmers waiting for HURD to reach a state where they could, you know, do something started working on that instea |
14:14 | <@ToxicFrog> | And the rest, as they say, is history |
14:14 | < Reiv> | So Linux is like UNIX, but if HURD hadn't dicked about they could have been UNIX? |
14:15 | <@ToxicFrog> | Er. They would have been UNIX-compatible and UNIX-descended but not actually UNIX, as originally envisioned |
14:15 | <@ToxicFrog> | After they finally decided what kernel to go with they wouldn't even be UNIX-descended, it's a totally different architecture |
14:16 | < Noah> | Fin, not Swed |
14:16 | < Noah> | But still, yea |
14:17 | < Noah> | And it wasn't that they weren't trying hard, they were just really bad at making an operating system |
14:17 | < Noah> | And Linus, well, wasn't. |
14:17 | <@TheWatcher> | That's heading into debatable territory, there |
14:17 | < Noah> | Agreed. |
14:18 | <@TheWatcher> | Hell, that's been the source of Holy Wars for years, really. |
14:18 | < Noah> | Okay, so he was faster than everyone working on HURD |
14:21 | <@ToxicFrog> | The big issue with HURD isn't so much that they were working on it slowly as that they weren't working on it |
14:21 | <@ToxicFrog> | They spent years trying to sort out licensing to base it on an existing kernel |
14:22 | <@ToxicFrog> | If they'd just gone ahead and started it from scratch like Linus did, things might be very different. |
14:22 | <@ToxicFrog> | Instead, by the time they actually had a kernel to work on, Linux had reached critical mass and all the people they were depending on to improve HURD were working on that instead. |
14:23 | | * TheWatcher ponders what might have happened if HURD had got there first, suspects that it would actually have been /bad/ for open source OSes... |
14:31 | < Reiv> | whyso? |
14:31 | <@rms> | Linux rose up fast because it was a UNIX for x86 |
14:31 | <@rms> | People wanted it working so they could learn UNIX on a PC |
14:32 | <@rms> | If HURD shunned that advantage, then it'd likely be as popular as Minix or something similar. |
14:33 | < Reiv> | Oh, rms is someone /in here/ |
14:33 | <@rms> | Be wary |
14:33 | <@rms> | RMS == Richard M. Stallman |
14:33 | <@ToxicFrog> | Reiv: rms in here is not rms in the world |
14:33 | <@rms> | I'm am not he. |
14:33 | < Noah> | Didn't he make C? |
14:33 | < Reiv> | ahahaha, boy that was confusing for a moment~ |
14:33 | <@rms> | No, that'd be K&R |
14:33 | <@ToxicFrog> | Noah: you're thinking of Brian Kernighan and Dennis Ritchie |
14:34 | <@rms> | Stallman made emacs, GNU and a bunch of other stuff |
14:34 | < Noah> | Ritchie, right |
14:34 | < Noah> | yea |
14:34 | < Noah> | Took me a moment to think |
14:34 | < Noah> | Haven't sleep properly, and I suspect I'm about to try to do |
14:35 | | Attilla [Obsolete@Nightstar-897e8710.as43234.net] has joined #code |
14:39 | < Panyk> | ...oh, epiphany, searching a list by index has to be treated trickily when you're booting elements from it... haha. |
14:41 | < Panyk> | it's quite hard to reference something you've exiled from existence c.c |
14:43 | <@Tamber> | Indeed. |
14:45 | < Panyk> | Silly python, you're supposed to be 'smart', recognize when your user is being dumb as a rock >.> |
14:46 | < Panyk> | Anyhow, off I go. |
14:46 | | Panyk [Panyk@Nightstar-b184cf3a.cable.rogers.com] has quit [[NS] Quit: Leaving] |
14:55 | < RichyB> | ToxicFrog, packaging gets even easier than that. |
14:56 | < RichyB> | ToxicFrog, you know you can just "mono foo.exe" with Windows binaries, provided that they're actually self-executing CLR assemblies? :) |
14:57 | < RichyB> | Oh and interesting aside to the Linux kernel story |
14:58 | < RichyB> | IIRC, Linus Torvalds has been quoted as saying that he wouldn't have bothered to start/publish Linux if he'd known about or been able to get at 386BSD. |
14:59 | < RichyB> | 386BSD's release was delayed until a while after Linux had started, pretty much entirely because of some damn AT&T lawsuit. |
14:59 | < RichyB> | So if it weren't for AT&T being pratts, we'd possibly have a bigger FreeBSD project rather than Linux. |
15:11 | <@ToxicFrog> | RichyB: yes. In this case by "different packaging" I mean that the windows version is an executable installer, the linux version is an archive and the mac version is a .app. |
15:17 | <@Tamber> | So it plays nice with each system's package manglement? |
15:17 | | RichyB [MyCatVerbs@Nightstar-3b2c2db2.bethere.co.uk] has left #code ["Leaving"] |
15:17 | | RichyB [MyCatVerbs@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
15:17 | < RichyB> | Oops wrong button. |
15:17 | < RichyB> | I was thinking of single-executable-file programs. :) |
15:18 | <@ToxicFrog> | Tamber: tangential to this. You can put anything in those. |
15:24 | | Reiv [reiverta@5B433A.3CF6C7.D9FB7D.11AEA8] has quit [Ping timeout: 121 seconds] |
15:25 | | Reiv [reiverta@5B433A.3CF6C7.8C0092.DBA5AF] has joined #code |
16:07 | | Reiv [reiverta@5B433A.3CF6C7.8C0092.DBA5AF] has quit [Ping timeout: 121 seconds] |
16:09 | | Reiv [reiverta@5B433A.F67240.91081E.B6AAD4] has joined #code |
16:15 | <&jerith> | Noah: I think you're probably better off using Twisted's plugin infrastructure rather than rolling your own and doing manual __import__()s. |
16:46 | < gnolam> | Noah: Swedish-speaking (i.e. civilized ;)) Finn though, so both count. ^-^ |
16:48 | | * TheWatcher readsup |
16:49 | <@TheWatcher> | Reiv: because of the intransigence of those involved in HURD regarding closed source stuff. |
16:51 | <@TheWatcher> | Specifically, I expect they'd manage to alienate and piss off pretty much every hardware vendor. Linux has enough trouble as it is, can you imagine what'd happen if rms and chums were dealing directly with people like the GPU manufacturers? |
16:52 | < ErikMesoy> | Oh god the sperging. |
16:52 | | Reiv [reiverta@5B433A.F67240.91081E.B6AAD4] has quit [Client closed the connection] |
16:53 | <@Tamber> | TW: Yeah, the GPU manufacturers would actively find a way to blow the cards up when Linux tried to use them. :p |
17:35 | | Derakon[AFK] is now known as Derakon |
17:54 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
17:58 | | Attilla_ [Obsolete@Nightstar-d5b5a5fc.as43234.net] has joined #code |
17:59 | | Noah [nbarr@490720.C448F4.6334E9.5D6C06] has quit [Ping timeout: 121 seconds] |
17:59 | | Attilla [Obsolete@Nightstar-897e8710.as43234.net] has quit [Ping timeout: 121 seconds] |
18:18 | < celticminstrel> | Ooh, a possible clue. Copy-pasting the GCC call that failed shows that my boost libraries are specified at the wrong path. |
18:20 | < RichyB> | celticminstrel, look for pkg-config files (extension .pc, usually somewhere in /usr/lib/pkgconfig or something that looks like it) with wrong paths in them? |
18:22 | < celticminstrel> | Actually, I specified the exact path on the command-line, but with "include" instead of "lib" (maybe they used to be there before I installed Lion?); switching to -l now. |
18:22 | < celticminstrel> | (Or it might've been a mess-up in updating the project.) |
18:23 | < celticminstrel> | Now it just can't find main... |
18:27 | < celticminstrel> | Which is defined in SDLMain.m... |
18:27 | < celticminstrel> | ...which for some reason I removed from the list of sources to compile... |
18:28 | < celticminstrel> | So my rule for building .m files with LLVM isn't working. X_X |
18:36 | <&jerith> | U |
18:36 | <&jerith> | Oops. |
18:37 | < celticminstrel> | There was a reason for removing it (I was going to try compiling it as a separate target), but that didn't work out. |
18:42 | < celticminstrel> | It seems to just be ignoring the rule... |
18:54 | < celticminstrel> | Maybe I can go the other way... |
18:57 | < celticminstrel> | Why is it ignoring my build rules... |
18:58 | | Attilla_ is now known as Attilla |
19:35 | | Kindamoody|out is now known as Kindamoody |
19:44 | < celticminstrel> | Maybe I'll just give up on GCC 4.6 and try using clang. |
19:51 | < celticminstrel> | Um, I'm getting "call to swap is ambiguous" on a line declaring a vector of pointers... |
19:52 | | Kindamoody is now known as Kindamoody[zZz] |
19:52 | < celticminstrel> | ...but apparently telling it to use a different C++ library fixes it? |
19:56 | < celticminstrel> | Yay, it works! |
19:57 | <@TheWatcher> | Error: Insufficient maniacal laughter detected in statement. |
19:57 | < celticminstrel> | XD |
20:57 | | eckse [eckse@Nightstar-3b021371.dsl.sentex.ca] has joined #code |
20:57 | | mode/#code [+o eckse] by ChanServ |
21:02 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
21:41 | | ErikMesoy is now known as ErikMesoy|sleep |
23:45 | | cpux|2 is now known as cpux |
23:50 | < froztbyte> | I wanna put the last few lines into a qdb |
23:55 | | Derakon is now known as Derakon[AFK] |
--- Log closed Thu May 17 00:00:25 2012 |