Complaining

"Don't Buy a Mac Laptop" for a long while

Rob Pegoraro of the Washington post writes Don't Buy a Mac Laptop. When you click through the article, you see the the subtext, "Before the 14th." Rob is referring to an Apple's announcement stating they'd be refreshing their laptop lineup next Tuesday, October 14th, 2008.

I'm going to avoid commenting too much on why I think this is bad journalism, and how I expect more from someone associated with the Washington Post (even if it is a blog). If the point was to be sensationalist and grab my attention, it did do that, though.

Instead, I'll go into how it's misleading... Supposedly, with the laptop refresh, Apple will be introducing a new manufacturing process where components are carved from aluminum. The new MacBook model is supposed to be called the "Brick." That's great and all, but I feel as if I need to remind people that first-generation Apple products are always littered with problems. I remember when the PowerBook G4 was released, I'd be able to press down on the palm wrest and scrape along a CD in the fancy new slot-loading drive, while it was spinning. I passed on the PowerBook and bought a Sony VAIO PCG-Z505 instead.

So... before jumping the gun as soon as the new MacBook is released, you may want to wait till it's known that Apple has all the kinks of their manufacturing process worked out. It may be a while.

Why office machines and gadgets hate me (and why I hate them back)

I consider myself a luddite when it comes to most forms of technology, particularly with those devices that are said to "just work." This includes photocopiers, fax machines, complex phones (e.g. multi-line phone systems, cell phones), printers, home theater systems, and other unholy bastard combinations of these devices. Somehow, they don't "just work" for me.

Microsoft is very rare at "getting it right," but on some things they have: one of the goals of Microsoft's Office 2007 was to help its users more easily and quickly create good looking documents. Doing it quickly makes the user feel smart; having it look good makes the user look smart too.

When I'm fumbling around with inane office equipment and devices, trying to figure out what some flashing LED with meaningless icon is trying to convey, or trying to figure out what combinations of buttons must be pushed in what order to make some device perform some magic function, I don't feel very smart. When I cannot get these devices to work the way I want them to, it makes me feel stupid and don't want to use the device again, and become bitter about it (as if I wasn't bitter enough already).

This is probably the basis for the luddite attitude of many people, for both gadgets and technology as well as computers.

I don't think this is our fault...

Besides many manufacturers' complete ineptitude in usability and market testing, many, many manufacturers cut corners and have electrical and hardware engineers write software and design interfaces, instead of hiring dedicated software engineers and usability experts. Just because an electrical/hardware engineer knows how to program, it does not mean they can produce good software, or even know what they are doing.

Amazon A9's siteinfo.xml: almost a repeat of favicon.ico

Recently, I've received a few error 404s on a request for "siteinfo.xml." siteinfo.xml is a file used by Amazon's A9 search engine's browser toolbar SiteInfo, and is automatically fetched for every website a user visits.

This sounds pretty similar to Microsoft's Internet Explorer's infamous favorites icons feature. For every site a user visited with Internet Explorer, the browser would automatically request a file called favicon.ico, to be displayed in the browser's location bar and bookmarks. A lot of people were not happy--all of the sudden web servers would begin to get swamped for requests for this mysterious favicon.ico that did not exist. These requests polluted many web server logs, and were very annoying.

On some sites, especially dynamic ones, 404 errors are very expensive. Unfortunately this is true of most Drupal-powered sites, including mine. When using Drupal's "pretty URLs" which uses Apache's mod_rewrite to, well, make URLs pretty, all requests that the web server does not process (including errors) will go through Drupal. Going through Drupal means a long boot-strapping process to initialize Drupal and load all its modules, and at least one database request to find out a URL does not exist and to return an error 404. Too many requests for a non-existent file can basically become a DoS attack.

It seems Amazon's A9 developers didn't get the memo people don't like tools that request files that don't exist.

Granted, it's not too bad: I don't think this toolbar has much market penetration, so it's not as if millions of people are killing my site. The siteinfo.xml specification page also mentions that the file is fetched through A9 and cached, so the file will not be requested for every user that visits, but only for the first one.

