Tuesday January 18, 2005 at 01:17 am

HP printers jump the shark:

H-P has quietly begun implementing “region coding” for its highly lucrative print cartridges for some of its newest printers sold in Europe. Try putting a printer cartridge bought in the U.S. into a new H-P printer configured to use cartridges purchased in Europe and it won’t work. Software in the printer determines the origin of the ink cartridge and whether it will accept it.

The company introduced region-coding on several printers in the summer so it won’t have to keep altering prices to keep pace with currency movements, says Kim Holm, vice president for H-P’s supplies business in Europe, the Middle East and Africa. H-P eventually plans to introduce the concept across its entire line of inkjet printers, he adds.

Sunday January 9, 2005 at 03:04 pm

A very Saucy Monky house concert.
RSVP. Suggested donation: $10
Saturday, January 15, 2004. 8 p.m. Sharp.
Sunnyvale, California 94085

What’s going on

Since two was so much fun, I’m doing it again. My first house concert of 2005 will feature the acoustic half of Saucy Monky. Annmarie Cullen and Cynthia Catania will start the new year off right.

Your New Year’s resolution? Support great music. Start here.

About Saucy Monky

Saucy Monky’s debut EP Celebrity Trash got noticed with its infectiously catchy “Flicker” and “Don’t Wanna Know Your Name.”

They’ve followed that up with Turbulence, which features more of Annemarie and Cynthia’s fab voices and sticks-to-you-like-candy-apples pop. And one crazy cover of … yes … “I Touch Myself.”

While Annmarie (of Dublin, Ireland) and Cynthia (somewhere in New Jersey) found each other by accident, where you will be a few Saturdays from now is completely under your control.

FAQ

Q: So what is a house concert, anyway?
A: It’s a wonderful way to experience music. Acoustic sound, intimate
setting. No smoke, no drunks, no obnoxious suits.

Q: Where is the concert?
A: In my living room. Really. You’ll get directions to the house when
you RSVP. (hint, hint!)

Q: When should I arrive?
A: Between 7:30 and 7:59 is good. If you’re late, enter via the back
door.

Q: What about transportation?
A: There’s plenty of street parking, I live within walking distance of
the Caltrain station, and the VTA buses drop you off two blocks away.

Q: Can I blog about this concert?
A: Sure. Please direct people to RSVP to saucy-lrc@paulschreiber.com.
Don’t post my other email address on the web for spambots.

Q: Who gets the money?
A: Annmarie and Cynthia. Every cent.

Q: Will they have CDs and merch for sale?
A: Indeedy.

Q: Who should I bring?
A: Bring a friend! Bring a date! Bring your Mom! Bring all three!

Q: What should I bring?
A: Drinks and snacks will be provided, but if you’d like to bring
something to share, I’d be really grateful. If you have folding chairs,
let me know.

An Open Letter to the UW IT Review Committee

November 10, 2002

To:
Review Committee
David Barnard, President, University of Regina
Larry Symes, University of Regina
John Mather, Manulife Financial

UW Administration
David Johnston, President, University of Waterloo
Amit Chakma, Vice President (Academic) and Provost, University of Waterloo
Jay Black, Associate Provost, Information Systems & Technology, University of Waterloo
Anne Wagland

Student Senators
Adrian Chin, Jesse Helmer, Jenny Lin, Nayan Gandhi, Stephen Skrzydlo, Jesse Waltman, Douglas Stebila, Igor Ivkovic, Jeannette Byrne, Justin Wozniak, Brenda Koprowski, Shannon Puddister, Melissa Conrad

Media
Imprint, The Gazette, uwstudent.org

Over the past decade, the University of Waterloo's Information Systems & Technology department has faced many challenges and has been handed many opportunities. In every case it has struggled and failed to live up to the expectations of the UW community, particularly students.

  • The Student Information Systems Project was late, expensive and fraught with problems. Initiated in 1992, it did not launch until nine years later. When it finally became available, QUEST was slow, difficult to use and inconvenient. These problems have still not been addressed.
  • Six years after it was promised, a replacement for Student Access is still not in place. This despite a system that was out of date when it was introduced in 1993, two failed attempts at a web-based system and the rejection of offers of help from several student groups.
  • Trellis, the library system, is slow and difficult to use.
  • The new payroll system is inflexible.
  • The "preferred high speed Internet provider," Bell Canada, was chosen in a back room deal that put Waterloo at a disadvantage compared to other schools.
  • On-campus bandwidth is woefully inadequate. The current link is insufficient for 20,000 people. Today, you can buy one megabit of home DSL for $45/month.
  • Campus computing facilities rely on a chaotic assortment of incompatible login systems. Math has one system for Unix, another Macintoshes and a third for Windows; Engineering has its own Unix systems; IST has another for Windows.

