00:04
<AryehGregor>
I wouldn't mind if I had *gotten* anywhere in the arguments.
00:05
<foolip>
AryehGregor: do you understand the RDFa validation points?
00:05
<AryehGregor>
foolip, what
00:05
<AryehGregor>
?
00:05
<foolip>
that Manu is making
00:05
<AryehGregor>
Possibly not.
00:05
<foolip>
me neither, will ask for clarification so that we can steal any good ideas
00:05
<AryehGregor>
I'm assuming that RDFa has some automatic validation mechanism like DTDs are to XML, except maybe more powerful.
00:06
<AryehGregor>
So you have some language where you can see "this attribute must have only these values" or whatnot.
00:06
<foolip>
perhaps it's just RDFS
00:06
<foolip>
that would make sense I guess
00:07
<AryehGregor>
On a random note: who decided that GNOME Mines should be classified under "Games > Logic"? Someone who never played Minesweeper in their life?
00:07
<Philip`>
Makes sense to me, since it's almost entirely logic
00:07
<Philip`>
other than random guessing at the start
00:08
<GarethAdams|Home>
it's not random guessing at the start really
00:08
<AryehGregor>
Except for the fact that if you actually play it, you see the right spots by reflex and never have to apply logic?
00:08
<GarethAdams|Home>
the first click should be guaranteed not to be a mine
00:08
<GarethAdams|Home>
by reflex?
00:08
<Lachy>
AryehGregor, Minesweeper is entirely logic based.
00:08
<AryehGregor>
More or less.
00:08
<Philip`>
The second click often has to be a random guess :-)
00:09
<AryehGregor>
Philip`, not in the GNOME version. The first click is always guaranteed to have no adjacent mines, so it reveals a whole area.
00:09
<GarethAdams|Home>
AryehGregor: you just mean, you can work it out by using the visible information?
00:09
<GarethAdams|Home>
AryehGregor: sounds logical to me
00:09
<Philip`>
AryehGregor: That's just applying pattern-recognition to determine the logical solution without having to recompute the logic every time
00:10
<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
00:10
<AryehGregor>
a) On many/most large boards, you end up having to guess at some point late in the game.
00:10
<Lachy>
I normally hit the four corners first and then proceed
00:10
<TabAtkins>
AryehGregor: With a sufficiently high density of mines, logic *is* requires at some points.
00:10
<TabAtkins>
And yes, at least one guess becomes required in many boards.
00:10
<AryehGregor>
b) It ends up being mostly pattern-recognition, with only a few small spots of logic required now and again.
00:10
<Philip`>
I normally just edit C:\WINDOWS\WINMINE.INI to get the top score
00:10
Lachy
wonders if there's a Minesweeper for Mac
00:10
<TabAtkins>
True.
00:11
<Philip`>
(This was quite a while ago, though)
00:11
<GarethAdams|Home>
pattern recognition isn't logical?
00:11
<AryehGregor>
c) Any decent player will win every board unless forced to guess. The only challenge is getting the fastest time.
00:11
<GarethAdams|Home>
it might be simple, but it's still logical
00:11
<AryehGregor>
GarethAdams|Home, by that interpretation, every game could be put into "Logic".
00:11
<GarethAdams|Home>
AryehGregor: poker isn't
00:11
<TabAtkins>
I'm not sure how (c) is a point against it being in the Logic category.
00:11
<Philip`>
AryehGregor: Pinball couldn't
00:12
<AryehGregor>
TabAtkins, because the challenge in the game has nothing to do with logic. It's a twitch-based game.
00:12
<GarethAdams|Home>
snakes and ladders isn't
00:12
foolip
feels sorry for readers of Wikitech
00:12
<AryehGregor>
GarethAdams|Home, sure poker is, you have to logically evaluate your opponent's reaction to various possible options of facial expression.
00:12
<TabAtkins>
Until you build your pattern recognition skills, logic is certainly required to deduce some locations.
00:13
<Philip`>
foolip: I'd assume people who live in proximity to wikis are quite used to loud arguments by now
00:13
<AryehGregor>
Philip`, sure it is, you have to logically compute the physical trajectory of the pinball given your timing in hitting the flipper.
00:13
<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.
00:13
<foolip>
Philip`: hehe, possibly
00:13
<Philip`>
AryehGregor: You appear to be using "logical" as a completely meaningless term
00:14
<AryehGregor>
GarethAdams|Home, snakes and ladders . . . you have to . . . logically . . . figure out how to rig the die appropriately.
00:14
<GarethAdams|Home>
AryehGregor: there's no mapping of facial expression to poker hand
00:14
<Philip`>
or at least I can't work out a meaning that would apply in that situation
00:14
<GarethAdams|Home>
AryehGregor: so it;s not something you can logically deduce
00:14
<AryehGregor>
Philip`, well, yes, that's my point, practically anything is logical if "pattern recognition" counts as logical.
00:14
<AryehGregor>
Anyway, the point is, the game is reflex-based, it's not a puzzle game.
00:15
<Philip`>
It's recognising logical patterns
00:15
<GarethAdams|Home>
AryehGregor: getting a high score is reflex based. the game itself is logical
00:15
<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…"
00:15
<Philip`>
and not e.g. recognising cats vs dogs
00:18
<AryehGregor>
TabAtkins, yes, once in a while. But it does not belong in the same category as, say, sudoku.
00:18
<AryehGregor>
(not that I play sudoku)
00:18
<AryehGregor>
Philip`, define "logical pattern".
00:18
<TabAtkins>
Pfah. Sudoku is nothing more than pattern-recognition.
00:18
<Philip`>
AryehGregor: A pattern a compute can easily deduce
00:18
<TabAtkins>
There are a handful of very simple patterns to apply to the board to solve it.
00:19
<Philip`>
AryehGregor: Sudoku is reflex-based pattern recognition if you're good at it :-p
00:19
<GarethAdams|Home>
sudoku is a reflex game
00:19
<AryehGregor>
Okay, so let's just agree that "Logic" is a stupid category and be done with it.
00:20
<TabAtkins>
I'd rather agree that your use of "logic" is wrong and bad. ^_^
00:20
<TabAtkins>
Anyway, off to play video games! Wee!
00:20
<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
00:20
<AryehGregor>
Feh.
00:21
Philip`
notes that AryehGregor is continuing his theme of arguing with people and getting nowhere ;-)
00:21
<AryehGregor>
On a different note, I commend the GNOME developers for managing to make a Minesweeper implementation that's visibly slow and unresponsive.
00:21
<AryehGregor>
Philip`, :(
00:21
<GarethAdams|Home>
putting games into categories is just pattern recognition
00:21
<Philip`>
AryehGregor: Maybe you need a faster GPU
00:22
<Philip`>
It's quite a graphically intensive game, particularly with large grids
00:22
<AryehGregor>
Also, GNOME Calculator takes about as long to start up as Chrome.
00:22
<AryehGregor>
That's with my tabs from last time remembered.
00:22
<AryehGregor>
srsly wtf.
00:22
<Philip`>
Are these all Mono applications?
00:22
<AryehGregor>
I doubt it.
00:23
<Philip`>
It's impressive if they make it slow without pulling in a giant framework like that
00:24
<AryehGregor>
I read in a Chromium developer discussion that it's because it checks tons of paths for icons or something.
00:26
<AryehGregor>
$ strace gcalctool 2>&1 | grep ENOENT | wc -l
00:26
<AryehGregor>
1260
00:27
<AryehGregor>
That's not it, though: $ strace /opt/google/chrome/google-chrome --disable-plugins 2>&1 | grep ENOENT | wc -l
00:27
<AryehGregor>
1791
00:27
<AryehGregor>
Oh well.
00:27
AryehGregor
goes to play Baldur's Gate 2
00:36
Philip`
saved a couple of seconds from his game's startup time by moving some code (FAM directory watches) into a separate thread
00:36
<Philip`>
Synchronous IO is really painful :-(
00:36
cardona507
digs into projecteuler.net
00:45
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."
00:45
<AryehGregor>
Haha.
00:45
<Lachy>
haha
00:46
<cardona507>
no freakin way - haha
00:46
<Hixie>
and apparently she can only add $35 to my account per day
00:46
<Hixie>
(!)
00:46
<Hixie>
so since the error they made was $67, it'll take two days
00:46
<Hixie>
(!)
00:46
<Hixie>
hate to know what happens if they lose a $3500 payment
00:48
<AryehGregor>
That's what you get when there are so few sellers and such high transaction costs to switching.
00:49
<AryehGregor>
(switching providers, I mean)
00:50
<Hixie>
google voice ftw
00:50
<Hixie>
though to be fair the high transaction cost in switching appears to be because becoming a customer is SO DAMN HARD
00:50
<Hixie>
and not so much the phone number issue
00:51
<AryehGregor>
Don't people usually buy a phone with a plan and automatically become a customer?
00:51
<mikekelly>
annevk's open ID page includes a stylesheet with the Link header - could javascript be included the same way?
00:52
<zcorpan__>
mikekelly: no
00:52
<mikekelly>
is that something that's been rejecteed?
00:53
<zcorpan__>
<link rel=script> has been proposed and rejected; i don't think anyone has proposed including script from http headers
00:53
<zcorpan__>
that seems like a security nightmare
00:53
<mikekelly>
why is that?
00:54
<mikekelly>
just curious
00:54
<mikekelly>
why does that seem like it woul dbe asecurity nightmare I mean :)
00:54
<Philip`>
(By "just curious" I assume you mean you'll spend the next two hours arguing for the feature? :-) )
00:54
<mikekelly>
ppppretty much.
00:55
<zcorpan__>
injecting http headers somehow (maybe using a linebreak in x-forwards-for)
00:56
<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
00:56
<zcorpan__>
nn
00:56
<AryehGregor>
Ah.
00:56
<Hixie>
nn
00:56
<mikekelly>
if you're injecting headers could you not just modify the body?
00:56
<zcorpan__>
mikekelly: maybe
00:57
<mikekelly>
lol.
00:57
<mikekelly>
:D
01:17
<Lachy>
Hixie, seriously, what is wrong with the telco's on the US?! They seem to have so many crazy ways of operating
01:18
<Hixie>
yeah apparently being a bandwidth provider in the US requires you to be incompetent
01:18
<Hixie>
it's probably an FCC regulation or something
01:20
<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.
01:21
<foolip>
Lachy: Manu says hi to your arm
01:22
<foolip>
not really, he says "PS: Tell Lachy that I hope his arm feels better soon. :)"
01:22
<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
01:22
<Lachy>
oh, that's nice of him, I guess.
01:22
<Lachy>
was this in an e-mail discussion, or some private chat between you two?
01:22
<foolip>
in the Wikitech thread
01:25
<Lachy>
ok, I'll find it later as I read through it.
01:25
<foolip>
yep
01:28
<Hixie>
Lachy: it's a backup, why does it matter what's on it?
01:28
<Hixie>
(also, dude, get a drobo. anything relying on a single disk is just silly at this point.)
01:29
<AryehGregor>
Drobo?
01:31
<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.
01:31
<Lachy>
Hixie, because I haven't been using it just for time machine backups
01:31
<Hixie>
oh.
01:32
<Hixie>
well then you're not using it per apple's recommendations. :-P
01:32
<foolip>
then it truly is a time machine, it brings you back to the state of your last full backup!
01:32
<Hixie>
apple's stuff only has great tech support so long as you follow steve's vision
01:32
<Lachy>
yeah, well. it doesn't matter. I'll just get a cheap drive enclosure, and I still have a usable 1TB disk
01:32
<Hixie>
(if you deviate from the Path, things go poorly)
01:32
<Lachy>
so i didn't lose much, since I wasn't really using the Time Capsule for its airport functions
01:33
<Hixie>
ah
01:33
<Lachy>
also, I might be able to get the power supply fixed
01:33
<AryehGregor>
Hixie, why not just use software RAID?
01:34
<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
01:34
<Lachy>
AryehGregor, because the Drobo is so much better
01:34
<Hixie>
(indeed, while the disk is in use)
01:34
<Lachy>
I have one too
01:34
<AryehGregor>
Hixie, software RAID lets you mix-and-match drives and hot-swap them while the machine is running.
01:35
<AryehGregor>
At least, good software RAID (by which I mean Linux).
01:35
<Lachy>
AryehGregor, having a dedicated hardware raid handle it is useful since it doesn't waste CPU resources on managing the disks
01:36
<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.
01:36
<AryehGregor>
Lachy, CPU overhead for RAID is typically trivial, especially if it's not RAID5 or 6.
01:36
<AryehGregor>
I can hot-swap drives using regular old SATA hotplug.
01:36
<Lachy>
Raid 5 or 6 are the better alternatives though
01:36
<AryehGregor>
Only if you really need the space.
01:37
<Lachy>
I do need the space
01:37
<AryehGregor>
Also, only useful if you have three or more drives.
01:37
<AryehGregor>
Well, for RAID5/6 the CPU usage is still typically not much at all.
01:37
<Lachy>
I have so many terrabytes of DVD rips and downloaded shows, I can't waste any of it
01:38
<AryehGregor>
Can you put your root filesystem on this Drobo thing? What interface does it use, eSATA or something?
01:38
<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.
01:39
<Lachy>
s/on in/in my/
01:40
<AryehGregor>
RAID0 is lame. I hate the thought of downtime just because some stupid disk failed.
01:40
<AryehGregor>
(even for my desktop, yes)
01:40
<Lachy>
but I can't possibly have a RAID within my MacBook Pro or iMac, since their hardware just doesn't support it
01:41
<AryehGregor>
What? You can use software RAID on any hardware.
01:41
<AryehGregor>
At least, if you use a decent OS.
01:41
<AryehGregor>
Er, unless you only have one disk, I guess.
01:41
<Lachy>
RAID0 is good if you just care about the performance, rather than worrying about drive failure
01:42
<AryehGregor>
Wikipedia uses/used RAID0 for all its database servers!
01:43
<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.
01:43
<Hixie>
AryehGregor: i guess you do the software raid with some sort of external disk enclosure?
01:43
<Hixie>
AryehGregor: or...?
01:43
<AryehGregor>
Hixie, no, I just open up my computer and replace the drives.
01:43
<AryehGregor>
SATA hotplug works fine for internal drives.
01:43
<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
01:43
<AryehGregor>
Just don't brush against the fans, they can sting.
01:43
<Hixie>
AryehGregor: my two drobos are connected to a mac mini. The mac mini is about the size of one of the 7 disks.
01:43
<Hixie>
so they ain't gonna fit
01:44
<AryehGregor>
Mac Minis are laptops, the size of a disk?
01:44
AryehGregor
only uses a desktop, currently. Would probably not put anything on a laptop that he cared about.
01:44
<Lachy>
no, Mac Mini's about about 20cm, about the size of an Airport Extreme square Macs
01:45
<Lachy>
ah, I messed that sentence up
01:45
<Lachy>
no, Mac Mini's about about 20cm square Macs, about the size of an Airport Extreme
01:45
<AryehGregor>
20 cm is 8 in, so that's . . . small. But more than twice as wide as a disk.
01:45
<Hixie>
AryehGregor: i was exaggerating a bit :-)
01:45
<Lachy>
http://www.apple.com/macmini/
01:46
<AryehGregor>
Okay, just checking.
01:46
<Lachy>
Height:
01:46
<Lachy>
2 inches (5.08 cm)
01:46
<Lachy>
Width:
01:46
<Lachy>
6.5 inches (16.51 cm)
01:46
<Lachy>
Depth:
01:46
<Lachy>
6.5 inches (16.51 cm)
01:46
<Lachy>
Weight:
01:46
<Lachy>
2.9 pounds (1.31 kg)1
01:46
<othermaciej>
good evening
01:46
AryehGregor
doesn't know anything about Mac, except they're shiny and have bash and OpenSSH preinstalled these days.
01:46
<othermaciej>
very shiny!
01:47
<AryehGregor>
Give me an Internet-connected computer with SSH, and it'll do, at worst I can SSH into my desktop to do any real work.
01:47
<AryehGregor>
Or one of my servers.
01:47
AryehGregor
hates using Windows on public computers somewhat more than Mac for this reason: no real command line.
01:49
<Lachy>
windows machines have DOS and telnet. What more would you need?
01:49
Lachy
ducks
01:51
<AryehGregor>
They don't have DOS. Do you mean cmd.exe?
01:51
<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.
01:51
<Hixie>
(i use vnc to control itunes running on the aforementioned mac mini which acts as my tv)
01:52
<AryehGregor>
Hixie, hah. So you do all your work on servers, or you have a desktop somewhere you're SSHd to?
01:52
<Hixie>
most of my work is done in emacs and pine on hixie.ch (aka whatwg.org)
01:52
<AryehGregor>
When I'm at school I generally do assignments with vim and pdflatex remotely.
01:52
<AryehGregor>
(so actually on my desktop)
01:52
<Lachy>
AryehGregor, yes, of course. It's still supports the same old DOS commands
01:52
<AryehGregor>
Lachy, DOS is the name of an OS, not a command line.
01:53
<Lachy>
well, I was using the term loosely
01:54
<AryehGregor>
That's like calling an elephant a hippopotamus because they're both big and gray.
01:55
<foolip>
what is the name of the shell used in DOS?
01:55
<JonathanNeal>
That's like calling a hippopotamus a Dorian.
01:55
<Lachy>
geez. No need to make such a big deal out of the terminology.
01:56
<AryehGregor>
cmd.exe.
01:56
<AryehGregor>
I think.
01:56
<AryehGregor>
Assuming it had a name, back in the day.
01:56
<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
01:56
<AryehGregor>
"DOS shell" is probably right, yeah.
01:57
<AryehGregor>
Lachy, c'mon, this is a software standards channel, you expect to get away with conflating a shell with an OS?
01:57
<Lachy>
yes, I do
01:58
<AryehGregor>
Rats. Foiled.
01:58
<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.
02:07
<AryehGregor>
I would hate Windows so much less if it had bash and all the standard GNU utilities installed by default.
02:07
<AryehGregor>
And if it had some equivalent to apt-get.
02:07
<AryehGregor>
. . . and if it were Linux, I guess.
02:08
<NickYoung>
the windows equivalent to apt-get would require a credit card number as a cmd line argument ;)
02:09
<AryehGregor>
:/
02:09
<AryehGregor>
I read the FAQ for Intel's SSD cleaner program thing recently.
02:10
<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."
02:10
<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).
02:11
<AryehGregor>
My father was impressed when he plugged in his iPod to a Linux laptop and it popped up an iTunes imitation, preinstalled.
02:16
<Lachy>
apt-get has such an aweful UI
02:16
<Lachy>
*awful
02:17
<AryehGregor>
In what way?
02:17
<Lachy>
well, it's a command line, for starters. And the GUIs I've seen for it have not been designed for user friendliness
02:18
<Lachy>
I think the iTunes AppStore model should be adopted for computer software, except without the DRM
02:19
<AryehGregor>
The Ubuntu Software Center is fairly user-friendly.
02:19
<AryehGregor>
So was their old one, Add/Remove Applications.
02:19
<AryehGregor>
Of course you can't add/remove arbitrary packages with those, you have to use Synaptic for that, which is pretty awful.
02:19
<Lachy>
maybe they've improved it since I last tried ubuntu a couple of years ago
02:20
<Lachy>
but I still hate ubuntu, since it's so ugly and gets even the most basic UI things wrong
02:20
<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.
02:20
<AryehGregor>
You mean compared to other Linux distros, or compared to Mac/Windows?
02:21
<Lachy>
well, compared to other linux distros, it's not so bad. But compared with Mac and Windows, it's horrible to use
02:22
<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.
02:23
<AryehGregor>
I'm curious to know what particular things you had in mind, though.
02:23
<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)
02:23
<AryehGregor>
This is where I start saying "Oh, I dunno, I always use the command line for that."
02:24
<Lachy>
right. Being forced to use the command line for even simple file system navigation is a pain
02:24
<AryehGregor>
I'm not even sure what a tree view is. I can't recall ever using that on Explorer.
02:24
<AryehGregor>
In Explorer. Windows. You know.
02:24
<AryehGregor>
(BTW, the GNOME file manager is Nautilus, KDE's is Konqueror, Xfce's is Thunar, . . .)
02:24
<Lachy>
Tree View is the left column http://www.enriva.com/images/screenshots/windows_explorer.gif
02:24
<AryehGregor>
Oh, that.
02:25
<AryehGregor>
I'm not sure I ever used that in my life on Windows.
02:25
<Lachy>
that's the most efficient way to navigate around in Windows Explorer.
02:25
<AryehGregor>
Konqueror has a column-view thingie that seems to look vaguely like I remember Finder looking like.
02:26
<AryehGregor>
Although I don't know, since I rarely use Mac.
02:26
<AryehGregor>
Aha, thunar has what you want.
02:27
<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
02:27
<AryehGregor>
GNOME usually avoids giving you options like tree view vs. normal view.
02:27
<AryehGregor>
Really? Odd. Never noticed that.
02:27
<AryehGregor>
http://thunar.xfce.org/images/filewindow-6.png
02:28
<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.
02:28
<AryehGregor>
It seems the same as Windows, anyway.
02:28
<Lachy>
well, that's an improvent. But still ugly as hell
02:28
<Lachy>
*improvement
02:29
karlcow
using keyboard to navigate most of the time in Mac OS X finder.
02:29
<Lachy>
the font is terribly large and the letter spacing is too much.
02:29
<AryehGregor>
Heh, I guess everyone has different preferences. I don't care much about aesthetics, and am happy with command lines.
02:30
<Lachy>
I don't mind command lines to do some things. But i can't possibly handle doing everything in command lines
02:31
<AryehGregor>
I use GUIs for IRC and web browsing, that's it. I do basically everything else by command line.
02:31
<AryehGregor>
Well, a few other random things I also use GUIs for, like FTP.
02:32
<karlcow>
a lot about the UI prefs depends on habits.
02:32
<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
02:32
<AryehGregor>
I do that too, except when I have to deal with web hosts where I only have FTP access.
02:33
<Lachy>
I don't deal with web hosts that don't offer shell access any more
02:34
<karlcow>
Lachy: did you try the finder for ftp?
02:34
<AryehGregor>
I don't except for my synagogue's website, which I manage.
02:34
<AryehGregor>
I tried Nautilus for FTP, but it didn't work well, can't remember the details.
02:35
<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.
02:36
<othermaciej>
I wonder if any of my old code is still in Nautilus
02:37
<AryehGregor>
Probably, if you submitted any noticeable amount. It's amazing how old code sticks around forever.
02:37
<AryehGregor>
Until you want to burn it with fire.
02:37
AryehGregor
just ran across a JS file in MediaWiki that had UA checks for IE4 and NN4, srsly
02:38
<othermaciej>
I was one of the main developers of Nautilus in the early days
02:38
<othermaciej>
but I have no idea how much it's been rewritten since then
02:39
<AryehGregor>
Neat.
04:37
<eli__>
hello
04:37
<eli__>
html5 can play streaming?
04:38
<Hixie>
video?
04:38
<Hixie>
in theory
04:38
<eli__>
Hixie, thank you
04:38
<eli__>
well...
04:38
<eli__>
I want look to html5 streaming sample site
04:39
<Hixie>
http://www.youtube.com/html5
04:40
<eli__>
thanks, but it is not streaming
04:40
<Hixie>
what do you mean by "streaming"_?
04:40
<eli__>
on demand video play
04:41
<Hixie>
how is that not on-demand video playback?
04:41
<eli__>
example, use Flash media server or windows media server
04:41
<Hixie>
oh
04:41
<Hixie>
that's purely a server-side issue
04:41
<eli__>
:)
04:42
<Hixie>
html5 doesn't define the server-side aspect of video playback
06:24
<erlehmann>
eli__, what exactly do you want ?
06:26
<eli__>
I want streaming boardcasting by use html5's video tag.
06:28
<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.
06:29
<eli__>
thank you everybody.
06:29
<eli__>
I don't know about video tag.
06:30
<eli__>
for example in youtube/html5
06:30
<eli__>
it use <video src="http <- http protocol
06:30
<eli__>
I knew that streaming protocol is not http
06:30
<Hixie>
you can use whatever protocol you want (assuming the browser supports it) -- the spec doesn't require any particular protocol
06:31
<Hixie>
HTTP can be used for streaming, actually
06:31
<Hixie>
though it's not especially pretty
06:31
<eli__>
really?
06:32
<eli__>
oh, thank you very much
06:32
<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
06:34
<eli__>
http://www.youtube.com/html5
06:35
<eli__>
is this site streaming? or just download and play?
06:35
<Hixie>
streaming
06:36
<eli__>
and use http protocol?
06:36
<Hixie>
yes
06:37
<eli__>
be not progressive downloading, it is on demand streaming, right?
06:39
<NickYoung>
eli__: This depends on the browser
06:39
<eli__>
:)
06:39
<eli__>
everybody so kind
06:39
<eli__>
thank you
06:39
<NickYoung>
eli__: But for example, I have an experimental webkit build which supports RTP streamed media
06:40
<NickYoung>
(well, theoretically anyway, I haven't tested it)
06:41
<NickYoung>
but you could have <video src="rtp://...">
06:51
<eli__>
sorry to little question, nickyoung
06:52
<eli__>
I check youtube.com/html5 web page
06:52
<eli__>
it has "<video width="640" height="360" src="/demo/google_main.mp4?2" autobuffer> " in source
06:52
<NickYoung>
yep
06:53
<eli__>
and the link can download movie
06:53
<NickYoung>
this is probably a progressive download, not on demand
06:54
<NickYoung>
you would need to use something like a rtsp:// uri for on demon
06:54
<NickYoung>
on demand*
06:54
<Hixie>
foolip: what do you think of making the spec explicitly drop hidden="" subtrees from the microdata processing?
06:55
<eli__>
rtsp is window media server's protocol, right?
06:56
<Hixie>
RTSP is a standard protocol: http://tools.ietf.org/html/rfc2326
06:56
<NickYoung>
eli__: I don't think window's media server uses it by default
06:56
<NickYoung>
eli__: but I am no expert on window's media server :)
06:58
<eli__>
oh, I had remember miss information. thank you hixie
07:00
<eli__>
nickyoung : :)
07:02
<NickYoung>
eli__: Some googling suggests Window Media Services uses MMS - a proprietary streaming protocol
07:03
<eli__>
:) thank you
07:04
<NickYoung>
I am curious now to try rtsp streaming on my webkit build
07:08
<eli__>
why do you want rtsp protocol?
07:09
<eli__>
another protocol? for example, rtmp?
07:10
<eli__>
is html5's base?
07:10
<Dashiva>
Oh boy, more poetry
07:11
<NickYoung>
rtsp is an open protocol, plus, it's the only one which supports proper on demand streaming, I think
07:11
<eli__>
:)
07:18
<hsivonen>
Hixie: as I understand it, the Mac OS X kernel participates in managing the file system on a Drobo
07:18
<Hixie>
i don't see how it could
07:18
<hsivonen>
Hixie: I got a ReadyNAS instead in order to have a distinct kernel for the filesystem
07:19
<Hixie>
the only thing you need software for with the drobo is reformatting it to greater than the 2TB default partition size
07:19
<hsivonen>
Hixie: how does Mac OS X access it?
07:19
<hsivonen>
I thought it showed up as a local volume
07:19
<Hixie>
USB storage or firewire storage
07:20
<hsivonen>
Hixie: but USB and Firewire give you a block device and the OS manages the filesystem, right?
07:21
<Hixie>
no idea
07:21
<Hixie>
but my drobos worked fine before i installed the software
07:21
<hsivonen>
my assumption was that the OS default file system implementation was used
07:21
<hsivonen>
hence no installation required
07:22
<hsivonen>
my point is that Mac OS X *will* crash
07:22
<hsivonen>
and HFS+ *will* get mangled
07:22
<hsivonen>
so I prefer to have ext3 under a distinct kernel on the ReadyNAS and have the Mac talk to it over the network
07:23
<Hixie>
a pure block device wouldn't know how much space is free, surely
07:23
<Hixie>
the OS thinks it's a 16TB external disk, with about 14TB free
07:23
<Hixie>
yet the drobo has LEDs showing how much is really free
07:23
<hsivonen>
I don't know how the Drobo works
07:24
<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
07:24
<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
07:24
<tiglionabbit>
is full text search going to be in the database spec?
07:24
<tiglionabbit>
it's in gears, and it's helpful
07:25
<Hixie>
tiglionabbit: database spec is pretty much stalled since microsoft and mozilla refuse to implement it (assuming you mean the sql one)
07:25
<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)
07:25
<Hixie>
hsivonen: dunno
07:25
<Hixie>
hsivonen: so far i've had plenty of hard disk issues, but none relating to Mac OS X screwing over the disk
07:25
<Hixie>
hsivonen: only hardware issues
07:26
<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
07:26
<Hixie>
(which it can't since the disk is dead)
07:27
<Hixie>
and i can't get a mac to reformat the disk
07:27
<Hixie>
since it immediately tries to fix the disk, thus hanging until i unplug the disk...
07:29
<tiglionabbit>
Hixie: sure, but it's in webkit already -- does it have any full text search extensions though?
07:30
<Hixie>
dunno what the status of implementations is
07:40
<Dashiva>
It's nice to see that the new formal process is being properly taken advatnage of
07:51
<tiglionabbit>
are there any plans to make tablet pressure and sub-pixel positioning a javascript event property?
07:51
<Hixie>
not concrete plans
07:51
<Hixie>
every few months someone says we should, but they never actually stick around long enough to write a spec :-)
07:51
<tiglionabbit>
heh
07:51
<Hixie>
part of the problem is we don't actually have a spec for 'click' and 'mousemove' currently
07:51
<tiglionabbit>
well what do you need in the spec?
07:52
<tiglionabbit>
oh really
07:52
<Hixie>
or 'keydown' and 'keypress'
07:52
<tiglionabbit>
that's all non-standard?
07:52
<Hixie>
non-standard or very vaguely specified
07:52
<tiglionabbit>
worst part is the mouse button numbers
07:52
<tiglionabbit>
which are different between browsers
07:53
<tiglionabbit>
guess that should be pinned down first
07:54
<pesla>
Hixie: Would you recommend people to start using the html5 doctype and the current spec?
07:55
<Hixie>
the doctype certainly
07:55
<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
07:55
<Hixie>
i would be careful with the new features though
07:55
<pesla>
Yea, exactly my opinion.
07:55
<pesla>
Thanks :)
07:55
<Hixie>
e.g. i wouldn't use <article> yet (though many people are doing so, so what do i know)
07:56
<Hixie>
if IE supports a feature (e.g. onhashchange), it's pretty stable
07:56
<tiglionabbit>
I'm curious -- is there anything stopping web browsers from implementing <script type="text/python"> ?
07:57
<tiglionabbit>
I guess a spec for how the dom should work in other languages perhaps
07:58
<Hixie>
a spec, a reason, time, and money :-)
08:01
<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
08:02
<tiglionabbit>
does html5 have instructions for what should happen when unknown tags are encountered?
08:02
<Hixie>
you have to use hacks and styles and stuff to use things like <article>
08:02
<Hixie>
html5 defines everything like that, yes
08:02
<Hixie>
should make it easier to introduce new elements later
08:51
<hsivonen>
Hixie: do you have a preliminary guess of where the about:blank stuff might be going?
08:51
<Hixie>
no, but i have scheduled friday to fix it
08:51
<hsivonen>
great
09:03
<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
09:03
<MikeSmith>
http://code.google.com/p/jing-trang/issues/detail?id=35
09:04
<hsivonen>
MikeSmith: yeah. I had hoped to see the patch on trunk by now
09:05
<MikeSmith>
hsivonen: James seemed to not want to land it until some revisions to PatternValidator get made
09:06
<MikeSmith>
http://code.google.com/p/jing-trang/issues/detail?id=35#c1
09:06
<MikeSmith>
(James' comment)
09:07
<MikeSmith>
hsivonen: but there are a couple of problems with that patch as implemented
09:07
<MikeSmith>
one is the format of the error messages it emits
09:07
<hsivonen>
ideally, the expection objects would carry enough data for formatting the message on the application side
09:07
<MikeSmith>
for example, for <link> it will give you: "[href, rel] required attributes missing from element link"
09:08
<MikeSmith>
yeah
09:09
<MikeSmith>
so the other problem is that it does not provide enough information for at least one case I can think of
09:09
<MikeSmith>
which is the case of <object>
09:10
<MikeSmith>
where the requirement is basically an OR case
09:10
<MikeSmith>
a data attribute OR a type attribute
09:11
<hsivonen>
what does it provide in that case?
09:12
<MikeSmith>
same as for the link case -- it just emits, "[data, type] required attributes missing from element object"
09:12
<MikeSmith>
his implementation just adds the attributes to a Set
09:12
<MikeSmith>
on then it calls toString to dump that
09:13
<foolip>
Hixie: it wouldn't really add to complexity since we're already cutting subtrees based on the precense of itemscope
09:13
<hsivonen>
ah. I wonder how hard it would be to distinguish "all of these" and "one of these"
09:13
<hsivonen>
HTML5 doesn't have "one of these groups", IIRC
09:13
<MikeSmith>
hsivonen: maybe not so hard. I'll take a look at it a bit more and see
09:14
<Hixie>
foolip: i have no idea what you're responding to :-)
09:14
<MikeSmith>
hsivonen: or I guess maybe I should ping George about it first
09:14
<foolip>
Hixie: 'what do you think of making the spec explicitly drop hidden="" subtrees from the microdata processing?'
09:14
<hsivonen>
MikeSmith: or maybe ping James and George both in the bug report
09:16
<MikeSmith>
hsivonen: OK
09:16
<foolip>
however, I'm not quite sure what good it would do, it would most certainly cause surprise to some people
09:17
<Hixie>
ah
09:18
<Hixie>
brb
09:19
<foolip>
since CSS selectors, getElementById, etc won't ignore that which is hidden="", my vote would be no
09:20
<foolip>
but I admit to not entirely understanding the purpose of hidden="" to begin with
09:25
<Lachy>
Hixie, maybe I'm misunderstanding something, but your response here about nested vocabularies seems confusing http://lists.w3.org/Archives/Public/public-html/2010Jan/0905.html
09:27
<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
09:27
<Lachy>
But in the somewhat contrived example you gave, where they are different, it does make sense to require an explicit itemtype
09:40
<Hixie>
Lachy: adr is a "new vocabulary" for the purposes of that sentence
09:40
<Hixie>
sorry for being ambiguous
09:40
<Hixie>
i really meant a new set of name-value pair names
09:41
<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
09:43
<Hixie>
Lachy: no what i'm saying is that md-vcard, if it wants to work with rdf, should require that the adr types have their own types
09:43
<Hixie>
different than the vcard type
09:43
<Hixie>
since they're not vcards but addresses
09:44
<Lachy>
but they're part of the same vcard vocabulary
09:45
<Hixie>
only to the same extent that the "reload()" method on the Location object is part of the Window object
09:45
<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?
09:45
<Hixie>
sure, that's what md-vcard does
09:46
<Lachy>
ok. It still seems weird that the semantics that are expressable through md-vcard, can't be mapped to RDF in a sane way by default
09:48
<Hixie>
they could, just not using the vocabulary-agnostic rdf conversion algorithm
09:48
<Hixie>
even the work vocabulary can't really be converted naively -- you have to apply extra rules to get it into its "proper" RDF form
09:49
<Hixie>
(those rules are actually provided, though)
09:49
<Hixie>
a lot of this is a result of RDF's complexity
09:49
<Hixie>
e.g. using URLs everywhere
09:50
<Hixie>
i suppose we _could_ automatically map the adr properties to URLs by concatenating the "path" to the property
09:51
<Hixie>
hm, no, that wouldn't work
09:51
<Hixie>
there'd be no way to guarantee uniqueness
09:53
<Hixie>
(if the above doesn't make much sense to people reading archives, it's because i wasn't very eloquent.)
10:14
<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?
10:20
<Hixie>
Philip`: no
10:20
<Hixie>
Philip`: but i have two, so if one dies i'm ok
10:20
<Hixie>
if both die i'm screwed
10:20
<Hixie>
(if both die after drobo stop making them, that is)
10:28
<danbri>
WHATWG: HTML5: Mention that you shouldn't dereference an item type URL. http://html5.org/tools/web-apps-tracker?from=4613&to=4614
10:29
<danbri>
are those microdata item times, or more general?
10:29
<Hixie>
it refers to the value of the microdata itemtype="" property
10:31
<danbri>
is that an attribute where i might put things like foaf:Person, if my item was describing a person?
10:31
<Hixie>
more or less, yes
10:31
<danbri>
i think it's fine to say the design doesn't *require* derferencing, ... but to forbid it seems rather strong
10:32
<Hixie>
the exact text doesn't forbid it
10:32
<Hixie>
it is more subtle than the checkin comment
10:32
danbri
was reading the link
10:32
<danbri>
it has an '...in order to determine how to process'
10:32
<Hixie>
right
10:33
<Hixie>
it's just an opaque string, unless you know it isn't
10:33
<danbri>
but one way of knowing more about it is to read a document from the Web
10:33
<Hixie>
sure, a human is allowed to do whatever
10:33
<Hixie>
humans aren't one of the spec's conformance classes
10:33
<danbri>
and software that human has installed?
10:34
<danbri>
can it not have a mode that includes lookups?
10:34
<Hixie>
can you give a more concrete example?
10:34
<Hixie>
i'm not sure what you mean by "includes lookups"
10:34
<danbri>
again, it should be optional rather than mandatory ... not requiring schema downloads was one of the original rdf requirements
10:35
<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
10:35
<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
10:37
<Hixie>
class definition?
10:38
<Hixie>
microdata doesn't have class definitions
10:38
<Hixie>
microdata isn't really intended for the use cases than need RDF and all the schemas and reasoning and all that, to be honest
10:38
<Hixie>
for that people should just use RDF
10:39
<danbri>
it's not fancypants reasoning
10:39
<danbri>
just matching some triples from a different doc
10:39
<danbri>
but microdata is the syntax; what user apps do with it isn't your concern
10:39
<Hixie>
sounds pretty fancy to me if it's applying UIs to subclassed vocabularies through some sort of automated definition mechanism :-)
10:39
<Hixie>
what user apps do with it is my only concern, the syntax is just a means to that end
10:40
<Hixie>
actually i'd go even further
10:40
<Hixie>
what _users_ do with it is my only concern
10:40
<danbri>
well, i'm not too worried about that rule in the spec; folk will just ignore it if they want to
10:40
<Hixie>
the user apps and syntax are _both_ just a means to that end
10:40
<Hixie>
they can ignore anything they like if they don't want to follow the spec :-)
10:40
<Hixie>
not much i can do about people who don't want to follow the spec
10:40
<danbri>
wouldn't be the first time!
10:41
<Hixie>
anyway, time for bed
10:41
<Hixie>
nn
10:41
<danbri>
gnite!
10:41
danbri
time for elevensies
13:56
<cyberix>
Could html5 help this guy?
13:56
<cyberix>
http://benfirshman.com/projects/jsnes/
13:56
<cyberix>
he did some programming in js
13:57
<cyberix>
and figured out he needed a small flash application to read the sound from his js and forward it to the speakers
13:57
<Philip`>
It ought to be possible with <audio> and data: URLs
13:57
<cyberix>
he mentions that at the bottom of the screen
13:59
<cyberix>
so he should generate 1 second of sound and add it to the site with an audio tag
13:59
<cyberix>
then generate another 1 second of sound and then add that exactly when the first one stops playing
14:00
<Philip`>
It's not very elegant or good but it might roughly work
14:01
<cyberix>
You do realize that if there is even a tiny gap, you will then hear it once a second
14:02
<Philip`>
Yes
14:02
<Philip`>
which is why it's not very good
14:02
<hsivonen>
soo... what happened to &lang; and &rang;?
14:02
<Philip`>
There have been discussions about making some kind of audio equivalent to <canvas>, but they haven't got very far yet
14:02
<hsivonen>
did both MathML and HTML5 change what those mean?
14:05
<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?
14:06
<cyberix>
also, what is the best way of contacting the folks who discus the audio element?
14:07
<hsivonen>
cyberix: hi
14:07
<cyberix>
hsivonen: hello
14:08
<hsivonen>
Hixie: are we sure this rang/lang stuff is solving Real Problems?
14:09
<Lachy>
cyberix, that doesn't seem like a very optimal design
14:09
<cyberix>
Lachy: Why?
14:10
<Lachy>
well, for starters, it's not clear what exactly the file pointed to by soundgen would actually do to make the sound.
14:10
<cyberix>
no file
14:10
<hsivonen>
cyberix: so the sound needs to be continuous to an arbitrary length?
14:11
<cyberix>
yes
14:11
<Lachy>
s/file/function/
14:11
<hsivonen>
cyberix: can't do that with HTML5
14:11
<hsivonen>
cyberix: we don't have an audio canvas or "WebAL" yet :-(
14:11
<cyberix>
bugger
14:11
<hsivonen>
cyberix: you aren't the first one to ask for it
14:11
<Philip`>
We don't even have a way of storing binary data
14:12
<Philip`>
(in JS)
14:12
<cyberix>
Philip`: I understood you could use a latin-1 string, list of integers, or data url
14:12
<cyberix>
Philip`: Any of those seems ok to me
14:13
<cyberix>
Lachy: the function should be able to do anything to produce the sound. That is the point of it
14:14
<Lachy>
cyberix, you haven't given any indication about what the API itself would look like
14:14
<Lachy>
or would it just create the sound from the function's return value or something?
14:15
<Lachy>
Iif so, that seems very limiting)
14:15
<cyberix>
Lachy: the functions return value would be sound
14:15
<cyberix>
Lachy: it is the opposite of limiting
14:15
Philip`
doesn't know if push or pull APIs would be better
14:15
<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
14:16
<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?
14:16
<cyberix>
Lachy: no, it would return a chunk of sound
14:16
<Philip`>
whereas the script running in the page should have a better idea of those things, and of how much latency is acceptable
14:16
<Lachy>
push seems like a much more reasonable approach, and is more in line with how canvas works
14:16
<hsivonen>
argh. the rang/lang stuff is in http://www.w3.org/TR/xml-entity-names/#diff-xhtml1
14:16
<cyberix>
Lachy: and the browser would call it again to retrieve more
14:17
<hsivonen>
changing rang/lang sucks for roundtripping
14:17
<Lachy>
ok, but what format would it be requried to return? Would script authors be required to generate binary PCM data or something?
14:17
<cyberix>
Lachy: PCM would probably be good
14:17
<hsivonen>
if you serialize to &LeftAngleBracket; &RightAngleBracket;, the result is round-trip-incompatible with old HTML parsers
14:17
<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.
14:18
<Philip`>
If they can't write a script to generate sound then they're just not going to use this scripted-sound-generating feature
14:18
<hsivonen>
if you serialize the new characters to &rang; and &lang;, you are incompatible with old MathML stuff
14:18
<cyberix>
Lachy: Currently the authors create PCM, store it in some variable, set flash to read that variable and play the sound
14:19
<Philip`>
If they can, I don't know what alternatives to PCM data would be better
14:19
<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
14:19
<Philip`>
hsivonen: Serialise to &#x27e8; then?
14:19
<Lachy>
and then the browser can then asynchrounosly produce that sound
14:20
<TabAtkins>
Dammit, Philip`, beat me to it.
14:21
<cyberix>
Lachy: you would have a click handler mix the sound of click to the buffer that gets returned on next call to the sound generator
14:22
<cyberix>
But push might be easier, I agree
14:22
<Lachy>
cyberix, so would the browser be constantly polling the function to check for new sound?
14:22
<Lachy>
That seems very inefficient
14:22
<cyberix>
yes
14:22
<cyberix>
it is not inefficent
14:22
<cyberix>
because
14:23
<Lachy>
the browser is wasting many cycles checking for new sound, running that function over and over again. How is that not inefficient?
14:23
<cyberix>
it makes sure you are only polling one sound at all times
14:23
<cyberix>
with push you might end up pushing multiple sounds at the same time
14:24
<cyberix>
ofcourse you don't do polling when the function has not been defined
14:24
<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
14:24
<hsivonen>
Philip`: well, this &rang;/&lang; stuff is going to take way more of my time than I'd like
14:24
<cyberix>
I guess Lachy is worried about generating silence eating up lots of resources
14:25
<cyberix>
however most of the time you would not be using this callback to generate silence
14:25
<cyberix>
you'd rather not use sound output at all
14:25
<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.
14:26
<cyberix>
anyway
14:26
<cyberix>
We have been looking at different APIs on desktop side
14:27
<cyberix>
it seems everyone uses push
14:27
<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
14:27
<cyberix>
except for JACK
14:27
<cyberix>
whose developers say push is not a good idea because at the bottom you always have the sound device that is pull
14:28
<cyberix>
and you can implement push on top of pull easier than the other way around
14:28
<cyberix>
however JACK is really realtime critical
14:28
<cyberix>
if some process doesn't return the sound to it in time, it will kick the process out
14:28
<cyberix>
"no more sound for you"
14:29
<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
14:29
<hsivonen>
aaargh. the difference in length between lang and LeftAngleBracket changes line wrapping, too
14:29
<Philip`>
Doing anything real-time based on JavaScript seems like a futile idea :-)
14:30
<cyberix>
so push is probably the way to go then
14:30
<cyberix>
and there should probably be just one channel out
14:30
<cyberix>
stereo
14:30
<cyberix>
if you want mixing, do it yourself
14:31
<Lachy>
but stereo is 2 channels
14:31
<cyberix>
one stereo channel
14:31
<Philip`>
I suppose it'd be nice to be extensible so we can do surround-sound output in the far future
14:31
<cyberix>
We also looked at this
14:31
<cyberix>
the conclusion was
14:31
<Philip`>
(rather than hard-coding the stereo assumption)
14:31
<cyberix>
there is no way to extend stereo into being surround
14:32
<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
14:32
<cyberix>
surround is something completely different
14:32
<cyberix>
it doesn't need to be part of the same API
14:32
<cyberix>
if you do that in future, you may as well define a new API
14:32
<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
14:32
<cyberix>
We also thought about that
14:33
<cyberix>
a function returning sound returns a pair of channels
14:33
<cyberix>
so ([3,5,3,7],[3,7,3,1])
14:33
<cyberix>
(left,right)
14:33
<cyberix>
if you want to save cpu and do mono
14:33
<cyberix>
just have the same reference on both sides
14:34
<cyberix>
the API can still be stereo
14:34
<Lachy>
do the numbers in those arrays just represent frequencies or something?
14:34
<Philip`>
That sounds quite sensible
14:34
<cyberix>
Lachy: yes, in no particular format
14:34
<cyberix>
so that would be four frames of stereo sound
14:35
<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
14:35
<cyberix>
the reason why we want to have only one stereo channel going out is
14:35
<cyberix>
that otherwise people will expect us to implement ways of synchronising mixing
14:36
<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
14:37
<cyberix>
what does native code mean?
14:37
<Philip`>
C++
14:37
<Philip`>
(or C or whatever)
14:38
<Philip`>
where the browser converts the JS data into a format suitable for the platform's audio API
14:38
Lachy
is reminded of the sound function in Logo, which, IIRC, accepted a frequency in Hz and outputt the tone.
14:38
<cyberix>
I'm not sure I understand, but I think this is implementation specific
14:39
<cyberix>
I've been working with a sound generator library called libkunquat
14:39
<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
14:39
<cyberix>
the api for reading sound is
14:40
<Philip`>
whereas it's easier if they take a more restricted type of array object than the plain JS Array
14:40
<cyberix>
mix(int frames,int resolution) -> ([float],[float])
14:41
<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.
14:41
<hsivonen>
http://24ways.org/2009/real-fonts-and-rendering
14:41
<AryehGregor>
Is the idea that you might want to have some fixed list of auto-suggestions decided at page serve time? Why?
14:41
<hsivonen>
Apparently using the OS font renderer now counts as doing its own thing
14:41
<cyberix>
so what I would do is while(True){var buffer=mix(5,44100); jsplay(buffer);}
14:42
<Philip`>
hsivonen: That page scrolls really very slowly in Opera :-(
14:42
<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.
14:42
<hsivonen>
Philip`: probably thanks to the translucent border along the view port edges
14:43
<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.
14:43
<AryehGregor>
Why would you want non-scripted autosuggest?
14:43
<hsivonen>
AryehGregor: for the same reason the combobox widget exists on desktop
14:43
<AryehGregor>
What's a combobox widget?
14:44
<AryehGregor>
(Wow, loading http://about.validator.nu/ in WebKit is a pretty good argument against using web fonts right now.)
14:45
<zcorpan>
AryehGregor: or a good argument against using webkit :P
14:46
<cyberix>
Philip`: So what you mean with soundcanvas is a special datatype for storing wavs, and editing them?
14:46
<AryehGregor>
zcorpan, authors don't get to make those arguments very effectively. :)
14:47
<hsivonen>
AryehGregor: yeah, I'm failing so far at convincing the WebKit team to fix this
14:48
<AryehGregor>
Oh, Opera has some support for datalist now?
14:48
<gsnedders>
Have had for ages
14:48
<AryehGregor>
Interesting, I'll have to try it.
14:48
<Philip`>
cyberix: I mean something kind of like https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/WebGL-spec.html#5.14.3.10 as just a more efficient alternative to Arrays (since I assume efficiency is important here)
14:49
<gsnedders>
AryehGregor: I think the support is limited to the parser though, I don't think we support any more.
14:49
<Philip`>
cyberix: (Ideally those types wouldn't be WebGL-specific - I think the current vague plan is to make them more universal)
14:49
<AryehGregor>
gsnedders, oh, so it's not supported practically speaking?
14:50
<AryehGregor>
No, it seems to work.
14:50
<AryehGregor>
Neat.
14:51
gsnedders
doesn't know
14:51
<AryehGregor>
I'm still not sure why you'd want it static.
14:51
<cyberix>
Philip`: Does the API for 2d-picture canvas take only WebGL structures, or does it take simple inefficient js as well?
14:52
<gsnedders>
AryehGregor: Ah, it doesn't exist in 10.50
14:52
<gsnedders>
AryehGregor: Apart from in the parser.
14:52
<AryehGregor>
gsnedders, works for me in 10.10 . . .
14:52
<gsnedders>
Yeah, removed in 2.4
14:52
<AryehGregor>
data:text/html,<!doctype html><form><input list="mylist"></form><datalist id="mylist"><option value="foo"><option value="bar"></datalist>
14:52
<AryehGregor>
Why removed?
14:52
<cyberix>
Philip`: also, there is no such thing as sound accelerator cards.
14:53
<gsnedders>
AryehGregor: Dropped from spec
14:53
<AryehGregor>
. . .
14:53
<AryehGregor>
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-datalist-element
14:53
<cyberix>
Philip`: And operating with the regular java-script should be efficient
14:53
<AryehGregor>
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#attr-input-list
14:53
<cyberix>
Philip`: If it is not, we should improve that instead of making a special data type
14:55
<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)
14:56
<gsnedders>
AryehGregor: Oh, I'm thionking of datagrid
14:56
<cyberix>
that might make sense for the time being
14:57
<gsnedders>
AryehGregor: And if I actually read the bug, we removed support for external @data providers on datalist, form, and select.
14:57
<cyberix>
however I do not consider it important
14:57
<cyberix>
it would be more important to get an API in first place
14:57
<AryehGregor>
gsnedders, does the data URL I gave above work in 10.50 or not?
14:57
<AryehGregor>
It works in 10.10.
14:57
<cyberix>
so people could thell us what is wrong with thwm
14:57
<cyberix>
them
14:57
<Philip`>
cyberix: Yeah, it's probably not the biggest concern
14:57
<cyberix>
instead of writing hacks in flash
14:58
<gsnedders>
AryehGregor: yes
14:58
<cyberix>
However
14:58
<AryehGregor>
gsnedders, okay, great.
14:58
<AryehGregor>
Maybe I'll implement that for MW search suggest.
14:58
<cyberix>
if it is going to be push
14:58
<cyberix>
it requires no support from the html document
14:58
<cyberix>
does html5 specify such things at all?
14:59
<cyberix>
global js functions that you can call from anywhere
15:00
<TabAtkins>
Sure, any function in the global namespace.
15:00
<TabAtkins>
<script>function foo(){}</script>
15:00
<cyberix>
Give me an example, so I can look it up in the spec
15:01
<Philip`>
cyberix: I assume you mean functions that the spec defines, which can be called from anywhere?
15:01
<Philip`>
See e.g. http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#the-window-object for lots
15:04
<cyberix>
I just realized we should probably have one player for each frame
15:05
<cyberix>
which means that, eventually one guy is going to code a drum machine, and another guy is going to code a synth
15:05
<cyberix>
and they will come to us asking how they can synchronize them
15:05
<cyberix>
even though they run in different frames
15:08
<cyberix>
Philip`: Should probably think this trough
15:09
<cyberix>
Philip`: However now I'm off to write my thesis
15:09
<cyberix>
have fun
15:09
Philip`
should probably do the same, eventually
15:09
<cyberix>
:-)
15:11
<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.
15:15
<AryehGregor>
What's Strawberry Perl?
15:16
<TabAtkins>
apparently a good windows distribution of perl?
15:16
<AryehGregor>
Hmm. How about you just use a non-broken OS for your desktop? :)
15:16
<TabAtkins>
Company policy.
15:18
<TabAtkins>
However, I also can't get this running on my linux server.
15:18
<TabAtkins>
Philip`: How I run teh codez? (for font-optimizer)
15:20
<Philip`>
TabAtkins: First, you download it
15:20
<Philip`>
TabAtkins: Then, you run it
15:20
<TabAtkins>
These instructions are useless lies.
15:20
<Philip`>
Couldn't be simpler :-)
15:23
<Philip`>
Do you have a specific problem with it?
15:24
<TabAtkins>
Yes. It keeps claiming that it can't find Font/TTF/Font.pm
15:25
<TabAtkins>
Which would probably be because there is no Font/TTF in the archive i downloaded.
15:25
<Philip`>
It should be in the ext directory
15:25
<TabAtkins>
Indeed, I have found it buried deep within.
15:26
<Philip`>
ext/Font-TTF/lib
15:26
<Philip`>
and subset.pl says: use lib 'ext/Font-TTF/lib';
15:26
<Philip`>
so it should find that file
15:28
<TabAtkins>
It did not. I was able to drop TTF into the Font folder in one of the spots in my @INC path, though, and it worked.
15:29
<Philip`>
You shouldn't have to do that
15:30
<Philip`>
and you shouldn't do that because you'll forget to update it if the code's ever updated
15:30
<TabAtkins>
Shrug. I dunno what to tell you. I r noobz at perl.
15:36
<AryehGregor>
How do I delete an element from a document using DOM methods?
15:37
<peol>
elem.removeChild(child)
15:37
<AryehGregor>
So elem.parentNode.removeChild( elem )?
15:37
<AryehGregor>
That seems roundabout.
15:38
<peol>
https://developer.mozilla.org/En/DOM/Node.removeChild
15:38
<peol>
also, ##javascript
15:40
<jgraham>
AryehGregor: Yeah, somewhat. Although having elem.removeFromParent seems somewhat unnecessary
15:40
<AryehGregor>
Why not just elem.remove()?
15:40
<jgraham>
I would expect that to remove a child
15:40
<AryehGregor>
Weird.
15:40
<Dashiva>
Not if it had zero arguments
15:41
<jgraham>
(in the absence of other clues, like a removeChild method)
15:41
<Dashiva>
How about document.removeNode(node) then?
15:41
<Dashiva>
Hum, no, wouldn't work outside documents
15:41
<gsnedders>
Dashiva: Only works on children of that node
15:41
gsnedders
realizes that was dumb, and that he should pasy attention
15:42
<Dashiva>
A dumb comment to a dumb suggestions seems par for the course :)
15:42
<jgraham>
Yes you do look pasty
15:42
gsnedders
looks blankly at jgraham over his monitor
15:42
jgraham
assumes that was a freudian slip
15:42
gsnedders
slouches back below his monitor
15:42
<jgraham>
For some loose definiton of "freudian"
15:43
<jgraham>
That doesn't necessarially imply horses, penis envy, or wanting to sleep with your mother
15:43
<Dashiva>
The "white male with strong opinions" definition? :)
15:43
gsnedders
shakes head at James...
15:44
<gsnedders>
You would just mention _those_ bits of Freud's work.
15:44
<jgraham>
What, the famous bits?
15:44
<gsnedders>
Well, yes.
15:44
<Dashiva>
I wasn't aware of the horses
15:45
jgraham
gets his education from pop songs
15:45
gsnedders
gets his education from Wikipedia
15:45
<jgraham>
(in this case "Judy and the Dream of Horses")
15:46
<Dashiva>
I wonder ponies have horse envy
15:46
Philip`
gets his education from IRC
15:48
<Dashiva>
Philip`: How did you learn about IRC?
15:48
<workmad3>
ah, freud, probably the most prolific and influential case of experimental bias ever :)
15:51
<Philip`>
Dashiva: I don't remember
15:51
<Philip`>
That experience is lost in the mists of time
15:51
<Dashiva>
Maybe you were born here
15:51
<Philip`>
For all I know, I could have learnt it from IRC
15:52
<jgraham>
Maybe his future self will learn about time travel from IRC and teach his past self about IRC
16:05
<hsivonen>
whoa! Since when has Apple been shipping a DejaVu derivative font called Menlo?
16:05
<hsivonen>
new in Snow Leopard?
16:11
<daedb>
hsivonen: http://arstechnica.com/apple/news/2009/06/font-changes-coming-to-mac-os-x-snow-leopard.ars
16:14
<hsivonen>
daedb: thanks
16:16
<hsivonen>
daedb: thanks
16:17
<hsivonen>
Hixie: the new characters for &lang; and &rang; have a much worse real-world font situation than the old ones
20:44
<cyberix>
Philip`: I don't think we need binary buffers for sound
20:45
<cyberix>
Philip`: I just ate lunch with the main Kunquat developer, and we discussed the matter
20:45
<cyberix>
Even while coding C it is just typical to use float arrays to represent sound
20:47
<Philip`>
cyberix: I think the problem is that in JS (in some (all?) implementations), a float is a garbage-collected heap-allocated object
20:48
<Philip`>
which is a lot of overhead, when you have a hundred thousand of them per second
20:49
<Philip`>
(compared to a specialised array with a 4-byte-per-element backing store)
20:56
<cyberix>
Philip`: It'd the be job for the js engine writers to improve it
20:57
<cyberix>
then
20:57
<cyberix>
I don't think it is going to block anything
20:57
<cyberix>
it is just going to consume lots of resources
20:57
<cyberix>
that is ok
20:57
<cyberix>
there is always two options for that kind of problem
20:57
<cyberix>
one is to buy a more expensive computer
20:58
<cyberix>
and the other is to improve js
20:58
<cyberix>
:-)
20:58
<cyberix>
I think canvas uses this funny type because it can then access graphics acceleration
20:58
<cyberix>
standards like opengl define operations on graphics
20:59
<cyberix>
it is then easy to take that set of operations and reveal it to the use
20:59
<cyberix>
user
20:59
<cyberix>
in sound such a standard set of operations has not been defined
21:00
<cyberix>
and trying to do it on demand would probably not lead to very good results
21:03
<Philip`>
cyberix: Yeah, this probably isn't an important point
21:04
<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
21:08
<cyberix>
If a page has frames
21:08
<cyberix>
do those frames have a Windows object?
21:08
<cyberix>
-s
21:09
<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
21:09
<cyberix>
ok
21:11
<cyberix>
in that case we are talking about a function Window.outputSound([[float],[float]])
21:11
<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
21:11
<Philip`>
since it's likely to end up with lots of methods and properties
21:12
<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
21:12
<karlushi>
hmm funny bug, a javascript program with a line like "//@boo = foo;" is interpreted in IE6, 7, and 8. wonder what's happening
21:12
<Philip`>
karlushi: Conditional comments, probably
21:13
<cyberix>
in any case there is probably not going to be an html element for this thing
21:14
<Philip`>
karlushi: http://en.wikipedia.org/wiki/Conditional_comment#Conditional_Comment_in_JScript etc
21:14
<cyberix>
unless someone thinks this belongs to the audio element
21:14
<karlushi>
Philip`, thanks !!!
21:18
<cyberix>
Philip`: Do you have any ideas regarding internal buffer size
21:19
<Philip`>
cyberix: I'd imagine different pages might want to make their own tradeoffs of latency vs skip-prevention
21:19
<Philip`>
so they'd prefer widely varying buffer sizes
21:19
<cyberix>
Well do you have any idea on maximum hen
21:19
<cyberix>
then
21:19
<cyberix>
should probably not allow 1GB buffers
21:19
<Philip`>
but it largely depends on the use cases and I don't really know what they are
21:20
<Philip`>
I don't know enough about audio to have any specific suggestions for things like buffer sizes :-)
21:21
<cyberix>
it is ofcourse always better for the software to have a bigger buffer
21:21
<cyberix>
but it might not be good for users to have 1GB web pages
21:31
<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"
21:33
<jgraham>
Possibly it is possible to make the common case performant
21:35
<jgraham>
(but something like a bytearray might be much simpler)
21:49
<cyberix>
jgraham: I don't get your example. You are accessing a uninitialized value 99?
22:03
<jgraham>
cyberix: Arrays in javascript are just normal objects, more or less
22:03
<jgraham>
In particular they can be sparse; not every index need be defined
22:04
<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
22:04
<jgraham>
Then leave a bunch of undefined properties ("holes") and populate the last index with a string
22:09
<cyberix>
okay
22:09
<cyberix>
I see now
22:10
<cyberix>
jgraham: So an evil user could try attacking the browser by giving perverted parameters to outputSound()
22:10
<cyberix>
and we need something that is much more restrictive than an array
22:10
<cyberix>
because there is no type signatures
22:13
<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
22:13
<cyberix>
oh
22:13
<Philip`>
s/browser/browsers/
22:13
<cyberix>
well users doing crazy things know they are doing crazy things
22:13
<cyberix>
and if the kill the performance by doing so
22:13
<cyberix>
well
22:13
<cyberix>
then they do
22:13
<Philip`>
Browsers don't know users are doing crazy things, so in some cases they have to assume the worst
22:14
<cyberix>
sure
22:14
<cyberix>
Should probably measure this in some way
22:14
<Philip`>
(which means worse performance than if the API is restricted so users can't do crazy things)
22:14
<cyberix>
generating some random floats and mixing them
22:14
<cyberix>
and throwing the result away
22:14
<cyberix>
as fast as possible
22:30
<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)
22:56
<aho>
localStorage, what's the limit there? 3mb?
22:57
<virtuelv>
I don't think the spec mandates a limit
22:57
<aho>
hmhm
22:57
<aho>
found this: "The current default on iPhone is 5.0 MB. If your database grows beyond this limit, the user will automatically be asked to allow or deny the size increase. If he allows the increase, the database size limit will be upped to 10.MB"
22:57
<aho>
if it's like this everywhere it would be pretty nice indeed
22:58
<aho>
"User agents may prompt the user when quotas are reached," <- awww... spec says "may" :/
22:58
<aho>
http://www.w3.org/TR/2009/WD-webstorage-20091029/#disk-space
23:00
<virtuelv>
aho: my point is that you can't really rely on being able to store what you want to store
23:00
<aho>
of course
23:00
<aho>
but there should be an option to store more than 3 or 5mb if necessary
23:01
<virtuelv>
there are devices and scenarios where you are going to have less than that, I'm afraid
23:02
<aho>
should be a "should (if possible)" then instead of a weak "may"
23:02
<virtuelv>
I'm really wary of user agent requirements
23:03
<virtuelv>
for user interface, that is
23:03
<virtuelv>
because, mostly users, myself included are:
23:03
<virtuelv>
a) uninterested in being interrupted by housekeeping tasks
23:03
<aho>
if you don't ask (and then don't increase the alotted space)... what then? fail? truncate? both sounds sorta bad if the data is somewhat important to you... even more so if asking/increasing would have been possible
23:04
<virtuelv>
b) Not qualified to answer in such dialogs
23:06
<aho>
flash for example asks... seems to work fine for them
23:07
<virtuelv>
aho: I'm saying that asking the user is never fine
23:07
<virtuelv>
I haven't yet seen flash ask me that
23:08
<aho>
it does if it needs to
23:08
<virtuelv>
and if it did, I'd quickly abandon a web site that required that of me
23:08
<aho>
some games need it
23:08
<aho>
and maybe some bigger flash apps
23:08
<aho>
and you'd abandon something because it takes another whopping 5mb?
23:08
<virtuelv>
if you need that much _data_, webstorage is not it
23:09
<virtuelv>
rather better caching
23:09
<aho>
from your... like... 1.5tb hdd? :>
23:09
<virtuelv>
ehm
23:09
<virtuelv>
you are assuming people have 1.5TB
23:09
<aho>
say 100gb
23:09
<aho>
5mb is nothing
23:10
<virtuelv>
the reality is that on other devices than desktop, you're not likely to have 150 MB
23:10
<aho>
now
23:10
<aho>
things change, remember?
23:10
<virtuelv>
no, they don't
23:10
<virtuelv>
feature phones now have 40-80MB of built-in storage
23:10
<aho>
so, back in the 80ies every kiddy ran around with a super computer in their pocket?
23:10
<aho>
<:
23:10
<virtuelv>
and small memory cards
23:11
<virtuelv>
I have a phone that, nominally, has 32GB
23:11
<aho>
ipods started with what? 1gb? and now there are models with 64 or 128gb
23:12
<virtuelv>
when I have filled that with what I actually care about having, such as my GPS turn-by-turn application and my music, I have so little space that I'd be pissed if a browser wasted it
23:12
<aho>
an usb stick with 32mb used to be expensive
23:12
<aho>
now you get 8bg for like 1/10 of the price
23:13
<aho>
stuff like that changes pretty quickly
23:13
<virtuelv>
aho: the cookie size limit hasn't really moved in 15 years
23:14
<aho>
eh... yea... of course
23:14
<virtuelv>
it's either 2, 4 or possibly 5KB
23:14
<aho>
you send em over the wire all the time
23:14
<virtuelv>
and my tubes are 182 times wider than back then
23:15
<aho>
all the time = any f-ing request
23:15
<aho>
e.g. 50 times for one f5
23:15
<virtuelv>
aho: you're missing my point:
23:15
<virtuelv>
5 MB is an ocean of storage
23:16
<aho>
that doesn't mean you will never fill it up
23:17
<aho>
now, imagine you're using some web app which uses that storage to store the things you entered... you enter many things... over many many months... and then it's finally full... what then?
23:18
<aho>
do you really think not asking the user would be nice in this kind of scenario would be a good idea?
23:18
<aho>
- would be a good idea
23:18
<aho>
:>
23:19
<aho>
of course you could store all of that on the server side... but without that you can have a really cheap infrastructure
23:19
<aho>
which is a very nice thing imo
23:20
<aho>
also, offline mode