00:10
cardona507
waves bye bye to the web sql database
00:33
<AryehGregor>
Ugh, Android-like security model for the web: http://blog.chromium.org/2010/11/app-permissions.html
00:34
<AryehGregor>
That's one of the lamest parts of Android, everyone winds up just giving everything full access to their phone.
00:34
<AryehGregor>
There has to be a saner way to do it than that.
00:34
<boogyman>
Stuxnet ftw :-s
00:35
<gsnedders>
AryehGregor: Give me full-access to your phone.
00:36
<AryehGregor>
gsnedders, by "everyone" I meant "normal people", not "me".
00:37
<AryehGregor>
At a minimum, users need to be able to deny requested permissions.
00:38
<AryehGregor>
If some random app claims to need geolocation for no plausible reason, I should be able to deny it.
00:38
<AryehGregor>
But I don't even care about geolocation, I'm talking about random apps I've tried to install that say they want the rights to *make* *calls*.
00:39
<AryehGregor>
Like games and stuff.
00:39
<AryehGregor>
Everyone else just blindly installs all this stuff.
01:54
<Sonja>
any recommended <canvas> tutorials for drawing lines and shapes ?
01:56
<TabAtkins>
Sonja: Try http://diveintohtml5.org/canvas.html#divingin
01:57
<Sonja>
merci
04:47
<MikeSmith>
manogo
06:19
<MikeSmith>
hsivonen: I wanted to ask if you could please redeploy validator.nu today if you have time
06:20
<MikeSmith>
mainly to get the missing-but-required attributes checking live
06:23
<hsivonen>
MikeSmith: ok
06:24
<hsivonen>
I guess I should distupgrade my VMs while I'm at it
06:24
<MikeSmith>
hsivonen: by the way, I spent some time looking into what it would take to port the validator-nu branch changes back to trunk
06:25
<hsivonen>
MikeSmith: what's your conclusion?
06:25
<MikeSmith>
too much work :(
06:25
<hsivonen>
:-(
06:25
<MikeSmith>
plus, the required-but-missing attributes reporting in the trunk is near worthless
06:27
<hsivonen>
even more :-(
06:30
<MikeSmith>
hsivonen: take a look at https://gist.github.com/706192
06:30
<MikeSmith>
what the trunk seems to do is just list out all the allowed attributes
06:31
<hsivonen>
MikeSmith: wow. that sucks
06:31
<MikeSmith>
yeah
06:38
<Sirisian>
Anyone here much about WebSockets in relation to binary data/ArrayBuffer stuffs?
06:39
<Sirisian>
hear*
06:40
<zcorpan>
"Errors that result in disproportionally poor performance" in http://www.whatwg.org/specs/web-apps/current-work/complete/introduction.html#conformance-requirements-for-authors still bugs me; i'm totally unconvinced that the example results in disproportionally poor performance
06:40
<nessy>
Sirisian: other than base64 encoding it? ;-)
06:41
<Sirisian>
I'm using a 7 bit format
06:42
<Sirisian>
well that's the idea. I hoped that after all this time the binary format was defined, but when I checked I noticed no change.
06:42
<Sirisian>
Kind of curious why since ArrayBuffer exists.
06:44
<hsivonen>
zcorpan: that's not a great example
06:49
<Sirisian>
nessy, know if anyone has brought that up to Hixie yet?
06:49
<Sirisian>
I know he made a note in the spec about it
06:49
<nessy>
I'm sure it's on the roadmap, but maybe not in focus right now
06:50
<zcorpan>
hsivonen: can you think of a better example?
06:51
<hsivonen>
zcorpan: anything that reconstructs the active formatting elements a few times
06:55
<zcorpan>
<p><a><b><i><s><p>x<p>x<p>x
06:58
<zcorpan>
or maybe <p><a><b><i><s></p><p>x</p><p>x</p><p>x</p> to not make authors think that omitting </p> is what results in bad perf
06:59
<hsivonen>
I'm impressed that the W3C processes allowed the "Beware" note on http://www.w3.org/TR/webdatabase/
07:00
<heycam>
that yellow dotted border is... unpleasant
07:02
<zcorpan>
the styling gives the expectation that the text is something like "FIRE!!!! GET OUT OF THE BUILDING!"
07:03
<hsivonen>
validator.nu is going to undergo a couple on distribution upgrades. expect downtime
07:03
<hsivonen>
zcorpan: isn't that the right expectation for an API that is backed by the implementation details on a particular piece of software that isn't designed with the Web platform stability in mind?
07:07
<zcorpan>
only if half of the relevant vendors refuse to implement it :)
07:22
<hsivonen>
oh. awesome. validator.nu broke itself during the distribution upgrade
07:23
<hsivonen>
I pointed the DNS for validator.nu to the VM that's serving html5.validator.nu
07:37
<slartsa>
I've never committed a dist upgrade on a server without something to back up with in case of emergency
07:49
<hsivonen>
slartsa: well, I have two VMs that can supply the validator services for either html5.validator.nu, validator.nu or both, but I don't have bugzilla.validator.nu and about.validator.nu replicated to two VMs
07:49
<hsivonen>
I do have a tarball with backups, though
07:50
<hsivonen>
It will take a while to figure out how to restore bugzilla.validator.nu and about.validator.nu
07:50
<hsivonen>
the basic problem is that I don't employ a sysadmin myself and I'm myself a software developer and not a sysadmin
07:52
<slartsa>
augh, hope you'll sort things out
07:56
<hsivonen>
MikeSmith: anyway, I believe html5.validator.nu has been redeployed, but it's currently CSS-naked
07:56
<MikeSmith>
ok
07:56
<MikeSmith>
thanks
08:37
<hsivonen>
my hosting provider told me they've heard from other customers that Ubuntu upgrades are broken
08:38
<hsivonen>
I expect to migrate to a fresh Lucid image today
08:38
<hsivonen>
(at this point, one probably should dump Ubuntu and move to CentOS, but I don't want to deal with multiple distros)
08:54
<asmodai>
cute http://www.20thingsilearned.com/
08:57
<hsivonen>
I was too lazy to view source. what do they use to implement the page turn graphics?
09:08
<nessy>
hsivonen: CSS transitions - nicely done actually
09:08
<hsivonen>
nessy: interesting. I didn't know you could do that with CSS transitions
09:13
<paul_irish>
fairly sure its a pretty heavy use of canvas for the page turn.
09:16
hsivonen
wonders if the message of 20 things is that the Chrome Team views Web users as children, since the book is in a children's book format
09:19
<annevk>
"Tweets While High is now following you on Twitter!"
09:20
hsivonen
turned new follower notifications off long ago
10:02
<Rik`>
nessy: I also think it is canvas for the page turn
10:03
<Rik`>
hsivonen: the message of 20things is "we're teaching you the web while doing nasty browser sniffing"
10:15
<jgraham>
Google do love their browser sniffing
10:35
<Rik`>
I'm wondering if Google has heard of this thing called Modernizr
10:36
<Peter`>
its creator works for Google, so I'm pretty sure they do
10:37
<Rik`>
Peter`: that was ironic :)
10:38
<Peter`>
that'd make sense :p I shouldn't randomly switch to IRC while working
10:51
<zcorpan>
http://www.whatbrowser.org/ doesn't know about Minefield
10:54
<zcorpan>
also nice: "Try a new browser for your Mac: ... Internet Explorer"
10:54
<jgraham>
Or Opera 11
10:55
<jgraham>
and yeah, it suggests I download IE on Linux
10:55
<jgraham>
(what is the point of this site?)
10:55
<annevk>
IE on Linux is great
10:56
<zcorpan>
hmm, now when i reload the page, the IE link is gone
11:04
<Rik`>
jgraham: provide information to Chrome marketing about how people choose a new browser
11:10
<zcorpan>
reading about browser cookies makes me need to eat a real cookie
11:34
<hsivonen>
whatbrowser.org can't recognize Opera Mini or Opera Mobile
12:20
jgraham
wishes javascript looked more like CoffeeScript without an intermediate compilation step
13:37
<annevk>
wait, so now using a tracker on someone's personal domain is considered acceptable?
13:37
<annevk>
(re IANA email)
13:37
<annevk>
funny how that works
13:44
<hsivonen>
annevk: which email? is this the case where the registry is at the IANA but the front end is on mnot's domain?
13:45
<hsivonen>
s/the front/a front/
13:45
<annevk>
and the tracker
13:45
<annevk>
with issues and "reserved" items
13:45
<annevk>
not that it any way solves the single overview of all values potentially in use case discussed at TPAC
13:45
<annevk>
but Julian is still confused apparently
14:13
<annevk>
http://maplight.org/us-congress/bill/111-s-3804/874681/total-contributions o_O
15:34
<hsivonen>
so the previous host of all validator.nu stuff except html5.validator.nu is taking a long time to set up a new VM with the data of the old VM
15:34
<hsivonen>
in the mean time, I created a throw-away VM elsewhere and restored about.validator.nu onto it
15:35
<hsivonen>
so html5.validator.nu operation should return to normal (with styles and scripts) once DNS updates propagate
15:37
<hsivonen>
apparently, the right way to do things is to have some scripts for rsyncing a clone of the server to another VM. maybe I should have that
15:38
<hsivonen>
so one could create a new VM, rsync to it and throw the old VM away
15:46
<hsivonen>
also, I learned that it's slow to dig a few (<< 20 GB) out of the hosting provider's backup system
16:45
<smaug____>
annevk: what do you think about moving .classList to Web DOM Core?
16:52
<annevk>
smaug____, we had a plan to move classList, className, and id to DOM Core
16:52
<annevk>
smaug____, as well as getElementsByClassName
16:52
<smaug____>
ok, good
16:52
<smaug____>
hmm
16:52
<smaug____>
"had"?
16:53
<annevk>
smaug____, sorry, have
16:53
<smaug____>
good :)
16:53
<annevk>
smaug____, :)
16:53
annevk
will be back Monday evening
17:42
<TabAtkins>
Dammit, Firefox is broken on my system now. Wtf. From a fresh boot, I try to open it and immediately get the "Firefox is already running" message.
17:42
<TabAtkins>
This bothers me because making gradient diagrams is way easier in FF, since they actually implement the syntax.
17:43
<Ms2ger>
$ killall firefox-bin
17:43
<TabAtkins>
"firefox-bin: no process found"
17:43
<AryehGregor>
Do not try that if you're running Firefox on Solaris. :)
17:44
<AryehGregor>
$ ps aux | grep firefox
17:44
<Ms2ger>
I'm assuming Tab is sane
17:44
<AryehGregor>
Be careful what you assume.
17:44
<AryehGregor>
Especially in this channel.
17:44
<Ms2ger>
Well, sane enough not to use solaris
17:44
<AryehGregor>
I mean, maybe he was just heeding the topic.
17:44
<TabAtkins>
I have no idea what the implications of anything on Solaris are, as I've never run it.
17:45
<AryehGregor>
"killall" on Solaris means "kill all processes".
17:45
<AryehGregor>
On Linux it means "kill all processes with the given name".
17:45
<AryehGregor>
Hilarity ensues.
17:45
<TabAtkins>
AryehGregor: 107020 4729 0.0 0.0 6468 892 pts/3 S+ 09:50 0:00 grep firefox
17:45
<TabAtkins>
So... nothing.
17:45
AryehGregor
wouldn't know this stuff, but the Wikimedia toolserver runs almost all Solaris because River Tarnell likes Solaris, and I'm a toolserver root
17:46
<AryehGregor>
TabAtkins, so it must be checking for a lock file or something, right? Try "strace firefox 2>&1 | grep 'open('" and see what files it's trying to open.
17:46
<AryehGregor>
(Or you could, like, ask one of the several Mozilla developers here instead of listening to me, but then I'd have nothing to say)
17:47
<TabAtkins>
The only thing that seems useful is the very last call, where it does 'open("/usr/lib/firefox-3.6.12/firefox", O_RDONLY) = 3
17:48
<AryehGregor>
Surely the lock file (or whatever) is per-user, so /usr/lib seems unlikely.
17:48
<AryehGregor>
Also, what kind of weird distro are you using that puts stuff in /usr/lib/firefox-3.6.12?
17:48
<TabAtkins>
Goobuntu default.
17:48
<AryehGregor>
Oh, looks like Ubuntu does that too.
17:49
<AryehGregor>
I wonder why it's not just /usr/lib/firefox/.
17:49
<AryehGregor>
Anyway, I'm using the Firefox 4 beta instead. It's much nicer, maybe you should just switch to that.
17:49
<TabAtkins>
I should.
17:49
<AryehGregor>
(although maybe you'll get the same error)
17:49
TabAtkins
goes to do that.
17:51
<TabAtkins>
Dammit, same problem.
17:51
<romeo_>
rm ~/.mozilla/firefox/********.Default/lock or something like that
17:51
<AryehGregor>
It's got to be something in your profile.
17:51
<AryehGregor>
Why doesn't Firefox check whether anything else actually has the lock file open, and ignore it if not? Or something like that?
17:52
<AryehGregor>
Silly Firefox.
17:52
<AryehGregor>
(presumably it does and this is something more subtle)
17:52
<TabAtkins>
romeo_: Killed the lock, tried again, no go.
17:52
<romeo_>
I haven't had lock file problems for years. Used to be a common issue with netscape
17:52
<AryehGregor>
Nuke it from orbit. It's the only way to be sure.
17:53
<TabAtkins>
For real.
17:53
TabAtkins
FIRES ZE MISSILES.
17:54
<TabAtkins>
Ah, hrm. An attempt to rm -rf the .mozilla folder is dying with two files that can't be removed because "Device or resource busy".
17:55
<AryehGregor>
. . .
17:55
<AryehGregor>
What does that even mean on Unix?
17:55
<TabAtkins>
I don't know.
17:55
<AryehGregor>
Also, you could have just moved it to .mozilla-old.
17:55
<TabAtkins>
Bah.
17:55
<TabAtkins>
Too late now!
17:56
<Philip`>
You probably need "strace -f", since firefox is just a wrapper script
17:56
<AryehGregor>
Interesting observation.
17:56
<charlvn>
i think the binary is called firefox-bin
17:57
<AryehGregor>
Well, I knew that, but I didn't know how strace worked.
17:57
<AryehGregor>
I just blindly run it on random commands without actually understanding what I'm doing.
17:57
<AryehGregor>
It's fun!
17:57
<TabAtkins>
Um. Firefox works now?
17:57
<TabAtkins>
The beta, at least.
17:57
<TabAtkins>
...huh
17:57
<AryehGregor>
(like, I have no idea if grepping for "open" made any sense here, maybe it would be getting file descriptors through some other syscall, I dunno)
17:58
<TabAtkins>
Anyway, I apparently killed *something* useful, because I'm no longer being blocked. Yay!
17:59
<Philip`>
lsof is useful if you want to see what's got a particular file open/locked/etc
17:59
<TabAtkins>
No clue where this thing is trying to store my profile now, though.
18:00
<AryehGregor>
It didn't recreate the directory?
18:01
<TabAtkins>
Oh, there it is got it.
18:05
<TabAtkins>
Thanks, everyone. High fives all around.
18:06
<AryehGregor>
Thanks for helping you decide to fix a Firefox problem by just deleting your .mozilla directory since none of us had any idea what was causing the problem, and none of us actually directly suggested the solution of deleting the directory anyway?
18:07
<AryehGregor>
Well, you're welcome, then.
18:07
<TabAtkins>
Dude, you said "nuke it from orbit". I don't know how to interpret that other than "rm -rf the fucker".
18:09
<AryehGregor>
Well, yeah, I guess so.
18:09
<AryehGregor>
I wasn't really serious, though.
18:11
<TabAtkins>
Ah well, I was certain I could repair the damage if I did something wrong, so I rolled with it.
18:19
<charlvn>
you know you're speaking to geeks when they do a full post mortem of getting firefox to work again :P
18:43
<TabAtkins>
Ah, abusing gradients to make diagonal lines for my diagram is fun.
18:43
<TabAtkins>
Screw SVG. ^_^
18:44
<shepazu>
TabAtkins: same to you and more of it :)
18:44
<TabAtkins>
It's SVG's fault for being an XML language.
18:48
<TabAtkins>
shepazu: Do you have "SVG" in your nicknames file or something?
18:49
<shepazu>
TabAtkins: colloquy lets you set up alert rules
18:50
<TabAtkins>
Yeah, that's what I was wondering. You seem to show up magically when SVG is mentioned.
18:50
<Ms2ger>
"We are about to start implementing stream.record() and StreamRecorder."
18:50
<shepazu>
did someone mention SVG?
18:50
<Ms2ger>
Fun
18:51
<TabAtkins>
shepazu: I did?
18:52
<shepazu>
ah, that explains it :P
20:14
<Ms2ger>
(FTR, yes, I'm male)
20:17
<TabAtkins>
Ms2ger: ?_?
20:34
<gsnedders>
Ms2ger: So we don't get to call you "it" anymore? Lame.
20:35
<Ms2ger>
:(
20:37
<Dashiva>
Note that he didn't specify he was human
21:40
<Sirisian>
Hixie, did you see my question yesterday?
21:45
<Hixie>
what was it?
21:45
<Sirisian>
I was wondering if you had found a nice solution for websocket binary data like using ArrayBuffer or something? I've been waiting for it.
21:45
<Hixie>
oh dunno, i don't really do websockets anymroe
21:46
<Sirisian>
oh!
21:46
<Sirisian>
Do you know who does?
21:46
<Hixie>
ian fette is the editor of the protocol spec
21:46
<Hixie>
once they've figured out what the protocol should be i'll update the api accordingly
21:46
<Sirisian>
Is he on IRC much?
21:47
<Hixie>
he might be in #chromium
21:47
<Hixie>
dunno
21:51
<TabAtkins>
He's not at his desk right now, so he may not be available today.
21:51
<Hixie>
basically from the week before thanksgiving until the second week of january, silicon valley goes on vacation
21:51
<Hixie>
so... yeah
21:56
<othermaciej>
the work on the protocol spec has not been making good progress lately
22:02
<Okee>
This channel post private information to the internet, including the source of the ISP connection. How do we get this info removed?
22:02
<aho>
huh?
22:03
<Hixie>
there is no way to have it removed
22:03
<aho>
i mean... this is IRC, right? :>
22:06
<heycam>
Okee, http://freenode.net/faq.shtml#cloaks if you don't want people to know where you're connecting from
22:06
<charlvn>
Okee: are you referring to Krijn's logs?
22:06
<heycam>
(that's specific to the Freenode network though, not just this channel)
22:16
<Sirisian>
TabAtkins, interesting. I'll come back in a few weeks then.
22:29
<Bugaroo>
Your link for cloaks is no good.
22:30
<Bugaroo>
The link says to ask ops to turn it on for us.
22:31
<Bugaroo>
The links says to just ask a network staffer to turn it on for us. So who is the network staffer?
22:31
<Hixie>
why would we want to turn it on?
22:35
<Bugaroo>
why not?
22:35
<Hixie>
because people tend to be more responsible when they're not anonymous
22:35
<Bugaroo>
People don't want their ISP broadcast in Google Search engine. I think this is a reasonable thing to ask for.
22:36
<TabAtkins>
Why not? IPs are public information.
22:36
<Bugaroo>
Tell that to all of the people who are victims of identity theft and hacked online bank account. Or worse yet, people contacted by government regulators.
22:37
<TabAtkins>
The former has nothing to do with IP addresses. The second does, but that's why you protect *yourself* with an anonymizing service, since otherwise everyone in the chain knows who you are.
22:37
<Hixie>
i don't understand the relationship between one's ISP being logged and the above situations.
22:37
<Bugaroo>
It depends. The manner that you are broadcasting information is not appropriate. The fact that you are this great guru, all ominipotent, who knows what is good for people, sounds a bit egocentric.
22:37
<Hixie>
o_O
22:38
<Bugaroo>
I want my credentials removed from Google. I haven't given you permissin to put them on there, and your privacy disclosure was a bit lacking as to the extent of your policies.
22:38
<Hixie>
credentials?
22:38
<TabAtkins>
Um, no. The fact is that I actually understand the security implications of the matter, and realize that cloaking your IP solely at the endpoint is a useless gesture.
22:39
<Hixie>
i don't understand. if you think "government regulators" are searching google to get your IP from IRC logs, what makes you think they might not also be running the Freenode IRC servers in the first place?
22:39
<TabAtkins>
If you want anonymity, that's your responsibility. It has to be done at the earlist possible point in the chain, or else the entire thing is futile.
22:39
<Bugaroo>
This is what I mean about the condescending nature of this channel.
22:40
<Bugaroo>
There was no disclosure in this channel that your ISP is going to be publicly uploaded to Google's index.
22:41
<TabAtkins>
That's because *the entire internet, and every router between you and freenode* notes and possibly records and broadcasts your IP address.
22:41
<TabAtkins>
Your IP address is publicly-available information, with no expectation of privacy.
22:42
<Hixie>
actually the fact that the channel is logged is listed in the channel topic, as per the Freenode policies, which you agreed to when you read the /motd message when you connected
22:42
<Hixie>
so you _were_ notified.
22:42
<privacy_violated>
Your decision to broadcast information from this channel is not support by many people. Your attitude is a bit conceited and fails to take into account the needs of others who use this channel.
22:42
<TabAtkins>
Sigh. /mute
22:43
<Hixie>
you misunderstand the nature of security and privacy on the internet. It is true that we are not very good about teaching security and privacy fundamentals on this channel, but that's not really what this channel is about.
22:43
<privacy_violated>
I am plan on filing a formal complaint with Freenode administrators. For reasons unknown, you are not taking this matter seriously.
22:44
<Craig`>
alright guys, where would you recommend me starting for canvas game devZ
22:45
<Hixie>
pv: ok, please let me know how that goes
22:45
<Hixie>
Craig`: what's your experience with programming so far?
22:47
<Craig`>
id class myself as decent, ive been learning js lately, know the syntax etc just i havent really had a project as such
22:48
gsnedders
wonders what to do as free programming project for uni (which must be in Python…)
22:48
gsnedders
wants to do something siny
22:48
<gsnedders>
*shiny
22:49
<Philip`>
gsnedders: A raytracer with chrome spheres?
22:50
<Hixie>
gsnedders: make anolis way faster? :-)
22:50
<Craig`>
Hixie, so basically i have programming experience just none whatsoever in game dev
22:51
<Hixie>
gsnedders: or make it do multispec cross-references, multipage splitting, and index generation :-)
22:51
<Hixie>
Craig`: ah, hm
22:51
<Hixie>
Craig`: i dunno then, i'm in pretty much the same boat :-)
22:51
<charlvn>
gsnedders: if you want to do something with the web and a python server, tornado is awesome for websockets
22:52
<Craig`>
i know js syntax, and html/css to a deep level
22:52
<Craig`>
gah im typing slow because of dvorak
23:01
<TabAtkins>
Craig`: Try out some simple games. Checkers, or even tic-tac-toe first. That should only take a few hours to get right, and will teach most of the fundamentals of game programming.
23:01
<TabAtkins>
Then do something more fun, like Worms.
23:02
TabAtkins
has a demo of a simple Worms-like game he livecoded as part of a talk on developing games with Canvas.
23:03
<Craig`>
thanks, its just im unsure if i'd be able to solely work out the game logic
23:04
<TabAtkins>
Right, so start with a super-trivial game like ttt so you can learn how turn flow, painting order, etc. works before saddling yourself with a more complicated project.
23:04
<Hixie>
tab's advice is good
23:04
<Hixie>
also, url to worms game?!
23:05
Philip`
notes that some people have been working on porting http://www.hedgewars.org/ (Worms clone) to JS
23:07
<TabAtkins>
Hixie: http://www.xanthir.com/blog/b48D1
23:08
<TabAtkins>
It's very simply, and mainly intended as a didactic aid, not an actual game.
23:08
<Craig`>
thanks TabAtkins
23:08
<Hixie>
neat
23:09
<Hixie>
i like how you can keep firing while it's your turn :-P
23:09
<TabAtkins>
Like I said, simple and intended for didactic purposes only. ^_^
23:09
<TabAtkins>
Otherwise known as "I coded the whole thing the morning of my talk"
23:11
<Hixie>
very neat
23:11
<TabAtkins>
I need to finish it out sometime and hand it over to the devrel team.
23:12
<Hixie>
i've been playing with doing a multiplayer dungeon crawl type game, but i have no experience doing realtime client/server gaming code so i got bogged down in trying to write that part of the code
23:12
<Hixie>
haven't worked on it in ages though
23:12
<Hixie>
maybe i'll work on it some next week
23:15
<Craig`>
i just never get around to programming things, heh
23:29
<aho>
js/canvas is very easy to use
23:30
<aho>
it's like any other 2d api... just a bit easier :>
23:30
<boogyman>
thanks for stating your opinion
23:33
<aho>
Craig`, got some simple code over here: http://kaioa.com/node/104
23:33
<Craig`>
cheers
23:33
<aho>
and that simpleLoader thingy explained: http://www.reddit.com/r/javascript/comments/e5vhj/emulating_lossy_rgba_images_with_html5s_canvas/c15jr22
23:35
<aho>
wondered if i should write some straightforward game tutorial
23:35
<Craig`>
i always have ideas just if after googling a bit and no luck i tend to just go on games or alike
23:35
<aho>
(simpler than pong) :>
23:35
<Craig`>
id like that
23:36
<Hixie>
there's a lot of tutorials for the simple stuff, and there's lots of books on the advanced stuff, but what i haven't found is tutorials introducing the middle ground stuff, like how to actually implement multiplayer real-time games in principle (handling lag and the like)
23:36
<aho>
but first i gotta write about this: http://kaioa.com/k/bugger/bugger.js
23:36
<aho>
because it's so f-ing silly :)
23:36
<heycam>
is there a list of split-out specs that have been published at the w3c that still exist in the whatwg full version?
23:36
<Hixie>
yeah, it's on the whatwg faq
23:37
<heycam>
ah http://wiki.whatwg.org/wiki/FAQ#What_are_the_various_versions_of_the_spec.3F thanks
23:38
<aho>
handling lag is a f-ing mess
23:38
<Craig`>
so yeah, is there a list or alike for games to try to implement starting from easy? heh.
23:39
<aho>
i can explain the concepts of a game called ping (first game i ever wrote)... it's the bare minimum... it's just enough to call it a game
23:40
<aho>
there are two lanes... and a paddle which can be either on the left lane or the right one. a ball drops randomly... and you gotta deflect it... you can switch the lanes by pressing a key
23:40
<aho>
over time it gets faster
23:40
<Craig`>
tbh after reading some tuts i think i could have a go at pong
23:40
<aho>
and you get more points
23:40
<aho>
:>
23:41
<aho>
shoot em ups (the simple kind that is) are also very easy to write
23:42
<Craig`>
im guessing that once youve got the basics they seem to become easier
23:42
<Hixie>
singleplayer (or locally multiplayer) pong and tic tac toe are both good starting games
23:43
<aho>
or apple chess
23:43
<Hixie>
i did rock paper scissors long ago :-) http://software.hixie.ch/fun/games/rps
23:43
<Hixie>
apparently the images for rock and paper have broken
23:44
<aho>
Adobe's license agreement for downloading Acrobat Reader is a PDF. Well done Adobe. Well done. - https://twitter.com/#!/robarnold/status/5753460003704833
23:44
<aho>
haha
23:44
<Craig`>
heh cool Hixie
23:44
<Hixie>
here's my tic tac toe http://software.hixie.ch/fun/games/tic-tac-toe
23:45
<Hixie>
did most of those over christmas of 2000 iirc
23:45
<aho>
http://mbtic.com/ddd (still not finished) :f
23:46
<aho>
100% pure backtracking :)
23:46
<aho>
i do like logic maze games though
23:47
<boogyman>
Hixie: ttt fail :P
23:48
<Craig`>
aho, i like that; you make it?
23:48
<aho>
ye
23:48
<Craig`>
very nice
23:48
<aho>
~3kb js + ~83kb blob file
23:49
<aho>
<4kb for the page :)
23:49
<Hixie>
aho: pretty neat
23:49
<Hixie>
and pretty pretty too :-)
23:49
<Craig`>
im interested in webgl but im wanting to play around with canvas first
23:49
<aho>
:)~
23:50
<Hixie>
boogyman: how is it fail?
23:51
<Philip`>
Hixie: RTS-style multiplayer, or FPS-style multiplayer, or something else?
23:51
<Hixie>
Philip`: not sure what difference it makes in this context, can you elaborate?
23:51
<aho>
http://kaioa.com/k/rm2.avi <- also need to port that one over :)
23:51
<boogyman>
if the "computer" goes first and game ends on a draw, the last piece isn't placed prior to the "It's a draw" message being shown
23:51
<aho>
would be perfect as small n silly web game
23:52
<Hixie>
boogyman: it says "it's a draw" as soon as the game is a draw
23:53
<Hixie>
boogyman: which can be before all the pieces are placed
23:53
<boogyman>
Then it fails on the draw logic
23:53
<TabAtkins>
Hixie: ttt is solved. You should just say "It's a draw" immediately. ^_^
23:53
<Philip`>
Hixie: RTS usually has a lot more objects moving around the world, and usually allows more latency - you can press a key and then your input gets shared across the network and then executed simultaneously by every player perhaps 300ms later, and nobody notices the delay
23:53
<Craig`>
aho, thats brilliant!
23:54
<aho>
:)
23:54
<Hixie>
TabAtkins: it's not a draw if you play poorly :-)
23:54
<Craig`>
id love to be able to make things like that D:
23:54
<Hixie>
Philip`: i guess FPS, then, though it's actually a 2d over-the-top rendering in the current implementation
23:54
<Philip`>
Hixie: FPS requires much more responsive input, so usually it does some approximate client-side prediction and then tries to catch up with the server to stay in sync
23:55
<Hixie>
Philip`: imagine multiplayer pacman, where the position of the ghosts can't be 300ms behind
23:55
<boogyman>
Hixie: A draw can be already determined with 2 pieces yet to play
23:55
<Hixie>
Philip`: diablo 2 might be another good analogue
23:56
<Hixie>
boogyman: yeah i think it's only testing it on the computer's turn
23:56
<TabAtkins>
Hixie: Luckily for things like Pacman, you can do prediction pretty easily.
23:56
<Hixie>
TabAtkins: yeah, but it'd still be nice to have a tutorial somewhere that walked someone through this. It's not a hard problem, it's just something for which I've never seen good beginner tutorials.
23:57
<Hixie>
boogyman: specifically iirc what happens is that if the computer determines it can't either win or lose, it just says "it's a draw" instead of picking a move at random
23:57
<boogyman>
Yeah, I understand the logic :P
23:57
<Hixie>
well it's not a fail :-P
23:57
<TabAtkins>
Hixie: I guess I'll write on, then?
23:57
<Hixie>
TabAtkins: that'd be awesome :-)
23:58
TabAtkins
has too many projects he wants to do this weekend since he has the whole thing to himself.
23:58
TabAtkins
will probably end up doing none of them and just playing video games instead.
23:58
<Philip`>
Hixie: Okay, that sounds closer to the FPS style since you want to respond to player inputs faster than the network latency
23:58
<boogyman>
It's a half fail, because you stated as soon as the game is a draw, well it's a draw when neither player can win, not only if the computer cannot win
23:59
<Craig`>
brb moving from desktop to laptop
23:59
TabAtkins
forgot that his wife is now involved in the story of Brutal Legend, and so he probably can't play it this weekend without her.
23:59
<Hixie>
Philip`: yeah
23:59
<Dashiva>
Story
23:59
<Dashiva>
That's also a word to use to describe it
23:59
<Hixie>
boogyman: it's just attempting to act like a human -- i generally when playing would not say "it's a draw" after i played, only before i played.
23:59
<Philip`>
Hixie: If it was the other thing then I would have pointed at http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php?print=1 as a useful article, but it's probably entirely irrelevant here