Information Technology at UW is now at a crucial point: it can continue on its current path into irrelevancy and disorder, or it can turn the corner and become a leading innovator once again.

I hope you'll choose the latter.

With that in mind, here are four principles to guide IST into the twenty-first century.

  1. Serve the Community. Just as Plant Operations' job is to provide heating and clean buildings, IST's job is to provide bandwidth, write software and install hardware.

    IST should not be dictating to its masters — students, faculty and staff — what computing platforms they can and cannot use. It should not force insecure, virus-prone Microsoft-based systems on people. It should not arbitrarily cap bandwidth or block network ports.

  2. Be a good citizen. IST should be a good member of the Internet and open source communities from which it draws so much. Waterloo should provide mirrors for software such as Debian Linux, BSD, The GNU Project, CPAN and Apache.

    The University of Washington created PINE and an IMAP server. MIT created Kerberos. Washington University created WU-FTPD. Berkley created BSD. UIUC created the Mosaic web browser and httpd. Cambridge created the exim mail server.

    What has Waterloo — allegedly Canada's most innovative university — done? Nothing.

    Waterloo should start, fund and provide ongoing support for open source/free software projects beneficial to the community at large.

  3. Involve students. University students are hardworking, ambitious individuals. The University of Waterloo has thousands of talented computer science and engineering majors who have much to contribute. UW and IST should:

    • Solicit student input on all projects in a meaningful manner, and incorporate their suggestions into the final product.
    • Let student volunteers help build UW's systems. You get free labour, high quality work and a big public relations win. And the students get experience building large, real-world systems and products they can show off to future employers.
  4. Innovate, don't wait. UW likes to call itself an innovator. Twenty years ago, it was among the first to give students access to computers. But recently, it was among the last to provide network access in residence rooms and the last to provide wireless access on campus.

    Waterloo should embrace new technologies and experiment to discover their potential — like Case Western Reserve University's "Gigabit Everywhere" initiative and the wireless campuses at Carnegie Mellon University and the Richard Ivey School of Business at the University of Western Ontario.

    Instead of restricting access due to paranoid worries about potential abuses, UW should take risks and look for opportunities.

Sincerely,
Paul Schreiber
BMath (Computer Science) 2001

Installing WebObjects 5 on Linux

I installed WebObjects 5.0 successfully on debian 2.2 (testing).

Here's what I did:
* download jdk 1.3.1 from sun and put it in /usr/local
  -- available from http://java.sun.com/j2se/1.3/download-linux.html

* install webobjects after renaming the files 
  (they were mounted as all lowercase for me) using install.sh

* set up my NEXT_ROOT and PATH environment variables in my .profile
   -- export NEXT_ROOT=/var/Apple
   -- export PATH=${PATH}:/usr/local/jdk1.3.1/bin 
   (this is bash syntax; for tcsh, try setenv NEXT_ROOT /var/Appple, etc.)

* compile the apache adaptor
  -- we want to change the default OS to HPUX
>># Define the OS.
>>ifeq "" "${OS}"
>>OS = HPUX
>>endif

  -- and change the adaptors built for HPUX
  -- make sure to set the correct path for apxs
>>ifeq "HPUX" "$(OS)"
>>ADAPTORS = CGI Apache
>>APXS = /usr/bin/apxs
>>endif

  -- change CGI/Makefile to eliminate the annoying warning messages
     during compile
>>#ifeq "HPUX" "$(OS)"
>>#CFLAGS += -nopdolib
>>#endif

* install the module like so
	apxs -i -n WebObjects mod_WebObjects.so

* add this line to httpd.conf:
    Include /var/Apple/Library/WebObjects/Adaptors/Apache/apache.conf 
  -- change the LoadModule line to /usr/lib/apache/1.3/mod_WebObjects.so 
     (it may be different for RedHat, SuSE, etc.)

* start up wotaskd:
    /var/Apple/Library/WebObjects/Executables/WOServices start

