# [00:15] <Lachy> his first mistake is using HTML Tidy. That has never been a good tool to encourage developers to use for general development.
# [00:15] <Hixie> so pretty much anything we do in text/html is going to give him issues
# [00:15] <zcorpan__> i guess those authoring tools also mangle general web content since clearly they're not parsing html in a way compatible with browsers
# [00:15] <Hixie> not much we can do about that given the constraints we're working with
# [00:15] <daedb> Hasn't that guy given up yet? He should just stick to XHTML and be done with it.
# [00:16] <Lachy> HTML Tidy has limited utility in cleaning up markup from some other source, which is a complete mess when obtained. In that case, running through tidy as an initial clean up step us acceptable
# [00:18] <zcorpan__> can't tidy be run with a set of parameters to make it aware of the new tags?
# [00:18] <AryehGregor> If html5lib becomes more mature and adds a "kill invalid stuff through any means necessary" feature, it would be nice to switch to that, but that doesn't seem likely in the immediate future.
# [00:18] <zcorpan__> not that it'll fix the doctype or <a><div> problems though
# [00:18] <zcorpan__> or other general compat problems tidy has
# [00:24] <Lachy> if there are any plans to add an HTML-Tidy-like feature to html5lib, or to base such a tool on it, then there are some things in the parsing algorithm that should be avoided, or at least be careful about them
# [00:25] <Lachy> in particular, the adoption agency algorithm, that can end up creating unwanted duplicate elements just by the accidental omission of an end tag
# [00:25] <foolip> hmmm, what should be done instead then?
# [00:27] <Lachy> The parsing algorithm says to insert a new b element into the second paragraph. But it's more likely that the actual intention is to have the b element closed somewhere before the first paragraph
# [00:27] <Lachy> I've seen the problem occur many times in forums that allow markup, but which don't sanitise it well. An unclosed link or b element, or something, can screw up the rest of the page
# [00:28] <zcorpan__> inducing intention and moving away from the parsing algorithm seems like moving into Tidy land of incompatibility
# [00:28] <zcorpan__> <p>foo<b>bar<b>baz</p> - there the second b tag is probably intended to be an end tag
# [00:29] <foolip> perhaps sanitize comments/posts one-by-one rather than sanitizing as the last step before output?
# [00:29] <zcorpan__> and in <p>foo/p> there's probably a < missing
# [00:30] <zcorpan__> the second example is even valid html
# [00:30] <Lachy> zcorpan__, yeah, that's true too. That case might also be detectable, but I'm sure there are limits to what can reasonbly be done. But the goal of a tidy program should be to make a best effort at giving a reasonble result, and not give something that is wildly unexpected and/or require significant cleanup afterwards
# [00:32] <Lachy> in the case of an unclosed inline element, choosing not to reopen it again is the least detrimental choice that won't require too much author intervention to clean up again. But inserting a bunch of new elements into subsequent paragraphs will take more time for the author to then go and strip them
# [00:32] * Quits: erikvold (n=erikvold@S01060024012860e9.gv.shawcable.net) ("me so sleepy")
# [00:32] <AryehGregor> Lachy, as long as the output is parsed by browsers the same as the input would have been, is it really the sanitizer's problem?
# [00:32] * JonathanNeal_oww is now known as JonathanNeal
# [00:33] <Lachy> AryehGregor, if the sanitizer is supposed to help developers, then it should give a better result than what browsers are forced to do for compatibility reasons
# [00:33] <AryehGregor> Lachy, not if it's being automatically run on every page save or whatever. If you're planning on editing the output manually, that's different.
# [00:33] <Lachy> huh? I think you might be considering a different use case from what I am.
# [00:34] * Quits: workmad3 (n=workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com) (Remote closed the connection)
# [00:34] <AryehGregor> Wikipedia runs Tidy on the user-submitted content in every page before serving it.
# [00:34] <AryehGregor> It's run as part of the wikitext parsing, toward the end.
# [00:35] <AryehGregor> Basically just for the sake of validating.
# [00:35] <Lachy> my use case is an author writing some content in a CMS, and submits it. The CMS then checks the input and finds unclosed elements. It could either point out the error and return the markup unchanged for the user to continue editing, or ...
# [00:35] <AryehGregor> Or just silently fix it and publish.
# [00:35] <Lachy> it could offer to clean it up in a sensible way
# [00:35] <AryehGregor> "Offer" is bad UI, most authors don't care, just do it.
# [00:42] <Lachy> yeah, that's the wrong way to clean it up. It should be nice to the author and not put the b in the second paragraph
# [00:42] <zcorpan__> what if the author wanted the second paragraph to be bold?
# [00:42] <Lachy> but I mean, click the edit link and see the source wiki text. I didn't mean in the generated page source
# [00:43] <zcorpan__> it would be annoying to fix mistakes if the source was tampered with
# [00:43] <Lachy> then they can put a b in the second paragraph manually. An accidentally unclosed element is more likeliy than an intentional mis-nested element
# [00:44] <AryehGregor> Lachy, users mostly use wikitext for bold, which behaves as you describe.
# [00:45] <AryehGregor> Because we'd have to parse it reliably, and wikitext is so complicated that we can't really parse it, we just apply a bunch of magical transformations that turn it into HTML.
# [00:45] <Lachy> sure, with wikitext being as haphazardly designed as it is, I'm sure trying to automate cleaning of it would be a total nightmare
# [00:46] <AryehGregor> Anything related to wikitext is a total nightmare.
# [00:46] <AryehGregor> It sounded like a great idea, but it was one of the worst mistakes wikis made.
# [00:46] <Lachy> I hate wikitext. I wish it was never invented.
# [00:46] <AryehGregor> The idea was reasonable in the era before WYSIWYG editors were reliably available for the web.
# [00:46] <AryehGregor> It's a lot easier to edit than raw HTML.
# [00:46] <Lachy> surely, there would be a way to migrate away from it
# [00:46] <AryehGregor> But now it's become counterproductive.
# [00:47] <AryehGregor> Do you have any idea how many times this has been discussed? :)
# [00:47] <AryehGregor> It would require an enormous amount of work to migrate away.
# [00:47] <AryehGregor> First of all, we'd need to invent some new language with all the same features, and be able to convert wikitext to that.
# [00:47] <TabAtkins> I think very simple forms of wikitext, such as Markdown, are still a great idea. Going beyond should just be normal HTML, though.
# [00:47] <Lachy> but generating HTML markup from the wikitext is the easy part. That's already done. You would just need to have a system that spends a lot of time generating and storing the HTML markup
# [00:48] <AryehGregor> No, because wikitext contains tons of info beyond the raw HTML.
# [00:48] <AryehGregor> Like template calls, for instance.
# [00:48] <AryehGregor> The templates are substituted into the wikitext before parsing.
# [00:48] <AryehGregor> We'd have to make up our own syntax one way or another, it can't be pure HTML.
# [00:48] <Lachy> yeah, those have to be dealt with in a special way
# [00:48] <AryehGregor> Also other features like that, categories and such.
# [00:49] <AryehGregor> Which, by the way, can be added via template, so it's not enough to just edit them separately like most software does.
# [00:49] <Lachy> but it could be based more on HTML markup, rather than crazy random wikitext syntax
# [00:49] <AryehGregor> Yes, we'd probably have to do something HTML-ish. Except that would probably mean using XML, which would be seriously painful to manually edit.
# [00:50] <AryehGregor> And not everyone would want to use WYSIWYG
# [00:50] <Lachy> editing HTML in a browser is only a pain because it lacks any kind of useful editing features, like syntax highlighting, autocompletion, etc.
# [01:15] <AryehGregor> On a random note: who decided that GNOME Mines should be classified under "Games > Logic"? Someone who never played Minesweeper in their life?
# [01:15] <Philip`> Makes sense to me, since it's almost entirely logic
# [01:15] <Philip`> other than random guessing at the start
# [01:16] <GarethAdams|Home> it's not random guessing at the start really
# [01:16] <AryehGregor> Except for the fact that if you actually play it, you see the right spots by reflex and never have to apply logic?
# [01:16] <GarethAdams|Home> the first click should be guaranteed not to be a mine
# [01:16] <Philip`> The second click often has to be a random guess :-)
# [01:17] <AryehGregor> Philip`, not in the GNOME version. The first click is always guaranteed to have no adjacent mines, so it reveals a whole area.
# [01:17] <GarethAdams|Home> AryehGregor: you just mean, you can work it out by using the visible information?
# [01:17] <GarethAdams|Home> AryehGregor: sounds logical to me
# [01:17] <Philip`> AryehGregor: That's just applying pattern-recognition to determine the logical solution without having to recompute the logic every time
# [01:18] <Lachy> the windows version is not guaranteed to have no adjacent minds. Often, you'll click a square that just gives a 1, making the next click a random guess. Other times, you'll get a large area cleared
# [01:18] <AryehGregor> a) On many/most large boards, you end up having to guess at some point late in the game.
# [01:18] <Lachy> I normally hit the four corners first and then proceed
# [01:18] <TabAtkins> AryehGregor: With a sufficiently high density of mines, logic *is* requires at some points.
# [01:18] <TabAtkins> And yes, at least one guess becomes required in many boards.
# [01:18] <AryehGregor> b) It ends up being mostly pattern-recognition, with only a few small spots of logic required now and again.
# [01:18] <Philip`> I normally just edit C:\WINDOWS\WINMINE.INI to get the top score
# [01:18] * Lachy wonders if there's a Minesweeper for Mac
# [01:20] <AryehGregor> GarethAdams|Home, sure poker is, you have to logically evaluate your opponent's reaction to various possible options of facial expression.
# [01:20] <TabAtkins> Until you build your pattern recognition skills, logic is certainly required to deduce some locations.
# [01:21] <Philip`> foolip: I'd assume people who live in proximity to wikis are quite used to loud arguments by now
# [01:21] <AryehGregor> Philip`, sure it is, you have to logically compute the physical trajectory of the pinball given your timing in hitting the flipper.
# [01:21] <TabAtkins> And even then, there are some configurations that I know I've run into that aren't pattern-recognizable without an absurdly large (for a human) pattern database.
# [01:23] <GarethAdams|Home> AryehGregor: getting a high score is reflex based. the game itself is logical
# [01:23] <TabAtkins> I've had situations where I've had to sit down and say "Okay, that 3 implies that there are at least two mines in this area, which is covered by a 5, which already has a mine marked, and also partially overlaps the area of this 2…"
# [01:23] <Philip`> and not e.g. recognising cats vs dogs
# [01:26] <AryehGregor> TabAtkins, yes, once in a while. But it does not belong in the same category as, say, sudoku.
# [01:26] <TabAtkins> Pfah. Sudoku is nothing more than pattern-recognition.
# [01:26] <Philip`> AryehGregor: A pattern a compute can easily deduce
# [01:26] <TabAtkins> There are a handful of very simple patterns to apply to the board to solve it.
# [01:27] <Philip`> AryehGregor: Sudoku is reflex-based pattern recognition if you're good at it :-p
# [01:27] <GarethAdams|Home> sudoku is a reflex game
# [01:27] <AryehGregor> Okay, so let's just agree that "Logic" is a stupid category and be done with it.
# [01:28] <TabAtkins> I'd rather agree that your use of "logic" is wrong and bad. ^_^
# [01:28] <TabAtkins> Anyway, off to play video games! Wee!
# [01:28] <Philip`> I'll happily agree that Logic is a useful category that normal people would understand as being a sensible way to distinguish minesweeper and pinball
# [01:29] * Philip` notes that AryehGregor is continuing his theme of arguing with people and getting nowhere ;-)
# [01:29] <AryehGregor> On a different note, I commend the GNOME developers for managing to make a Minesweeper implementation that's visibly slow and unresponsive.
# [01:53] * Hixie is in a customer support "chat" with t-mobile when the support person just wrote "I can really appreciate the concern in needing to get this taken care of for you. I would feel the same way if this were to happen to me,Customer Name."
# [02:03] <zcorpan__> injecting http headers somehow (maybe using a linebreak in x-forwards-for)
# [02:04] <Hixie> AryehGregor: i bought a sim card with a plan and they told me it had an error, then tried to buy a sim card with a plan again and they didn't credit my account with the amount i paid
# [02:25] <Lachy> Hixie, seriously, what is wrong with the telco's on the US?! They seem to have so many crazy ways of operating
# [02:26] <Hixie> yeah apparently being a bandwidth provider in the US requires you to be incompetent
# [02:26] <Hixie> it's probably an FCC regulation or something
# [02:28] <Lachy> I suppose I can't really laugh. I've had enough trouble with Apple support recently, and the guy on the phone today seemed totally uninformed about the issues.
# [02:29] <foolip> Lachy: Manu says hi to your arm
# [02:30] <foolip> not really, he says "PS: Tell Lachy that I hope his arm feels better soon. :)"
# [02:30] <Lachy> my Time Capsule died, and the result of the conversation ended up being that I have a choice: 1. Get a new Time Capsule and lose all the data on it; or 2. Open it up, pull out the disk and put it into a new enclosure, but lose the warranty
# [02:30] <Lachy> oh, that's nice of him, I guess.
# [02:30] <Lachy> was this in an e-mail discussion, or some private chat between you two?
# [02:39] <Hixie> it's a hardware enclosure for 4 hard disks that uses a proprietary raid-like solution for redundancy, in which you can hot-swap drives and expand capacity by adding more drives or increasing the size of any of the drives.
# [02:39] <Lachy> Hixie, because I haven't been using it just for time machine backups
# [02:41] <Lachy> also, I might be able to get the power supply fixed
# [02:41] <AryehGregor> Hixie, why not just use software RAID?
# [02:42] <Hixie> AryehGregor: well, it requires software support, and it doesn't let you mix-and-match drives or hot-swap them while the machine is running
# [02:42] <Lachy> AryehGregor, because the Drobo is so much better
# [02:42] <Hixie> (indeed, while the disk is in use)
# [02:42] <AryehGregor> Hixie, software RAID lets you mix-and-match drives and hot-swap them while the machine is running.
# [02:43] <AryehGregor> At least, good software RAID (by which I mean Linux).
# [02:43] <Lachy> AryehGregor, having a dedicated hardware raid handle it is useful since it doesn't waste CPU resources on managing the disks
# [02:44] <AryehGregor> I have one RAID10 partition on two 500G disks, and one RAID1 on an 80G SSD and a 160G normal hard drive, set to read only from the SSD and delay writes to the hard drive.
# [02:44] <AryehGregor> Lachy, CPU overhead for RAID is typically trivial, especially if it's not RAID5 or 6.
# [02:44] <AryehGregor> I can hot-swap drives using regular old SATA hotplug.
# [02:44] <Lachy> Raid 5 or 6 are the better alternatives though
# [02:44] <AryehGregor> Only if you really need the space.
# [02:45] <AryehGregor> Also, only useful if you have three or more drives.
# [02:45] <AryehGregor> Well, for RAID5/6 the CPU usage is still typically not much at all.
# [02:45] <Lachy> I have so many terrabytes of DVD rips and downloaded shows, I can't waste any of it
# [02:46] <AryehGregor> Can you put your root filesystem on this Drobo thing? What interface does it use, eSATA or something?
# [02:46] <Lachy> it also depends what you're using it for. I have a RAID 1 and a RAID 0 setup on in PC, with 2 disks each, which. One for the system, one for other user data.
# [02:48] <AryehGregor> RAID0 is lame. I hate the thought of downtime just because some stupid disk failed.
# [02:48] <AryehGregor> (even for my desktop, yes)
# [02:48] <Lachy> but I can't possibly have a RAID within my MacBook Pro or iMac, since their hardware just doesn't support it
# [02:49] <AryehGregor> What? You can use software RAID on any hardware.
# [02:49] <AryehGregor> At least, if you use a decent OS.
# [02:49] <AryehGregor> Er, unless you only have one disk, I guess.
# [02:49] <Lachy> RAID0 is good if you just care about the performance, rather than worrying about drive failure
# [02:50] <AryehGregor> Wikipedia uses/used RAID0 for all its database servers!
# [02:51] <AryehGregor> But they're all replicas, so . . . worst that happens is the site goes read-only for a while until a sysadmin promotes a slave to master, if the master fails.
# [02:51] <Hixie> AryehGregor: i guess you do the software raid with some sort of external disk enclosure?
# [02:51] <AryehGregor> Hixie, no, I just open up my computer and replace the drives.
# [02:51] <AryehGregor> SATA hotplug works fine for internal drives.
# [02:51] <Lachy> I'd still need some external enclosure to hold all the disks, so I may as well pick an external enclosure that handles all the raid stuff transparently for me, regardless of which machine I'm accessing it from
# [02:51] <AryehGregor> Just don't brush against the fans, they can sting.
# [02:51] <Hixie> AryehGregor: my two drobos are connected to a mac mini. The mac mini is about the size of one of the 7 disks.
# [02:59] <AryehGregor> They don't have DOS. Do you mean cmd.exe?
# [02:59] <Hixie> AryehGregor: that's what i always do. The only apps I have running on this mac right now are Terminal with SSH sessions, Chrome for the Web, and a VNC client.
# [02:59] <Hixie> (i use vnc to control itunes running on the aforementioned mac mini which acts as my tv)
# [03:00] <AryehGregor> Hixie, hah. So you do all your work on servers, or you have a desktop somewhere you're SSHd to?
# [03:00] <Hixie> most of my work is done in emacs and pine on hixie.ch (aka whatwg.org)
# [03:00] <AryehGregor> When I'm at school I generally do assignments with vim and pdflatex remotely.
# [03:00] <AryehGregor> (so actually on my desktop)
# [03:00] <Lachy> AryehGregor, yes, of course. It's still supports the same old DOS commands
# [03:00] <AryehGregor> Lachy, DOS is the name of an OS, not a command line.
# [03:01] <Lachy> well, I was using the term loosely
# [03:02] <AryehGregor> That's like calling an elephant a hippopotamus because they're both big and gray.
# [03:03] <foolip> what is the name of the shell used in DOS?
# [03:03] <JonathanNeal> That's like calling a hippopotamus a Dorian.
# [03:03] <Lachy> geez. No need to make such a big deal out of the terminology.
# [03:04] <AryehGregor> Assuming it had a name, back in the day.
# [03:04] <Lachy> foolip, I don't think it has a separate name. It's easiest to just call it the dos shell. AryehGregor, that's just the name of the executable
# [03:04] <AryehGregor> "DOS shell" is probably right, yeah.
# [03:05] <AryehGregor> Lachy, c'mon, this is a software standards channel, you expect to get away with conflating a shell with an OS?
# [03:06] <Lachy> I think I still have a copy of DOS 5 lying around, though probably back in Aus. I wonder if it still works, or if the floppy has given up.
# [03:12] * Quits: MikeSmith (n=MikeSmit@tea12.w3.mag.keio.ac.jp) ("Tomorrow to fresh woods, and pastures new.")
# [03:17] * Quits: archtech (i=stanv@83.228.56.37) (Remote closed the connection)
# [03:17] <AryehGregor> I read the FAQ for Intel's SSD cleaner program thing recently.
# [03:18] <AryehGregor> Last question: "Q: Will there be a Linux version available? A: No, we're just going to get this functionality built into the stock kernel."
# [03:18] <AryehGregor> That's so totally representative of Windows vs. Linux. Windows: install some dubious third-party program to do anything, probably containing malware or at least nagware, unless it costs money. Linux: works out of the box (if at all, admittedly).
# [03:19] <AryehGregor> My father was impressed when he plugged in his iPod to a Linux laptop and it popped up an iTunes imitation, preinstalled.
# [03:25] <Lachy> well, it's a command line, for starters. And the GUIs I've seen for it have not been designed for user friendliness
# [03:26] <Lachy> I think the iTunes AppStore model should be adopted for computer software, except without the DRM
# [03:27] <AryehGregor> The Ubuntu Software Center is fairly user-friendly.
# [03:27] <AryehGregor> So was their old one, Add/Remove Applications.
# [03:27] <AryehGregor> Of course you can't add/remove arbitrary packages with those, you have to use Synaptic for that, which is pretty awful.
# [03:27] <Lachy> maybe they've improved it since I last tried ubuntu a couple of years ago
# [03:28] <Lachy> but I still hate ubuntu, since it's so ugly and gets even the most basic UI things wrong
# [03:28] <AryehGregor> The Software Center is new in 9.10. They plan to improve and expand it in the future to be a single central well-designed package management GUI.
# [03:28] <AryehGregor> You mean compared to other Linux distros, or compared to Mac/Windows?
# [03:29] <Lachy> well, compared to other linux distros, it's not so bad. But compared with Mac and Windows, it's horrible to use
# [03:30] <AryehGregor> I don't use Mac much, but it seems only slightly worse than Windows if you stick to very common tasks. If you stray off the beaten path, though, you very quickly end up at a command line.
# [03:31] <AryehGregor> I'm curious to know what particular things you had in mind, though.
# [03:31] <Lachy> it's equivaelent to Windows Explorer or Finder (whatever it's called in Linux) was really bad, since it had no simple tree view pane (I even have this complaint about Mac, but at least column view is acceptable)
# [03:31] <AryehGregor> This is where I start saying "Oh, I dunno, I always use the command line for that."
# [03:32] <Lachy> right. Being forced to use the command line for even simple file system navigation is a pain
# [03:32] <AryehGregor> I'm not even sure what a tree view is. I can't recall ever using that on Explorer.
# [03:32] <AryehGregor> In Explorer. Windows. You know.
# [03:32] <AryehGregor> (BTW, the GNOME file manager is Nautilus, KDE's is Konqueror, Xfce's is Thunar, . . .)
# [03:33] <Lachy> that's the most efficient way to navigate around in Windows Explorer.
# [03:33] <AryehGregor> Konqueror has a column-view thingie that seems to look vaguely like I remember Finder looking like.
# [03:34] <AryehGregor> Although I don't know, since I rarely use Mac.
# [03:34] <AryehGregor> Aha, thunar has what you want.
# [03:35] <Lachy> another thing I hated was the mouse drivers sucked. No matter how I adjusted the speed, it was never right. It was always either too slow or too fast. It seemed to lack the intelligence that the Windows drivers have
# [03:35] <AryehGregor> GNOME usually avoids giving you options like tree view vs. normal view.
# [03:35] <AryehGregor> Really? Odd. Never noticed that.
# [03:36] <Lachy> perhaps your used to the inferior mouse driving. Most people don't adjust their mice speed anyway and put up with the RSI-inducing defaults.
# [03:36] <AryehGregor> It seems the same as Windows, anyway.
# [03:36] <Lachy> well, that's an improvent. But still ugly as hell
# [03:37] * karlcow using keyboard to navigate most of the time in Mac OS X finder.
# [03:37] <Lachy> the font is terribly large and the letter spacing is too much.
# [03:37] <AryehGregor> Heh, I guess everyone has different preferences. I don't care much about aesthetics, and am happy with command lines.
# [03:38] <Lachy> I don't mind command lines to do some things. But i can't possibly handle doing everything in command lines
# [03:39] <AryehGregor> I use GUIs for IRC and web browsing, that's it. I do basically everything else by command line.
# [03:39] <AryehGregor> Well, a few other random things I also use GUIs for, like FTP.
# [03:40] <karlcow> a lot about the UI prefs depends on habits.
# [03:40] <Lachy> I used to use a GUI for FTP stuff. But since there are no good FTP clients for Mac, I mostly just use scp and ssh
# [03:40] <AryehGregor> I do that too, except when I have to deal with web hosts where I only have FTP access.
# [03:41] <Lachy> I don't deal with web hosts that don't offer shell access any more
# [03:42] <karlcow> Lachy: did you try the finder for ftp?
# [03:42] <AryehGregor> I don't except for my synagogue's website, which I manage.
# [03:42] <AryehGregor> I tried Nautilus for FTP, but it didn't work well, can't remember the details.
# [03:43] <AryehGregor> I could probably just find a command that syncs files over FTP, like scp for FTP, with some kind of login caching. Then I wouldn't have a use for Filezilla.
# [03:44] <othermaciej> I wonder if any of my old code is still in Nautilus
# [03:45] <AryehGregor> Probably, if you submitted any noticeable amount. It's amazing how old code sticks around forever.
# [03:45] <AryehGregor> Until you want to burn it with fire.
# [03:45] * AryehGregor just ran across a JS file in MediaWiki that had UA checks for IE4 and NN4, srsly
# [03:46] <othermaciej> I was one of the main developers of Nautilus in the early days
# [03:46] <othermaciej> but I have no idea how much it's been rewritten since then
# [07:32] <erlehmann> eli__, what exactly do you want ?
# [07:34] <eli__> I want streaming boardcasting by use html5's video tag.
# [07:36] <NickYoung> eli__: as Hixie says, that's already theoretically possible. You set the video source to a network resource and there's a chance the backend will attempt to stream it.
# [07:40] <NickYoung> eli__: It is up to the browser (or more specifically, the multimedia backend) to determine if it can start playback before it has downloaded the entire media file
# [08:32] <Hixie> so i don't know how they did it, but it doesn't seem like the kernel has that much say on what is going on
# [08:32] <hsivonen> but if it shows up as a USB/Firewire disk, it seems to me that the kernel of the host computer has to be participating in file system access
# [08:32] <tiglionabbit> is full text search going to be in the database spec?
# [08:32] <tiglionabbit> it's in gears, and it's helpful
# [08:33] <Hixie> tiglionabbit: database spec is pretty much stalled since microsoft and mozilla refuse to implement it (assuming you mean the sql one)
# [08:33] <hsivonen> they could have the device know about a few file systems to read the device for free space (and to re-RAID it when needed)
# [08:34] <Hixie> though one of my damaged disks is in a state where if i plug it into a mac computer the mac hangs because the kernel goes mad trying to do something with the journal
# [08:34] <Hixie> (which it can't since the disk is dead)
# [08:35] <Hixie> and i can't get a mac to reformat the disk
# [08:35] <Hixie> since it immediately tries to fix the disk, thus hanging until i unplug the disk...
# [09:03] <Hixie> and the spec, for features that were in html4, also certainly -- the html5 spec is far better at describing those features than html4 was, even in its current draft form
# [09:03] <Hixie> i would be careful with the new features though
# [09:03] <Hixie> e.g. i wouldn't use <article> yet (though many people are doing so, so what do i know)
# [09:04] <Hixie> if IE supports a feature (e.g. onhashchange), it's pretty stable
# [09:04] <tiglionabbit> I'm curious -- is there anything stopping web browsers from implementing <script type="text/python"> ?
# [09:05] <tiglionabbit> I guess a spec for how the dom should work in other languages perhaps
# [09:06] <Hixie> a spec, a reason, time, and money :-)
# [09:09] <tiglionabbit> is there any reason why <article> or <arbitrary-tag> wouldn't work already? They have been style-able in gecko and webkit for some time now, and I think there's some way to get IE to do it too
# [09:10] <tiglionabbit> does html5 have instructions for what should happen when unknown tags are encountered?
# [09:10] <Hixie> you have to use hacks and styles and stuff to use things like <article>
# [09:10] <Hixie> html5 defines everything like that, yes
# [09:10] <Hixie> should make it easier to introduce new elements later
# [10:11] <MikeSmith> hsivonen: so I notice that a year or so ago George submitted a jing patch that improves reporting for missing-attribute and missing-element cases
# [10:35] <Lachy> You wrote: "I think it's better to just use itemtype="" everywhere you want to start a new vocabulary" - but in the vCard example foolip gave, the nested adr stuff isn't a new vocabulary. I thought foolip's idea was that it should default to inhereting the itemtype
# [10:35] <Lachy> But in the somewhat contrived example you gave, where they are different, it does make sense to require an explicit itemtype
# [10:48] <Hixie> i really meant a new set of name-value pair names
# [10:49] <Lachy> well, it shouldn't be. That seems very unintuitive to require the author to repeat the same itemtype again, and I don't expect most authors using the vCard vocabulary will remember that
# [10:52] <Lachy> but they're part of the same vcard vocabulary
# [10:53] <Hixie> only to the same extent that the "reload()" method on the Location object is part of the Window object
# [10:53] <Lachy> so, if an author doesn't care about the RDF conversion, can they get away without using an explicit itemtype, and still express the semantics they want?
# [11:22] <Philip`> "a proprietary raid-like solution for redundancy" - can you still get read access to your data without relying on a proprietary solution, e.g. if your Drobo hardware dies and nobody manufactures them any more?
# [11:25] * Quits: primal1 (n=primal1@pool-72-67-53-59.lsanca.fios.verizon.net) (Remote closed the connection)
# [11:43] <danbri> ok, you load the class definition, and realise it's a subclass of one you have some built-in UI widget to display ... so the user gets a slightly prettier ui
# [11:43] <danbri> eg. doap:Project says it is subclass of foaf:Project, and you had a layout hardcoded for projects, keyed off the foaf:Project uri
# [15:13] <cyberix> Would it be possible to add a <audio generator="soundgen"> to the spec, where soundgen would be a js function returning a tiny chunk of sound, and would be called in a loop by the browser?
# [15:14] <cyberix> also, what is the best way of contacting the folks who discus the audio element?
# [15:20] <cyberix> Philip`: I understood you could use a latin-1 string, list of integers, or data url
# [15:20] <cyberix> Philip`: Any of those seems ok to me
# [15:21] <cyberix> Lachy: the function should be able to do anything to produce the sound. That is the point of it
# [15:22] <Lachy> cyberix, you haven't given any indication about what the API itself would look like
# [15:22] <Lachy> or would it just create the sound from the function's return value or something?
# [15:23] <Lachy> Iif so, that seems very limiting)
# [15:23] <cyberix> Lachy: the functions return value would be sound
# [15:23] <cyberix> Lachy: it is the opposite of limiting
# [15:23] * Philip` doesn't know if push or pull APIs would be better
# [15:23] <Philip`> Pull seems harder for browsers to handle nicely, since they don't know how long the function is going to take or how much sound it's going to return, so they don't know how early to call it
# [15:24] <Lachy> so then it would have to generate the entire sound all at once, and return it as a single value in some undefined format?
# [15:24] <cyberix> Lachy: no, it would return a chunk of sound
# [15:24] <Philip`> whereas the script running in the page should have a better idea of those things, and of how much latency is acceptable
# [15:24] <Lachy> push seems like a much more reasonable approach, and is more in line with how canvas works
# [15:24] <cyberix> Lachy: and the browser would call it again to retrieve more
# [15:25] <hsivonen> changing rang/lang sucks for roundtripping
# [15:25] <Lachy> ok, but what format would it be requried to return? Would script authors be required to generate binary PCM data or something?
# [15:25] <cyberix> Lachy: PCM would probably be good
# [15:25] <hsivonen> if you serialize to ⟨ ⟩, the result is round-trip-incompatible with old HTML parsers
# [15:25] <Lachy> that would be very complicated. I wouldn't expect most authors to be able to write a script that can generate sound and output PCM data.
# [15:26] <Philip`> If they can't write a script to generate sound then they're just not going to use this scripted-sound-generating feature
# [15:26] <hsivonen> if you serialize the new characters to ⟩ and ⟨, you are incompatible with old MathML stuff
# [15:26] <cyberix> Lachy: Currently the authors create PCM, store it in some variable, set flash to read that variable and play the sound
# [15:27] <Philip`> If they can, I don't know what alternatives to PCM data would be better
# [15:27] <Lachy> cyberix, the pull approach you're suggesting also seems to be unable to handle cases where sonds are generated in response to user interaction. It would be much simpler if, say, a click handler could invoke some sound generating methods when they want the sound
# [15:27] <Philip`> hsivonen: Serialise to ⟨ then?
# [15:27] <Lachy> and then the browser can then asynchrounosly produce that sound
# [15:31] <Lachy> the browser is wasting many cycles checking for new sound, running that function over and over again. How is that not inefficient?
# [15:31] <cyberix> it makes sure you are only polling one sound at all times
# [15:31] <cyberix> with push you might end up pushing multiple sounds at the same time
# [15:32] <cyberix> ofcourse you don't do polling when the function has not been defined
# [15:32] <Philip`> If you're dynamically generating sound, you're probably making a game and it's doing setInterval(updateFrame, 0) so you're already using up as many CPU cycles as you can, and it doesn't matter if a few more are spent on sound
# [15:32] <hsivonen> Philip`: well, this ⟩/⟨ stuff is going to take way more of my time than I'd like
# [15:32] <cyberix> I guess Lachy is worried about generating silence eating up lots of resources
# [15:33] <cyberix> however most of the time you would not be using this callback to generate silence
# [15:33] <cyberix> you'd rather not use sound output at all
# [15:33] <Lachy> why does it matter if multiple sounds are pushed to it? Depending on how the API is defined to work, they can either play sequentially, or be multiplexed and output together.
# [15:35] <Lachy> all I'm saying is that it makes much more sense for the API to be something like audio.synthesizeSound(...); and have it play immediately, rather than having the polling method just waiting for something to be returned
# [15:37] <Philip`> JACK seems to have different requirements to most normal audio systems, where it doesn't matter so much if there's a glitch and you lose a few milliseconds
# [15:39] <Philip`> (rather than hard-coding the stereo assumption)
# [15:39] <cyberix> there is no way to extend stereo into being surround
# [15:40] <Lachy> and we'd probably want to design the API to be flexible enough to handle multiple channels, even if the first version of the API only supports L and R
# [15:40] <cyberix> surround is something completely different
# [15:40] <cyberix> it doesn't need to be part of the same API
# [15:40] <cyberix> if you do that in future, you may as well define a new API
# [15:40] * Quits: kmartiin (n=kmartiin@dslb-094-223-148-193.pools.arcor-ip.net) (Remote closed the connection)
# [15:40] <Philip`> I suppose it'd be nice to support mono for e.g. iPhone applications where you don't care much about audio quality and do care about processing time
# [15:42] <cyberix> Lachy: yes, in no particular format
# [15:42] <cyberix> so that would be four frames of stereo sound
# [15:43] <Philip`> though I expect it'd be hard for browsers to optimise that case, so they'd still treat it as two independent channels and decode each number twice
# [15:43] <cyberix> the reason why we want to have only one stereo channel going out is
# [15:43] <cyberix> that otherwise people will expect us to implement ways of synchronising mixing
# [15:44] <Philip`> Perhaps you'd want something similar to the canvas ImageData / WebGL typed arrays so it's much faster to transfer lists of numbers from JS to native code
# [15:46] <Philip`> where the browser converts the JS data into a format suitable for the platform's audio API
# [15:46] * Lachy is reminded of the sound function in Logo, which, IIRC, accepted a frequency in Hz and outputt the tone.
# [15:46] <cyberix> I'm not sure I understand, but I think this is implementation specific
# [15:47] <cyberix> I've been working with a sound generator library called libkunquat
# [15:47] <Philip`> It's not just implementation specific - if I can write playAudioData([1,2,1,-1]) then I could also make an array object with a getter function for the '3' property that does something crazy, and implementations will have to be slow to cope with that situation
# [15:49] <AryehGregor> What are the use-cases for <datalist> being an actual element rather than just a JS API? The only use-case I can think of for it is auto-suggest features, and a JS-only API would be much more convenient for that.
# [15:49] <AryehGregor> Is the idea that you might want to have some fixed list of auto-suggestions decided at page serve time? Why?
# [15:49] <hsivonen> Apparently using the OS font renderer now counts as doing its own thing
# [15:49] <cyberix> so what I would do is while(True){var buffer=mix(5,44100); jsplay(buffer);}
# [15:50] <Philip`> hsivonen: That page scrolls really very slowly in Opera :-(
# [15:50] <adactio> AryehGregor: the way I see it, datalist is an example of a common scripted solution that is moving to being declarative ...just like most of the new input types.
# [15:50] <hsivonen> Philip`: probably thanks to the translucent border along the view port edges
# [15:51] <AryehGregor> adactio, but what's it a solution *to*? Usually you want to provide autosuggest dynamically based on what the user has typed so far.
# [15:51] <AryehGregor> Why would you want non-scripted autosuggest?
# [15:51] <hsivonen> AryehGregor: for the same reason the combobox widget exists on desktop
# [16:01] <cyberix> Philip`: If it is not, we should improve that instead of making a special data type
# [16:03] <Philip`> cyberix: The 2D canvas API has the same kind of thing, for putImageData - you can't pass in arbitrary JS objects, you have to construct one with createImageData and fill in the array (which is defined to clamp values that you insert, so it can be implemented as an 8-bit buffer)
# [16:04] <gsnedders> AryehGregor: Oh, I'm thionking of datagrid
# [16:04] <cyberix> that might make sense for the time being
# [16:05] <gsnedders> AryehGregor: And if I actually read the bug, we removed support for external @data providers on datalist, form, and select.
# [16:05] <cyberix> however I do not consider it important
# [16:05] <cyberix> it would be more important to get an API in first place
# [16:05] <AryehGregor> gsnedders, does the data URL I gave above work in 10.50 or not?
# [16:19] <TabAtkins> Hrm. I'm wondering if it's worth it to figure out how to use Strawberry Perl on my desktop, or if I should just throw the perl up on my server and run it there instead.
# [22:12] <Philip`> The best approach is likely to be to list and describe use cases, and come up with an initial design, and get interest from implementors, and then iterate on the design
# [22:17] <Philip`> Every browsing context has its own Window object, and every page and frame and <iframe> and <object> etc has its own browsing context, if I remember correctly
# [22:19] <cyberix> in that case we are talking about a function Window.outputSound([[float],[float]])
# [22:19] <Philip`> I guess it'd be better to add new API onto a new object, rather than cluttering up the existing ones, like how HTML5 originally had no <audio> element (I think) and you did "new Audio()" then called methods on it
# [22:19] <Philip`> since it's likely to end up with lots of methods and properties
# [22:20] <cyberix> I couldn't come up with any other method, but I'm still a wee bit unsure about, if the amplitude should be fixed to 48KHz
# [22:20] <karlushi> hmm funny bug, a javascript program with a line like "//@boo = foo;" is interpreted in IE6, 7, and 8. wonder what's happening
# [22:39] <jgraham> cyberix: Using js arrays seems problematic; what happens if I do a = new Array(100); a[0]= 1.7; a[1]=2.0; a.__defineGetter__(3, function() {return 1}); a[4] = {"valueOf":function() {return 1.3}}; a[99] = "A"
# [22:41] <jgraham> Possibly it is possible to make the common case performant
# [23:12] <jgraham> So in the example I create an arry with length 100, populate the first few index properties with things-that-might-evaluate-to-floats
# [23:12] <jgraham> Then leave a bunch of undefined properties ("holes") and populate the last index with a string
# [23:18] <cyberix> jgraham: So an evil user could try attacking the browser by giving perverted parameters to outputSound()
# [23:18] <cyberix> and we need something that is much more restrictive than an array
# [23:18] <cyberix> because there is no type signatures
# [23:21] <Philip`> It's not about security, it's about the possibility of users doing crazy things meaning that it's hard for browser to optimise the non-crazy cases
# [23:38] <jgraham> cyberix: (a good example of a more restricted datatype in javascript is a string; you simply can't do most weird stuff on a string object and have it affect the actual (immutable) character values)