Moved From Front Page

Computers
I am currently trying to switch from linux to mac OSX. On occasion, I am trying to note down how the mac switch is going.

Much free software is now better than the best commercial software. Free software often works best under the linux operating system, but almost everything now works also under windows. Right now, my favorite is ubuntu.

If you think this free software is all amateurish child's play, realize that computer companies like google and yahoo are mostly running free software. In fairness, free software still falls short when it comes to media related files---windows media, apple aac, realplayer, dvd playing, etc. (free software does very well with mp3 files, though.) as to other drawbacks, linux is confusing when it comes to cut-and-paste across applications, and printing is still too finicky. Apple OS-X offers a much prettier interface. Windows offers more and often (but not always) better device support---and much better gaming support. IMHO, linux is for work, windows is for games and multimedia.

Intellectual Property and Free Speech
Background:
I believe I own no stolen music or movies. I pay for the music and the DVDs I own. I spend a good deal of money every year on media, and I own reasonably high-end equipment, including HDTV sets. I believe that intellectual property rights are good if they discourage free copying. I believe that intellectual property rights are bad if they discourage likely reinvention.
Save the Movie Industry From Itself:
Who wants a movie format that [a] may work on one player/TV combination, but not another; [b] will never allow copying a movie to a user's media PC or ipod; [c] will allow its publishers to yank authorization at their discretion at any time in the future (and possibly disable the player, too!); [d] costs twice as much for a movie?
Welcome to Blu-ray or HD-DVD. Yes, these new movie formats provide better quality than ordinary DVD, although good upscaling DVD players, like the OPPO DV-980H, can get consumers halfway there. So here is my prediction: Ordinary consumers will prefer DVDs. MP3's have shown that consumers prefer convenience over quality.
(PS: Despite what the MPAA claims, these are primarily business model enablers, not piracy preventers. See, a good commercial pirate in China can set up a rig with a digital camera that photographs just about every pixel of a playing movie from an LCD screen in perfect accuracy. Fortunately, most consumers still prefer legal DVD's---and they still sell well, even though their copy protection has been completely broken.)

Copyright:
Few people realize how troubling the world is becoming. The Right To Read was written by Stallman in 1997, and seems visionary. But there is a big immediate problem already here. There are at least 60-100 million criminals in the United States today---everyone who has ever downloaded a file that was copyrighted. Each is exposed to enough liability to bankrupt them. The RIAA will now proceed to collect, one individual at a time. (Stop buying CDs!) Another problem to day is the DMCA, which prohibits reverse engineering of all kinds, including computer programs. Computer programs can only really compete if one can try to read the file formats of its earlier competitor. This is how Microsoft Word stole WordPerfect users, how Microsoft Excel stole Lotus 1-2-3 users, etc. Alas, the DMCA will prevent this in the future. Software and business model patents are truly awful. There are also many other related issues of importance. A brave new world is upon us. Please join the Electronic Frontier Foundation, and post a similar notice on your own website.
Copyright:
Oops. I had thought that my concern with copyright violations was academic, but it appears that I am rather exposed myself: "Infringement Nation: Copyright Reform and the Law/Norm Gap" shows pretty clearly that I am violating the law every day, too, although I have always been very conscientious not downloading copyrighted music or movies illegally. Yikes. We need sanity in this arena---laws that create reasonable fees for innocuous and small-scale violations, and reasonable penalties for obviously non-innocuous infringement.
PS: Personal Opinion: I am much less anti-copyright than filesharing networks, and perhaps even the EFF or GNU. I am in favor of appropriate "watermarking" of copyrighted materials to identify original purchasers, and of "phone-home computer code" embedded in copyrighted material. In exchange, I favor no use restrictions for those end users having purchased copyrighted material and if a "phone-home" identifies an illegal user, such a user should first receive the opportunity to pay an ordinary price for the content, before he/she becomes criminally liable (or civilly liable for multi-thousand dollar fees).
Free Speech?
Images of Mohammed offend Muslims. Therefore, should we restrain from all depictions of Mohammed? (What should we do with museum pieces of ancient Islamic art?) If we want to reduce free speech in order not to give offense, should we outlaw or take actions again the burning of the American flag? Could this offend many Americans, just as images of Mohammed offend many muslims? (And what about images of Jesus or God, the latter similarly prohibited for Jews.) Should we weigh one person being seriously offended worse than another person being seriously offended?

Short Reviews

A Short Test Review of OmniPage 16 Pro OCR Software.

Computer Related Resources

ssh automatic keys. Basically, copy the local-client id_dsa.pub into the authorized_keys file on the destination-server.
texlive-install-postscript-font.zip
Works under linux.
MiniWiki.tgz
A very small wiki bolt-on to existing web pages.
lmnh.R
A small extended class to add normalized [n] coefficients and White heteroskedasticity [h] adjusted T-stats to the ordinary lm class.
gettex.zip
allows extraction of all latex macros with a given name with basic support for nesting.
bstfiles/
All .bst style files for bibtex.
colornames.sty
latex color names equivalent to the HTML names.
latexhelpindex.html
helps to create an automatic index for a latex document. the user supplies only the first incidence of the word; further occurances are automatically included.
reflabel.html
diagnostics to determine multiple and missing labels/references.
webbib
system to create ipo and cascades web pages.
addmacros2tex.pl
adds \curwdate{}, \curwdatetime{}, \curfile{}, and \system[command]{% }% to (La-)TeX files. will soon be obsoleted by a new feature of texlive that will allow one to use real pipes. so, you will be able to do
   \def\system#1{\input "|#1" }
   \system{ls -l \curfile} % you must keep \curfile
Hooray!
badenclosures.pl
standalone imap client which notifies senders of microsoft office files that these files are proprietary and generally unreadable.
Screen Calculations
For a 16:9 screen,
width = 16/Sqrt(337) = 0.87*diagonal,
height= 9/Sqrt(337) = 0.49*diagonal
area = 0.427*diagonal^2
Thus, widths are
Diagonal Width Height Area dpi@1920x1080
17 inch 14.82 inch 8.334 123.5 130
19 inch 16.56 inch 9.315 154.3 116
20 inch 17.43 inch 9.805 170.9 110
21 inch 18.30 inch 10.30 188.4 105
23 inch 20.05 inch 11.28 226.0 96
24 inch 20.92 inch 11.77 246.1 92
30 inch 26.15 inch 14.71 384.6 73
37 inch 32.25 inch 18.14 585.0 60
42 inch 36.61 inch 20.59 753.8 52
50 inch 43.58 inch 24.51 1,068.2 44
60 inch 52.29 inch 29.42 1,538.3 37
72 inch 62.75 inch 35.30 2,215.1 31
100 inch 83.67 inch 47.07 3,938.0 23
The 30 inch dual-link computer monitors (like the DELL 3007, the HP LP3065, or the Apple Cinema Display 30) at 2560x1600 in 16:10 format have a width of 25 inches, and a screen resolution of 100dpi. A 30 inch monitor with a resolution of 1280x720 (1366x768) has a resolution of 49dpi (52). For a 16:10 screen, the area translation formulas are
width = 8/Sqrt(89) = 0.85*diagonal,
height= 5/Sqrt(89) = 0.53*diagonal
area = 0.45*diagonal^2

Mathematica

How to convince Mathematica that all symbols are real during simplifications:

In[1]:= Unprotect[Simplify]
Out[1]= {Simplify}
In[2]:= Simplify[p_]:=
  Simplify[p,
    And@@Map[Function[s,ToExpression[s,InputForm,Element[#,Reals]&]],
        Names["Global`*"]]]


A latex-emacs reference and label checker

...written in perl, can be found here.


Linux CD Burning

Long Explanation: here.

  1. Make sure that ide-scsi is a command-line option at boot time.
  2. use x-cdroast. it can blank CD's in master tracks, create session/image.
  3. mkisofs -a -A Application-Description -f -J
    	    -r -V USERNAME -o /tmp/USERNAME.iso PATH_TO_DIRECTORY
  4.  cdrecord fs=12m speed=4 PATH_TO_ISO

Linux kernel installation notes

Note: bunzip2 uncompresses .bz2 files.

  1. obtain the most recent tar ball from kernel.org. unpack it in /usr/src. the rest of this note refers to the newest version number "latest".
  2. relink linux to point to the newest source tree:
    $ ln -s -f /usr/src/linux-newest /usr/src/linux
  3. apply patches to bring it up to the most recent release.
     $ cd /usr/src/
     $ patch -p0 < patches
     
  4. configure the kernel by running:
     $ make menuconfig 
    Eliminate as many drivers as possible. They often create problems later on.
  5. compile the kernel by running:
    $ make dep; make clean; make bzImage ; make modules ; make modules_install
    watch carefully for errors. typically, you will need to eliminate more modules in order to get a kernel where there are no dependency or compile problems at the final step.
  6. install the kernel:
    $ cp arch/i386/boot/bzImage /boot/vmlinuz-latest
    and its system map (for resolution of symbols to the modules)
    $ cp /usr/src/linux/System.map /boot/System.map-latest
    and create an initial ram disk for booting
    $ cd /boot; /sbin/mkinitrd initrd-latest latest
    remember to replace latest with your new kernel version.
  7. edit grub (the LILO replacement):
    $ emacs /boot/grub/menu.lst
    Advice: change the name of the kernel each time, so that you are certain on reboot that you have properly reconfigured grub for the revised version.
     $ sh /boot/grub/install.sh 
    installs the menu.lst file. (Do not forget to add "hdc=ide-scsi" as an option after your kernel, or you will not be able to use your IDE CD writer later.

Other linux notes

  1. start gnome via xinit /usr/bin/startgnome.

Most used programs