* start up JavaMonitor:
  /var/Apple/Library/WebObjects/JavaApplications/JavaMonitor.woa/JavaMonitor &

notes
-----
I had to install a few weird debian packages (using apt-get instal XXX). These included:
* libdb3-dev (to compile the apache adaptor)
* libstdc++2.9-glibc2.1_2.91.66 (for java)
* apache-dev (to get apxs)

MySQL, PHP and Apache on a Raq2

Originally published 11 October 1999

** update 12 March 2000
**
** these instructions have been tested with the following versions:
** Apache 1.3.9, 1.3.11 and 1.3.12
** PHP 3.0.12, 3.0.14 and 3.0.15
** MySQL 3.22.27 and 3.22.32 
**   in step [8], i was able to use --with-debug with MySQL 3.22.27
**   but not with 3.22.32
**



thanks to Sinisa Milivojevic  for the MySQL info.

part 1: install MySQL
---------------------
This is the longest part. In particular, compiling MySQL takes forever.

[1] Download MySQL:
    http://www.mysql.com/Downloads/MySQL-3.22/mysql-3.22.27.tar.gz
    
    A mirror list is at:
    http://www.mysql.com/mirrors.html

[2] Uncompress MySQL and delete the tarball:
    tar xzf mysql-3.22.27.tar.gz
    rm mysql-3.22.27.tar.gz

[3] Edit the configure file:
    ***
    *** NO LONGER NECESSARY WITH 3.22.32 ... only needed for 3.22.27 ****
    ***
    cd mysql-3.22.27/
    vi configure
    
    Delete these lines: (starts at line 6290 in 3.22.32)
    
    # Big file support ? (Solaris 2.6 style)
    # This may have to be commented on Relient (Siemens) unix
    echo $ac_n "checking "for Sun style big file support"""... $ac_c" 1>&6
    echo "configure:4853: checking "for Sun style big file support"" >&5
    LFS_CFLAGS=`getconf LFS_CFLAGS 2>/dev/null`
    if test $? = 0 -a "$SYSTEM_TYPE" != "sni-sysv4"
    then
      CFLAGS="$CFLAGS $LFS_CFLAGS"
      CXXFLAGS="$CXXFLAGS $LFS_CFLAGS"
      #
      LFS_LDFLAGS=`getconf LFS_LDFLAGS`
      LDFLAGS="$LDFLAGS $LFS_LDFLAGS"
      #
      LFS_LIBS=`getconf LFS_LIBS`
      LIBS="$LIBS $LFS_LIBS"
      echo "$ac_t"""Found. Using C $LFS_CFLAGS LD $LFS_LDFLAGS LIB $LFS_LIBS"" 1>&6
    else
      echo "$ac_t"""No"" 1>&6
    fi

[4] Get the new glibc:
    ftp://ftp.cobaltnet.com/pub/experimental/
        glibc-profile-2.0.7-29C2.mips.rpm
        glibc-debug-2.0.7-29C2.mips.rpm
        glibc-devel-2.0.7-29C2.mips.rpm
        glibc-2.0.7-29C2.mips.rpm

[5] Install the new glibc:
    cd
    rpm -Uvh --force --nodeps glibc-*-29C2.mips.rpm

[6] Run ldconfig:
    /sbin/ldconfig

[6] Get egcs and libstdc++:
    (Alternately you could downnload and compile get gcc 2.95.1 and libstdc++.)

    ftp://ftp.linux.sgi.com/pub/linux/mips/mipsel-linux/RPMS/mipsel/
        egcs-1.0.2-9.mipsel.rpm
        egcs-c++-1.0.2-9.mipsel.rpm
        egcs-g77-1.0.2-9.mipsel.rpm
        egcs-objc-1.0.2-9.mipsel.rpm
        libstdc++-2.8.0-9.mipsel.rpm
        libstdc++-devel-2.8.0-9.mipsel.rpm

[7] Install egcs & libstdc++
    rpm -e gcc-objc
    rpm -e gcc-c++
    rpm -e gcc
    rpm -Uvh egcs*-1.0.2-9.mipsel.rpm

    rpm -e libg++-devel-2.7.2.8
    rpm -i libstdc++*-2.8.0-9.mipsel.rpm


[8] Install mysql:
    cd mysql-3.22.27/
    ./configure --with-low-memory --disable-assembler --disable-shared \
    --with-mysqld-ldflags="-all-static" --with-client-ldflags="-all-static" \
    mipsel-unknown-linux-gnu

    make
    make install