Kudos for Amazon's programmers being a bit brighter than Microsoft's, but eh, I can't say how much more bright for designing a system that is a bit too similar to the favicon.ico debacle.

A UI for setting a script on hotplugged keyboards/mice?

Playing around with the Preferences panel in Ubuntu 6.06, I found an interesting set of options. In the Removable Drives and Media applet, in the Input Devices tab:

hotplug-script-for-mice-and-keyboards.png

Yes, it is a fairly benign UI that lets you set a script/program to run when you connect (aka "hotplug") a keyboard or mouse. Maybe I am incredibily dense but I cannot think of a program anyone would want to run when hotplugging a keyboard or a mouse...

I am sure it is a godsend for those who need it, but how many people really need it? Does it really need its own UI? From the desktop where "sensible defaults" means removal of useful, commonly used options, the same desktop where you need to go messing around with GConf to configure Nautilus to use a non-spatial interface--the presence of this kind of thing does not seem very consistent.

Yes, I am hating on GNOME. GNOME is very slick and polished in Ubuntu, but it still suffers the problems (that its developers deliberately mandate) that make most classic UNIX users (including me) leave it in droves.

The novelty is nice though, just like when I first used Apple's OS X. But I'm sorry, regardless of how much you hype it, it doesn't stop it from sucking (though sheep--er users of Apple's products like to "think different"). I'm timing how long it takes me to give up and switch to the KDE desktop provided by Kubuntu.

Misery with online reading of PDFs and the need for portrait monitors

In the process of writing a term paper for a class, I've been paging through many research papers.

Unfortunately, many of these research papers are only available for reading via PDF. Even for those papers that have full text on a normal webpage, complex login and authentication systems (i.e. I can only access said page through my university library) force me to save PDFs to facilitate later reading.

PDFs are really miserable for reading on the computer. My gripes:

Fixed font styles
Many PDFs use serif fonts, which are generally difficult to read on screen (though fine on print media). Some irate designers even create PDFs that use "Times New Roman," which despite it being default on many web browsers is ugly and difficult to read. In a web browser, you can change it; in a PDF, you are forced to suffer with it.
Fixed font sizes
Font sizes are fixed in PDFs, you cannot change them. Often when reading on screen, fonts are just too large, or are too small. This is compounded with...
No wrapping
Text is statically laid out, so you are completely reliant and sizing your window and adjusting your zoom to be able to read a block a text, or stuck with moving your scrollback back and forth.
Columns
Computers have scrollbars. Columns make absolutely no sense when you can scroll. The worst case comes up when you combine columns AND scrolling: you have to scroll down to finish reading a column, and then scroll back up to begin reading the top of the next column.

Usability expert Jakob Nielson thinks so too: in 2003 he had a column PDF: Unfit for Human Consumption.

It seems that some of these problems stem from a mismatch in orientation. Computer monitors are generally landscape; PDFs and printed media are portrait.

And computer monitors just keep getting wider. While widescreen is nothing short of awesome for movies and television, its not that useful for computing. The classic use case is the accountant with a wide spreadsheet: but how many people have wide spreadsheets? Because most people use computers to create content in a portrait orientation, and that most content we read expands downward rather than to the side, it seems as if it would make sense if monitors were a portrait orientation rather than landscape.

Fortunately, this is easy to try out now. Most LCD monitors swivel into portrait orientation with a flick of the wrist. Microsoft Windows and Linux (through the XRandR extensions) have provided orientation switching support for a few years as well.

But it's not yet usable by the mainstream. For example, on Linux with nVidia's binary drivers, running in portrait means losing out on accelerated 3D as well as multimonitor support, things many people (including myself) are not ready to lose.

Computer Organization and Design For More Practice Problem 2.28

I'm using Computer Organization and Design, 3rd ed (David Patterson and John Hennessy) for an electrical engineering course (that I have to take to graduate) in computer systems architecture. Assigned as homework, from the For More Practice section, is problem 2.28:

The next Microsoft Office... even uglier

When I first saw Microsoft Office 2003, I thought it was fairly ugly. It looked like some kind of ugly KDE theme.

