Friday, December 31, 2004

Lego Logic

Linked from the title above: a page describing the construction of logic gates (the fundamental building blocks of all modern computers and digital circuitry) from Lego. It uses a lot of "unusual" components, such as rack gears, which I assume must be special ordered from the company (at least, my kids' Legos don't have them, and I don't recall seeing them in the toy stores). The builder has NOT, OR, NOR, AND and NAND gates, which is more than sufficient to implement any logic function. To build a reasonable computer model, one would also need a tri-state device, in which one input disconnects or connects the other to the output. I don't think that would be a problem to implement in Lego. Of course, the other problem in building a complete Lego computer would be the increase in force needed at the input as more and more gates are added --- eventually, the force would be greater than what could be applied at the input without popping it apart. To get around that, you might be able to make some of the gates powered by motors and couple those gates via switches (rather than mechanically). Oh, and you'd need to spend a lot of money.

Thursday, December 30, 2004

The Re-Ascendancy of Hardware

We live in an era where "commodity hardware" is king. For most people, price is the buying point for PCs (or, for that matter, DVD players, etc). Hardware's relevance is merely as a platform for software. That wasn't always the case, and in this article, I'd like to argue that it won't be the case in the future.

I am fortunate (?) to remember the days when desktop computing was all about hardware. User interface was a hex keypad and a small LED display. Serious folks (who had the money) built their own S-100 systems, toggling in the few instructions to load the first sector from a floppy and then transfer control to that boot loader code.

Today, unless you have specialized requirements, it pretty much doesn't matter what PC you buy. Yes, there are differences in terms of speed, storage, graphics, etc., but at every performance level there is a set of essentially interchangeable machines from different manufacturers. Consumers for the most part buy based on price. The result has been that hardly any (none?) PC vendors make money selling them. PCs have become disposable razors (albeit expensive ones), the only problem being that the companies selling the blades (Microsoft and Intel) aren't the ones selling the razors. They're even more like razors now that PCs are basically as powerful as necessary for most any application for the foreseeable future (or at least the next several years) --- if you can edit digital video on a machine, that machine probably can do whatever you need to do. Will people trade in their old computers for twin-bladed ones? Ones with built-in skin care products?

This got me to thinking about the success of the iPod. While digital music players aren't yet ubiquitous (due to price), other types of music players are. So, why doesn't the iPod suffer from being an expensive product in a commodity marketplace? In my opinion, the answer is user interface, and in particular hardware. We've come to think that the real story these days is software's ability to produce any sort of user interface for given hardware, but in the case of iPod, the real story is that the software is invisible --- the iPod is successful because it works like hardware, not software.

Let's face it, most software user interfaces suck. Most try to make a program look like a physical device, but that "device" is a nightmarish, unusable thing. The best user interfaces foster the development of useful mental models by their users [1]. These don't have to be accurate models of how the system works, merely models useful for the task at hand. A good example of this is a car's steering wheel. My mental model associated with steering a car doesn't involve how it really work, but rather how the angle and rate of turn is associated with changing the car's direction.

Compare this with setting the clock on a VCR (depending on the VCR, almost certainly an example of either bad hardware or software user interface). Few VCRs have decent user interfaces, which is why so many are flashing "12:00". Why? Because they don't conform to the well-entrenched mental model associated with manipulating time --- the clock. On the other hand, the iPod's interface, particularly the scroll wheel, is excellent in the same way that an analog control is: it doesn't just allow one to select an item from a list, it also fosters development of a mental model that includes rate of scrolling and relative distance from the list's extremes.

So, where is all this leading? The lesson to me is that, to make software more usable, we must do more than make it more like (good) hardware --- we must make it indistinguishable from hardware. Good software must be invisible. Note that this is not the same as "ubiquitous computing", where computers are so numerous and in so many items used daily that we don't notice them (because they're everywhere). What I mean is that user interfaces should not "just" look like hardware (buttons, switches, etc.), but should actually act like hardware, to the extent that casual users will think of them as such. This is probably only possible for manufacturers that have control over both hardware and software design, since software can only "fade into the background" if hardware provides the user interface. Since this is pretty much the end of the year, this leads me to some "predictions":

  • It seems to me that Apple is probably best able to execute on this type of strategy, given their control over both hardware and software. Apple has already shown that this works for device categories in which there is little software compatibility issue (data compatibility only being an issue for copy protected music). Can Apple extend this to desktop computing? Once upon a time, Sun Microsystems and Silicon Graphics dominated the engineering workstation market (yes, I'm neglecting Apollo, HP, etc). While their software may have had issues (Sun, for example, let their graphical "desktop" stay unchanged for so long that hardly anyone I know actually used it), it was Unix, ran all the GNU software, and that was the most important thing. Yes, the machines were more expensive than Intel boxes running Linux, and that cut into sales. But what really killed those two companies as major players was the fact that they couldn't keep their hardware's performance ahead of Intel boxes. Linux was merely a facilitator for the switch to cheaper, sometimes better-performing hardware. Sun and SGI tried to fight back by offering their OSes for Intel (and, in SGI's case, running Windows on their hardware), but a company can't stake its survival on selling a product on which it can't make a profit. (Yes, I know, both companies still exist, but neither is a major desktop player anymore.) By focusing on the overall experience of using a Mac, Apple can survive (and possibly, grow its user base) and make a profit on its computer sales (which likely makes it unique). To an engineer, Mac OS X is Unix, and Apple hardware is pretty high performance (and not more expensive than Wintel, unless we're comparing bottom-end machines). The one thing that Apple should not do is try to compete in terms of price. Instead, it should focus on new hardware that transforms aspects of people's lives (like listening to music) and creates synergies among its product lines. (Wow, that sounds like it was produced by a buzz-word generator!)
  • Though one might not think it, Microsoft is in kind of a pickle. Yes, I'd like to have Bill Gates' problems, too. However, Microsoft's only real unique advantage is its monopoly status. This allows it to act essentially like a government, extracting a "tax" on each Wintel computer sold. This is not a recipe for future success. Incremental gains in market share by Apple and Linux will inevitably lead to the porting of specialized software to those platforms, which will lead to increasing market share, and so on. Microsoft will have great trouble moving into consumer products because they don't control the hardware --- witness the lack of enthusiasm for Windows Media Center machines. When Microsoft does control the hardware --- Xbox --- they run into price competition and shrinking margins. So, Microsoft can use its financial muscle to diversify into markets in which it will be marginally profitable at best, or it can continue to live off of an eroding market.
OK, so not so many predictions for a year-end article. But, this leads to one counter-intuitive observation: not only is market share not the most important thing, sometimes it actually is disadvantageous. Apple is a profitable 3% of the PC market. How many other computer manufacturers are sustainably profitable, even at much larger market shares? Do any of those companies support significant research? If your company is in an industry where innovation is key to new products and profits, would you rather have a small market share and healthy margins or a large market share and razor-thin margins?

[1] Hrebec, D.G. and M. Stiber,"A survey of system administrator mental models and situation awareness", ACM SIGCPR, San Diego, pp. 166--72, April 2001.

Monday, November 29, 2004

Mike Teavee shows the way

The following quote from Roald Dahl's Charlie and the Chocolate Factory I think sums up quite nicely the effects of television watching on children's education:
The most important thing we've learned,
So far as children are concerned,
Is never, NEVER, NEVER let
Them near your television set ---
Or better still, just don't install
The idiotic thing at all.
In almost every house we've been,
We've watched them gaping at the screen,
The loll and slop and lounge about,
And stare until their eyes pop out.
(Last week in someone's place we saw
A dozen eyeballs on the floor.)
They sit and stare and stare and sit
Until they're hypnotised by it,
Until they're absolutely drunk
With all that shocking ghastly junk.
Oh yes, we know it keeps them still,
They don't climb on the window sill,
They never fight or kick or punch,
they leave you free to cook the lunch
And wash the dishes in the sink ---
But did you ever stop to think,
To wonder just exactly what
This does to your beloved tot?
"All right!" you'll cry. "All right!" you'll say,
"But if we take the set away,
What shall we do to entertain
Our darling children? Please explain!"
We'll answer this by asking you,
"What used the darling ones to do?
"How used they keep themselves contented
Before this monster was invented?"
Have you forgotten? Don't you know?
We'll say it very loud and slow:
THEY ... USED ... TO ... READ! They'd READ and READ,
AND READ and READ, and the proceed
To READ some more. Great Scott! Gadzooks!
One half their lives was reading books!
The nursery shelves held books galore!
Books cluttered up the nursery floor!
And in the bedroom, by the bed,
More books were waiting to be read!
Such wondrous, fine fantastic tales
Of dragons, gypsies, queens, and whales
And treasure isles, and distant shores
Where smugglers rowed with muffled oars,
And pirates wearing purple pants,
And sailing ships and elephants,
And cannibals crouching 'round the pot,
Stirring away at something hot.
(It smells so good, what can it be!
Good gracious, it's Penelope.)
The younger ones had Beatrix Potter
With Mr. Tod, the dirty rotter,
And Squirrel Nutkin, Pigling Bland,
And Mrs. Tiggy-Winkle and ---
Just How The Camel Got His Hump,
And How The Monkey Lost His Rump,
And Mr. Toad, and bless my soul,
There's Mr. Rat and Mr. Mole ---
Oh, books, what books they used to know,
Those children living long ago!
So please, oh please, we beg, we pray,
Got throw your TV set away,
And in its place you can install
A lovely bookshelf on the wall.
Then fill the shelves with lots of books,
Ignoring all the dirty looks,
The screams and yells, the bites and kicks,
And children hitting you with sticks ---
Fear not, because we promise you
That, in about a week or two
Of having nothing else to do,
They'll now begin to feel the need
Of having something good to read.
And once they start --- oh boy, oh boy!
You watch the slowly growing joy
That fills their hearts. They'll grow so keen
They'll wonder what they'd ever seen
In that ridiculous machine,
That nauseating, foul, unclear,
Repulsive television screen!
And later, each and every kid
Will love you more for what you did.

Sunday, November 28, 2004

A tale of two school districts, Part Two

This is the second of two articles outlining the different experiences my family has had in two school districts --- the Northshore School District in the Seattle suburbs and the Alachua County School District in the Gainesville, Florida area. This article presents our subjective experiences; the first article went over community and school demographics and finances.

Central vs. Decentralized Control

First of all, let me say that both schools are filled with teachers and administrators who care very deeply about their students and their education. I can detect no difference in their dedication or the time and effort they expend. What is interesting are the significant differences in philosophy, organization, and management in the two systems. In some cases, my family prefers Northshore; in others (though, I must admit, fewer), Alachua county.

The primary matter of difference between the Northshore and Alachua country school districts is that of central control. Alachua county (and, I believe, all of Florida) has highly centralized decision-making; so much so that I sometime wonder what authority Principals here have. Northshore Principals appear to have much greater discretion. Two examples should be informative:

  1. Our younger daughter's birthday is at the end of September. In Washington and Florida, this is after the cutoff date for admission to Kindergarten. However, in Northshore, Principals have latitude to provisionally admit a student to Kindergarten if they're born before November. There would be an evaluation process beforehand to determine if the child is ready, and there would be a probation period during which the Principal could decide, with teacher input, that it wasn't working out and that the child should wait a year. In Florida, the September 1 cutoff is a hard cutoff, mandated by State law. No exceptions are allowed, even at accredited private schools. Note that there is also a cutoff for first grade; this apparently causes problems for a number of families moving to Florida with young children who have already completed Kindergarten but, under Florida law, must repeat it because they cannot be admitted to first grade. There are some non-accredited private schools around that cater to families in this situation.
  2. Our older daughter is quite advanced for her age. There is some local discretion regarding placing her in higher grade classes for certain subjects. In Northshore, the Principal interviewed our daughter and had her do parts of a standardized test, then he had her evaluated by her teacher and the school counselor. We then met with them and arrived at a solution we were happy with. The whole process took a couple weeks --- just long enough for the folks at the school to feel confident in their assessment.

    Here in Alachua county, while the basic idea was the same, the procedure was far more involved and bureaucratic. We first met with the Principal, and a partial plan was outline for testing our daughter. The Principal wrote down a summary of our meeting on a special multi-part form, she and we signed it, and we got a copy (with other copies for the school, county, etc). Our daughter was then placed on the testing schedule and had to wait for the District psychologist to get to her (I chalk this delay up to the differences in the two districts' financial resources). A set of standard tests were performed (the set of tests that the psychologist gives every advanced student), and the conclusion was reached to pull our daughter out of class for the gifted program (which covers only a couple subjects). This decision was communicated to us via a set of multi-part forms, which we had to fill out, initial, etc. We then had a meeting to deliver these forms and fill out other forms, among other things waiving our statutory right to a 10-day waiting period between receiving our forms and the meeting. We then had to schedule another meeting to discuss other subjects, during which an additional round of testing was arranged. This additional testing took place over a couple weeks, involving some sort of computer-based examinations. Finally, our daughter was placed into third grade for mathematics. The whole process took about 3 months.

Testing, Testing

Another difference between the two school systems is the matter of testing. Both districts test students, but Alachua county tests them every week, for an entire day. That's right, every Friday is just about solid test-taking. Now, on the one hand it's probably good for kids to get used to taking tests, learn some of the associated skills, get over any anxieties, etc. But spending 20% of their formal education in test-taking is excessive (actually, it may be worse than this, as they take tests on other days, too). I presume that this is a response to the high-stakes statewide testing that takes place in Spring for students in every grade. In comparison, Washington only has statewide tests for grades four, seven, and ten. There is much less of a phenomenon of the curriculum being geared towards tests. We much prefer that approach. Tests are not ends in themselves, they are devices used to assess student achievement, abilities, and knowledge. They are a tool to help teachers, students, and parents understand where students stand and in what areas they may need work (and also in what areas they have talents). Eventually, they are used by institutions such as universities as a gross indication of the likelihood of success of applicants. Instruction related to testing should be confined to assuring that each student's test results accurately reflect his or her abilities. Anything more is training, not education.

Of course, I understand the motivation behind this focus on test preparation. High-stakes testing (and by this I mean high stakes for the school) send a very clear message that school performance (teacher and administrator performance) is evaluated in terms of getting as many students as possible above some minimum standard. Test training can be an effective means to achieve this goal, but it is achieved at the expense of real learning, and especially at the expense of students who have no trouble exceeding the minimum standard. The over-reliance on such testing in Florida is symptomatic of its centralized, "command driven" educational system, where such testing appeals to the "educational accountants" in the state and federal capitals.

Gifted Programs

Both school districts have gifted programs in which students wishing entry take standardized tests and are admitted (or not) based on their results. In Alachua County, the gifted program starts in first grade and is a pull-out program for one or two subjects (the precise subjects differ among grades and schools). In Northshore, the gifted program starts in third grade and is a separate class.

At our daughter's school in Gainesville, approximately 30% of the students are in the gifted program! This is true of many of the schools in the district. As a result, my daughter's gifted class has 33 students in it --- 50% more than her regular class. In fact, so many students are pulled out of the regular classes for the gifted program that the regular classes are significantly smaller during those subjects. If I were of a suspicious nature, I might think that the real purpose of the gifted program was to reduce class sizes for students who may need help getting over minimum standards by moving students who can tolerate the larger class out into the gifted class. However, I think it's more likely that this is just a result of an inflexible staffing formula. I don't understand the rationale behind having such a low bar set for getting into the gifted program. (I'm too lazy to try to figure out the probability that 25% or 30% of students in a district with 28,000 students would score in the top percentile or two in a standardized test, but I'm quite confident that it is vanishingly small --- small enough to be considered impossible.)

The Northshore school district, with over 19,000 students, has a total of six gifted classrooms at the elementary level (grades 3-6) holding around 24 students each for a total of 144 kids. Thus, only about 2% or so of students get into the gifted program (figuring 144 students out of 4 grades' proportionate share the total K-12 enrollment).


As might be expected from the rigid rules, Alachua county schools' curriculum is highly structured. Even the gifted classes have students all working at the same pace. In fact, the second grade gifted program follows the regular second grade curriculum: they just complete each week's work faster, and then move on to additional enrichment material.

Our experience in Northshore was with the PACE (Parents Active in Cooperative Education) program. This program requires 80 hours/year of volunteer work from each family. Grades are paired, with first and second, third and fourth, and fifth and sixth grades together. Ofttimes, teachers work with one half of the class while parent volunteers work with the other half. This gives the teacher a great deal of flexibility, at the price of less structure. It is my understanding that regular classes are more structured, but not to the extent of Alachua county.

Which is better? I believe that depends on the child. Some children will benefit from a highly structured program, in which it is always clear what they are doing right now, what they will be doing next, what is expected of them, and there are no distractions from other students doing different things. On the other hand, for some students this is a recipe for boredom, withdrawal into their own internal world, and poor performance.


As you have probably determined from these two articles, we generally prefer the Northshore school district to Alachua county. It is important to note, however, that some of this relates to our own prejudices and our own daughters' learning styles. In many ways, the two districts are equivalent. For example, Northshore uses the Everyday Math textbooks, while Alachua uses Harcourt Math. Both series are, in our opinion, excellent. Initially, I didn't like Harcourt because of the heavy use of color and cartoons (I usually think that attention to appearance is a sign of lack of substance). But the Harcourt books are in some ways superior to the other; we are quite happy with them.

The biggest difference between the two districts is the freedom (or lack thereof) that teachers and principals have to shape the classroom and school to fit the students. To me, when an organization like the Alachua school district removes almost all discretion from a group of employees for how they do their jobs, this indicates a lack of trust in their abilities. If teachers and principals are truly well educated and trained and carefully recruited, then they should be treated as the professionals they are. They should be empowered to use their backgrounds creatively, rather than just used as instructional deliverers.

Monday, November 15, 2004

Fewer women joining information technology

Following up on a previous piece of mine, the IT Management article linked from the title above reports on the declining number of women in the IT workforce and getting CS degrees. Main points are:
  • Women are about 20% of the IT workforce.
  • Women receive fewer than 28% of CS bachelors degrees, down from 37% in 1984.
  • In (other?) engineering fields, women make up only 19% of graduates.
  • CS is the only field in which the number of women has decreased over time.

The article raises some factors that may be contributing to this:

  • Low expectations in K-12 for girls' performance in math.
  • Young girls are especially unfamiliar with career choices, and so from an early age identify with "traditional" options, such as teacher, secretary, or nurse.
  • The popular media may affect girls more than boys, leading girls to have unrealistic expectations about their future careers. A recent Lemelson-MIT survey shows that, for teen girls, 32% had career goals of becoming a famous actress (highest ranked goal), 24% wanted to be a famous musician, 22% wanted to be a famous athlete, and 17% wanted to be President of the US. "Inventor" was at the bottom of the list, at 10%. This contrasts with boys, who ranked athlete first (42%), then inventor (19%), actor (18%), musician (16%), and President (13%).

However, these don't explain the decrease in women in IT, because I don't think that many of these factors have changed since 1984. Perhaps the question being asked is the problem. Rather than asking why the number of women in IT is decreasing, we might ask why the number increased in the late '70s/early '80s. Meanwhile, there are things that educators and parents can do. Educators need to do more outreach targeted at teen girls, using examples that show, for instance, that computer games can be more varied (and interesting to them) than killing people and stealing their cars. They need to be motivated to see that they can contribute something unique and important to the profession.

As far as parents are concerned, I suggest two things:

  1. Get involved with your daughters' education. Talk to their teachers. Make sure you know what they're learning and how they feel about their classes, especially math classes. If it seems that their teachers aren't demanding enough of them because they're girls, make sure their teachers know that you'd like them to demand at least as good performance as the boys.
  2. Turn off the damn TV. Academic performance is inversely related to amount of TV watched. My own daughters are only allowed to watch about an hour of entertainment-oriented TV per week --- a "TV night", with popcorn and their choice of a kids' movie or any kids' show on the TiVo (Arthur, Magic School Bus, Anne of Green Gables, etc). When there's an interesting nature, science, or arts show, they get another hour, on the weekend. That's it.

Monday, November 08, 2004

Zombie networks

The New Scientist article linked from the title discusses the growing (over the last year or so) practice of using "zombie networks" for distributed attacks on web sites or other networked resources. Basically, this approach represents the growing professionalization of hacking. In this case, hackers are using the principles of software re-use and generic programming to create a basic infrastructure for distributed attacks. Instead of writing a special-purpose virus that has to infiltrate computers before all the various copies can initiate a mass attack, a more general virus is written. The more general virus invades systems and installs a "bot", which then goes dormant, except for periodically checking one or more chat rooms for commands. When a command is received, the zombies wake up and start their attacks. I assume that the command could also be used to initiate a transfer of new code, thereby updating the bot or installing code specialized for a particular task, such as generating spam email. A side benefit of this approach is that it allows the hackers who create the zombie networks to effectively "rent them out" for each attack. These days, it seems that most phishing email originates from just a few zombie networks.

Right now, it appears that the only good way to deal with this involves looking for telltale network activity patterns. However, considering my previous article, I imagine that there is ongoing work on detecting zombie network commands directly in the chat rooms themselves.

Thursday, October 28, 2004

A tale of two school districts: Part One

As you may note from my biographical information, I'm on sabbatical for the 2004-05 academic year at the University of Florida, in Gainesville. Part of the logistical complexity of relocating was taking care of my daughters' schooling. Rather than go into all of the details, I thought I'd do a (probably inadequate) comparison of the two public school districts involved --- the one outside of Seattle we came from and the one here in Gainesville. I'm dividing this article into two parts: the first presents statistical and financial information and the second outlines my family's subjective experiences.

The Communities

Our "home" school district is the Northshore School District, located in the Seattle suburban cities of Bothell, Kenmore, and Woodinville (just across Lake Washington from Seattle), with a total population of around 60,000, according to my sum of the profiles from the 2000 census. Including unincorporated areas, the total population is around 112,000, according to the District's web site. These cities could probably be described as "moderately well off suburbs", with a mixture of housing ranging from trailer parks to $500,000 dollar or more homes. This is in contrast to the more wealthy suburbs of Bellevue, Medina, Mercer Island, etc., with ample $1 million plus homes (and their own school districts).

Our adopted school district is Alachua County. This includes all of Gainesville (a city of around 100,000), plus surrounding suburbs (for a total county population of around 215,000).

The Northshore area is significantly more well-off than Alachua county. Comparing the abovementioned census data with information from the city of Gainesville, Alachua county had a 2000 median household income of $27,600, while Bothell, Kenmore, and Woodinville had median household incomes of $59,264, $61,756, and $68,114, respectively. The statewide comparisons are not quite so dramatic, with Florida 2002 median household income of $38,934 and Washington 2002 median household income of $46,863, according to the US Census (as an aside, that Census web page clearly shows the inflation-adjusted decrease in median US incomes over the 2000-2002 time period).

The Districts

Alachua county is a larger school district, with 28,492 students to Northshore's 19,300 (both numbers for the 2001-02 school year). Alachua county's 2003-04 school general fund budget was around $162 million (approximately $5700/student), while Northshore's was $150 million (about $7800/student). In both cases, about 2/3 came from the state, so this is not merely the result of different local household incomes. Note that, while the Florida median household income is 83% of Washington state's, Alachua county schools are funded at 73% of Northshore's. Some of this (the difference between 73% and 83%, not between 73% and 100%) might be accounted for by lower cost of living in Florida (though our experience is that much of that is reflected in the cost of real estate, rather than day-to-day expenses, which would impact schools' capital budgets, not general funds).

I could spend an enormous amount of time going over similar comparisons, but I believe I've made my point. The factual information shows the very clear financial differences between the two areas and school districts. However, all of this is merely meant as context; my real purpose here is to discuss my family's subjective experiences. I'll do that in my next article.

Daylight Saving Time

We will bid a fond adieu to Daylight Savings Time this Sunday morning; click on the article title to take a quiz about DST and find more information about it.

Monday, October 18, 2004

Fewer women in computer jobs these days

When I was an undergrad at Washington University in Saint Louis, the number of women majoring in Computer Science was approaching 50%. Now, as someone who teaches CS, I note that the percentage is much, much lower. Often, there are only one or two women in the classes I teach --- sometimes none. And I don't think it's just me. This eventually translates into fewer female computer professionals, as the referenced article describes. In 1983, when I graduated, over 30% of computer professionals were women; in 2002, only a bit over 27% were. I suspect that the percentage today is even lower. Note that this is counter to gains that women have made in natural sciences and other engineering disciplines. What is it about the computing that is different than other technical disciplines? I don't see how it can be the subject matter. Whatever the cause, the profession and society are all the poorer for the lack of diversity of ideas behind the products we make and the research we do.

Friday, October 08, 2004

You are what you run

Lest anyone think that this is a political blog (it isn't), I thought I'd quickly leaven my musings with some more typical content. A computer geek at heart, let me spend some of your time writing about a selection of the software I find most useful and/or interesting these days. Please note that this is not intended to be an exhaustive list of what I use, just some representative programs that are at the forefront of my mind right now.
Mac OS X
I've used and programmed many different computers, from those without a real OS (AIM-65, KYM-1), to TOPS-10, DOS, Mac OS, and various flavors of Unix. Sometime in the '80s, my preferred work environment shifted to being mainly a Unix-based one (at first, Sun OS, later Linux), with a Macintosh as a secondary machine. At that time, a good chunk of my programming was still on DOS machines, because they were easier to interface with external devices (though I did write some device drivers for IBM's AIX). I even wrote a graphical windowing system for DOS, before Windows came out, to support GUI development for some of the applications I needed to write. My work environment changed radically when Mac OS X came out. Or maybe it didn't. I still use Unix and Mac OS, except now they're one and the same thing. Don't get me wrong, Linux is great, but it has been only 90% of the way to working for most of the desktop machines I've used. These days, I've got better things to do with my time than chase down problems with graphics or audio card drivers.
Up until about the middle of my dissertation writing, I primarily used Microsoft Word for my text editing needs. Keep in mind, this was Word 3 on a Mac, not the horrible bloatware that passes for a text editor these days (the one that knows better than you what you meant to write and how it should look). For those of you who aren't familiar with dissertations, they're basically books with large numbers of citations into a long bibliography. And they're frequently rewritten and reformatted. So, there I was, using Word to write the thing, along with a shareware program (I forget the name) that I ran on the Word file to format the citations and bibliography, as well as renumber the figures, tables, chapters, sections, etc. It just became untenable. I'd used LATEX before, and thought I'd give it a spin. I've never gone back. LATEX separates the definition of document structure from document appearance, allowing the writer to concentrate on writing and not on pondering why changing a list from enumerated to bulleted in one part of the document induces Word to change another list elsewhere to being enumerated with lower case Roman numerals starting at 15. On top of that, it uses a plain text file format and runs on just about any computer ever made (well, except for that AIM-65), so I'll never be in a situation where I have document files that I can't read or print. On Mac OS X, I recommend using i-Installer to install the teTeX distribution.
LATEX is a system for formatting documents; it's not an editor. I use XEmacs, an editor that also runs on just about any machine under the sun, has a basic GUI, but most importantly has specialized modes for editing LATEX, C, C++, MATLAB, HTML, plain text, etc., etc. If you've used Microsoft Visual Studio and liked the syntax highlighting, imagine an editor that does this for pretty much any document type that involves syntax.
Desktop Manager
One of the things I like about Unix is the virtual desktop managers available under X (since about tvtwm). This is something that was missing from Mac OS X. Recently, however, I've been using Desktop Manager. This is really impressive alpha software that's pretty solid and feature complete.
This is a Java-based (and, therefore, OS-independent) eBay bid manager. I'm not a very active eBay'er, so I use this to quickly come up to speed on the going rate for whatever I'm interested in buying or selling and, when I'm buying, to let it auto-bid up to my limit near auction closing time.
Mac OS X has iPhoto to help organize digital photos and iMovie and iDVD to help create videos. But, it has no counterpart to iPhoto for organizing video. When you use a video camera, you end up with a large number of clips, each corresponding to a press of the "record" button. Some are good, and some are shots of the ground that happened when you forgot to stop recording or hit the "record" button by accident. CatDV is really overkill for what I need, but it allows me to catalog and sort through my video clips, selecting those for importing into iMovie. I mean, I'd be the first one to say that video of my daughter when she was two trying to kiss the camera is incredibly cute, but there's really no need for two dozen different shots of this on a single DVD.
I recently got TiVo. It's kind of weird to turn on the TV and have a selection of things I'd like to watch --- more than I have time for. It's also nice to be able to start watching a "live" 9PM show at 9:15PM, when my kids finally got to sleep. TiVo has a neat feature called the "Home Media Option" (which is no longer an extra cost option) that allows one to access music and photos on a computer over a home network. JavaHMO goes far beyond the TiVo software, providing access to weather reports, movie listings, streaming web radio, and, with the new version, email, Usenet news, RSS feeds, stock quotes, and arbitrary web pages. It's written in Java so it's cross-platform; I run it on my Pug Server, which is basically a Linux box with a pair of RAID 1 mirrored hard drives. No need to buy a special network music device.
Since my Pug Server is running all the time, it seems logical to place my iTunes library on it so I can access it from any Mac in the house (not to mention my TiVo; see above). mt-daapd is an iTunes server that runs under Linux.
A web site that will inform you when the contents of any web site changes. You get an email listing the changes at most once a day.

Thursday, October 07, 2004

Manifesto for a Web Log

I decided to give this blog the ironical name "Expert Opinion" to poke fun at myself. In principle, I am an expert. I have two Bachelor's degrees, one in Computer Science and one in Electrical Engineering, and I have Master's and Doctoral degrees in Computer Science. I'm an Associate Professor in Computer Science at a major university and have been teaching CS students for 12 years. I've been programming computers and building computer-controlled hardware for something like 26 years. However, I'm also the person who said, circa 1992 or 1993, "Why would anyone buy books from when they can go to their local bookstore and browse?" Needless to say, if I had clued in on the commercial prospects of the WWW a bit earlier, I'd now be paying someone else to write my blog (or maybe I'd be funding Spaceship One, instead of Paul Allen). Well, I found myself wondering recently, "Why do people spend so much time on blogs? They're just self-publishing taken a bit to the extreme, and likely a massive waste of time." So, I've started my own to find out. Like 90+% of the other blogs, this will be filled with rambling discourses on whatever topics strike my fancy at the time. If you enjoy it, please let me know. If you don't like it, you might as well keep it to yourself; I get enough negative feedback for the papers I send to scientific journals.