[9] Run the MySQL install script
    ./scripts/mysql_install_db
    
[10] Copy the MySQL start script:
     cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
     chmod a+x /etc/rc.d/init.d/mysql
     
[11] Modify rc.local to start the MySQL server automatically:
     vi /etc/rc.d/rc.local 
    
     put "/etc/rc.d/init.d/mysql start" at the very end.
     
[12] Start MySQL:
     /etc/rc.d/init.d/mysql start
     
[13] Give the root account a password:
     /usr/local/bin/mysqladmin -u root password 'new-password-goes-here'
     

part 2: install Apache and PHP
------------------------------

[14] Download Apache:
     http://www.apache.org/dist/apache_1.3.9.tar.gz

     A mirror list is at:
     http://www.apache.org/dyn/closer.cgi

[15] Download PHP:
     http://www.php.net/distributions/php-3.0.12.tar.gz

     A mirror list is at:
     http://www.php.net/download-php.php3
     
[16] Uncompress Apache and delete the tarball:
     tar xzf apache_1.3.9.tar.gz
     rm apache_1.3.9.tar.gz
     
[17] Uncompress PHP and delete the tarball:
     tar xzf php-3.0.12.tar.gz
     rm php-3.0.12.tar.gz
     
[18] The Raq2 needs mod_auth_pam to be installed with Apache.
     Download it:
     http://blank.pages.de/pam/mod_auth_pam.c
     
[19] Edit the mod_auth_pam.c file.
     vi mod_auth_pam.c

    Change line 120 so it reads:
     *pam_servicename = "ahttpd",

[20] Copy mod_auth_pam into the Apache modules directory:
     cp mod_auth_pam.c apache_1.3.9/src/modules/extra/
     

     
[21] Configure Apache initially:
     cd
     cd apache_1.3.9/
     ./configure --prefix=/etc/httpd

[22] Configure PHP:
     cd
     cd php-3.0.12/
     ./configure --with-mysql --with-apache=../apache_1.3.9/ --enable-track-vars
     make
     make install

[23] Configure Apache. The easy way to do this is to replace your config.status
     file with this:

     cd
     cd apache_1.3.9/
     vi config.status

     #!/bin/sh
     ##
     ##  config.status -- APACI auto-generated configuration restore script
     ##
     ##  Use this shell script to re-run the APACI configure script for
     ##  restoring your configuration. Additional parameters can be supplied.
     ##

     ./configure \
     "--with-layout=Apache" \
     "--prefix=/etc/httpd" \
      "--enable-module=rewrite" \
     "--enable-module=so" \
     "--enable-module=mmap_static" \
     "--enable-module=log_agent" \
     "--enable-module=log_referer" \
     "--enable-module=mime_magic" \
     "--enable-module=info" \
     "--enable-module=speling" \
     "--enable-module=auth_anon" \
     "--enable-module=auth_dbm" \
     "--enable-module=auth_db" \
     "--enable-module=digest" \
     "--enable-module=cern_meta" \
     "--enable-module=expires" \
     "--enable-module=headers" \
     "--enable-module=usertrack" \
     "--enable-module=example" \
     "--enable-module=unique_id" \
     "--activate-module=src/modules/php3/libphp3.a" \
     "--activate-module=src/modules/extra/mod_auth_pam.o" \
     "$@"


     Now run config.status and make Apache:
     ./config.status
     make
     
     Do *NOT* do a make install.
     
[24] Install the PHP configuration file:
     cd
     cd php-3.0.12/
     cp php3.ini-dist /usr/local/lib/php3.ini

[25] Edit the PHP configuration file:
     vi /usr/local/lib/php3.ini

[26] Edit your srm.conf:
     vi /etc/httpd/conf/srm.conf
    
    Uncomment the line that says
      AddType application/x-httpd-php3 .php3
    Add a line that says:
      AddType application/x-httpd-php3 .php

[27] Backup the old Apache daemon:
     cp /usr/sbin/httpd /usr/sbin/httpd.old

[28] Stop the http daemon:
     /etc/rc.d/init.d/httpd.init stop

[29] Install the new http daemon:
     cd
     cd apache_1.3.9/
     cp src/httpd /usr/sbin/httpd

[30] Restart the http daemon:
     /etc/rc.d/init.d/httpd.init start