01:48
<Philip`>
gsnedders: Oops, forgot to reply
01:48
<Philip`>
gsnedders: That sounds quite a reasonable idea to me :-)
01:49
<Philip`>
(I'm not really doing anything useful any time that day)
02:15
<gsnedders>
Philip`: I'm gonna be off in Ely for most of that day :P
02:15
<gsnedders>
brb
08:30
<hsivonen>
http://www.w3.org/QA/2008/06/war-of-the-worlds.html#c151388
08:31
<hsivonen>
I was unaware of being quoted on the microformats wiki
10:22
<jgraham>
gsnedders: AFAIK I can do Monday. Did you say a time?
22:08
<jgraham>
Lachy: Discission of Wall-E should be prohibited until I have seen it :)
22:09
<jgraham>
gsnedders: OK
22:17
<Hixie>
Lachy: yes, very good
22:18
<gsnedders>
Suggestions for basic project that could be done in a week or two to learn Haskell/functional programming?
22:20
<jgraham>
gsnedders: Implement a html5 URL parsing library? It maybe isn't a natural match but it wouls at least be useful
22:20
<jgraham>
s/wouls/would/
22:21
<Philip`>
Who would find a URL parsing library implemented in Haskell to be useful? :-)
22:21
<jgraham>
Philip`: Other people who use Haskell, I guess
22:23
<jgraham>
You could build up to it in stages. First get your head around IO by doing a "hixie movie rater" which would simply return "excellent" if the input matched the name of a Pixar movie and "unknown" otherwise
22:23
<Philip`>
It might be better to do something that involves more interesting data structures than strings, since you might as well just use Perl if you're dealing with strings
22:24
<jgraham>
The problem is that there are lots of useful practical problems that involve strings
22:25
<Philip`>
Implementing any algorithm from the HTML5 spec might not be the best idea, since they're all written very imperatively and you have to reverse-engineer them before writing a functional solution
22:25
<jgraham>
I mean, I guess gsnedders could implement a graph traversing algorithm or something in Haskell but it's not like its an intrinsically useful problem
22:25
<Philip`>
jgraham: There are also lots that don't, and those are the ones that functional languages seem more suited to
22:26
<Philip`>
like writing compilers, perhaps
22:26
<jgraham>
Philip`: They tend to be more theoretical, less accessible problems
22:26
<jgraham>
or rather more theory heavy
22:26
<Philip`>
Haskell is a more theoretical, less accessible language, so that's a perfect match :-)
22:27
<jgraham>
gsnedders: You could always just start using XMonad as your window manager (it works on OSX) and then the config file is Haskell code
22:37
<roc>
you could write Haskell-to-JS compiler in Haskell and self-host it to get Haskell in the browser
22:41
jgraham
will be seriously impressed if gsnedders manages that
22:44
<Philip`>
Or just write a (subset-of-)JS parser and interpreter, as the first stage towards writing an entire web browser in Haskell
22:45
gsnedders
would be seriously impressed if he managed that
22:46
<gsnedders>
(which kinda means I'm not going to try when I haven't even done any functional programming before)
22:47
<gsnedders>
I think the main thing will be getting my head around functional programming
22:50
<Philip`>
It's probably better to find a decent tutorial/book/etc and follow the examples in there, since it'll be sensible things like "implement a 'map' function" or "construct an infinite Fibonacci sequence" instead of "implement a Haskell compiler" :-)
22:50
<gsnedders>
:)
22:51
<gsnedders>
But those sensible things are almost always boring, so I give up quite quickly :P
22:51
<jgraham>
It will be factorials. Always with the bloody factorials
22:52
<Philip`>
let rec f = function 0 -> 1 | n -> n * f (n-1)
22:52
<Philip`>
That doesn't take long, and then you can move onto something more exciting :-)
22:54
Philip`
discovers the "import __hello__" feature in Python
22:55
<gsnedders>
I should just try and use functional programming to generate the answers to the maths I'm currently doing at school
22:55
<gsnedders>
Seeming that means I have to understand the maths to decently implement it :P
23:02
<Philip`>
let tt n = String.concat "; " (let rec f = function 0 -> [] | m -> (string_of_int n ^ " x " ^ string_of_int m ^ " = " ^ string_of_int (n*m)) :: (f (m-1)) in List.rev (f n))
23:02
<Philip`>
gsnedders: That should help with your maths homework
23:02
<gsnedders>
Philip`: What does that do?
23:03
<Philip`>
It'd be cheating if I just told you :-p
23:03
gsnedders
slaps Philip`
23:04
<Hixie>
HTTP says taht leading zeros must be ignored in the HTTP/1.1 version thing
23:04
<gsnedders>
Philip`: <interactive>:1:54: parse error on input `->'
23:04
<Philip`>
gsnedders: Wrong language, probably
23:05
<Philip`>
(I'm using OCaml)
23:05
<Hixie>
i wonder how many implementations handle HTTP/01.01 correctly
23:05
<gsnedders>
Hixie: everything.
23:05
<Hixie>
gsnedders: and HTTP/01.02?
23:05
<gsnedders>
Hixie: That too
23:05
<gsnedders>
(HTTP/1.x is just treated as HTTP/1.1 by servers, HTTP/x.x is just treated as HTTP/1.1 by clients)
23:06
<gsnedders>
Philip`: I have no OCaml interpreter/compiler here
23:06
jgraham
considers creating an HTTP implementation that does it wrong to annoy gsnedders
23:06
<Hixie>
oh so they all just ignore it?
23:06
<gsnedders>
jgraham: You're breaking my spec!
23:06
<Philip`>
gsnedders: You just need to learn to read the code :-)
23:07
<gsnedders>
Hixie: Well, servers must parse it somewhat, and clients just check that there are numbers there
23:07
<gsnedders>
Hixie: a client would treat the response as HTTP/0.9 if it were "HTTP/a.b"
23:07
<gsnedders>
Hixie: (actually, some clients wouldn't, that behaviour is rather weird)
23:07
<Hixie>
gsnedders: so what's the difference between the versions, for implementations?
23:08
<gsnedders>
Hixie: Theoretically there's a small number of differences, de-facto more or less nothing
23:08
Hixie
is doing a crash course in HTTP so he can make sure the WebSockets stuff is specced right
23:08
<gsnedders>
Hixie: (that's HTTP/1.0 and HTTP/1.1, HTTP/0.9 is totally different)
23:08
<jgraham>
Philip`: Does that print times tables or something?
23:09
<gsnedders>
Hixie: http://twitter.com/gsnedders/statuses/846440682 :)
23:09
<gsnedders>
annevk: You were asking what happened in GTA4 if you killed Dwanye, were you not? Want to know?
23:10
<gsnedders>
Hixie: I'll point out what you do wrong in the WebSockets stuff :P
23:10
<Hixie>
i hope so :-)
23:10
<annevk>
I'm sort of over GTA4
23:11
<annevk>
have been playing MGS4 this weekend with a friend
23:11
<annevk>
really nice
23:11
<gsnedders>
annevk: I just finished playing through the story for a second time: partly to get the achievement for completing it in under 30 hours, and also to make all the choices I didn't make before :P
23:11
<Hixie>
gsnedders: so what do clients and servers do different in 0.9 vs 1.0?
23:11
<gsnedders>
(I actually completed it in under 20 hours, too, slightly to my amazement)
23:11
<gsnedders>
Hixie: Everything :)
23:11
<Hixie>
gsnedders: elaborate? :-)
23:12
<gsnedders>
Hixie: HTTP/0.9 request: GET /index.html CR LF
23:12
<Hixie>
i mean how do they react differently
23:12
<gsnedders>
Hixie: HTTP/0.9 response: US-ASCII HTML
23:12
<Hixie>
i know that the initial request is different :-)
23:12
<gsnedders>
Hixie: That's all there is to HTTP.
23:13
<gsnedders>
(0.9)
23:13
<gsnedders>
I haven't done that much reverse engineering of it though
23:13
<Hixie>
oh so if the request is HTTP/0.9, servers just omit the headers?
23:13
<annevk>
I guess that's why we got <plaintext>
23:14
<gsnedders>
Hixie: yeah, basically
23:14
<gsnedders>
Hixie: there's no such thing as headers :P
23:14
<Hixie>
ok so 0.9 is basically uninteresting
23:14
<Hixie>
ok
23:14
<gsnedders>
Yeah, 0.9 is simple.
23:14
<Hixie>
and everyone who supports 1.1 just treats everything as 1.1, regardless of the version information?
23:14
<gsnedders>
pretty much, I think
23:14
<Hixie>
well
23:15
<Hixie>
i'm sure glad that http has versioning then
23:15
<Hixie>
</sarcasm>
23:15
<gsnedders>
it seems that servers do ignore the requirement that HTTP/0.9 responses are US-ASCII HTML, and they do just send no headers
23:16
<gsnedders>
http://www.w3.org/Protocols/HTTP/AsImplemented.html — the closest thing to an HTTP/0.9 spec
23:18
<annevk>
In other news, both my parents use Ubuntu now
23:18
<annevk>
driver for wireless was a major pita
23:20
<Lachy>
My interview on boagworld will finally be released in this wednesday's show
23:20
<gsnedders>
Anyhow, let me go sleep
23:21
<Hixie>
nn
23:21
<Hixie>
Lachy: cool
23:21
<Hixie>
Lachy: i've been listening to the boagworld show but apart from the WCAG2 episode their audio is so bad that i can't actually listen for more than about 2 minutes at a time
23:21
<Lachy>
I didn't listen to the WCAG 2 one yet
23:23
<Hixie>
it's not very exciting, but it does have actually listenable audio
23:25
<Hixie>
woah, you can send headers after the content if you use the chunked encoding?!
23:25
<Lachy>
hopefully mine won't be too bad. But I can't listen to my own voice, I think I sound terrible :-)
23:26
<annevk>
we need some proper microphones for standardssuck.org too it seems, Hixie is not the only one complaining :)
23:27
<Hixie>
the funny thing with the standardssuck podcasts is that because you just have the one camera, if you watch the person not talking, they're just fidgeting the whole time :-)
23:27
<Hixie>
you really want to have a camera per person and then a wider angle for the establishing shot
23:27
<Hixie>
:-)
23:28
<annevk>
yeah, or some nice editing software that lets you zoom in on the talking person
23:28
<Lachy>
donations for purchasing HD cameras and sound equipment would be very welcome
23:28
<Lachy>
annevk, I have final cut studio now
23:28
<Lachy>
I think marcos is getting a copy of it too
23:29
<annevk>
cool
23:30
<Lachy>
I'm also getting Final Cut Express, which is a simpler version aimed at consumers rather than professionals, but is slightly more advanced than iMovie
23:33
<annevk>
reading http://diveintomark.org/archives/2008/06/29/microformats-accessibility I wonder if it's just about microformats
23:50
<Hixie>
so sweet to see people think that it is shocking that a spec can't compel browser vendors to do what we want them to do
23:50
<Hixie>
http://www.internetschoon.nl/viewSingleItem/3117
23:59
<Dashiva>
Hixie: That one _almost_ realized the group was founded by the very implementors he decries