code logs -> 2012 -> Wed, 16 May 2012< code.20120515.log - code.20120517.log >
--- 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
code logs -> 2012 -> Wed, 16 May 2012< code.20120515.log - code.20120517.log >

[ Latest log file ]