01:34
<JonathanNeal>
Hi!!! \o/
01:37
<TabAtkins>
You get more excited every time I see you.
01:38
<JonathanNeal>
TabAtkins, yea, well it's fun.
01:39
<JonathanNeal>
Sometimes I get so excited writing a jquery plugin, I'll include a themesong.
01:46
<TabAtkins>
I can relate to that, JonathanNeal. jQuery plugins are exciting things to write!
01:46
<Dashiva>
Write the jQuery national anthem
01:46
<Dashiva>
Played with an audio element whenever the script is loaded
01:56
<JonathanNeal>
Actually because you mentioned that
01:56
<JonathanNeal>
I just wrote a yayQuery theme song for their upcoming podcast.
02:11
<JonathanNeal>
http://jquery.thewikies.com/swfobject/ <-- theme song is on the main page.
02:11
<JonathanNeal>
New version released too :P
02:18
<Dashiva>
Nice tune
02:23
<JonathanNeal>
thanks Dashiva :-)
02:23
<TabAtkins>
That's... interesting. ^_^
07:04
<hsivonen>
gsnedders: IIRC, it was Philip who pointed out a time complexity problem with coalescing all text nodes (including the foster-parented case)
07:05
<hsivonen>
the V.nu/Gecko HTML5 parser has bugs in this area
07:05
<hsivonen>
it sometimes splits a text node even where it shouldn't per spec
07:35
<mdrphp>
does anyone here have a moment to test out a wysiwyg script i have, and see what you think of it?
07:40
<hsivonen>
was this printed by a Microsoft employee? http://www.flickr.com/photos/8554702@N05/4080900839/in/set-72157622749234808/
07:56
<gsnedders>
hsivonen: Indeed, if you look further in the logs you'll see I found the email from Philip` that changed it.
08:01
<jgraham>
Well like I said there's no posible way we can split text in about half our backends since they don't have the concept of text nodes
08:01
<jgraham>
And I think it will be an enormous pain to get this right for the other half of our backends (the useless ones)
08:04
<gsnedders>
Indeed.
08:05
<gsnedders>
And implementations in lower level languages, such as those used in browsers, can simply support mutable strings and just have O(n) behaviour.
08:10
<jgraham>
gsnedders: Well that seems like a rather unfair requirement since browsers could have chosen to use immutable strings already
08:12
<jgraham>
(In principle if you can change the string implementation, you could do something like http://bugs.python.org/issue1569040 although note that patch hasn't been accepted :( )
08:12
<othermaciej>
hsivonen: I don't know who printed it but I do believe Paul Cotton brandished it at some points
08:12
<othermaciej>
jgraham: is there a requirement in the HTML5 parser to sometimes have multiple adjacent text nodes?
08:20
<hsivonen>
othermaciej: IIRC, it's at least permitted when text is foster-parented
08:21
<hsivonen>
othermaciej: ok. good enough supporting evidence for the rumor that MS employees like to print specs.
08:21
<othermaciej>
hsivonen: I was not aware of such a rumor
08:22
<gavin>
I have a colleague who likes to print unified diffs that he needs to review
08:22
<gavin>
he reviews them with a pen!
08:25
<roc>
if developers used the online version, people could mine the whatwg.org logs to figure out what was being implemented
08:36
MikeSmith
is on a train back to Shinjuku, checking the logs to see if he's missed anything interesting
08:37
<gsnedders>
MikeSmith: Everything.
08:40
<jgraham>
othermaciej: http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#insert-a-character Note the example
08:41
<jgraham>
specifically the <table>A<tr>B one
08:41
<othermaciej>
that's some wacky examples
08:50
<MikeSmith>
fwiw, I think it was one of the X3D guys who printed out the copy of the spec, and for benign reasons (not for purposes of it being used as a prop)
08:51
<othermaciej>
I don't think the use as a prop was malicious
08:52
MikeSmith
is finding that the certain eyboard eys on his aptop don't wor any onger after train went around a curve and beverage spashed down on his eyboard
08:59
<MikeSmith>
othermaciej: btw, I guess you saw that the ruby support got committed
08:59
<othermaciej>
MikeSmith: yep
09:00
MikeSmith
having a hard time wording things without using characters between i and m
09:04
<MikeSmith>
othermaciej: I'm wondering what my chances are of convincing somebody to become editor for the CSS Ruby spec so that we can move that forward faster and get it supported too
09:04
<othermaciej>
MikeSmith: don't look at me :-)
09:04
<MikeSmith>
heh
09:05
<danbri>
ghjkl;'\
09:05
<danbri>
there you go, copy/pastable
09:05
danbri
used to google for ~ when first got an italian keyboard mac
09:06
<MikeSmith>
maybe I can as Mr, Steiner
09:06
<MikeSmith>
he understands the issues better than anybody by now, perhaps
09:09
<gsnedders>
MikeSmith: Ruby support got committed into what? WebKit?
09:10
<MikeSmith>
gsnedders: yeah
09:10
<hsivonen>
does WebKit support Ruby as an addition to CSS or as a non-CSS extension to layout?
09:11
<MikeSmith>
hsivonen: I thin it does not support CSS Ruby yet at all
09:11
<hsivonen>
ok
09:11
<MikeSmith>
gsnedders: already in Webkit nightlies
09:11
<MikeSmith>
dunno about Chrome
09:14
<MikeSmith>
(thanks to danbri for the the l's and k's)
09:14
<danbri>
careful, don't use 'em all at once
09:20
<MikeSmith>
heh
09:20
<MikeSmith>
I have a new appreciation for them
09:20
<MikeSmith>
the letter 'j' in contrast seems mostly unnecessary
09:57
zcorpan_
has now updated http://www.w3.org/XML/Group/2009/09/xml-stylesheet.html (member-only link, sorry)
10:10
jgraham
discovers that hsivonen already sent an email saying the same things he just wrote
10:37
gsnedders
despises websites taht require www.
10:39
<annevk2>
whoa, MathML comments thread is still ongoing
10:39
<annevk2>
and it is long
10:39
<annevk2>
geez
10:39
<zcorpan>
we don't have consensus on whether we need to have consensus on comments
10:41
gsnedders
think he's going to have fun when he gets around to catching up on email
10:45
<annevk2>
zcorpan, new laptop?
10:45
<zcorpan>
annevk2: no
10:46
<zcorpan>
annevk2: well, at least not the past year or so
10:49
<annevk2>
there was this message ID ending in macbook.local from you
10:49
<annevk2>
didn't know you had a MacBook
10:50
<gsnedders>
It's not as if he had it at the engineering eminar :)
10:50
<annevk2>
did he?
10:51
<zcorpan>
i only used it on the last day, probably after anne had left
10:51
gsnedders
shrugs shoulders
10:51
<gsnedders>
You left it before we went back to Linkoping
10:52
<annevk2>
I'm just saying it because the only laptop I can remember zcorpan having is one with a somewhat broken screen
10:52
<zcorpan>
that one doesn't boot anymore
10:52
<zcorpan>
or at least not last time i tried
10:52
gsnedders
stops playing around on Facebook and gets back to trying to do uni application stuff
11:39
<jgraham>
anyone fancy mentioning html5lib on http://news.ycombinator.com/item?id=930717 ?
11:40
<Philip`>
jgraham: The original poster of that story stole your name :-(
11:42
<jgraham>
Philip`: I don't have the spare "c" lying around though
11:57
<jgraham>
BTW I just reran the parsing speed tests that Ian Bicking did and I get html5lib elementtree / lxml = 35 compared to 50 that he got
11:58
<jgraham>
So either we are faster or the test isn't that reliable or my machine is sufficiently different from his to make the comparison meaningless or my lxml is slower
11:58
<jgraham>
Or something else
12:01
<Philip`>
I think there were quite a few speedups of html5lib since those results were originally published, so it seems likely that that's the cause of the relative improvement
12:01
<jgraham>
Yeah, I was expecting some speedup. But I also made things slower again
12:02
<jgraham>
So I'm not totally sure what the net change is
12:02
<Philip`>
I think most of the slowness was in the tokeniser and I couldn't find any easy way to make that faster in pure Python
12:02
<jgraham>
(in particular all the namespace support makes things slower)
12:03
<jgraham>
Philip`: I think there are a number of microoptimisations that one could make
12:03
<jgraham>
But I don't know if any of them would have a significant effect
12:05
<Philip`>
I experimented a tiny bit with writing loops to just extract tag names from input like "aaaa<foo>test<etc>", and none were significantly faster than the entire html5lib tokeniser
12:05
<jgraham>
(in fact there was a whole thread on python-discuss about how html5lib was clearly written by a bunch of idiots becuase we didn't make every posssible optimisation and dared to use if statements rather than dictionary lookups + function calls)
12:06
<jgraham>
(note: iirc we weren't actually ever called a bunch of idiots)
12:06
<annevk2>
though we clearly are
12:06
<jgraham>
(also we did get one useful patch out of it which was nice)
12:06
<Philip`>
If I remember correctly, almost all the time is spent in the data state and attribute value states
12:07
<annevk2>
jgraham, seems a bit pointless to waste a thread on that indeed
12:07
<annevk2>
jgraham, if Python had a decent HTML parser we would not have to write one...
12:08
<Philip`>
annevk2: By "decent" you mean "implements the HTML5 spec precisely"?
12:09
<Philip`>
Python seems to have a good excuse in that case, since HTML5 didn't exist when its standard library parsers were written
12:10
<jgraham>
Philip`: If by decent you mean "usable for common tasks" and by "python" you mean "the python standard library" it seems like a fair comment irrespective of HTML5 conformance
12:11
<jgraham>
(note the fact that the blog post author from the ycombinator article above was complaining that someone used regexps because they were better than the stdlib)
12:11
<Philip`>
So if Python had a standard usable HTML-parsing library (that didn't follow the HTML5 spec) then nobody would have written html5lib?
12:11
<annevk2>
Philip`, naturally
12:11
<jgraham>
I would have written html5lib still
12:11
<jgraham>
Because the goal for me was to understand that part of the spec not to produce the best possible tool
12:12
<gsnedders|work>
What difference does processing textarea in the "text" insertion mode make?
12:12
<jgraham>
The fact that I incidentially produced a tool that I now use all the time is happy coincidence
12:12
<jgraham>
too many incidences
12:12
<gsnedders|work>
As the tokenizer is in RCDATA mode, the only end tag that can be outputted is textarea, so it should make none
12:16
<Philip`>
(By the way, removing parse error support would probably make html5lib measurably faster (like 5% or something), since line-counting in the input stream was a bit slow when I last checked)
12:17
<gsnedders|work>
I thought we only did line-counting upon throwing an error, now
12:18
<Philip`>
How could that work? It would have thrown away all the input data by that point, and it'd be too late to count
12:20
<Philip`>
Oh, it computes the position at the end of every chunk, then adds counts from the current chunk when there's an error
12:21
<Philip`>
I don't think it did that when I last looked :-p
12:21
<jgraham>
I think that was one of the results of the python-discuss thread
12:21
<Philip`>
Was that a recent thread?
12:21
<jgraham>
Philip`: Sometime over the summer iirc
12:22
<Philip`>
I thought you meant some thread I vaguely remembered from many years ago
12:22
<jgraham>
(that issue wasn't discussed on the thread because people were too busy getting upset at the use of if statements)
12:27
<Philip`>
Maybe html5lib should come with a set of benchmarks, and if somebody suggests an optimisation then tell them to demonstrate it has a real effect first
12:28
<gsnedders|work>
Philip`, There's an if statement in that sentence.
12:28
<jgraham>
http://mail.python.org/pipermail/python-list/2009-July/187459.html
12:28
<jgraham>
Philip`: Seems reasonable
12:29
<jgraham>
Then we could track perf too :)
12:30
<Philip`>
Hmm, is he suggesting additions to the Python language in order to help performance?
12:30
<Philip`>
I thought experience with JavaScript indicates you can make dynamic languages zillions of times faster without changing the language itself
12:31
<jgraham>
It suggests that you can make jsvascript faster without changing the language
12:31
<gsnedders|work>
It'd be interesting to download a copy of unladen swallow and benchmark using that
12:31
<jgraham>
I'm not clear how well it generalizes
12:32
<jgraham>
(like I'm sure you can make it faster but does the lack of __getattr__, for example, make javascript easier to optimize)
12:32
<Philip`>
Psyco indicates you can make Python a lot faster
12:32
<Philip`>
without changing the language
12:32
<jgraham>
s/)/?)/
12:32
<jgraham>
Sure. I don't doubt that it can be faster. I'm less clear whether you can get the same factor speedups as for javascript in the general case
12:33
<jgraham>
(rather than for special cases like code that does a lot of arithmetic operations)
12:33
<Philip`>
JS engines don't give you the same factor speedup in the general case
12:34
<Philip`>
They optimise for programs that have lots of static features like classes (objects with the same structure) and don't use crazy JS features (like with and eval)
12:34
<Philip`>
and presumably you could do the same for Python
12:35
<jgraham>
Hopefully
12:36
<Philip`>
Python doesn't even have prototypes to mae property access complex
12:36
<Philip`>
s//k/
12:37
<Philip`>
Maybe someone should profile CPython running html5lib
12:41
<Philip`>
"There's a comment in the code that it would be useful to run a few billion lines of HTML through an instrumented version of the parser to decide in which order the IF statements should be executed. You shouldn't have to do that." - you don't have to do that, because you could get a representative sample with a few hundred pages, and it because it makes pretty much zero difference in practice
12:43
jgraham
thought he had removed that comment
12:43
<zcorpan>
maybe it would also still be useful to do even though python was fast
12:58
<zcorpan>
what should happen for onclick = 1; per html5?
12:58
<zcorpan>
should getting onclick return 1 or null?
13:01
zcorpan
means the IDL attribute
13:03
<zcorpan>
"Event handler IDL attributes, on setting, must set the corresponding event handler to their new value, and on getting, must return whatever the current value of the corresponding event handler is (possibly null)."
13:03
<hsivonen>
do the top 5 browsers all use libpng and the IJG's JPEG decoder?
13:08
zcorpan
can't make sense out of webidl
13:16
jgraham
thinks it should throw TypeError
13:17
<jgraham>
Following the rules in http://dev.w3.org/2006/webapi/WebIDL/#es-interface
13:18
<zcorpan>
oh ie throws
13:18
<zcorpan>
opera sets it to null
13:18
<zcorpan>
firefox sets it to 1
13:19
<zcorpan>
and chrome sets it to null
13:20
<zcorpan>
thanks jgraham
13:41
<gsnedders|work>
Is there anyway to use grep to search for U+0008?
13:43
<Philip`>
gsnedders|work: grep -P '\x08'
13:43
<gsnedders|work>
Philip`, Thx
13:46
<Philip`>
Why would a third-party power adapter cause my laptop to work fine except that the touchpad is unreliable (the cursor moves stickily) when it's plugged in?
13:46
<Philip`>
(It works fine with the official adapter, or when it's unplugged)
13:47
<jgraham>
Philip`: Depends in some odd way on the precise voltage?
13:47
<jgraham>
Or the stability of the voltage?
13:49
<Philip`>
I suppose that's possible, but it seems a bit odd
13:50
<jgraham>
Well it seems a bit odd that there would be a problem at all
13:51
<Philip`>
Indeed
13:51
<Philip`>
When it first happened I wondered if my fingers were broken
13:51
<Philip`>
and had stopped emitting whatever signals the touchpad picks up
13:52
<Philip`>
but it's definitely a problem that occurs when (and only when) I have this adapter plugged in
13:57
danbri
finds http://neosmart.net/blog/2009/watch-youtube-videos-in-html5/
13:57
<danbri>
oh http://www.youtube.com/html5 :)
14:00
<TabAtkins>
If I've already installed a webkit nightly, and I'm staring at its folder right now, what do I click to make it run again?
14:00
TabAtkins
has tried FindSafari and run-nightly-webkit
14:01
<Rik|work>
TabAtkins: run-nightly-webkit should work
14:01
<Rik|work>
(if you have Safari installed)
14:02
<TabAtkins>
Yeah, I ran this particular nightly already. It keeps erroring out with a generic windows crash message, though. ;_;
14:06
<Rik|work>
oh, then I won't know
14:06
<Rik|work>
TabAtkins: is it the latest nightly ?
14:07
<TabAtkins>
No, from a few days back. Probably Tuesday.
14:07
<Rik|work>
then I'll suggest trying the latest nightly and if it still doesn't work, file a bug
14:09
<TabAtkins>
Doing so now.
14:10
<Dashiva>
How did I miss this for five months: http://technology.todaysbigthing.com/2009/06/25
14:14
<hsivonen>
Dashiva: that's rather depressing from the point of view of browser competition
14:16
<erlehmann_>
can a safari user test this ? data:text/html;,<video src="http://c13014-o.d.core.cdn.streamfarm.net/13014bundestag/ondemand/3777parlamentsfernsehen/archiv/app144277506/145293313/381248/381248_h264_720_576_2000kb_de_2192.mp4">;
14:19
<Rik|work>
erlehmann_: what do you want to test ?
14:19
<erlehmann_>
Rik|work, does it work with safari ? i heard there were some weird issues regarding h.264 profiles
14:20
<Rik|work>
it works in the nightly
14:20
<hsivonen>
erlehmann_: WFM in Safari 4 on SL if I add the controls attribute
14:20
<erlehmann_>
nice.
14:20
<Rik|work>
yeah, I add to add the controls attribute too
14:21
<Rik|work>
had
14:21
<hsivonen>
erlehmann_: now if Bundestag provided Theora video...
14:21
<erlehmann_>
Rik|work, now i'll just add that to something. wait.
14:22
<erlehmann_>
hsivonen, i'm doing a proof of concept right now and going to send that to the technician.
14:26
<Philip`>
erlehmann_: Make it work on an iPhone
14:26
<Philip`>
Then everyone will think it's really cool
14:27
<erlehmann_>
wait. i'm nearly done
14:28
<erlehmann_>
Philip`, hsivonen, Rik|work http://daten.dieweltistgarnichtso.net/src/bundestag-html5-demo/od_player.html
14:28
<erlehmann_>
video with two source elements and flash fallback
14:28
<erlehmann_>
theora, h.264
14:28
<erlehmann_>
does it work everywhere?
14:29
<Philip`>
Works in Firefox on Linux
14:29
<gsnedders|work>
Not in IE without Flash installed.
14:29
<Philip`>
(3.5)
14:30
<Rik|work>
erlehmann_: I can't really tell, I have the quicktime ogg plugin installed
14:30
<Philip`>
Works in Chromium on Linux too
14:30
<erlehmann_>
gsnedders|work, that's intented, you insensitive clod. ;)
14:30
<hsivonen>
erlehmann_: have you tested your embedding sample code from a different Origin?
14:30
<Philip`>
(playing the .ogv)
14:30
hsivonen
predicts it won't work
14:30
<gsnedders|work>
erlehmann_, You asked if there was anywhere it wouldn't work.
14:30
<erlehmann_>
hsivonen, there are no origin headers. why are you asking ?
14:31
<hsivonen>
erlehmann_: your demo page itself works in Minefield and Safari for me
14:31
<erlehmann_>
i salute all of you then :)
14:31
<erlehmann_>
lets hope the bundestag tech department also sees the merit of it.
14:31
<hsivonen>
erlehmann_: unless you use CORS to permit cross-Origin use of the .ogv video, I expect it not to work in Firefox cross-origin
14:32
<Philip`>
erlehmann_: What merit?
14:32
<Philip`>
erlehmann_: I assume their Flash version already works, and is easier to set up since there's fewer encodings :-)
14:33
<erlehmann_>
it does. but it is clunky and cumbersome. we'll see.
14:33
<hsivonen>
Philip`: video without the plug-in prison!
14:33
<erlehmann_>
playable with elinks and vlc-nox !!
14:34
<Philip`>
I don't know many prisons where 98% of the world are voluntary inmates, so that's not a perfect analogy
14:34
<Philip`>
(NB: I just made that number up)
14:34
<hsivonen>
Philip`: is Flash a voluntary inmate?
14:34
<gsnedders|work>
99.98% of all statistics are made up on the spot.
14:35
<workmad3>
Philip`: I think adobe advertises about a 95% install percentage of flash players in general
14:35
<Philip`>
Oh, it's a prison for technologies rather than for users?
14:35
<gsnedders|work>
workmad3, I think Adobe have an interest in that number being ficticously high
14:36
<hsivonen>
Philip`: as I understand it, when Adobe evangelists say "plug-in prison", they mean Chrome's or Safari's on SL out-of-process plug-in host
14:36
<workmad3>
gsnedders|work: true... they could be monitoring just sites which require flash installed ;)
14:36
<hsivonen>
Philip`: maybe I've understood their terminology wrong
14:36
<Philip`>
hsivonen: I assumed you were using the term in the sense of locking users into proprietary plugins
14:37
<erlehmann_>
Philip`, open standards are a minority right
14:37
<Philip`>
I do very much like how the browsers have right-click save-video-as commands
14:37
<Philip`>
which is a compelling advantage over Flash for a user
14:37
<Rik|work>
Philip`: is it ?
14:37
<Philip`>
though perhaps a disadvantage for video publishers
14:38
<Philip`>
Rik|work: Well, for some users at least :-)
14:38
<Philip`>
Rik|work: particularly the ones who use all these tools and extensions and services for downloading Youtube videos
14:38
<Rik|work>
Philip`: safari doesn't have that menu and there's a lot of easy to use tools to get the videos
14:38
<Philip`>
The tools are hard to use, because you have to find them and install them
14:38
<hsivonen>
Rik|work: I think it's a bug in Safari
14:39
<Philip`>
which takes a lot more effort than right-clicking
14:39
<Rik|work>
hsivonen: I think so too
14:40
<erlehmann_>
Rik|work, safari probably doesnt have a save menu for image either, amirite?
14:40
<gsnedders|work>
It does
14:40
<Rik|work>
erlehmann_: no you're wrong :)
14:41
<erlehmann_>
damn controc freaks
14:41
gsnedders|work
guesses it's more just nobody-bothered-to-implement-this
14:41
hsivonen
wonders if there's a law requiring German sites to have an "Impressum" or whether it's just a custom that everyone honors
14:42
<erlehmann_>
hsivonen, its required, at least for commercial sites
14:42
<hsivonen>
erlehmann_: ok.
14:42
<erlehmann_>
people got sued for it
14:42
<Rik|work>
"Impressum" ?
14:42
<erlehmann_>
though WHOIS is that function, in a way
14:42
<erlehmann_>
stupid legislators
14:43
<crash\>
Rik|work: imprint
14:43
<Rik|work>
well, I've learned a new word in both English and German
14:43
<crash\>
erlehmann_: domain whois is one thing
14:44
<erlehmann_>
crash\, the people who got sued were in almost all cases those who owned the domain.
14:44
<erlehmann_>
we have weird laws in here, well.
14:45
<crash\>
why that's wired?
14:45
<crash\>
only .de domain whoises contain personal data
14:46
<crash\>
it good for customers to check, which company own a website
14:46
<crash\>
so I think an imprint is a good thing
17:15
<Philip`>
The <base> proposal sounds pretty much exactly like xmlns prefixes and CURIEs
17:15
<Philip`>
(only for resolvable resources, rather than for identifiers)
17:16
<Philip`>
(and with different syntax)
17:16
<Philip`>
GPHemsley: People shoot down almost every single proposal because almost every single proposal deserves to be shot down ;-)
17:17
<GPHemsley>
meh :P
17:17
<Philip`>
The alternative would be accepting more proposals, thus making HTML far more complex than it already is
17:18
<GPHemsley>
"more complex" == "more useful", sometimes
17:18
<Philip`>
Sometimes, but rarely
17:19
<Philip`>
Few proposals are for features that can't already be implemented relatively straightforwardly with different syntax or with some scripting
17:20
<Philip`>
so they're not trying to make HTML more powerful, just trying to make it easier to use for certain cases
17:20
<GPHemsley>
perhaps, but I don't think every new feature should be off-loaded on a script
17:22
<jgraham>
They're not. For example no one has suggested using script rather than <video>
17:23
<Philip`>
GPHemsley: Nor do I, but features that are only useful to a tiny fraction of people will result in less global complexity if they're implemented in script by each of those people rather than being part of the standardised language
17:37
<TabAtkins>
hsivonen: The rumor is true. At least the MS guy I was around most of the time prints CSS specs.
17:52
<TabAtkins>
In current browsers, if I have two valid background rules for the same element the first (modulo specificity) will be discarded before it requests the image in it, right?
17:53
<TabAtkins>
(I'm wondering if I can switch on current gradient support while still falling back to a generated gradient image, without the generated image being requested in browsers that can do native gradients.
17:56
<JonathanNeal>
TabAtkins, you could use Modernizr
17:56
<JonathanNeal>
http://www.modernizr.com/
17:57
<TabAtkins>
Hmm, good idea. I'd have to ask if they're testing for FF gradients yet, though (probably not).
17:58
<TabAtkins>
Also: it actually still wouldn't answer my original question, because I'd have do something like "foo{ background:url()} .gradients foo { background:linear-gradient();}"
17:58
<JonathanNeal>
Tab_Atkins, Paul Irish, the guy who works a lot on it spends a good deal of time in the #jquery channel, you could ask him, but also http://github.com/Modernizr/Modernizr/commit/c36a886b4fec36a7461ba8d96174986bf4dc41be
17:59
<TabAtkins>
And I'm not certain that the browsers will toss away the former before making the request.
17:59
<TabAtkins>
JonathanNeal: Ah, thanks for the link. They do indeed test, then.
18:01
<TabAtkins>
(I'd use :not(.gradients) foo for the former, but that would defeat the purpose of making it useable in downlevel clients.)
18:02
<TabAtkins>
Alternately, I could just read wtf Modernizr actually does, and notice right on the front page that it would put *either* .gradients or .no-gradients on, so I can actively test for either.
18:02
<JonathanNeal>
:-)
18:10
<JonathanNeal>
he's alive!
18:13
<paul_irish>
TabAtkins: basically you set all the vendor specific css gradent css strings.. you apply them to an element.. and then you read whats in elem.style.backgroundImage .. if it contains the text 'gradient', you assume support
18:13
<TabAtkins>
paul_irish: Yeah, no confusion there. My question was related to whether or not a rule is discarded (when a more specific rule applies) before any resources requested in the first rule are requested.
18:14
<TabAtkins>
But Modernizr is set up so that I don't have to explicitly rely on specificity, so the question is moot at the moment.
18:14
<paul_irish>
i dig.
18:18
<ment>
hi
18:19
<TabAtkins>
Hi.
18:50
<JonathanNeal>
hi
19:11
TabAtkins
is convinced by a single example that we should be using asymmetric delimiters for our strings.
19:12
TabAtkins
believes, thusly, that all existing programming languages are badwrong.
19:12
<TabAtkins>
Except Lisp, and anything else with the equivalent of read-macros.
19:12
<virtuelv>
TabAtkins: and what is that single example?
19:12
<TabAtkins>
Something on a mailing list. Basically this code:
19:13
<TabAtkins>
(print <I'm a string containg <html> code.>)
19:13
<TabAtkins>
As long as you balance your delimiters within the string, no escaping is required.
19:16
<roc>
intriguing
19:18
Hixie
notes perl supports that
19:19
<TabAtkins>
You can't claim support for a syntax feature when every possible sequence of bytes is a valid program. ^_^
19:19
<Hixie>
print qq<I'm a string containg <html> code.\n>;
19:19
<Hixie>
...works as you want it to
19:19
<Hixie>
"qq" is an operator meaning "the next character is the start of a double-quoted string"
19:20
<Hixie>
so qq<...> is a stirng
19:20
<Hixie>
string
19:20
<TabAtkins>
Yeah, got that.
19:20
<Hixie>
if the first character is one of <, [, (, or {, then the close character is the matching one, and nested quotes are allowed
19:21
<TabAtkins>
I just used (make-string-reader #\< #\>) (the code for the function is trivial if you understand read-macros) and it was done.
19:21
<TabAtkins>
Erm, ignore the alien face if you see it. Should be a > followed by a ).
19:23
<TabAtkins>
But I suppose Perl slips in with "the equivalent of read-macros" for this case, since it *is* a language construct changing the parsing of subsequent code.
19:23
<Hixie>
qq< is just the same as "
19:23
<Hixie>
one uses this a lot with regexps
19:24
<Hixie>
s/.../.../ is the same as s"..."..." or s<...><...> or s&...&...&
19:24
<TabAtkins>
I do very much enjoy the ability to change the regexp delimiter.
19:25
<Hixie>
(you have to have spaces around there if the character you want to quote is a letter, so it doesn't get confused for an identifier, but going there is just silly.)
19:25
<TabAtkins>
I didn't know about the details of the third one, though (s<…><…>).
19:25
<TabAtkins>
I've used s|…|…| before, when working with paths.
19:26
<Hixie>
yeah i use | a lot
19:30
<virtuelv>
I'll grant you the "intriguing"
19:31
<virtuelv>
incidentally, this ambiguity, together with the hard-to-type proper English quotation marks is why I'm trying to abandon said quotation marks in text
19:31
<virtuelv>
and stick to guillemets for all languages
19:31
<virtuelv>
lack of ambiguity, even
19:32
<Hixie>
i think mjs and i just fell for the same trick
19:32
<TabAtkins>
I'm actually about to go assign the curly quotes to my keyboard. AltGr is useful.
19:32
<Hixie>
mikesmith's e-mail has reply-to: public-html, but he asks for replies to him
19:32
<TabAtkins>
So what's the trick?
19:34
<Hixie>
the reply-to
19:35
<TabAtkins>
I may be parsing your sentence differently than you intend me to. Was it a trick, or just a mistake?
19:35
<Hixie>
mike tricked us into making am istake
19:37
<TabAtkins>
Do you presume it to be an intentional trick?
19:37
<gsnedders|work>
Yes, MikeSmith is pure evil.
19:37
<TabAtkins>
kk, will keep that in mind.
19:38
TabAtkins
thought that anybody with a cowboy hat can't be *all* evil…
19:40
TabAtkins
is also annoyed that javascript isn't a true functional language, so he can't easily pass operators as arguments to functions.
19:42
<TabAtkins>
Oh! Also, anyone who interacted with me on Friday should be aware that I was coming down with a head-cold at the time. It's nothing serious, but also not very comfortable.
19:42
<roc>
oh please
19:42
<roc>
very few functional languages support passing operators as arguments to functions
19:43
<TabAtkins>
Yes, which is what annoys me. I've gotten used to it.
19:43
<roc>
because in statically typed languages, overloading issues get in the way
19:43
<TabAtkins>
Haskell is statically typed and is fine with it.
19:44
<roc>
good for them
19:44
<TabAtkins>
The issue is probably languages with insufficiently advanced static typing. I don't use those languages.
19:47
TabAtkins
doesn't use languages with sufficiently advanced static typing either, fwiw. Strong dynamic typing rox my sox.
19:50
<Dashiva>
TabAtkins: Is it that different from passing a function pointer instead?
19:51
<TabAtkins>
Dashiva: Not materially.
19:51
<TabAtkins>
But you have to create a function that mimics the operator first.
19:51
<Dashiva>
Isn't that a 10-character lambda?
19:51
<TabAtkins>
Slightly longer, generally, in js, but yes.
19:52
<TabAtkins>
It just annoys me to have to throw wrapper lambdas around when I've got the function right in front of me, but the language's syntax doesn't allow me to use it.
20:06
Philip`
likes it when language syntaxes are optimised for the common case, rather than being equally average for writing all imaginable code
20:07
<TabAtkins>
Oh, agreed, certainly. My common case is passing around everything as a function.
20:08
<TabAtkins>
Which is why I was annoyed. Not saying it's wrong to do otherwise.
20:09
<Philip`>
Sounds like you need to spend more time calling functions and less time just passing them around everywhere ;-)
20:10
<TabAtkins>
Bah. Nothing wrong with wanting to do [1,2,3].reduce(+);. ^_^
20:11
<Philip`>
I prefer 1+2+3
20:11
<Philip`>
Actually I'd just write 6
20:12
<TabAtkins>
Nice when you can do so.
20:12
<Philip`>
Or I'd write sum(numbers)
20:12
<TabAtkins>
Not so much when you have an array you need to sum. (Or in the more general case, when you have an array you need to do something arbitrary to.)
20:14
<TabAtkins>
I'd probably write a sum function as well. But I'd prefer to implement it with fast functional forms, because they're so easy.
20:14
<TabAtkins>
But anyway, I was just whinging about preferences. Not making technical points.
21:00
virtuelv
reads hixie's mail to public-device-apis
21:00
<virtuelv>
and notes that Opera's long-standing strawman proposal meets every requirement
21:00
<virtuelv>
and that also is able to treat archives transparently as if they were folders
21:01
<virtuelv>
(useful for reading (open-)office documents
21:24
<TabAtkins>
Where's the note that devices without sufficient resources to, frex, play videos can just *not* play the video?
21:24
<TabAtkins>
I'm certain there's a generic note to that effect, but I'm having trouble finding it.
21:25
<TabAtkins>
(can do so without being nonconformant, that is)
21:25
<Philip`>
The one about arbitrary resource limitations which basically means you can disregard the entire spec and still be conforming?
21:28
<TabAtkins>
Yes.
21:30
<Philip`>
http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#conformance-requirements
21:31
<Philip`>
"User agents may impose implementation-specific limits on otherwise unconstrained inputs, e.g. to prevent denial of service attacks, to guard against running out of memory, or to work around platform-specific limitations." ?
21:32
<TabAtkins>
Okay, that was the line I thought it might be, but I wasn't entirely clear on it.
21:32
<TabAtkins>
I'm guessing that sort of thing falls under "platform-specific limitations".
22:51
<Hixie>
my package has been "out for delivery" for 10 hours now
22:51
<Hixie>
exactly how long can it take to deliver packages from one truck to places around the town?
22:52
<JonathanNeal>
You'll find out.
22:53
<Hixie>
i'm skeptical the package exists
22:53
<Hixie>
it's the third one i've ordered, the previous two being canceled for being "out of stock" after 4 weeks each
23:07
<JonathanNeal>
Moon People 2 ?
23:07
<Philip`>
You should parallelise by ordering three at once, then getting a refund if more than one arrives
23:21
<Hixie>
Philip`: sending stuff back is a huge pain