Today was given over to JavaScript and vacuuming. When I wasn't vacuuming, I was leisurely reading Higher-Order Perl and writing some more notes on translating it all to JavaScript.
Today's interesting stuff was
mainly yet more cases where the Perl code has push @foo,
bar(...) where bar might (directly or indirectly)
return an empty list, or one item, or several; and, to make things
even more interesting, some of the values returned were arrayrefs, so
that I couldn't just say that I'll array-deref whatever values come
back. It's not a case of the Perl being bad, or the JavaScript being bad;
instead, the trouble is the subtleness of the problems that arise from
the apparently safe translation of push @foo, bar(),
as foo.push(bar()). In a day or two, I'll put it
all up at the usual place.
Then, as I was poking at My RSSs Of Interest, it occurred to me that my XSL tricks do improve things by expressing <lastBuildDate>Mon, 23 May 2005 08:57:22 GMT</lastBuildDate> as "Last feed update: Mon, 23 May 2005 08:57:22 GMT". But, it occurred to me that it's not exactly effortless for people to look at that and say "oh, that just updated", or "that was like ten hours ago"
So I thought how I've already used a bit of JavaScript to moregoodify the data in an RSS feed, and a bit of date-wrangling in JavaScript; so I might as well combine the two past approaches and write some JavaScript to convert "Mon, 23 May 2005 08:57:22 GMT" to a Date object and then to figure out how long ago it was, and then to express that as an approximate time-interval, like "Last feed update: about 9 hours ago".
Then I just got crazy and put some other data off into the title="..." attribute of the wrapper-element around the "ago" phrase, so that mousing over "9 hours ago" shows something like "Sun 22 May 2005 04:58:32 PM ADT (Mon, 23 May 2005 08:58:32 GMT)" (modulo your locale and timezone, etc).
Time zone problem? (Score:2)
Re:Time zone problem? (Score:2)
Re:Time zone problem? (Score:2)
Re:Time zone problem? (Score:2)
Re:Time zone problem? (Score:2)
It seems that if I pass an explicit ",10" to parseInt(), it doesn't do that crazy octalification thing. There, fixedified [interglacial.com]!
not in HOP (Score:1)
An interesting twist on eval, Function() creates a function reference out of an array of strings.
And this JS 1.5 syntax, which gives an anonymous closure a temporary name so it can refer to itself.
Despite appearances, there is no fact(). That was just a name for use duri
Re:not in HOP (Score:2)
But that doesn't work, because sub is defined outside the scope of $f. So you've got to do this:
That works!
(GC note: now $f and that sub constitute a circular data structure, so you need to do $f='whatever'; (or just undef($f)) to break the circularity.)
Re:not in HOP (Score:1)
And with arguments.callee (Score:2)