Throwing IE8 in acid.
My IE8 happiness was so yesterday. Now let’s tear all these browsers apart, IE8 included, with the Acid3 test!
My IE8 happiness was so yesterday. Now let’s tear all these browsers apart, IE8 included, with the Acid3 test!
So Microsoft announced they’re changing the default rendering behavior in IE8. Reasons why aside (see 3rd to last paragraph), they are actually doing it. This simply spreads good will, which is something Microsoft is hardly known for. It’s a big public relations boon.
Seriously, thank you Microsoft. Here’s to the continued spreading of good will.
In an effort to inspire me to write something else, I am throwing a few thoughts out from the last month.
My orchestra, The Columbia Orchestra, is playing Beethoven’s Ninth Symphony for our next concert. The orchestra is trying to make at least a small cultural event out of it. There is a website (embracingthemillions.com) a flickr discussion group (flickr.com/groups/embracingthemillions), and a number of artists (not just musicians) participating in the event. Since I threw together the website (no comments please, I’ve been very busy), I know the statistics of people visiting it. And there are quite a few people visiting. What I can’t figure out is with 30 or so people visiting per-day, why hasn’t anyone a) commented, b) written something on the discussion board? I made a post in the discussion group. It took me a few minutes at best. No one else has posted. Are people’s lives really so busy that they can’t be bothered? I’m confused by this. Technology aside, I am delighted to be playing Beethoven, he was simply a genius.
I went to see the Ingmar Bergman film, The Magician the other day at the AFI Silver Theater. I liked the quirky nature of the film, and found it to be totally engaging (I’ve yet to see one of his films that isn’t). I regret not being able to see more movies from the first part of the Bergman Retrospective they are doing now, as I have been ridiculously busy of late. However, I do own most of them on DVD (I don’t own the Magician). I look forward to the next few parts of this retrospective, as I don’t know as many of his later works.
I have been working extremely hard on the next version of My NCBI, the preferences section of the NCBI website. This is where you can set preferences for PubMed, Blast, and all of the rest of the NCBI sites/databases. It is hard, writing everything in a internally-created language, which is slightly buggy and tends to make easy things easy, but hard things very hard, with XSLTs completing the system. I haven’t had to write a ton of recursive XSLT functions or anything, (mostly because of the inclusion of EXSLT extensions), but development time is still very slow. It also seems that with every step I take forward, I discover 4 new things I have to do. Throw in the fact I made time estimates without knowing the language, and the NCBI announcement that the budget fell flat (and actually decreased) this year and people were dismissed, and that makes my life particularly fun. I knew what I was getting into when I signed up, and I wanted to do a LOT of work, but that doesn’t mean I feel that way every second of every day.
Continue readingbut I got distracted uploading a boat-load of photos. Look at them instead.
This is an interesting little function that I ran across in Kent Dybvig’s The Scheme Programming Language. I thought I would give it a go in javascript. I wrote it out, and ran into two problems. First, I wasn’t returning anything from the anonymous-self-executing function, so it was being garbage collected, and the call to tell() would give an undefined (secret didn’t exist anymore). The second was that I initially declared secret without the var which gave it global scope. Took me a little while to figure these out, but since I haven’t looked at any javascript in months, I don’t feel so bad.
``
/* the original function from The Scheme Programming Language
(define shhh #f)
(define tell #f)
(let ((secret 0))
(set! shhh
(lambda (message)
(set! secret message)))
(set! tell
(lambda ()
secret)))
(shhh "sally likes harry")
(tell) <graphic> "sally likes harry"
secret <graphic> Error: variable secret is not bound
*/
</graphic></graphic>
<graphic><graphic>//the Javascript version of the same function
</graphic></graphic>
<graphic><graphic>var shhh = false;
var tell = (function(){
var secret = 0;
shhh = function(message) { secret = message; }
return function() { console.info(secret); }
})();
shhh("harry likes sally");
console.info("tell: " + tell() );</graphic></graphic>