Last Sunday, I published a new puzzle at http://cotpi.com/p/54/ that uses the Indian rupee symbol ₹. It appeared fine on Iceweasel 10 as well as Google Chrome 20 on Debian testing distribution (Wheezy). However, Firefox 12 as well as Google Chrome 19 failed to render the symbol on Windows 7 Enterprise Service Pack 1.

To resolve this, I downloaded an update for my version of Windows from KB2496898, installed it and rebooted the computer. KB2496898 lists the updates for other versions of Windows as well.

Commands to create When you say nothing at all - Pragyan Patnaik:

ffmpeg -ab 128k -s 640x480 -f image2 -r .1 -b 180000 -i pragyan%d.jpg -i
pragyan.mp3 pragyan.mpg
Commands to create Diwali 2010 with Rinku and Madhusmita:
# Select the slices

# 0:14 - 0:54 (40) # 2:20 - 2:40 (20) ffmpeg -sameq -ss 00:00:14 -t 40 -i DSCN0087.AVI cut1.mpg ffmpeg -sameq -ss 00:02:20 -t 20 -i DSCN0087.AVI cut2.mpg

# 0:02 - 0:25 (23) ffmpeg -sameq -ss 00:00:02 -t 23 -i DSCN0092.AVI cut3.mpg

# 0:01 - 0:46 (45) ffmpeg -sameq -ss 00:00:01 -t 46 -i DSCN0095.AVI cut4.mpg

# 0:10 - 0:34 (24) ffmpeg -sameq -ss 00:00:10 -t 24 -i DSCN0097.AVI cut5.mpg

# 1:28 - 1:58 (30) ffmpeg -sameq -ss 00:01:28 -t 30 -i DSCN0098.AVI cut6.mpg

# 0:00 - 1:17 (67) ffmpeg -sameq -ss 00:00:00 -t 77 -i DSCN0101.AVI cut7.mpg

# Join the slices cat *.mpg | ffmpeg -f mpeg -i - -vcodec copy -acodec copy diwali-2010.mpg

I wanted big-endian emulation on my little-endian Intel machine to test a program for byte order related issues. QEMU PowerPC emulator seemed like a good solution. I have documented the steps to set it up in this note.

  1. Installed QEMU.
    nifty:~# aptitude update &&
    aptitude install qemu
    
  2. Downloaded Mac-on-Linux from http://sourceforge.net/projects/mac-on-linux/files/ and copied the 'video.x' file in the download to '/usr/share/qemu'. This was necessary to prevent qemu-system-ppc from complaining about it.
    nifty:~# tar -xjf
    mol-0.9.72.1.tar.bz2
    nifty:~# cp mol-0.9.72.1/mollib/drivers/video.x
    /usr/share/qemu
  3. Downloaded Debian for PowerPC and installed it on a QEMU hard disk image.
    susam@nifty:~/qemu\$ wget
    --no-verbose
    http://cdimage.debian.org/debian-cd/5.0.4/powerpc/iso-cd/debian-504-powerpc-CD-1.iso
    2010-06-19 02:55:06
    URL:http://caesar.acc.umu.se/debian-cd/5.0.4/powerpc/iso-cd/debian-504-powerpc-CD-1.iso[675569664/675569664]
    -> "debian-504-powerpc-CD-1.iso" [1]
    susam@nifty:~/qemu\$ qemu-img create powerpc.img
    2G
    Formatting 'powerpc.img', fmt=raw size=2147483648
    susam@nifty:~/qemu\$ qemu-system-ppc -hda
    powerpc.img -cdrom debian-504-powerpc-CD-1.iso -boot d -m 512
    
  4. Booted the QEMU PowerPC emulator with the hard disk image.
    susam@nifty:~/qemu\$ qemu-system-ppc -hda powerpc.img -m 512
    
  5. Verified that I was really on a big endian system by writing a simple C program.
    susam@lilliput:~\$ cat
    endian.c
    #include <stdio.h>
    

    int main() { int n = 0x1; printf(*((char *) &n) ? "little-endian\n" : "big-endian\n"); return 0; } susam@lilliput:~\$ gcc endian.c && ./a.out big-endian susam@lilliput:~\$

In case you missed the pun, Lilliputians were originally big-endians.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Experiments on ID attributes</title>
<script type="text/javascript">
function foo()
{
    try {
        a = 10
        alert(a)
    } catch (e) {
        alert(e.name + ': ' +  e.message)
    }
}
</script>
</head>
<body onload="foo()">
<p id="a">
hello, world
</p>
</body>
</html>
This code works fine in Firefox 3.6 and Chrome 5.0.

However, the statement a = 10 causes an error in Internet Explorer 6.0.

To confirm my guess that a indeed behaves like a global constant object, I replaced function foo() with this.
function foo()
{
    try {
        alert(a.innerHTML)
    } catch (e) {
        alert(e.name + ': ' +  e.message)
    }
}
Indeed, in IE, the alert dialog box displays what I expected.

However, on Firefox it is an error:

One way I could fix the code is by defining function foo in this manner
function foo()
{
    try {
        var a = 10
        alert(a)
    } catch (e) {
        alert(e.name + ': ' +  e.message)
    }
}
Note the var in the declaration.

Realized while writing this note that e.description is not a standard way of getting the error description from the Error object. The description property is defined for Error objects in IE only. The message property is standard and works on IE as well as other browsers.

Newer | Older
RSS