< 1279756845 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mu < 1279756885 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :http://stackoverflow.com/questions/367480/are-there-any-single-letter-programming-language-names-left < 1279757014 0 :pikhq!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279757044 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How many of those are MS languages? < 1279757051 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :erm, the taken ones < 1279757072 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :GOODBYE < 1279757073 0 :cpressey!unknown@unknown.invalid PART #esoteric :? < 1279757483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1279757540 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is a pity that ghc doesn't have the runtime reloading capabilities of erlang. That is why I'm not going to use haskell for this irc bouncer I'm considering writing < 1279757737 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1279757749 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1279757841 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hell, I'm using C# for a project that.. it would have been nice to have runtime reloading for < 1279758402 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what about the plugins package(s)? < 1279758436 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :they allow you do load stuff, maybe not as conveniently as erlang, which i don't really know < 1279758446 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*to load < 1279758736 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Stupid question, but r^2 = x^2 + y^2 + z^2 is the equation for a sphere? < 1279758758 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :centered at (0,0,0), yes < 1279758828 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what r = x+y+z is the equation of < 1279758842 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a plane < 1279758849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, hm should check that out. But how to update the core on the fly? < 1279758896 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i expect you'll need some continuation passing style to launch the new version as a function, i vaguely thought that's what erlang did as well < 1279758923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, besides this is mainly IO stuff and haskell seems slightly cumbersome for stuff that is >90% IO < 1279758952 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i guess updating ghc itself would be impossible to do in this way, if that's what you mean by core < 1279758970 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, well you can't do beam either that way (the erlang VM) < 1279758990 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1279759031 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: how Erlang does it is that a module can exist twice in memory as 'new' and 'old' versions < 1279759058 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, and erlang loads a new version of the module and then makes all future calls to it point to the new one. Calls to the module from within itself point to the same version calling, so you switch by calling it with module name, not just function name. < 1279759067 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :code running in the old version will continue to call the old version on normal calls, but if you qualify them with module:function, then it will use the new module < 1279759076 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :calls from outside the module always go into the new one < 1279759078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah what coppro explained better than me < 1279759084 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :coppro: well that direct-plugins package i looked at includes the package name as part of the loading, including version number, so it should be similar < 1279759105 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :version numbers aren't necessary < 1279759124 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, however this does not help much with reloading the code that handles loading and reloading of plugins < 1279759132 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it would be in the haskell version < 1279759137 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1279759153 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well I would probably go for OTP with erlang < 1279759166 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that can usually be done too, can't it? < 1279759183 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but then i expect erlang has had years to perfect this, it's _the_ language that's known for supporting it after all < 1279759184 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, what can? < 1279759188 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/1054576 < 1279759192 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I haven't gone insane, have I? < 1279759196 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: reloading the plugin-reloading code in Erlang < 1279759203 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, yes but I meant in haskell < 1279759213 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :No surprise that erlang supports runtime reloading of code, considering what enviroments it was designed to operate in... < 1279759213 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I can take the ... unit vector, is that the right term ... of a vector without square rooting? < 1279759214 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1279759220 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: yeah, it's awesome < 1279759229 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :you can even reload the VM piece by piece < 1279759236 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :(if doing multiple nodes) < 1279759241 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, yes you have gone insane. It is insane to not use LaTeX to format that. the ASCII notation is completely unreadable < 1279759267 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, indeed < 1279759317 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, well what if the version change changes the distribution protocol? Though of course erlang does support using ancient versions of that protocol still < 1279759327 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: what? < 1279759370 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, to make a unit vector out of a vector, I just need to divide all the parts by r^2? < 1279759373 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the VM should have a system by which to switch protocols ad-hoc! (I don't know if it does. I would not be entirely surprised) < 1279759387 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: that last line of yours is not a vector < 1279759401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, I'm not sure either. But iirc it needs to use the same version against all other nodes < 1279759411 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has no clue of proper notation right now < 1279759422 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's still the same sphere < 1279759428 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well, once every node is upgraded, they could probably synchronize a protocol upgrade < 1279759438 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, hm < 1279759450 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, I don't know how that would be done though < 1279759469 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, though the protocol doesn't change very often so not such a large issue really < 1279759478 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: a vector is like (x,y,z) < 1279759496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :think it changed last time two major releases ago, and considering those happens like every other year at most... < 1279759499 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Well, the new vector would be (x_0^2/r_0^2 etc < 1279759517 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and if r^2 = x^2 + y^2 + z^2, the corresponding unit vector is (x/r, y/r, z/r), _not_ /r^2 < 1279759585 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wow checking release notes of the R14A erlang alpha version I see they mention speed up of the profiler in the range of 6 to 84 times < 1279759589 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not bad < 1279759613 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, why wouldn't x^2/r^2 work? < 1279759663 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, because that's the squared term for the new x < 1279759664 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: for one thing, with (x^2/r^2, y^2/r^2, z^2/r^2) you have a vector proportional to (x^2, y^2, z^2), _not_ to (x,y,z) < 1279759707 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although it's not even the unit vector of _that_ < 1279759747 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's not necessarily a unit vector at all, since it's length is sqrt(x^4 + y^4 + z^4)/r^2 < 1279759752 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*its < 1279759796 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Does Erlang multi-VM connections still need global shared secrets? < 1279759799 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The reason I'm apprehensive about square roots is because I'm dealing with ints < 1279759832 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: the unit vector of an int vector is not necessarily an int vector, or even rational < 1279759870 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Just consider unit vector of (2,0,1). < 1279759898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Does Erlang multi-VM connections still need global shared secrets? <-- iirc there are other ways, but that is still the default < 1279759909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think there is some support for ssl even < 1279759928 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :probably going to need some work setting that up < 1279759945 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :besides the default way makes most sense on a trusted network like can be found in typical clusters < 1279759950 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Some multi-VM systems use only local secrets and pairwise shared secrets. < 1279759976 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :(and the pairwise shared secrets are autonegotiated). < 1279760005 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, yes but imagine you have lots of nodes, Since erlang networks tend to be complete graphs (though they don't need to iirc) that would mean a lot of secrets to generate < 1279760016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for something like 100 nodes or whatever < 1279760065 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :N local secrets total to generate, each node needing to negotiate N shared secrets. < 1279760094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1279760117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, anyway having one global shared secret is not much of an issue for the typical use case of erlang really < 1279760129 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, for typical case it isn't. < 1279760129 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and there is always that ssl option if you don't trust stuff < 1279760180 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :One could store shared secret sufficient to secure communications in 96 bytes (2*32 byte keys, 2*16 byte IVs). < 1279760230 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, by default erlang only uses it for auth though, not for encryption of the actual data. Again due to the typical use case. And if you need more than that you still have that ssl option < 1279760240 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which ought to be a lot better than rolling your own < 1279760248 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since getting cryptos right is hard < 1279760254 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I think one could do with even less memory if one wanted to (such as 1x32 byte key, 1x12 byte IV for total of 44 bytes). < 1279760361 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, 12 bytes would end up being padded on most systems < 1279760366 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :either that or being rather slow < 1279760385 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :More specifically, the key exchange is hard. If you have shared secret, just derive session keys and initial IVs and use AES256-GCM. < 1279760387 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait, byte not bit < 1279760388 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1279760414 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, what about side channel attacks on your AES256 implementation? ;P < 1279760489 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Presumably you got AES256 from some library (as implemeting fast AES256 isn't quite trivial). < 1279760520 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :touche < 1279760529 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, ssl is still a better idea probably < 1279760552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, what about MITM and your idea? < 1279760563 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :That's why the key exchange is hard. < 1279760568 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1279760721 0 :pikhq!~pikhq@75-106-123-171.cust.wildblue.net JOIN :#esoteric < 1279760727 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :SSL is quite horridly complicated. < 1279760741 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1279760775 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :The joke is that NSA has unit for sabotaging crypto systems. They even write code implementing crypto stuff... Professional-looking code at that. < 1279760781 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"Added function zip:foldl/3 to iterate over zip archives." <-- heh nice < 1279760848 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure how a left fold and a right fold over a zip would work though < 1279760933 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :SSL(TLS) really gets complicated when X509 is included in. < 1279760941 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :X509 being? < 1279760960 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :The standard cert spec used with TLS. < 1279760969 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1279761034 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... Wonder how many systems in world use TLS connections that do not involve X509 certificates. They are probably exceedingly rare (but I happen to have one). < 1279761061 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, I didn't know you could skip certs < 1279761077 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, anyway, what system is that? < 1279761127 0 :pikhq!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279761196 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Version of git:// extended to support TLS (using custom remote helper and custom daemon). < 1279761209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1279761225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, how does it do auth without X509 < 1279761310 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Supported authentications: Server: OpenPGP certs (bit SSH-style), Client: Anonymous, Unix user authentication, SRP, OpenPGP certs or SSH keypairs. < 1279761330 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SRP? < 1279761342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, also why not just tunnel git over ssh :P < 1279761344 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Form of username/password authentication. < 1279761365 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ssh seems a lot less complicated than ssl < 1279761376 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least for the auth stuff < 1279761378 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well, that's the standard way. < 1279761393 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes, bzr is usually tunneled over ssh too for example < 1279761400 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hg tends to go over https iirc < 1279761558 0 :wareya!unknown@unknown.invalid PRIVMSG #esoteric :My dad said that haskell was the newbie's functional programming language. < 1279761561 0 :wareya!unknown@unknown.invalid PRIVMSG #esoteric :Should I agree with this? < 1279761565 0 :wareya!unknown@unknown.invalid PRIVMSG #esoteric :-space < 1279761572 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :The extended protocol is indeed true superset, I have seen the normal Git internal git:// client get successful connection and grab stuff. < 1279761577 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wareya, what one does he suggest instead? < 1279761602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :though I would suggest something like scheme fits that description better < 1279761656 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it uses TLS but can use ssh keypairs for authentication. < 1279761680 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :(and that is the standard mode when I use it between machines, within the same machine, I use unix user auth). < 1279761735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1279761742 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :does haskell have call/cc btw? < 1279761746 0 :wareya!unknown@unknown.invalid PRIVMSG #esoteric :He suggested common lisp < 1279761751 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: in a monad :D < 1279761772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, well obviously it breaks the pure functional semantics yes. < 1279761832 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :specifically callCC is a method of the MonadCont class, which includes the Cont and ContT m monads < 1279761847 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the latter being a transformer < 1279761899 0 :pikhq!~pikhq@75-106-123-171.cust.wildblue.net JOIN :#esoteric < 1279761901 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1279762003 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so you can use ContT IO to get continuations/callCC combined with IO < 1279762011 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, last erlang beta release (R14A) dropped support for the distribution protocol used in R11B and older. Or at least parts of that protocol. R11B was before I learned Erlang. Probably around the time it went open source, which was several years ago. < 1279762101 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ContT... IO. < 1279762106 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :o.O < 1279762111 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1279762131 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That has got to have somewhat odd effects on side effects. < 1279762139 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it should be ContT r IO where r is the type returned by the final continuation < 1279762179 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: not really, it's more or less like in scheme, they're not undone just because you jump around < 1279762183 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :okay wtf "OTP-8686 A bug introduced in kernel-2.13.5.3 has been fixed." <-- complete changelog writing fail < 1279762214 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: So, it works just exactly how you'd expect. < 1279762218 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :kernel isn't even part of OTP, is it? < 1279762223 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which is itself very mind-bending. < 1279762233 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, well OTP-nnnn is some bug tracker number < 1279762240 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1279762253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, all entries in the changelog have one of them < 1279762257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but yeah: what bug < 1279762262 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: now if you could have an IOT transformer and use IOT (Cont r), then that would really have worked that way, i think. Except IOT is impossible afaik < 1279762268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, usually they are all very detailed < 1279762279 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(that way = undoing side effects) < 1279762283 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: IOT? IOT?!? < 1279762290 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AAAAAAGHMYHEAD < 1279762320 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: purely hypothetical monad transformer that adds IO _inside_ pure code, it would be. < 1279762328 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1279762331 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AAAAGHMYHEAD < 1279762335 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Which is itself very mind-bending. <-- you mean call/cc in general? I agree completely then < 1279762346 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes. < 1279762380 0 :Gregor-L!unknown@unknown.invalid NICK :Gregor < 1279762393 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: to see _some_ of that effect, compare StateT s (Cont r) with ContT r (State s) < 1279762407 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, call/cc that isn't returned from the call/cc is quite easy to understand though. After all it is quite similar to the C setjmp/longjmp stuff then < 1279762418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :returning the continuation: argh < 1279762427 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in the former, jumping _would_ undo state changes, in the latter it wouldn't. iirc. < 1279762436 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, aaaargh < 1279762444 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: AAAAAAAAAARRRRRRGH < 1279762492 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: It's *time travel*! It's actual, literal, time travel! < 1279762502 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*MWAHAHAHA* < 1279762514 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, would that actually work? < 1279762536 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes. < 1279762549 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i _think_ so, it's been a while < 1279762558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, just add the IO monad there and you could kill your own grandfather then? < 1279762577 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: If you could do an IOT, then yes. < 1279762582 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1279762592 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :IOT *must* be impossible. It requires the ability to time travel. < 1279762605 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1279762671 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: as well as many-worlds, if you use it over [] :D < 1279762679 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: :D < 1279762690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :[] ? As in list? < 1279762694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1279762694 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1279762722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm I don't see how many-worlds follow from that but then this is doing my head in anyway so I might as well just not try to figure it out < 1279762763 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Actually. Wouldn't you need a ListT monad? < 1279762786 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: lists act as the do-several-things-at-once monad. IOT [] would consists of lists of IO actions that were all simultaneously applied in separate environments < 1279762809 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, no, you wouldn't. < 1279762817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, hm < 1279762831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, okay that hurts. < 1279762842 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well there is a ListT monad somewhere, i don't quite recall if it _was_ a true monad or not, there was at least something fishy with the initial implementation < 1279762879 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(it's not afair included in the default libraries) < 1279762893 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... < 1279762906 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Befunge 98 interpreter in Haskell could use this*. < 1279762913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what would a ListT monad do? < 1279762990 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: nondeterminism/several-things-at-once of actions in an underlying monad. the transformer version of [] < 1279762999 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION still is wincing from the freaking *time travel* monad < 1279763016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, use it to implement TRDS < 1279763023 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Precisely. < 1279763047 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, do it NOW < 1279763062 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I wonder why you are not in #microcosm btw < 1279763085 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*consist (way back) < 1279763242 0 :Gregor-P!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1279763350 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :instance MonadIO STM where liftIO = return.unsafePerformIO < 1279763351 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1279763514 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :--performs no unknown side-effects. < 1279763697 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: evil < 1279763754 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :http://www.facebook.com/pages/Gregor-Richards/133966549972228 Hey guys I decided I'm all pretentious now :P < 1279763831 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alien fashion sense, it all fits < 1279763906 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Baaaaaa < 1279764071 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://www.ronpatrickstuff.com/ Jet powered car. < 1279764075 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Street legal. < 1279764337 0 :p_q!~poiuy_qwe@bas5-toronto47-2925109400.dsl.bell.ca JOIN :#esoteric < 1279764457 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :p_q: nice goggles < 1279764464 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1279764511 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :check out my Grid < 1279764513 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :Grin* < 1279764521 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :search the esolang wiki < 1279764525 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I made it better < 1279764637 0 :wareya!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1279764637 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Time travel monad? < 1279764668 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Also, what's evil about what CakeProphet did? < 1279764725 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Madk: did you mean to delete the M-code hello world? we seem to have edited simultaneously < 1279764744 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :recheck < 1279764748 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I moved it again < 1279764751 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :to the end of the Ms < 1279764779 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1279764782 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :? < 1279764794 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Madk: the - should not count for the ordering, dammit :D < 1279764800 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1279764807 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's why i moved it first < 1279764813 0 :wareya!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1279764822 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :It should count < 1279765029 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Street legal. <-- ... how? < 1279765038 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Somehow. < 1279765092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"That doesn't stop me from the occasional blast on the highway though." <-- that can't be legal < 1279765108 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: It is not *il*legal. < 1279765118 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: it violates the entire spirit of the STM monad, which is to disallow any side effects that are not controlled by the software transactions. and it even does so in a particularly unsafe way, since the IO action might _never_ be performed if the value isn't looked at. < 1279765158 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was misreading it as ST < 1279765187 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's evil for ST too < 1279765231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1279765231 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :functions like that should at least contain unsafe in the name (and ST has one which does) < 1279765247 0 :sshc_!unknown@unknown.invalid NICK :sshc < 1279765652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, hahaha: "Jet keeps sucking the rose out of the bud vase on the dash!" < 1279765661 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Heheh. < 1279765800 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"Hmmm, the car has two engines making the car a hybrid so maybe we can drive in the commuter lanes along with the Toyota Priuses." XD < 1279765874 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION compares electric cars to cloud computing < 1279765902 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, but electric cars aren't bullshit < 1279765905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so that doesn't work < 1279765951 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :not even bulshytt < 1279765963 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1279765967 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It's more of an issue that power companies aren't being asked to store sensitive data < 1279765981 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That's the thing that annoys me about cloud computing < 1279766027 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh my... that guy is thinking about putting jet engines on a scooter too. That's just insane and a lot more unsafe than on a car < 1279766063 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yeah, well. < 1279766138 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, besides actually using the jet engine outside car shows and such seems extremely dangerous to cars behind you < 1279766204 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So, my dad won't let me give an unused phone to a friend :( < 1279766207 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Almost certainly. < 1279766214 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: How old are you again? < 1279766216 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :21 < 1279766228 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1279766238 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... And you need to give any credence to what your dad says... Why? < 1279766296 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I've been not giving any credence to what my dad says since I was 15 :P < 1279766322 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :that sounds about right < 1279766333 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, what does? < 1279766346 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric : I've been not giving any credence to what my dad says since I was 15 :P < 1279766439 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, because he gives me money for everything < 1279766453 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Including college < 1279766459 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And pays for food, etc. < 1279766501 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Same! < 1279766513 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Might I suggest a job? Your dad is fucking nuts. < 1279766527 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That might interfere with school < 1279766532 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1279766535 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And dad might pull college funding < 1279766545 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Your dad is fucking nuts. < 1279766561 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :also your education system is fucking nuts < 1279766561 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1279766576 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Yes, it is completely and utterly nuts. < 1279766578 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1279766604 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :At least I know that if my parents pulled school funding, I wouldn't be forced to drop out < 1279766632 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :coppro: And how much do they need to pay? < 1279766721 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Uh, depends how much I earn in the meantime. I expect that I could leave them with paying a net of 0, not counting the education funds that are set aside. I'll need a lot of help for the first year, and after that it's based on the quality of job I get. < 1279766736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, school funding? That's the state < 1279766751 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Sorry, how much *need be paid*. < 1279766754 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: oh < 1279766755 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In general. < 1279766761 0 :Madk!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1279766763 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :probably on the order of $80k < 1279766767 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :total < 1279766768 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's a lot < 1279766777 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1279766785 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... That's rather a lot. < 1279766787 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the government should fund it < 1279766794 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I'm on the upper edge of payment at my school though < 1279766802 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :and that's including living expenses, etc. < 1279766806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, which country are you in < 1279766809 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Canada < 1279766824 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah living expenses and text books are not included in the 0 SEK cost for me at university. < 1279766833 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yeah, you Europeans have it nice < 1279766834 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :text books are only included up to high school iirc < 1279766839 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :although I'm in an expensive program < 1279766844 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ... *0*? < 1279766845 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :there are programs that are significantly cheaper < 1279766859 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, well as I said, living costs and text books still cost < 1279766865 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :WHY THE HELL AM I NOT IN EUROPE < 1279766872 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :also, my parents are rich < 1279766874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, because you can't be in two places at once < 1279766876 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :if they weren't the government would pay < 1279766898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm that is an interesting system < 1279766909 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :it's actually pretty bad < 1279766917 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :since it's based on parental income < 1279766925 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes that doesn't make much sense < 1279766929 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :and parental income does not always translate to funds available for students < 1279766931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :should be based on your own incom < 1279766935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :income* < 1279766975 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Better than US's setup. < 1279766984 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :and of course there's student loans... woohoo < 1279767004 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Whereby the government doesn't pay until your family's poor enough to barely be able to afford *food*. < 1279767004 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :coppro, there are those here. Meant for text books and living costs < 1279767437 0 :Madk!~Madk@c-71-63-79-112.hsd1.va.comcast.net JOIN :#esoteric < 1279767641 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1279767648 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1279767837 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279767843 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1279767892 0 :Madk!unknown@unknown.invalid QUIT :Quit: Leaving < 1279768112 0 :wareya!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1279768489 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote host closed the connection < 1279768493 0 :FireFly!unknown@unknown.invalid QUIT :Quit: swatted to death < 1279768931 0 :CakeProphet!unknown@unknown.invalid NICK :_____ < 1279768960 0 :_____!unknown@unknown.invalid NICK :Guest12555 < 1279768972 0 :Guest12555!unknown@unknown.invalid NICK :CakeProphet < 1279769139 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1279769145 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1279769766 0 :HackEgo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1279769768 0 :HackEgo!~HackEgo@codu.xen.prgmr.com JOIN :#esoteric < 1279769772 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Fuck? < 1279769777 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Gregor's first child now has a little brother or sister! Aren't they so cute together? < 1279769784 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hm, wonder what went wrong before. < 1279769870 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Clearly, HackEgo disapproved of cursing, and has now grown up. < 1279769912 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Yup. < 1279770028 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1279770030 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :166| you move on the tape and shit < 1279770450 0 :Wamanuz3!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1279771214 0 :wareya!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1279771236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Gregor's first child now has a little brother or sister! Aren't they so cute together? <-- how did that happen < 1279771243 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also you have children? ^_^ < 1279771252 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you are like way too young for that < 1279771283 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :should wait until you are 35 at least, that way you have a lot more money and also get a lot more time without children < 1279771315 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1279771340 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: HackEgo rewards you with a child every time you say the F-word :P < 1279771343 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Which makes sense. < 1279771371 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Prooooooobably not having real children any time soon :P < 1279772026 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279772363 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1279772719 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Copulation! < 1279772823 0 :sftp!unknown@unknown.invalid QUIT :*.net *.split < 1279772824 0 :dbc!unknown@unknown.invalid QUIT :*.net *.split < 1279772824 0 :mycroftiv!unknown@unknown.invalid QUIT :*.net *.split < 1279773092 0 :myndzi\!myndzi@c-24-19-39-178.hsd1.wa.comcast.net JOIN :#esoteric < 1279773143 0 :sftp!~sftp@79.174.50.208 JOIN :#esoteric < 1279773143 0 :dbc!~daniel@130-94-161-238-dsl.hevanet.com JOIN :#esoteric < 1279773143 0 :mycroftiv!~ircguy@h69-128-47-242.mdsnwi.dedicated.static.tds.net JOIN :#esoteric < 1279773206 0 :myndzi!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1279774254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, fuck that < 1279774256 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Congratulations! AnMaster's action has brought a beautiful new baby into the world. Isn't it adorable? < 1279774266 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, damn you < 1279774273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1279774284 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1279774331 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, so from now on I'll always use damn < 1279774338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, also what if I'm quoting something < 1279774341 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it needs to understand it < 1279774343 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :THEN BABIES < 1279774345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, thus AI HARD < 1279774353 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :The real problem is when you're talking about a certain programming language :P < 1279774361 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :A certain, enormously topical programming language. < 1279774364 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, it does it inside a word? < 1279774370 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, okay just disable it then < 1279774376 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :It's just /fu*ck/i :P < 1279774381 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Erm, fuu*ck < 1279774394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, which one do you mean btw < 1279774397 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :please type it out < 1279774409 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : /fuu*ck/i < 1279774418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no which programming language < 1279774423 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :BrainFuck :P < 1279774440 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1279774462 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1279774466 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Borken again :P < 1279774472 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :OK, I'm disabling it because it keeps breaking things :P < 1279774504 0 :HackEgo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1279774506 0 :HackEgo!~HackEgo@codu.xen.prgmr.com JOIN :#esoteric < 1279774565 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, see < 1279774626 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Moop < 1279774825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGH < 1279774837 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :google image search preview pages gone web 2.0 < 1279774848 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://preview.tinyurl.com/3xbmmtr < 1279774855 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(because url is longer than one IRC line) < 1279774867 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hm < 1279774870 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :So 'tas. < 1279774874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, ? < 1279774879 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :define 'tas < 1279774887 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :"it has" < 1279774891 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1279774901 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, this is horrible < 1279774905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :this is an outrage < 1279774909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :against all google stood for < 1279774948 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Almost as against all that Google stood for as the rest of Google. < 1279774968 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, eh? < 1279775111 0 :Sgeo!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1279775162 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster, and they still use cookies with that long url? < 1279775267 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Somebody know of or want to write a generic card game server? That is, one that enforces no rules, just lets you take cards and treat them in usual card-like ways (make stack, put them face-up or face-down, etc) < 1279775273 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :(Multi-player) < 1279775461 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Mindless Automaton is close. < 1279775474 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Link? < 1279775481 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Ohhey < 1279775513 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Its set of actions is set up around Magic. However, it enforces 0 rules, and the set of actions is kinda generic because of that. < 1279775513 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hmmm ... AFAICT the only thing it lacks is a standard deck? < 1279775538 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think it also enforces Magic *card types*, but that's not a big deal; it'll let you stick in typeless cards. < 1279775542 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://mindless.sourceforge.net/ < 1279775545 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :, BTW. < 1279775553 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I just wonder how much work it would be to make it use generic cards. < 1279775620 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Depends on how complex those cards are. < 1279775659 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I'm talking about playing cards. < 1279775665 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Like, A, 1-10, J, Q, K < 1279775676 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Oooooh*. < 1279775696 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Maybe toss a Joker in there if I'm feeling frisky. < 1279775700 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Also take out the 1 :P < 1279775707 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay, the major problem you have there is that Mindless Automaton assumes two decks. < 1279775746 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I assume two decks ... shuffled together. < 1279775755 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Ohwait, hyuk < 1279775761 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hydra is played with each player having their own draw pile. < 1279775767 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... No, in Magic the Gathering each player has a deck. < 1279775768 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :So that COULD work. < 1279775804 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Basically, Mindless Automaton could probably be made to work for any *trading* card game. < 1279775842 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Right :P < 1279775848 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Not Hydra :P < 1279775854 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I want something like that, but with even LESS rules. < 1279775878 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The problem being that MA is set up around Magic. Which has lots and looots of bookkeeping. :P < 1279776068 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :So, feel like writing a generic card game server? :P < 1279776101 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I have too much to not do already! < 1279776103 0 :sanxiyn!~tinuviel@116.37.85.54 JOIN :#esoteric < 1279776123 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :How about you, random newcomer? Want to write a generic card game server? :P < 1279776135 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :What is a generic card game server? < 1279776206 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :A server (and client) that would handle the basics of cards (decks, hands, piles, etc), but wouldn't enforce any rules, allowing you and your mates to play any card game (so long as you all knew the rules and stuck to them) < 1279776221 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Do you know about Zillions of Games? < 1279776233 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :costs money < 1279776243 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :also, limiting to cards is bad < 1279776251 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And does not ship with source code and a usage license. < 1279776270 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :Well, I was just trying to ask whether it is a similar concept. < 1279776278 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :*note: the two things are not related) < 1279776288 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I haven't used it, but it seems to be a similar concept. < 1279776289 0 :sftp!unknown@unknown.invalid QUIT :*.net *.split < 1279776291 0 :dbc!unknown@unknown.invalid QUIT :*.net *.split < 1279776291 0 :mycroftiv!unknown@unknown.invalid QUIT :*.net *.split < 1279776293 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Except not for cards. < 1279776300 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :Exactly. < 1279776306 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :if you're going to cards, you might as well cover all games < 1279776321 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :coppro: One step at a time there pooppy. < 1279776335 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :thanks for the confidence < 1279776345 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :coppro: I mean unless you want to write it. < 1279776345 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :I always liked http://www.pagat.com/ < 1279776346 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And if you're going to all games you might as well cover all games, as defined in game theory. < 1279776347 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :In which case GO GO GO < 1279776371 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :So to see whether it is general enough, one could try to play games randomly chosen from the list there. < 1279776374 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(fortunately, this omits the Game of Life) < 1279776412 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Combinatorial game theory < 1279776463 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :But (say) {{|}|{|}} is not very playable for humans, so one would need visualization < 1279776489 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :This conversation does not end with me having a generic card game server :P < 1279776502 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :Indeed it doesn't. < 1279776599 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :One idea would be putting network layer to PySolFC or so. < 1279776623 0 :sftp!~sftp@79.174.50.208 JOIN :#esoteric < 1279776623 0 :dbc!~daniel@130-94-161-238-dsl.hevanet.com JOIN :#esoteric < 1279776623 0 :mycroftiv!~ircguy@h69-128-47-242.mdsnwi.dedicated.static.tds.net JOIN :#esoteric < 1279777615 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lifthrasiir, yes afaik < 1279777680 0 :sanxiyn!unknown@unknown.invalid PRIVMSG #esoteric :lifthrasiir: ? < 1279777771 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :sanxiyn, AnMaster quoted this url from google image search preview: http://preview.tinyurl.com/3xbmmtr < 1279777778 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : also, limiting to cards is bad <-- XD < 1279777798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sanxiyn, it turned out to be longer than one irc line < 1279777853 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lifthrasiir, but yes I'm fairly certain it use cookies because I checked that url was the same when I was logged in to my google/gmail account and when I weren't. Because I got suspicious about the url and didn't want anyone to steal anything < 1279777873 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lifthrasiir, however, looking at it, it contains page the image came from, image url and back-url < 1279777877 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no idea why the last one < 1279777882 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I wonder what information they've got in there :P < 1279777903 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Name, address, sex, age, education, sexual orientation, ... :P < 1279777906 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, well, some I told you about < 1279777913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but the rest I have no idea about < 1279777914 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster, i once thought that some privacy information was encoded into the url < 1279777923 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :but it seems not < 1279777936 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the image search url is fairly long too < 1279777943 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://www.google.com/images?q=LTE%205150&oe=utf-8&rls=org.mozilla:en-US:official&client=firefox-a&um=1&ie=UTF-8&source=og&sa=N&hl=en&tab=wi&biw=1519&bih=538 < 1279777952 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :contains something about me using firefox I see < 1279777969 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and um. it is basically url encoded inside that url < 1279777985 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :&prev=/images%3Fq[...] < 1279778131 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl going to watch dvd. For like the first time ever on this computer which I had since 2004 or such < 1279779001 0 :calamari!~kidsquid@206.29.188.232 JOIN :#esoteric < 1279779155 0 :calamari!unknown@unknown.invalid QUIT :Client Quit < 1279779366 0 :coppro!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1279779417 0 :sanxiyn!unknown@unknown.invalid PART #esoteric :? < 1279780351 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1279782666 0 :CakeProphet!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1279782800 0 :CakeProphet!~adam@h181.35.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1279784614 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1279785105 0 :Axtens!~Axtens@dsl-202-72-158-213.wa.westnet.com.au JOIN :#esoteric < 1279785599 0 :clog!unknown@unknown.invalid QUIT :ended < 1279785600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1279786138 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...did we invent the term esoteric programming language? < 1279786149 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :"we' == whoever first made the esolang community < 1279786736 0 :CakeProphet!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1279786805 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :i have a SERIOUS QUESTION < 1279786811 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :pertaining to matters of IMPORTANCE < 1279786820 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :suppose you add a girl on facebook < 1279786835 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :and you start chatting and she suddenly starts talking dirty < 1279786850 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :but at the same time it turns out she thinks she's talking to someone else with the same first name < 1279786857 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :add the fact that she's hot < 1279786860 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :should you: < 1279786865 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :1. tell her of the error of her ways < 1279786888 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :2. continue, save log, save her photos, and tell her later, then post it to all her friends < 1279786906 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :3. continue, save log, save her photos, never tell her, and post it to an internet chat room < 1279786908 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :4. ???? < 1279786938 0 :Axtens!unknown@unknown.invalid PRIVMSG #esoteric :Given how much people seem to love litigation these days, I'd go for #1 < 1279786948 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :no no < 1279786950 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :this is eastern europe < 1279786953 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :litigation doesn't exist < 1279787022 0 :Axtens!unknown@unknown.invalid PRIVMSG #esoteric :I'd still go for #1. Trust is hard to come by and once lost is exceptionally hard to regain. Just let her know that you know and leave it at that. < 1279787034 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :it's not trust < 1279787036 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :she's like < 1279787042 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :been talking to me for two days now or so < 1279787194 0 :Axtens!unknown@unknown.invalid PRIVMSG #esoteric :Okay, so I'm unusual in that I'm in to acting honourably. I'd have told her long before now. But you're now in a position where an apology includes a huge loss of face. < 1279787214 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1279787215 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1279787221 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :i am < 1279787222 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :but! < 1279787223 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :the thing is < 1279787232 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :she started talking about that stuff unprompted < 1279787234 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :AND < 1279787245 0 :Axtens!unknown@unknown.invalid PRIVMSG #esoteric :I suppose you could introduce into the conversation topics that she knows the other guy wouldn't know anything about and wait for her to go, "hey, hang on, you're not whatsisname, are you?" < 1279787248 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :i only figured out she must be mistaking me later on < 1279787393 0 :Axtens!unknown@unknown.invalid QUIT :Quit: Leaving < 1279788226 0 :CakeProphet!~adam@h96.15.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1279788412 0 :SevenInchBread!~adam@h96.15.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1279788510 0 :CakeProphet!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1279788649 0 :SevenInchBread!unknown@unknown.invalid NICK :CakeProphet < 1279791202 0 :MigoMipo!~John@84-217-5-104.tn.glocalnet.net JOIN :#esoteric < 1279791230 0 :Arzgarb!~Ilkka@dyn70-297.yok.fi JOIN :#esoteric < 1279791318 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1279791793 0 :AliceMargatroid!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1279791798 0 :AliceMargatroid!unknown@unknown.invalid PRIVMSG #esoteric :Hi. < 1279792551 0 :GreaseMonkey!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1279792871 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :AliceMargatroid: hello. < 1279793498 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Ooh, nifty: http://fcam.garage.maemo.org/fcamera.html < 1279793566 0 :AliceMargatroid!unknown@unknown.invalid PRIVMSG #esoteric :I am tempted to go into some Perl channel. < 1279793571 0 :AliceMargatroid!unknown@unknown.invalid PRIVMSG #esoteric :And suggest golf on a Brainfuck intrepter. < 1279793580 0 :AliceMargatroid!unknown@unknown.invalid PRIVMSG #esoteric :Should I? < 1279793760 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1279793779 0 :AliceMargatroid!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279793981 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, nice indeed < 1279794004 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Disclaimer: haven't tried it, the user interface and such might suck majorly.) < 1279794069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I assume you are going to try it? < 1279794170 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, though I'm not sure I'm going to start using it for random snapshot-style photogrammery. I wonder if they've added some trick to make it start that FCam instead of the usual "Camera" app when the lens cover is opened. < 1279794565 0 :Wamanuz3!~wamanuz@78-69-168-43-no84.tbcn.telia.com JOIN :#esoteric < 1279794731 0 :Slereah!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1279794825 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, it seems reasonably nice and usable, if a tad on the simple side. Still, manual controls are nice, as is raw shooting. < 1279794832 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It seems to take 11-megabyte images. < 1279794999 0 :Slereah!~jews@ANantes-259-1-25-187.w92-135.abo.wanadoo.fr JOIN :#esoteric < 1279795051 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :... and dcraw decodes it as a 640x480 image that's mostly just bright red and black ... < 1279795121 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://www.cis.hut.fi/htkallas/test.png -- I would not exactly call that "working". < 1279795345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed something went wrong < 1279795350 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, what does ufraw make out of it? < 1279795398 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"The program 'ufraw' is currently not installed. To run 'ufraw' please ask your administrator to install the package 'ufraw'" < 1279795409 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Will have to see when I get home. < 1279795454 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ufraw uses dcraw though so hm... < 1279795470 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, do they have an irc channel or something where you can ask about this? < 1279795538 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's a forum; I'll see if other raw-decoding tools work on the .dng file first. < 1279795607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, also how many MP? < 1279795636 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, 12 seems somewhat on the large side since that is just below what my 8 MP camera gives me < 1279795650 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they are like 13 MB unless I misremember < 1279795652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :*.mrw though < 1279795657 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and 12 bits per channel < 1279795660 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It should be a 5-or-so megapixel sensor. < 1279795684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, so unless that gives you more than 12 bits per channel the image file seems exceedingly large < 1279795721 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, it could be a very unoptimal format. < 1279795742 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Running "gimp test.dng" directly on the file opened a correct-looking image, but it's just 640x480; I think that's a preview image included in the file. DNG is TIFF-based, "file test.dng" says "TIFF image data, little-endian". < 1279795742 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, possibly. < 1279795772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ah yes selecting tiff on my camera gives larger images than *.mrw. And only 8 bits per channel < 1279795789 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in fact .mrw always tend to be smaller than tiff < 1279795803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :even when converted on computer and using deflate < 1279796325 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh; ImageMagick supposedly supports .dng files; so, I try "identify test.dng": < 1279796326 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :htkallas@pc112:/users/htkallas/tmp$ identify test.dng < 1279796326 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :sh: ufraw-batch: not found < 1279796326 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :identify: Delegate failed `"ufraw-batch" --silent --wb=camera --black-point=auto --exposure=auto --create-id=also --out-type=ppm --out-depth=16 "--output=%u.pnm" "%i"' @ delegate.c/InvokeDelegate/1015. < 1279796326 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :identify: unable to open image `/tmp/magick-XXdaOBkS.pnm': No such file or directory @ blob.c/OpenBlob/2439. < 1279796357 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1279796484 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ file /usr/bin/identify < 1279796485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/bin/identify: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped < 1279796490 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not a shell script as I had expected < 1279796511 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1279796536 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ufraw is a very nice tool in general though < 1279796546 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is what I use to convert raw files < 1279796578 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gui tool with preview, you can settings. Then save the image and also optionally a file describing the settings < 1279796591 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then you can use that settings file for batch processing the rest < 1279796593 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in a pano < 1279796600 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :useful when you want constant wb and such < 1279796615 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I know; I've used it the couple of times I've done raw with the real camera. < 1279796629 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't build here, though; they don't have enough gtk devel packages installed. < 1279796638 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1279796647 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, don't you use a laptop? < 1279796905 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, no. Why would I? < 1279796928 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Always fun when some program gets into odd state and you just can't see how it could get into that state... :-/ < 1279796977 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :(looking at the source code). < 1279797174 0 :Arzgarb!unknown@unknown.invalid PART #esoteric :? < 1279797272 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Even the latest dcraw.c messes the file up. I guess it's also possible that FCamera writes spec-wise bad DNG files that just happen to work in official Adobe tools. < 1279797407 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, to be able to install ufraw ;P < 1279797429 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's not exactly central to what I *should* be doing here. < 1279797450 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, that is when you either bisect (if you are lucky and it used to work) or do step by step debugging < 1279797462 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, good point < 1279798046 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I don't have working version (this was the first "working" version) and problem doesn't want to reproduce anymore. I did straces and can infer the program state out of those, but can't figure how it could have gotten into that state. < 1279798166 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, what program? < 1279798182 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :One custommade routine... < 1279798239 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, sure but what does it do? < 1279798312 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Bidirectional data copy between pipe pairs. < 1279798329 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, mhm < 1279798588 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279798748 0 :DH____!~DHeadshot@cpc2-woki2-0-0-cust667.glfd.cable.ntl.com JOIN :#esoteric < 1279798925 0 :MigoMipo!~John@84-217-5-104.tn.glocalnet.net JOIN :#esoteric < 1279800107 0 :oerjan!unknown@unknown.invalid QUIT :Quit: leaving < 1279800280 0 :coppro!unknown@unknown.invalid QUIT :Quit: I am leaving. You are about to explode. < 1279800598 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Hrm. I've been looking at the .dng file; it's supposed to -- according to spec and fcam sources -- have as main image the 640x480 preview, then as subimage the actual raw data. According to libtiff, the preview is okay (it even has "Subfile Type: reduced-resolution image (1 = 0x1)" set) but there is no "SubIFDs" tag set in the directory that would point to the actual raw image. < 1279800621 0 :GreaseMonkey!unknown@unknown.invalid QUIT :Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null < 1279800630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, considering the size it ought to be there though < 1279800640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, is there a lot of data after the preview ends? < 1279800694 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, also I wonder how a generic raw format can even work considering there are cameras with hexagonal picture elements and so on < 1279800722 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Actually the preview image directory is near the end of the file (at offset 0xa9c665, or 11126373 bytes into the file); it should have a tag-330 field containing a single pointer to the actual raw-image dir. < 1279800740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, well there must be a raw image in between then < 1279800753 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :try to set look for some likely offset after the header < 1279800776 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :TIFF is a messy format; there should be something pointing to it from the main directory. < 1279800777 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, test a few after the header, like header, header + padded to some boundary and such < 1279800812 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :libtiff does complain about "Warning, test.dng: invalid TIFF directory; tags are not sorted in ascending order"; I wonder if that could make it skip some tags. < 1279800842 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :One'd think it'd be polite enough to read it even if it's not in the proper order, though. < 1279800876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, um it complains about that when loading images into hugin after converting with ufraw < 1279800879 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seems to work still < 1279800954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I guess it didn't write the entry correctly. Look for some likely offset and use a hex editor to set that in the correct header < 1279800962 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or something like that < 1279800983 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :could be messy if that header is completely missing of course < 1279800990 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You can't really "set" anything in the header if the field for it doesn't exist; adding bytes in-between would mess all offsets. < 1279801001 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, right < 1279801034 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, overwrite the preview image field then < 1279801041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in a copy of course < 1279801082 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, assuming length doesn't mess up that would work < 1279801124 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Technically speaking I could perhaps alter the "first IFD" offset (which is in the header at the beginning of the file) to point at the raw-image ifd, if I could just find it. < 1279801157 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :At least for the preview image, the directory came after the image data, so presumably it's somewhere in the middle, most likely a bit before the preview-image data starts. < 1279801193 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, probably the raw image starts just after or just after + padding some other header of data bit that is known < 1279801206 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1279801209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I guess not then < 1279801235 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :First "strip" of preview image data starts at 10203626; maybe I'll look there. < 1279801236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, write a short program that scans for known "must be like this" values < 1279801264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, like if you know the width in pixels and there is a field for it, check all offsets until that field matches < 1279801281 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :should be trivial to locate such values < 1279801297 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :doesn't even need to try to figure out the offset. Just finding that value would be a good start < 1279801315 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then you could limit the number of possibilities down by other fields, say height < 1279801315 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't really know the raw dimensions, though. There's some tag numbers that are dng-specific, those might work. < 1279801315 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or such < 1279801337 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, well, go for some that you know. Surely there must be some < 1279801434 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Most of the stuff is written in the "first" IFD, the one with the preview image attached. (Which also means that dcraw might not like if I just point the first-ifd pointer directly to the raw data, since it'll be missing those fields.) < 1279801462 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1279801480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, read the source then < 1279801483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and try to fix it < 1279801484 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1279801487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or report a bug < 1279801527 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I've read the fcam sources, and they *look* like they should do the right thing. It certainly tries to add a proper subifd pointer when writing a tiff file. < 1279801543 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, right revision? < 1279801545 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Of course the N900 extras-testing version might be outdated or something. < 1279801555 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :besides the svn is on rev 37 hah < 1279801566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :updated 10 hours ago < 1279801621 0 :MizardX-!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1279801621 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm seems to have been developed outside svn to start with < 1279801629 0 :MizardX!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279801650 0 :MizardX-!unknown@unknown.invalid NICK :MizardX < 1279801690 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The "look for known values" strategy is complicated by the fact that the image directory has just field tags and types, and the file-offset pointers to the values; the values themselves can be anywhere in the file, with no pointer back of course. < 1279801708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, gah. < 1279801714 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There should be the byte sequence "fe 00 04 00 01 00 00 00" in the directory I'm looking for; that's reasonably long. < 1279801722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, why don't they inline the values < 1279801747 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Because they want fixed-width records, and the values have very different lengths. < 1279801760 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm why do they want that < 1279801771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you you have gcc and such on your phone? Just check out and compile last version < 1279801795 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't have the development environment in the phone. < 1279801800 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1279801803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how strange :P < 1279801809 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's a bit on the large side. < 1279801819 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm doesn't the phone support memory cards? < 1279801832 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sure, but still. < 1279801835 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It is possible to mangle it into a chroot, though; mooz did that. < 1279801842 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, btw what fs does it use? < 1279801843 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :009bb130 0f 00 fe 00 04 00 01 00 00 00 00 00 00 00 00 01 |................| < 1279801847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ext3? < 1279801860 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, so somewhere around there then < 1279801887 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1279801891 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's possible they inline four-bytes-or-smaller values, actually, instead of pointing at them. < 1279801978 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1279802113 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :mount says "ubi0:rootfs on / type ubifs" (where ubifs seems to be a jffs2 successor, meant for flash-based systems); then "/dev/mmcblk0p2 on /home type ext3" (that's ~2-3 gigabytes, for installing programs to and such) and finally "/dev/mmcblk0p1 on /home/user/MyDocs type vfat" (for media files; it's probably vfat for compatibility easiness; that one's exported over the USB mass storage thing). < 1279802177 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :From what I hear it's possbile to repartition and reformat that stuff if you really want. < 1279802235 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right, tiff spec: "to save time and space the Value Offset contains the Value instead -- if and only if the Value fits into 4 bytes". < 1279802395 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh. If I use TIFFSetSubDirectory(tif, 0x9bb130); to forcibly jump to where I think the raw-image ifd is, I get: < 1279802398 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :TIFFReadDirectory: Warning, test.dng: invalid TIFF directory; tags are not sorted in ascending order. < 1279802398 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :TIFFReadDirectory: Warning, test.dng: unknown field with tag 33421 (0x828d) encountered. < 1279802398 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :TIFFReadDirectory: Warning, test.dng: unknown field with tag 33422 (0x828e) encountered. < 1279802398 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Segmentation fault < 1279802661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1279802669 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, so it wasn't quite there then < 1279802697 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, check their bug tracker. needs login to even read it it seems < 1279802882 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It is there, those tag numbers are what should be there and I just manually parsed it sort-of correctly. I guess TIFFPrintDirectory just borks on it or something. < 1279802918 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why am I obsessed with Lua? < 1279802927 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I can never seem to view languages as just tools < 1279803000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, why do you always ask us questions we can't possibly know the answer to < 1279803032 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :2592x1968 pixels; that sounds okayish. < 1279803051 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, so it does < 1279803089 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And it's stored 16 bits per sample, though I doubt the sensor actually records that much. < 1279803098 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, but yeah, better try to compile last version when you get to your cross compiler. And if that doesn't help: file bug < 1279803126 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, iirc *.mrw stores the 12 bits per pixels packed or something silly like that < 1279803137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1279803141 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :12 bits per channel I mean < 1279803144 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not per pixel < 1279803154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and not per channel as such, but per element < 1279803168 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since iirc it is the usual GGRB style sensor < 1279803204 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :though *.mrw supports several models and thus iirc several different number of bits per sensor element < 1279803254 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :This has PhotometricInterpretation field that has a DNG-specific value of "Color Filter Array"; I think it's supposed to mean raw sensor data like that. There should be some later DNG-specific fields to denote the geometry and color-order. < 1279803263 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Slow going, this manual parsing. < 1279803275 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1279803284 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, as long as it seems correct < 1279803372 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :So far so good. Next tag was "data strip offsets", and it has 164 strips; I seem to recall that tiff strips are <64k splits, and 164*64k is about 10.5 megs, which sounds reasonable. < 1279803423 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Orientation: topleft. That's also correct and reasonable. < 1279803449 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you are probably at the right place but does *.dng contain custom tags compared to normal *.tiff ? < 1279803453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if so it could explain < 1279803457 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : TIFFReadDirectory: Warning, test.dng: unknown field with tag 33421 (0x828d) encountered. < 1279803466 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it does. And those are the right numbers, like I said. < 1279803498 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Still, it doesn't quite explain the segfault: tiff readers are supposed to be clever enough to skip fields they don't understand. < 1279803531 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Samples per pixel: "1". Well... I guess that's reasonable too. It's hard to say what number it *should* be. < 1279803535 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, did you try gdb? < 1279803553 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Not yet, I'll decode this manually first out of curiosity. < 1279803565 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and 1 seems a bit strange < 1279803575 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't that mean greyscale < 1279803678 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess it depends on how you define "pixel". Taking into account the "PhotometricInterpretation" field -- which defines what the image data is -- I guess one pixel == one sensor cell, and therefore one sample per pixel. < 1279803696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm okay < 1279803800 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :CFARepeatPatternDim: (2, 2). I believe that means that the sensor color filter pattern repeats in units of 2x2 cells, which also sounds good. (Probably GG diagonally, and R/B in the other two corners, I think that's the usual case.) < 1279803892 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :CFAPattern: green, red, blue, green. < 1279804019 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Er, or actually CFAPattern: 1, 0, 2, 1. This tag is from a separate "TIFF-EP" (electronic photography) standard; then there's a separate DNG tag to map those planes into red, green, blue with a default value of 0 = red, 1 = green, 2 = blue. Just in case things were about to get too simple. < 1279804061 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hahaha < 1279804072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, are there more planes to map than those? < 1279804164 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, um.. it maps from values in CFAPattern tag (which could theoretically go up to 255) into "plane numbers in LinearRaw space". I don't know exactly if you could have more than three in the latter, to deal with more-than-three-colors sensors. < 1279804188 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :BlackLevelRepeatDim: 2x2. I don't know what it's about exactly, but... < 1279804225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, maybe the human eye, that has 4 and in some <1% or such 5 < 1279804264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I wonder if it could describe that "light level only" thing of the human eye < 1279804279 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course the placements of the sensor elements is a lot more complex there < 1279804312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, anyway, why not store the data along Hillberts space filling curve or such < 1279804442 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yay, all tags parsed. Final was WhiteLevel: 959, which is the "-- fully saturated encoding level for the raw sample values -- caused either by the sensor itself becoming highly non-linear in response, or by the camera's analog to digital converter clipping" < 1279804463 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Having that be about 2^10 makes it sound like it only records 10 bits for each channel, not 12. < 1279804512 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Given how noisy pictures it takes, maybe that's not such a huge loss.) < 1279804526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, well 12 was for my camera < 1279804529 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there are those that do more < 1279804531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1279804541 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :12 is common-ish; I think mine does that too. < 1279804542 0 :Madk!~Madk@162.84.95.122 JOIN :#esoteric < 1279804564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, storing the values packed is a bit strange though < 1279804720 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, yet another tiff-file incompatibility: the first-ifd dictionary starts at 0x0a9c665 (that is, an odd offset) while the spec says it must begin on a word (two bytes, in this context) boundary. < 1279804722 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1279804740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, fun < 1279804756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I think I'll take a manual peek at that too to see if the subifd field in fact is there or not. < 1279804766 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1279804773 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1279805008 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :4a 01 0d 00 01 00 00 00 30 b1 9b 00 < 1279805008 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : tag 0x14a, type ifd, count 1, offset 0x9bb130 < 1279805009 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What. < 1279805022 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There is a subifd pointer there. < 1279805097 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Besides, the tags are in ascending order. At least assuming those 16-bit values are unsigned and not signed. < 1279805195 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: check out Grin on the esolang wiki < 1279805236 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :dcraw is full of nice special cases < 1279805258 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : case 330: /* SubIFDs */ < 1279805259 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : if (!strcmp(model,"DSLR-A100") && tiff_ifd[ifd].width == 3872) { < 1279805651 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Also the code is pretty freaky. < 1279805657 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : if (*len * ("11124811248488"[*type < 14 ? *type:0]-'0') > 4) /* ... */ < 1279806085 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ha! A single-character patch to dcraw and now I can extract images. < 1279806544 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :What does that DSLR-A100 with width of 3872 special case do? < 1279806586 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It does: < 1279806588 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : load_raw = &CLASS sony_arw_load_raw; < 1279806588 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : data_offset = get4()+base; < 1279806588 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : ifd++; break; < 1279806657 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It seems to be a camera-detection thing. < 1279806741 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess I should email the dcraw guy about the problem; as closely as I can determine, what I do is more correct. (Unless what dcraw does is trying to work around some incompatibility somewhere.) < 1279807856 0 :tombom_!tombom@wikipedia/Tombomp JOIN :#esoteric < 1279807925 0 :tombom!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1279813371 0 :cpressey!~CPressey@173-9-215-173-Illinois.hfc.comcastbusiness.net JOIN :#esoteric < 1279813984 0 :relet!~hirtho@port-92-206-46-81.dynamic.qsc.de JOIN :#esoteric < 1279814570 0 :Arzgarb!~Ilkka@dyn70-297.yok.fi JOIN :#esoteric < 1279815290 0 :relet!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279816717 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, heh < 1279817131 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I'm working on another soteric language < 1279817150 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is it a language based on kittens < 1279817153 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :it's got more arithmetic capabilities than anyone will ever use < 1279817157 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :With kittens as data structures < 1279817160 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :and it has no arguments for any commands < 1279817173 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I just hit 64 commands :D < 1279817184 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :only a few of them are useless < 1279817204 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :about 3/4 of those are different math functions < 1279817220 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :another half of the remainer are references to constants < 1279817221 0 :sebbu!~sebbu@ADijon-152-1-27-232.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1279817239 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :nxt moves the cell pointer to the right < 1279817239 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :bck moves the cell pointer to the left < 1279817239 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :inc increment a cell's value < 1279817239 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :dec decrement a cell's value < 1279817239 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :zro set a cell's value to 0 < 1279817239 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :one set a cell's value to 1 < 1279817239 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is the constant 0 < 1279817241 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :=pi set a cell's value to pi < 1279817243 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :=e= set a cell's value to e < 1279817245 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :fc1 set a cell's value to the first Feigenbaum constant < 1279817247 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :fc2 set a cell's value to the second Feigenbaum constant < 1279817249 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :ape set a cell's value to Apéry's constant < 1279817251 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :gld set a cell's value to the Golden ratio < 1279817253 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :emc set a cell's value to the Euler-Mascheroni constant < 1279817255 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :lpl set a cell's value to the Laplace limit < 1279817255 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pastebin < 1279817259 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :prb set a cell's value to the Parabolic constant < 1279817259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :this is a bit spammy < 1279817261 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :mlc set a cell's value to Mill's constant < 1279817263 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :[...] set a cell's value to the number specified inside < 1279817265 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :out output the cell's value as a number < 1279817267 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :inp input the cell's value as a number < 1279817269 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :prn output the cell as an ASCII character < 1279817269 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1279817271 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :lin output a newline to the console < 1279817273 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :stk output the entire numerical contents of the stack to the console < 1279817275 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :str output the entire contents of the stack as ASCII characters < 1279817277 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :(...) output the text inside to the console < 1279817279 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :psh push the cell under the pointer's value onto the stack < 1279817281 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :pop pop the stack's topmost value into this cell and remove it < 1279817283 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :add add the numbers on the stack together < 1279817284 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :How can you set the cell to the value pi < 1279817285 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :sub subtract the lower numbers on the stack from the topmost < 1279817289 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :mul multiply the numbers on the stack together < 1279817290 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :\o/ < 1279817291 0 :myndzi\!unknown@unknown.invalid PRIVMSG #esoteric :  | < 1279817291 0 :myndzi\!unknown@unknown.invalid PRIVMSG #esoteric :  |\ < 1279817291 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :div divide the topmost number on the stack by the others < 1279817293 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :pwr raises the topmost number to the powers of the rest of the stack < 1279817295 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :max removes all but the greatest number from the stack < 1279817296 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1279817297 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :min removes all but the least number from the stack < 1279817299 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :sic increments all stack values by 1 < 1279817300 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Does it actually set it as pi or as a floating point approximation < 1279817301 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :sdc decrements all stack values by 1 < 1279817303 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :mod computes all stack values modulo the value in this cell < 1279817305 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :flr rounds all stack values to the lowest integer < 1279817305 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :try /flushq < 1279817307 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :cel rounds all stack values to the highest integer < 1279817309 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :rnd rounds all stack values to the nearest integer < 1279817311 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :sin takes the sine in degrees of all stack values < 1279817313 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :cos takes the cosine in degrees of all stack values < 1279817315 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :tan takes the tangent in degrees of all stack values < 1279817318 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :your irc client might have that to clear it's send queue < 1279817319 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :sec takes the secant in degrees of all stack values < 1279817321 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :csc takes the co < 1279817323 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :D: < 1279817325 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :alright < 1279817327 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :? < 1279817329 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :it uses 64-bit floating points < 1279817331 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :so it gets fairly close < 1279817333 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pastebin next time :P < 1279817339 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but < 1279817344 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :If you do sin(pi) < 1279817347 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Do you get 0 < 1279817351 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or something else < 1279817354 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :let me check :D < 1279817364 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :if I can get the interpreter to work < 1279817386 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :You can write the interpreter in Mathematica < 1279817387 0 :sebbu2!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1279817391 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It will keep the pi as pi < 1279817810 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :my trig works in degrees, not radians < 1279817845 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's not very convenient when you have pi as a value < 1279817859 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I can make conversion commands pretty easily < 1279817879 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :convert the values on the stack from degrees/radians < 1279818041 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :yeah, pi+trig works fine < 1279818137 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :(Hello, world!) < 1279818139 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1279818148 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :now to do it with stacks and everything < 1279819265 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1279819374 0 :Arzgarb!unknown@unknown.invalid PART #esoteric :? < 1279820650 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, hm now you made me consider a mathematica self interpreter < 1279820651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1279820672 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or more feasible: writing an x86 emulator in mathematica and running it under that < 1279820687 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :getting an interpreter loop between two languages that could arguably both be considered esoteric < 1279820687 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :x86 has like thousands of commands < 1279820690 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Don't do it foo < 1279820697 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, of course I won't < 1279820738 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, the "sane" way would be to construct a gcc backend generating mathematica code, then use that to cross compile qemu XD < 1279820767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or... better yet < 1279820777 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fix up gcc-bf so it generates less buggy code < 1279820791 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then write a brainfuck interpreter in mathematica < 1279820796 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then cross compile qemu to gcc-bf < 1279820849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :possible and even feasible in theory but completely impossible to run due to gcc-bf generating enormous and slow programs. As well as mathematica not being fast at such stuff < 1279821232 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1279821325 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm do you think it is/will be possible to compile qemu with gcc-bf? < 1279821346 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure < 1279821349 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :possibly making it output raw vga dump or something like that < 1279821365 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since obviously you don't have the normal GUI toolkits and such < 1279821373 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :PSOX! < 1279821375 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs < 1279821381 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and since it is definitely feasible to write a brainfuck interpreter that ought to get us a loop < 1279821385 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1279821394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck interpreter in mathematica* < 1279821407 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, now you can suddenly run mathematica under mathematica < 1279821434 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that would be pointless < 1279821441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and also probably violate mathematica's license < 1279821448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well yes but remember which channel this is < 1279821451 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, for science! < 1279821685 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Tri < 1279821690 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :interpreter link pending < 1279822227 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, why so many commands < 1279822245 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I dunno < 1279822265 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I just added pretty much everything that came to mind :P < 1279822330 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for example: sto = pop psh < 1279822349 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a compiler could optimise that < 1279822372 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I did it for sake of convenience when writing code < 1279822412 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, right. Ever seen malbolge? ;P < 1279822435 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I just want my languages to have a different style to them, not brain-killing :P < 1279822443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not saying it should be as bad as malbolge of course < 1279822443 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Madk: thanks for all your work improving the wiki, by the way < 1279822455 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :My pleasure :) < 1279822465 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a joy when I go do my Esolang admin duties, and find a bunch of useful edits rather than the more common bunch of horrible spam < 1279822519 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, hm nice, there seems to be no substract that doesn't substract all-but-the-top values on the stack from top one < 1279822523 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I like that < 1279822543 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :better yet, make it substract all values from the top one. So you have to add that back after < 1279822557 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :"sub subtract the lower numbers on the stack from the topmost" ? < 1279822576 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, well, it could substract the topmost from itself as well < 1279822589 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :that would be painful :D < 1279822601 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, it is unclear to me if sub leaves the lower numbers on the stack or if you get a stack with just a single value, the result < 1279822609 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :a single value < 1279822619 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :it's that way with all the ones that come up with one answer < 1279822640 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I'm just tiding up my interpreter to upload it < 1279822641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, also do you use doubles or some more exact representation, like a CAS would < 1279822654 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :doubles. What exactly is a CAS? < 1279822663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :computer algebra system < 1279822673 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't use CAS, no < 1279822677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it would give you pi or pi/2 rather than an inexact value < 1279822686 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :Ah < 1279822693 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for example < 1279822716 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tends to be possible to force them to give you an approx value if you really want it though. < 1279822772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :people use sec, csc and such!? < 1279822773 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1279822809 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :You think those are obscure, wait till you see exsecant and versine < 1279822814 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't think there are keys for anything but sin, cos and tan on my calculator. And I never used anything else. cot *may* exist that menu with all commands < 1279822825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks for his TI-83+ < 1279822842 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :the thing is, cotangent is just 1/tan < 1279822844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nop < 1279822845 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no cot < 1279822864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, well sure < 1279822888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, I never even heard of "exsecant" before < 1279822890 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf is it < 1279822896 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :secant - 1 < 1279822899 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1279822905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why on earth < 1279822924 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :because wikipedia had an entire article dedicated to it :D < 1279822931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, versine? < 1279822938 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :again never heard of it < 1279822955 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :1-cos < 1279822960 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1279822962 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1279822977 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, why are you using degrees rather than radians btw? To make it more painful to use? < 1279822990 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :make it easier on me < 1279822995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1279823006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that makes no sense < 1279823022 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I'm used to degrees and the language I'm writing my interpreters in use degrees by default < 1279823035 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what language is that? < 1279823039 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :BlitzMax < 1279823044 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :never heard of it < 1279823045 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is it FOSS? < 1279823050 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :Very nive for getting things done quickly < 1279823054 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :FOSS? < 1279823062 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Free/Open Source Software < 1279823067 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :It's $80 < 1279823071 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah... < 1279823075 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :But it's worth every penny < 1279823091 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Madk: Does it come with a source code license? < 1279823096 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :It's fast and powerful, but it's very good for rapid protyping, too < 1279823100 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :nop < 1279823109 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :no restrictions on usage once you buy it < 1279823116 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :does it work for anything but 32-bit windows (and possibly 64-bit) < 1279823129 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Then it's about significantly more expensive than it has any right to be. < 1279823138 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :Windows 32 (it runs on 64), mac, and linux < 1279823169 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, I think you misunderstood "source code license" here. What I think pikhq meant was "does it include source for itself once you buy it" < 1279823173 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Madk: Oh, one thing I noticed earlier; the M-code wiki spec doesn't mention N at all, just the other conditional jumps (?, !, =). < 1279823174 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :possibly to soon be expanded to systems using ARM processors < 1279823174 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, right? < 1279823207 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Correct. < 1279823207 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :anmaster: Not to the compiler < 1279823212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1279823216 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :not that I'm aware of, at least < 1279823226 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :the thing is, most of it is written in BlitzMax itself < 1279823228 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Also, the right to create and distribute your own changes to it. < 1279823231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :jmp/trg looks like [/] from bf < 1279823242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, ah < 1279823242 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :anmaster: that was the intention < 1279823260 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likes his free software < 1279823261 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :Let me check something quick < 1279823266 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, same < 1279823456 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :anmaster: It's modular and all the source to its modules is open. The modules are written in blitzmax itself, and some of the more basic modules import C code. I'm not entirely sure what actually goes on when you compile. But all the code is there, and I do know the IDE that comes packaged with the language is open-source. < 1279823651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm... < 1279823659 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still I prefer completely open source < 1279823971 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Heh, "ufraw test.dng": Floating point exception. (It has the same bug in its built-in dcraw code.) < 1279824062 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1279824073 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, yeah mail the dcraw author < 1279824090 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :next ufraw version after the next dcraw version ought to include that fix then < 1279824144 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I did send one mail already; got a vague reply back that tiff_get is supposed to behave that way; sent (a moment ago) another mail to explain how the behaviour breaks subifd reading for the count==1 case, hopefully this time it'll go better. < 1279824170 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1279824195 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh well, at home I can easily patch my own copies. < 1279824210 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It can't be a bug many people hit, otherwise they'd have hit it already. < 1279824325 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, what is that count btw? < 1279824359 0 :Madk!unknown@unknown.invalid QUIT :Read error: No route to host < 1279824362 0 :Madk!~Madk@162.84.95.122 JOIN :#esoteric < 1279824387 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :what kind of program should I try and write in Grin < 1279824393 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I have th urge to try something < 1279824415 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Grin? Is that yet another one? < 1279824422 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Grin < 1279824446 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I have fun with that one < 1279824469 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wow... that is like bf gone bloated < 1279824475 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so completely unlike bf < 1279824477 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1279824481 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: It's the item count for the field. Basically the problem is that the subifd pointer field uses a special field type 13, which means just a 32-bit offset in the file (it's a special type so that programs that don't know about the field name still understand that the value points to an ifd directory); and every field also has a count of items in it. So for count==1, the total length of the value is 4 bytes, and it's stored inl < 1279824481 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ine; but dcraw lists "8 bytes" as the item-size of type 13, so it will always think the field "ValueOffset" is an offset to the data instead of the (single) value. < 1279824535 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1279824559 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, 8 byte offset in a file? You get image files large enough to need that? < 1279824595 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, write a Grin interpreter in Grin < 1279824605 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :._. < 1279824616 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hey you asked for suggestions < 1279824631 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's not 8 bytes, he has just put in a value >4 into the bit of code responsible for judging whether the value's inlined or an offset, so that in the count==1 case it will treat the value as an offset and seek directly to the ifd directory location (because it thinks the field value is being held there). < 1279824634 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, why not implement Tri in Grin then? < 1279824638 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I would have already but I can't think of a good way to give it the input code :D < 1279824670 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, hm < 1279824685 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, on STDIN? < 1279824696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and then some end of file marker < 1279824699 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :it can only read 1 char or number at a time < 1279824702 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :after which it starts the program < 1279824706 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, so use a loop < 1279824706 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The author explained that since tiff_get is supposed to leave the file pointer to point at the file data, he put in a >4 size so that even for count==1 it will read it and process it as an offset, leaving the file pointer point to where the subifd directory is. The problem is that the code for handling the field expects that the file pointer is left pointing at a place where it can (consecutively) read "count" times 4-byte offsets of < 1279824707 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :idf directories. So it works when count>1 (because then the value is not inline, and tiff_get will have seeked to where the actual directory offsets are), but not for count==1, because in that case tiff_get has seeked to the ifd directory start itself. < 1279824717 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, how do you think bf self interpreters work? < 1279824723 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: perhaps. < 1279824732 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, then tend to use @ to mark the end of the input bf program < 1279824744 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they* < 1279824747 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I'm writing one more example for Tri, then I'll do something for that < 1279824760 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and check out the sweet icon on the tri interpreter executable < 1279824784 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Currently what it does for count==1 case is that tiff_get on the field will cause the file pointer be left at the beginning of the subifd directory, and then the code handling the field will read the first 4-byte value (which will contain the number of directory items plus type tag for the first item) and treat that as a file offset; then it tries to find a directory there. < 1279824786 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, unlikely. I run 64-bit linux. < 1279824798 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1279824807 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :the source is included in the download < 1279824820 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well I don't plan to spend $80 for that < 1279824826 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :There is a free BlitzMax demo < 1279824836 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I don't trust closed source in general < 1279824855 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1279824858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure I'm stuck with my BIOS being closed source. And various firmwares in different parts of the computer. And sadly, the nvidia driver < 1279824860 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that is it < 1279825020 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That dcraw guy sure tries hard to be extra clever with his code. < 1279825023 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :dcraw.c:6405: warning: array subscript is above array bounds < 1279825029 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What it does around that line is: < 1279825047 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :double cam_xyz[4][3]; ... for (j=0; j < 12; j++) cam_xyz[0][j] = ...; < 1279825060 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's sort-of valid, but still. < 1279825064 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1279825172 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Mm, patched ufraw seems to work just fine. < 1279825222 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Horribly noisy image even with (I think) the lowest (ISO 100) gain setting, though. Although this one might've been the test with automatic settings, which set it to something like ISO 320 for indoor use. < 1279825277 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Metadata extraction doesn't quite work so well. The FCam API puts a "tag-list" of all metadata it knows in a special private TIFF tag, but of course nothing can decode that, except FCam itself. < 1279825361 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Maybe "all metadata" was a bit too much, since it seems to include just lens-related (focus, zoom, aperture; most of which are fixed constants in the N900 camera) things. < 1279825422 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1279825455 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, for my camera ufraw manages to extract stuff but forgets to byteswap the MakerNotes thingy < 1279825483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which means I have to post-process the output with exiftool to copy that bit from the raw file to the tiff < 1279825509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :exiftool manages to do that correctly < 1279825559 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's some sort of MakerNotes blob written, too, but I'm not sure how decodable it is with anything. I don't think I've seen any tool capable of understanding the Panasonic DMC-FZ8's (the real camera I have) MakerNotes byte-blob yet. < 1279825665 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :exiftool manages my camera's MakerNotes < 1279825683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, anyway presumably it was fcam that wrote it here? < 1279825690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so the format of it should be easy to find < 1279825708 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :exiftool extracts a reasonable amount of data from the file, though not all of it is very useful: http://sprunge.us/UUJK < 1279825729 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Especially the "DNG Private Data: (Binary data 765 bytes, use -b option to extract)" bit. < 1279826003 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The colors in ufraw are also a bit wrong; I wonder why there's two Color Matrix rows in there, and whether they're very correct. < 1279826049 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, what exactly does the Color Matrix thing mean I often wondered < 1279826101 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I tend to set my camera to use AdobeRGB instead and then use that. Seems to give somewhat better results < 1279826191 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :though sometimes that results in somewhat bland colours < 1279826204 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on the other hand Colour Matrix often gives too intensive colours < 1279826225 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ufraw's color tab has just "Color matrix" and "No profile" entries for the camera side, and of course the camera doesn't have much controls. < 1279826236 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I do have the fcam sources where it computes those color matrices, but, well. < 1279826267 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1279826355 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, any reply from the dcraw author yet? < 1279826362 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The "Color matrix" colors are far too saturated, while "No profile" results in pretty bland colors. It could of course be either ufraw misinterpreting the numbers, or fcam computing them wrong. < 1279826428 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, how does it compute those? I mean, what stuff from the image does the function to compute that matrix use? < 1279826462 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It seems that the two different ColorMatrix values are for two different reference white-balance settings; I don't know if it's supposed to interpolate between or what. < 1279826496 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What it writes there is a 3x3 conversion matrix from CIE XYZ colorspace to raw-sensor RGB. < 1279826562 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The DNG-writing code just bases them on the Frame::rawToRGBColorMatrix function; I don't know which class implements Frame here, so I haven't yet found where it actually comes from. :p < 1279826591 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Hm, it comes from N900::Platform::rawToRGBColorMatrix(...), and... < 1279826611 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And there it is just fixed numbers. < 1279826616 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://graphics.stanford.edu/papers/fcam/html/_n900_2_platform_8cpp_source.html < 1279826623 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"These are quick and dirty numbers ..." < 1279826658 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There could even be hardware-revision based differences there. < 1279826843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, perhaps < 1279826884 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess it should be possible to build a color profile for the camera with something like http://lprof.sourceforge.net/ but I don't have a reference image like that (and possibly it needs known light sources too). < 1279826989 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's even a use-with-ufraw tutorial there. < 1279827010 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Starts with "Use a tripod." The phone isn't very tripod-friendly. < 1279827029 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Nothing a roll of duct tape couldn't solve, though! < 1279827050 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, or lego < 1279827064 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it was quite easy to build a stable support for my phone in lego < 1279827101 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :used it early on with that lego panoramic thingy, to test the idea. Before I built the stuff to hold my camera < 1279827687 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, hm it might only be valid in that given light condition or something like that < 1279827756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's purely hypothetical anyway; I don't think I'm going to go and buy a reference target anyway. < 1279828047 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1279828052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :expensive are they? < 1279828115 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, perhaps not in an absolute sense; "-- targets cost from around $40 to one costing significantly more (read hundreds of $'s) --" < 1279828123 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Still perhaps not worth it. < 1279828135 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1279828276 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I could just photograph any color-patch sheet, and then find a good spectrophotometer to measure what the colors actually mean. I'm sure some department of the university has one. < 1279828359 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1279828448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you think finding such a spectrophotometer would be easy? < 1279828460 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure, some dept will but... < 1279828487 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :My father's school has a lighting-releated measurements lab; I remember being all ooh-aah (well, I was a lot younger, too) at their fancy devices. There was this one spherical thing in particular; you put a light bulb in one end, and the insides were painted with some paint that cost thousands/liter, and then in the other end was this collection of otherwise-unmarked-except-fancy-product-name-in-red-text black boxes connected with tub < 1279828488 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :es; and then they all fed into a computer. < 1279828501 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I have no clue what it was supposed to measure, but it was a really neat thing nonetheless. < 1279828521 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Computer science is so boring when it comes to equipment. We don't even get bubbly liquids. < 1279828540 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just das blinkenlights. < 1279828545 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, wait what? product names with tubes? < 1279828549 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure you weren't dreaming? < 1279828573 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait I misread < 1279828579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still strange < 1279828805 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I think it was supposed to be used for measuring light sources for visualization ray-tracing things that take a real spectral power distribution maps, like RADIANCE and the commercial alternatives. < 1279828824 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1279828882 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and LuxRender: http://en.wikipedia.org/wiki/LuxRender < 1279828895 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"full spectral rendering: Instead of the RGB colour spectrum, full spectra are used for internal calculations." < 1279828901 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Everyone should do it like that! < 1279829263 0 :sftp!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279829311 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, so hm... is that RADIANCE better than povray? < 1279829329 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess it depends on whether you want pretty pictures or actual physical simulation. < 1279829338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"Radiance was developed with primary support from the U.S. Department Of Energy and additional support from the Swiss Federal Government." < 1279829340 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why those... < 1279829364 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Here's one of those spheres: http://www.labsphere.com/productdetail.aspx?id=857 < 1279829410 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :This page has also some of those boxes included: http://www.labsphere.com/productdetail.aspx?id=875&catid= < 1279829411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not very good images of it < 1279829555 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There was also a gun-like device that you could point at something, then pull the trigger, and it'd beep and measure the surface illumination on the point you pointed at. < 1279829597 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Given how much I like all kinds of gadgets, I sure picked the wrong field. < 1279829674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, XD < 1279829832 0 :sftp!~sftp@79.174.50.208 JOIN :#esoteric < 1279830326 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I have a feeling that Radiance and LuxRender are comparable (at least within a couple of orders of magnitude) on the realistic-simulation scale; certainly they should be better than generic Blender/yafray/povray ones, for "physics-inspired simulation" values of "better". < 1279830390 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :E.g. in Blender if you add a "sun", it's just unidirectional light with a RGB value; whereas for LuxRender the existing "sun"-type environment light "will model sun lighting from NASA measurements, including atmospheric absorption". < 1279830450 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and you can apply luminous-intensity-distribution curves (that you can get from lighting fixture manufacturers) on point lights; that's a nice tool too. < 1279831136 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Radiance does CIE standard sky illumination too. You just run "gensky 7 4 14:30EDT +s -a 42 -o 89" and it outputs a July 4th, 2:30pm EDT sunny ("+s") sky as seen at 42 degrees north, 89 degrees west. (Ripped from man page example.) < 1279831182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, hah < 1279831232 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, can you select cloud types? I want to render METAR data XD < 1279831379 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Not very directly. You can select between CIE clear / intermediate / overcast skies. Of course the sky model is a bit of fakey, but, well, you can only go so far in pursuit of realism. < 1279831542 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :CIE sky seems to be a messy collection of trigonometric and exponential functions, designed to approximate measurements. < 1279831703 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :In both systems you can use HDR environment-map images to provide light intensity, if you happen to have some. < 1279831723 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And for any light you can provide as data file the spectral distribution of it. < 1279831819 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't think it supports a 2d-map where each point has a separately measured spectrum, but, uh... really. I'm not aware of any file formats for that sort of stuff either. < 1279832171 0 :Madk!unknown@unknown.invalid QUIT :Read error: No route to host < 1279832189 0 :DH____!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1279832320 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, btw the main thing I noticed is that almost always 3D rendered pictures are too perfect. That is the main way to tell them apart < 1279832380 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and of course materials for both systems are done by cheating, and not actually modeling what happens to them photons. < 1279832427 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Still, LuxRender does metals (hold, silver, copper, aluminium, carbon) based on measured data presets, and accepts "n/k spectral data files in the sopra format", whatever that is. < 1279832480 0 :Madk!~Madk@162.84.95.122 JOIN :#esoteric < 1279832919 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, Soap OPeRA format ;P < 1279834052 0 :Wamanuz4!~wamanuz@78-69-168-43-no84.tbcn.telia.com JOIN :#esoteric < 1279834181 0 :Wamanuz3!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1279834451 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :o < 1279834454 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1279834460 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I've made another language < 1279834467 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :but I don't want to overdo it on the commands < 1279834492 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :It's on a 2D grid < 1279834492 0 :wareya!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279834504 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :<>^v change the direction of a pointer < 1279834514 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :% is where the pointer(s) start < 1279834528 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :x kills a pointer, @ kills the program < 1279834533 0 :wareya!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1279834543 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :# makes 3 pointers in the opposing cardinal directions < 1279834555 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :and " starts and stops printing a string < 1279834569 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I know I definitely need some conditional program flow in there < 1279834597 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I have pointers incrementing/decrementing with + and - < 1279834601 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric := sets it to zero < 1279834622 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I'm thinking maybe ? destroys a pointer if it's 0 and ! destroys it if it's not < 1279834626 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :something like that < 1279834639 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :there's also basic i/o < 1279834958 0 :tombom_!unknown@unknown.invalid QUIT :Quit: Leaving < 1279835556 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Madk, why not make it self modifying < 1279835557 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like befunge < 1279835564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :would become a fungoid then < 1279835565 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :it is to an extent < 1279835574 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1279835575 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I don't want it to be too similar, though < 1279835582 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so code and data storage is shared? < 1279835593 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :to an extent < 1279835600 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :every pointer has 1 byte of data < 1279835608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1279835615 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :and the field is modifiable to a point < 1279835636 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I'm still owrking things out though :P < 1279835654 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1279835866 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is writing interpretter for new esolang... :-) < 1279835971 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :So far 10 of 37 opcodes implemented... And there are some opcodes to be defined. < 1279835981 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :http://img820.imageshack.us/img820/1091/71108837.jpg VS http://img695.imageshack.us/img695/1416/p77k.jpg < 1279835985 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :who wins? < 1279836105 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :popeye wouldn't hit a girl! < 1279836117 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so obviously he loses < 1279836177 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has no idea who the girl is, in case that's important < 1279836182 0 :Madk!unknown@unknown.invalid QUIT :Quit: Leaving < 1279836290 0 :CakeProphet!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1279836642 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :it's not < 1279836644 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :she's just a friend < 1279836737 0 :CakeProphet!~adam@h70.7.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1279837261 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wasn't that pic on Reddit? < 1279837323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, details on that esolang? < 1279837360 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cheater99, the latter one looks like he has a bell curve on his arm < 1279837362 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1279837409 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster, that's totally normal < 1279837598 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: dammit don't tell me you don't even know popeye < 1279837713 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, I know about em < 1279837732 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :whew < 1279837740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, but I still think that looks like a bell curve < 1279837749 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and that's not realistic < 1279837774 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well the whole point of popeye is he isn't realistic < 1279837825 0 :CakeProphet!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1279837830 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, no I don't think that is the *whole* point < 1279837852 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because you can get a lot more unrealistic < 1279837857 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm exaggerating for effect, there. like that curve. < 1279837857 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just add a third arm < 1279837859 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for example < 1279837937 0 :CakeProphet!~adam@h88.43.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1279837989 0 :cheater99!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1279838011 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Eugene_the_Jeep <-- now _that's_ unrealistic :D < 1279838016 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(and popeye) < 1279838072 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Each codepoint in program source is instruction (some are invalid, none has parameters). Storage includes stack, RAM and tape swap space (with destructive read). < 1279838076 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The whole point of Popeye is to sell spinach. < 1279838090 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: hm, _could_ be < 1279838105 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: reminds me vaguely of some sort of extended BF < 1279838110 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is famous for effectively being destructive-read < 1279838179 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :TCness requires use of swap space. And all flow transfers are unconditional. < 1279838201 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Cooked spinach disturbs me. < 1279838235 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION now gets a sudden craving for spinach soup. and he doesn't have any. :( < 1279838247 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with hard-boiled eggs < 1279838261 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i haven't had it in years < 1279838267 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fresh spinach is freaking delicious, though. < 1279838277 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :(only flow control primitive is relative unconditional jump). < 1279838288 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And, actually, when the spinach is *in* something it's rather nice. Just straight cooked spinach though? Urgh. < 1279838373 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I like spinach-flavoured pasta < 1279838388 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I need to define load extension library instruction, map instruction instruction, test instruction instruction and unmap instruction instruction. < 1279838389 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: relative unconditional jump's a great control-flow operator < 1279838539 0 :cheater99!~cheater@ip-80-226-30-67.vodafone-net.de JOIN :#esoteric < 1279838653 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster doesn't know popeye? < 1279838736 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, he does. < 1279838791 0 :aliseiphone!~ehirdipho@82.132.139.151 JOIN :#esoteric < 1279838837 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi aliseiphone < 1279838855 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Heil < 1279838869 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Mugged by mathematics!—suddenly Bjorn jumped in startlation as the lactating plants pulsated as they grew into immersive tree landscapes. Bjorn, on the whole, preferred grass. < 1279838884 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Hitler, at your service. < 1279838915 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :aliseiphone: Ah, mein Fuerher! Ein volk ein reich ein Fuerher, da? < 1279838940 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Quite so! I suggest we kill all the Jews and one clown. < 1279838948 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gespersprachen ales der Reichsvolksenkoffen! < 1279838964 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :aliseiphone: Why all the Jews? I get the clown, but the Jews? < 1279838965 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :aliseiphone: I've heard that one before < 1279838966 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Yes. Er. Very much so. < 1279838981 0 :Madk!~Madk@c-71-63-79-112.hsd1.va.comcast.net JOIN :#esoteric < 1279838987 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :ais523: It's an old bash.org one. < 1279838999 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: See? Nobody cares about clowns! < 1279838999 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that would explain it < 1279839002 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not in the top 200, though < 1279839006 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Wait... what? < 1279839017 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Wait, what? < 1279839018 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Huh. Well, it used at be, at least. < 1279839019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or if it is, I don't remember seing it there < 1279839021 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*seeing < 1279839021 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Thass a classic. < 1279839031 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure it is... < 1279839062 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION checks < 1279839077 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it is, you're right < 1279839084 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :aliseiphone: Fucking clowns. Only thing worse is a nwolc. < 1279839097 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Wow; the top 200 has changed drastically. < 1279839103 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Or rather, the top 10. < 1279839107 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Now they suck. < 1279839140 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :?nwolc a s'tahw < 1279839155 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, some of them are charming < 1279839532 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Define "charming". < 1279839553 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :The whole point of bash is basically its crassness. < 1279839562 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, things that make me smile when I read them < 1279839570 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't like the crass ones as much < 1279839579 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Where has the ping one gone? < 1279839596 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :The "responds to pings; just physically can't find it" one. < 1279839600 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#9322 is a pong one < 1279839603 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the responds to pings is #2 < 1279839609 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, second on the list < 1279839612 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not numbered 2 < 1279839621 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :And the stab-over-TCP/IP? :( < 1279839651 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :And "tetris is so unrealistic"? And ... < 1279839652 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's pretty high up too < 1279839663 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm rereading the top 100, and haven't come across the tetris one yet though < 1279839741 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :... Bjorn entered the shop through an interdimensional portal, fought a hundred year war in the middle, found true love, had children, watched them grow up, and bought crisps. He left the shop with less than a pound out of his pocket. < 1279839961 0 :kwertii!~kwertii@ResNet-33-228.resnet.ucsb.edu JOIN :#esoteric < 1279840445 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :He walked towards the Boothy Booth, the premiere showcase for all fans of boothes, and in a fit of naïvety attempted to descend into the miniature copy of the Boothy Booth contained inside it. Alas, he tripped over it and flattened its containing tent just as a gigantic Bjorn flattened Boothy Booth. < 1279840485 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I have no idea what you're quoting from < 1279840495 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or if that's newly-created entertainment < 1279840636 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION once had a dream somewhat like that with a miniature copy of the place he was on some kind of blackboard. i think it was inspired by a similar comic i saw. obviously i had to touch the recursion point, and the dream ended with the world somehow unraveling into something like pixels. < 1279840659 0 :GreaseMonkey!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1279840670 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :rather uncomfortable feeling, i recall < 1279840803 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :HELLO ALISE < 1279840814 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :up is what! < 1279840823 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :still, better than the dreams of being hunted/caught by a pack of carnivorous dinosaurs. (yes, that used to be recurring.) < 1279841039 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: and very fair so, you little mammarian meatbag < 1279841069 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*mammalian < 1279841082 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :mammarian. as in, made out of mammaries. < 1279841107 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION had a weird dream this afternoon, but I don't think anyone wants to hear it < 1279841154 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Raptors CHASING YOU IN TO THE FIXED POINT < 1279841170 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Newly created! < 1279841193 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, well I suppose you have a lot of spare time with nothing much to do in it < 1279841215 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't think they were raptors. probably tyrannosaurs. < 1279841217 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Just like Bjorn. < 1279841261 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so what do quantum voxels feel like < 1279841274 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nauseating. < 1279841284 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1279841284 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :at least that's what my vague recall says. < 1279841319 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Schrodinger's cat actually just feels really uncomfortable. < 1279841320 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: out with it < 1279841338 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :like something is VERY WRONG < 1279841357 0 :cheater99!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sets up an experiment with Schrödinger's alise < 1279841407 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :cheater99, [this is the dream, not RL] a girl I've known since 1st grade turned out to be sisters with a girl I met, but who I think generally ignores me [in college]. So the first girl invited me to her house, then I saw the second girl, and it was her birthday < 1279841411 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1279841412 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And ... yeah < 1279841413 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1279841425 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Nothing happened, so don't think that that's why I said >.> < 1279841530 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, at the end, there was some picture thing, and she didn't want me standing near her < 1279841551 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and completely unrelated, I cannot figure out where this fits, there was a quarantine of some sort, different DCs < 1279841580 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, seems it's not illegal to violate a website TOS in the US < 1279841591 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(court judgement yesterday) < 1279841604 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it is illegal to try to get around technical attempts to lock you out < 1279841650 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Eeep, I did that once < 1279841661 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, you know < 1279841669 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would be really appropriate to host C-INTERCAL on a MySpace account < 1279841814 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I probably won't, though; I'm having difficulty figuring out if the MySpace license is compatible with the GPL < 1279841832 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably is if there's a statement of the GPL actually inside the tarball, though < 1279841957 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION vaguely wonders why MySpace's (very reasonable) TOS contains "I HAVE READ THIS AGREEMENT AND AGREE TO ALL OF THE PROVISIONS CONTAINED ABOVE." at the end < 1279841962 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :presumably, they want us to agree to that < 1279841972 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :agreeing to their own TOS doesn't make much sense < 1279842025 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :When you presume, you make a pres out of u and me < 1279842096 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I doubt I could create a page quite awful enough to look properly MySpacy, though < 1279842117 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(the alternative would be to make it a perfect HTML4/HTML5 polyglot, with full accessibility features, and host it on MySpace anyway) < 1279842158 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is an HTML4/HTML5 polygot possible? Aren't there different doctypes or something? < 1279842201 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, as near as possible < 1279842221 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a bit of the page source is probably fixed by MySpace as it is < 1279842347 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :dang iiit < 1279842363 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :my interpreter is acting up for some reason when it gets to a / from below < 1279842382 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :it makes no sense at all and I really don't know why < 1279842390 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1279842397 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :I think I know why now ._. < 1279842402 0 :Madk!unknown@unknown.invalid PRIVMSG #esoteric :but it still makes no sense < 1279842457 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :ais523: 99% of it < 1279842467 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1279842476 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you "design" with utterly insane css in the about me section < 1279842478 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :aliseiphone: you could just make the rest of the source really long to compensate < 1279842482 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :or at least you used to < 1279842496 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :no actual proper support for it < 1279842509 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :just an abuse of the lenient HTML allowance < 1279842512 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that sounds like MySpace, all right < 1279842530 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :although iirc you can't use div or something < 1279842746 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what would go horribly, horribly wrong if he wrote a C program for AW that acted as a Lua host < 1279843002 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :ais523: remember when nobody used facebook and everyone went on about myspace? Maybe next we'll be back to Friendster. < 1279843027 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, I /hope/ Facebook collapses < 1279843033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the chance of whatever replacing it being even worse is rather low < 1279843047 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :Speaking of "all right", alright is so a word. < 1279843053 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that said, MySpace still seems to be very popular among bands < 1279843060 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :aliseiphone: it is, I think; but it has a slightly different meaning IMO < 1279843072 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :yes, facebook has very few provisions for bands < 1279843079 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh, indeed < 1279843080 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I thought conciously about which to use before I used it < 1279843093 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :but the pedants dislike it < 1279843126 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :btw, old OEDs are awesome — well, concise OED, but still < 1279843140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :perhaps it's a word now even if it used not to be < 1279843174 0 :aliseiphone!unknown@unknown.invalid PRIVMSG #esoteric :It has rime and gaol preferred over rhyme and gaol. "Gullible" is actually not in it, just "gull" with "hence ~ible". :-)