And now, apparently Office 12 looks even uglier.

PHP and passing non-variables by reference

In PHP 5.0.5, they've now made it a requirement that things that are passed by reference must now explicitly be a variable. You would think this kind of behavior is obvious, but apparently it's been allowed for all versions of PHP previous. Appararently without even warnings. You'll get an error:

Fatal error: Only variables can be passed by reference ...

So you may think, where is this useful? Consider something short and concise like:

$only_element_we_care_about = array_pop(explode($seperator, $string));

You cannot do this now. The return value of a function is not a "variable" and cannot be passed by reference; a temporary variable needs to be used instead:

$tempory_variable = explode($seperator, $string); $only_element_we_care_about = array_pop($temporary_variable);

Yes, there are other ways to do the above, but that isn't the point. The fix is not difficult, but it is a total complete pain to go back to legacy code and fix things like this.

Remind me to find another web programming language.

eInstruction "clicker" remotes

I've been on a hating fest lately, so I've decided to document my peeves about the eInstruction CPSrf remotes, commonly known as "clickers."

Working on a new Drupal theme...

I am getting tired of the Drupal theme selection currently available. The move to PHPTemplate (as well as the the Drupal Themegarden outage) has left few good templates.

Bluemarine... I don't know. I hate the way it's low contrast.

I've disabled my site's usual theme and am developing the new one, based off of Bluemarine for PHPTemplate from CVS.

Things I am focusing on:

  • Making certain elements look nicer and more modern, for example: comments, node information, etc
  • Correctly used relative font sizes (my MAJOR peeve with many themes: I know how to configure my web browser, I want 1em fonts for content text)
  • Revamp colors such that text is high-contrast with muted background colors
  • Separate in CSS page layout from things meant to be customized, like colors, link styles, etc
  • Underlined links with discernable link colors

If you've any comments on how things should look, please let me know.

SCO belittles America's firefighters

Darl McBride has written another "community letter". And, as usual, it's full of marketing garbage and completely unfounded statements. The most offensive, regarding the for-free community backing Linux has:

Would you really want to trust the backbone of your business to the likely unpredictable response times of this Linux "volunteer fire department" support model?

I'm not sure about other countries but in the United States, especially after 9/11, fire fighters are at the top of the hero stack. And I personally don't really see how volunteer fire fighters have saved any fewer lives or can be considered any "less effective."

Back to the point: whether you think the Linux volunteer community is any good or not is your opinion; but making analogies like this in what comes down to an advertisement is downright tasteless. It is just further proof that SCO is just out to make a dollar, stepping on as many people along the way as it can.

Today's g++/C++ funny: ofstream's open constructor

So, I'm working on a project, and have some code like this:

string blah="somefile"; ofstream fp;

fp.open(blah);

And it doesn't work. Apparently, what you need to do when using ofstream's open method:

fp.open(blah.c_str());

Yes, it looks like what it is. Apparently g++'s iostreams library (gcc 3.2) does not support things that have been part of the C++ standard for years--like C++ STL strings... You have to convert back to a C string.

Last I checked this was 2005, not 1999. You'd have thought someone would have overloaded this by now... I've only checked this in g++; will check with Intel's C++ compiler and Microsoft Visual Studio later, though I'm not sure whether to expect better. What didn't help me to find this out, of course, is g++'s totally wonderful (sarcasm) compiler error messages...

RHEL4/CentOS 4 placement of SSL certificates

CentOS 4.0 (and thus by assocation Redhat Enterprise Linux 4.0) seems to place their SSL certificates in /usr/share/ssl rather than in /etc/ssl like Debian and Slackware do.

They just had to be different... It's yet another easy-to-forget path that needs to be backed up.

Counter-Strike: Source rollback

From the hlds_linux mailing list:

We have released an update that rolls back the Counter-Strike: Source changes made in this last update (apart from the de_inferno changes). You need to run hldsupdatetool to get this update.

which was a reply to the message:

We have released an update to Counter-Strike: Source and the Source engine. Run the hldsupdatetool to get this update.

Testing and quality control. Yeah. Right.

Syndicate content