code logs -> 2012 -> Fri, 18 May 2012< code.20120517.log - code.20120519.log >
--- Log opened Fri May 18 00:00:41 2012
00:01 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
00:24 Number3 is now known as ShellNinja
00:34 Janus [NSwebIRC@Nightstar-afc5b963.res.rr.com] has quit [[NS] Quit: Page closed]
00:40
< Rhamphoryncus>
augh. 200 kB of source for a tutorial
00:41
<&McMartin>
That is a lot of source
00:42
< Rhamphoryncus>
oops, there's two images I included. Only 140 kB
00:42
<&McMartin>
TF: Note that I suspect Clojure-CLR is not unlike stock Clojure in that you have to specially mark certain modules as being exported classes and then have them follow the JVM/CLR rules.
00:42
<&McMartin>
Among other things, that means all top-level S-expressions should be either ns or variants of def.
00:44
< Rhamphoryncus>
All I want to do is render a trivial square patch that I can then build on with tessellation
00:45 You're now known as TheWatcher[T-2]
00:46
<@ToxicFrog>
McMartin: oh that might be it
00:46
<@ToxicFrog>
Although the total failure of error reporting does not make my happy
00:47
<&McMartin>
I have no idea if Clojure-CLR complies with :gen-class directives in a meaningful way
00:48
<&McMartin>
But try this
00:48
<&McMartin>
(ns test.hello (:gen-class)) (defn -main [] (println "Hello, world!"))
00:48
<&McMartin>
And see if that compiles.
00:48 * TheWatcher[T-2] eyes SMBC, facepalm
00:50 You're now known as TheWatcher[zZzZ]
00:51
< Rhamphoryncus>
this other one includes glew and a few other libraries with it. 2.2 MB
00:53
< Rhamphoryncus>
The main program is only 15 kB, but it offloads a ton of the work to the various libraries, so I can safely assume just copying the main parts would NOT work
01:00 Noah [nbarr@Nightstar-65ece756.pools.spcsdns.net] has joined #code
01:16 himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code
01:16 mode/#code [+o himi] by ChanServ
01:21 Derakon[AFK] is now known as Derakon
01:24
< Noah>
"ToxicFrog> d to wear a t-shirt that reads: "I'm Donald Knuth and You're Not". It's in the Rules."" | http://goo.gl/TyaJ9
01:32 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out]
01:38 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
01:38 mode/#code [+o ToxicFrog] by ChanServ
02:01 * jerith stabs Apple in the face.
02:01
<&jerith>
I cannot install Xcode.
02:01
<&jerith>
First, I had to download 4 gigs of crap I don't want or need, because that's the only package available.
02:02
<&jerith>
Second, I need to unselect the iOS SDK bits when installing, otherwise it wants a further 10 gigs of disk.
02:02
<&jerith>
Third, the installation fails with no explanation.
02:03
<&jerith>
When I go trawling through console logs, I find a cryptic reference to an expired cert. On the iOS SDK.
02:04
<&jerith>
Now it seems that the damned thing has /partially/ installed.
02:05 maoranma [nbarr@Nightstar-9e797a1c.pools.spcsdns.net] has joined #code
02:05
< maoranma>
jerith: Yay?
02:08 Noah [nbarr@Nightstar-65ece756.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
02:08
<&jerith>
maoranma: Not yay.
02:09
< maoranma>
ohs
02:09 maoranma is now known as Noah
02:09
<&jerith>
Because it hasn't installed the commandline stuff, which is what I actually want.
02:11 Kindamoody[zZz] is now known as Kindamoody
02:12
< Noah>
Call Apple up, be all like
02:12
< Noah>
I HATE YOU
02:12
< Noah>
I WANT TO TALK TO THE GUY IN CHARGE
02:12
<&McMartin>
He's dead
02:12
< Noah>
Damnit McMartin, I was getting there
02:13
<&McMartin>
ZOMBIE STEVE SHALL FEAST UPON YOUR DELICIOUS TENDER BRAINMEATS
02:13
< Noah>
Introducing, the iBrain
02:14
< Noah>
Not the iBrian, which is what I first typed.
02:16
< celticminstrel>
Heh.
02:22 Attilla [Obsolete@Nightstar-674cce85.threembb.co.uk] has quit [Ping timeout: 121 seconds]
04:55
< celticminstrel>
Uh, what? "Conversion from string literal to 'char *' is deprecated"?
04:55
< celticminstrel>
Wait, maybe that means I got my arguments backwards...
04:55
< celticminstrel>
The format string comes last, not first, right?
05:01
<~Vornicus>
format string goes first
05:01
<~Vornicus>
in sprintf etc, at least
05:03
< celticminstrel>
By "last" I meant "last argument before the variadic arguments".
05:03
< celticminstrel>
So sprintf("%d", mystring, 5) vs sprintf(mystring, "%d", 5)
05:05
<~Vornicus>
oh oh.
05:05
<~Vornicus>
uh.
05:06
<~Vornicus>
right, yes. the latter
05:10
< celticminstrel>
Whee, I now have numeric overlays thanks to SDL_ttf!
05:12 Kindamoody is now known as Kindamoody|out
05:12
< celticminstrel>
Though I should probably user a font other than Courier.
05:18 ErikMesoy|sleep is now known as ErikMesoy
05:30
< celticminstrel>
Well, now I know why this didn't work. Things have incorrect data.
06:00 himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Connection closed]
06:04 himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code
06:04 mode/#code [+o himi] by ChanServ
06:33
< celticminstrel>
It's nice that XCode has git integration, but it's a bit... basic, I guess?
06:33 Derakon is now known as Derakon[AFK]
06:40 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!]
07:30 Reiv [reiverta@3CF3A5.E1CD01.C6689C.33956A] has joined #code
07:37 himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds]
07:39 eckse [eckse@Nightstar-3b021371.dsl.sentex.ca] has quit [Client closed the connection]
07:42 Reiv [reiverta@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
07:43 Noah [nbarr@Nightstar-9e797a1c.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
07:49 Noah [nbarr@Nightstar-9e797a1c.pools.spcsdns.net] has joined #code
07:52 Reiv [reiverta@3CF3A5.E1CD01.C6689C.33956A] has joined #code
08:23 Reiv [reiverta@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
09:16
< Rhamphoryncus>
ooh, SDL_ttf. I'll have to remember it exists when I get to the point of drawing text
09:21 maoranma [nbarr@Nightstar-9e797a1c.pools.spcsdns.net] has joined #code
09:24 Noah [nbarr@Nightstar-9e797a1c.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
09:24 * Rhamphoryncus 's brain melts from trying to decipher opengl4 tessellation tutorials
09:32 You're now known as TheWatcher
09:49 maoranma [nbarr@Nightstar-9e797a1c.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
10:37 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
10:38 mode/#code [+o himi] by ChanServ
11:04 Attilla [Obsolete@Nightstar-6adb8d7f.as43234.net] has joined #code
11:11 * TheWatcher is curious why you're doing it that way, anyway
11:12 RichyB [MyCatVerbs@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
11:46 * TheWatcher vaguely stabs the OSQA developers in the head
12:10 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
12:19 AnnoDomini [annodomini@Nightstar-02cfc713.connect.netcom.no] has joined #code
12:20 mode/#code [+o AnnoDomini] by ChanServ
12:20 Atreus is now known as Tarinaky
12:23 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
12:23 mode/#code [+o himi] by ChanServ
12:23 * AnnoDomini would like to show his great appreciation of http://www.sakis3g.org/ the magical modem configuration script.
13:09 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
14:00 Kindamoody|out is now known as Kindamoody
14:01 AnnoDomini [annodomini@Nightstar-02cfc713.connect.netcom.no] has quit [[NS] Quit: Away!]
14:10 rayvolver [rayvolver@Nightstar-47574112.dip.t-dialin.net] has joined #code
14:19 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited]
14:34 rayvolver [rayvolver@Nightstar-47574112.dip.t-dialin.net] has left #code []
16:38 Kindamoody is now known as Kindamoody|out
16:55 eckse [eckse@Nightstar-f37f8545.dsl.sentex.ca] has joined #code
16:55 mode/#code [+o eckse] by ChanServ
16:59 Noah [nbarr@Nightstar-9e797a1c.pools.spcsdns.net] has joined #code
17:28 ErikMesoy1 [Erik_Mesoy@A08927.B4421D.B81A91.464BAB] has joined #code
17:28 ErikMesoy [Erik_Mesoy@Nightstar-bd2f5f93.80-203-16.nextgentel.com] has quit [NickServ (GHOST command used by ErikMesoy1)]
17:28 ErikMesoy1 is now known as ErikMesoy
18:32 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Operation timed out]
19:04 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
19:11 Chi [omegaboot@Nightstar-efc8dc53.il.comcast.net] has joined #code
19:11 mode/#code [+o Chi] by ChanServ
19:11 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has quit [Ping timeout: 121 seconds]
19:33
< celticminstrel>
...Linker error: missing typeinfo for nullptr_t...
19:36
< Noah>
At least you were getting errors, had to punch my bot in the face over and over before it would tell me anything
19:36 Kindamoody|out is now known as Kindamoody
19:36
< gnolam>
celticminstrel: namespace issue?
19:36
< celticminstrel>
How would that be a namespace issue?
19:43
< celticminstrel>
Something to do with Boost.Function...
19:44
< gnolam>
nullptr_t is in std, IIRC.
19:45
< celticminstrel>
I was comparing a boost::function to nullptr.
19:46
< gnolam>
Well. That is information we did not have.
19:47
< celticminstrel>
Nor did I until I found it just now.
19:49 Chi is now known as Alek
19:51 Kindamoody is now known as Kindamoody[zZz]
21:20
< celticminstrel>
Smooth motion between grid spaces is hard...
21:34 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code
21:37 ErikMesoy is now known as ErikMesoy|sleep
21:42 maoranma [nbarr@Nightstar-9e797a1c.pools.spcsdns.net] has joined #code
21:43 Noah [nbarr@Nightstar-9e797a1c.pools.spcsdns.net] has quit [Client closed the connection]
22:07
<&McMartin>
Ha ha
22:07
<&McMartin>
[pdf]/001 K-Y says, "I think the Acrobat developers actively hate humanity"
22:07
<&McMartin>
[pdf]/002 K-Y says, "'let's scatter all the editing tools willy-nilly in every possible corner of the program'"
22:07
<&McMartin>
[pdf]/003 Johnny says, "Maybe they just hate you."
22:07
<&McMartin>
[pdf]/004 K-Y says, "not since The Silmarillion has there been a more concentrated effort to separate a collection of things"
22:07
<&McMartin>
[pdf]/005 K-Y says, "'here, dwarves, take these nine Advanced menu items'"
22:07
<@TheWatcher>
Pffft
22:36 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
22:45 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds]
23:02
<&McMartin>
Oh heeeey, keyword arguments
23:02 * McMartin should have been using those for awhile.
23:09
<&McMartin>
OK, yeah, just looking at the Light Table screenshots has taught me a great deal of Clojure I should have known. >_>
23:09
< Namegduf>
I think Light Table looks pretty neat.
23:10
< Namegduf>
I'm a backer for a copy.
23:10 * McMartin too
23:10
< Namegduf>
I don't use either of the languages it ships with, but if all else fails, I can make language support.
23:10 * McMartin is not convinced it's going to get Python in time.
23:10
<&McMartin>
I looked at the languages it supported and went "Hey, this Clojure thing looks like it might be pretty neat" and have been playing with it since.
23:10
< Namegduf>
I was originally worried it wouldn't succeed at all.
23:11
<&McMartin>
It helps, I suppose, that Java is one of the languages I used to be good at but have since abandoned scornfully
23:11
< Namegduf>
I dunno.
23:11
< Namegduf>
What's the advantage of learning it over, say, Scheme?
23:12
<&McMartin>
Depends on your goal.
23:12
< Namegduf>
Major tradeoffs?
23:12
<&McMartin>
(Scala is probably a better language than Clojure but for whatever reason Iodine refuses to run it acceptably)
23:12
<&McMartin>
Scheme, for one, is more a family of languages than a specific language, with "which implementations are workable" being a function of your task and then "which features do I actually have" being a function of that.
23:13
<&McMartin>
(That said, I had pretty good results with Gambit and I hear good things about Racket)
23:13
< Namegduf>
Huh.
23:13
< Namegduf>
Doesn't Scheme have a core standard?
23:13
<&McMartin>
It's unusably small.
23:13
< Namegduf>
Yeah.
23:13
<&McMartin>
So stuff like, you know, file I/O ends up being handled by only-vaguely-compatible extension.
23:14
< Namegduf>
Ah, I see.
23:14
<&McMartin>
Gambit's a C emitter and as such has excellent FFI.
23:14
<&McMartin>
Racket is the only full implementation of the latest Scheme Standard I'm aware of, and has a terrifying number of other extensions
23:15
<&McMartin>
I honestly consider Racket "The next Scheme" in the PLANNER->CNVR->SCHEME->??? list.
23:15
<&McMartin>
As a Lisp, Clojure is lacking, hard.
23:16
<&McMartin>
But it also has a lot of unusual special forms optimized for interop with highly abstracted large OO libraries
23:16
<&McMartin>
I'd use Scheme if I had something where Lisp was a good idea and for some reason Python wouldn't cover it for me. I have yet to find such a case outside of my project to seriously re-learn Scheme.
23:17
<&McMartin>
I'd use Clojure any time I *should* be using Java but don't want to have to deal with Java.
23:17
<&McMartin>
Scheme is a conceptually cleaner language, and the stunts you learn in Scheme are more likely to be broadly applicable to functional languages.
23:18
<&McMartin>
Though it's also clumsy about it compared to, say, Haskell, I find.
23:18
<&McMartin>
Though it also also has some super-clean things that then spoil you forever.
23:18
< Namegduf>
I think in reality I'd prefer to learn Haskell properly, yeah.
23:18
< Namegduf>
Haskell is beautiful in the "50 billion operators, none of which I recognise" way.
23:18
< Namegduf>
I'm sure it is much better when you're familiar with the grammar and volcabulary, so to speak.
23:19
<&McMartin>
Yeah
23:19
<&McMartin>
Racket is like Haskell that way.
23:19
<&McMartin>
Scheme is "There are three operators and you can do goddamned everything with them"
23:19
< Namegduf>
I think I usually prefer a more middle state.
23:20
<&McMartin>
Clojure has a couple of things that are "it turns out you don't need that full operator power to do that, so here's a special-case thing"
23:20
< Namegduf>
In Scheme there is a minimal core but in reality you need to memorise a whole bunch of stuff on top to do anything practically, if I get it right.
23:20
< Namegduf>
In Haskell you have a whole bunch of stuff to begin with.
23:20
<&McMartin>
Pretty much, though those techniques are good to have as fallbacks.
23:20
<&McMartin>
Yup.
23:20
< Namegduf>
(C++ is very bad there)
23:20
<&McMartin>
Also, better ordering of stuff in Haskell~
23:21
<&McMartin>
But one thing Scheme has that other functionals seem to lack is basically recursion in the middle of your function.
23:21
< Namegduf>
I prefer a middle state where the toolset is made elegantish, but so it is sufficient for the majority of practical tasks.
23:21
< Namegduf>
Huh.
23:21
<&McMartin>
In Haskell you do a lot of f x = aux x where aux i = ...
23:21
<&McMartin>
Which in ML is let f x = let rec aux i = .... in aux x, which is ugly
23:22
<&McMartin>
Scheme *can* do (define (f x) (define (aux i) ...) (aux x))
23:22
<&McMartin>
But it can also do, for instance...
23:22
<&McMartin>
(define (fib n) (let loop ((i 1) (a 0) (b 1)) (if (>= i n) b (loop (+ i 1) b (+ a b)))))
23:23
<&McMartin>
"loop" there is "this is a let-expression to define a bunch of variables, but also define a generalized setjmp/longjmp target here"
23:23
<&McMartin>
And then when you call that function I've named "loop", it's basically a stack-cutting call to the start of that loop.
23:24
<&McMartin>
(stack-replacing, actually, since that's how continuations roll, but in practice it's an "escape continuation" since it doesn't survive its defining expression, which makes it stack-cutting, like an exception...)
23:24
<&McMartin>
(... except that it's also only ever invoked from its own context as a tail call, so it's *actually* a GOTO.)
23:24
<&McMartin>
Clojure has special syntax that works similarly to this "named let", but it *only* works in this "like a GOTO" case.
23:25
<@TheWatcher>
Eyup, functional programming still messes with my headbones.
23:26
<&McMartin>
The most direct Clojure equivalent there is...
23:26
<&McMartin>
(defn fib [n] (loop [i 1 a 0 b 1] (if (>= i n) b (recur (+ i 1) b (+ a b)))))
23:26
<&McMartin>
Haskell can actually do a better version than this by defining an infinite lazy list in terms of its own tail >_>
23:26
< Namegduf>
Yeah.
23:26
<&McMartin>
But that's because it's lazy evaluation everywhere.
23:28
<&McMartin>
Haskell equivalent:
23:28
<&McMartin>
let fib n = aux 1 0 1 where aux i a b = if i >= n then b else aux (i+1) b (a+b)
23:28
<&McMartin>
Haskell lacks the "named let" so it has to use an internal recursive function to cover it
23:29
<&McMartin>
And, because I have way too many functional languages on this system, OCaml:
23:29
<&McMartin>
let fib n = let rec aux i a b = if i >= n then b else aux (i+1) b (a+b) in aux 1 0 1;;
23:30
< Namegduf>
Wow.
23:30
<&McMartin>
That one's IMO the ugliest but also the "most basic technique"
23:30
<&McMartin>
Note also that Clojure does *not* handle the Haskell/OCaml version correctly.
23:31
<&McMartin>
(That is, it turns them into a bunch of true function calls instead of optimizing the aux call into a GOTO)
23:38
<&McMartin>
Haskell is the prettiest and it's *reasonably* practical
23:38
<&McMartin>
But I have to say, if you're going to learn only one functional language and you plan to use it for stuff, learn OCaml.
23:39
<&McMartin>
It even has a .NET dialect (F#) if you need to do the thing Clojure does, but I'm not sure how intercompatible they are now.
23:44 Attilla [Obsolete@Nightstar-6adb8d7f.as43234.net] has quit [Ping timeout: 121 seconds]
23:51 You're now known as TheWatcher[T-2]
23:53
<&McMartin>
In other news, I am a bad person
23:54 You're now known as TheWatcher[zZzZ]
23:54 * McMartin is finding it easier to deal with this dialog box by editing the XML produced by Qt Designer rather than, like, actually *use* Qt Designer.
--- Log closed Sat May 19 00:00:05 2012
code logs -> 2012 -> Fri, 18 May 2012< code.20120517.log - code.20120519.log >

[ Latest log file ]