Tuesday, April 18, 2006

The advent of the mount virus

I had previously wondered whether the large number of Linux-Windows dual boot systems would attract viruses that can propagate between the two operating systems (OS), making a relatively secure OS (e.g. Linux, if up to date with security patches) insecure by association with an insecure OS (e.g. Windows, even if up to date with security patches).

Gartner last week published an advisory stating that Mac OS X is at no additional risk from viruses through dual booting. While it is correct that current Windows viruses cannot infect Mac OS X on a dual boot system, it is also true that there are a lot of open code bases that include a plethora of file system drivers that could be ported to Windows by ambitious virus authors. It is also true that an OS can usually be identified by the file system it's on, for historical reasons not worth going into.

The best advice, as always, is to use your insecure OS (yes, Windows) only on virtual machines.

Update 25/04/2006:
Looks like we may be skipping the dual boot virus stage and heading straight for VM rootkits. This seems to be in line with rumours that Apple's next operating system release will have a virtual machine to run Windows and Linux operating systems as guests, included.

Update 02/05/2006:
Finally someone hears me.

Update 11/10/2006:
Link - link - somewhat related topic

Sunday, April 16, 2006

Microsoft and Beagle

Many within the Linux community have expressed well-justified concerns at building such a crucial desktop tool as a desktop search engine on a technology patented to Microsoft - .NET. It is good to see that the warnings have been heeded, and Beagle is an optional addition to GNOME, which also includes a more traditional, but slower, replacement of most of the functionality.

However, luckily for us, it seems that Microsoft is temporarily preoccupied with figuring out what Apple are up to, and it can be hoped, although should not be assumed, that the Microsoft vs. Mono debate will never resurface.

How Apple can catch up with Linux

There are two elements missing from Apple's Mac OS X desktop environment that set productivity under Linux apart:
  1. Paste action of middle mouse button (yes, Mighty Mouse is the right direction).
  2. One-click responsiveness of windows not belonging to the currently active application.

Finally, Finder really needs a big update now that encompasses Spotlight functionality (more file info in Spotlight, instant conversion of Spotlight searches to Smart Folders), but I believe this is in the works for Leopard already.

Finally, by making Windows apps run on OS X, or OS X apps on Windows, Apple could grab some of the Windows-entrenched niche markets such as those tied to Windows-bound GIS and CAD applications and traditionally relying heavily on superior workstation processing power.

Landslide towards Apple

With slim, widescreen machines promised as the "MacBook" replacement of the iBook for May or June according to rumours, possibly in several colours and with DVI-Out connectivity, there will be a landslide of customers towards Apple, unless further hardware problems emerge (a possible source of which could be Apple's inclusion of flash memory, between hard disk and RAM in the sequence of memory elements; there is no precedent for this in any hardware sold by the company). The next release of the operating system, Leopard, will be well placed to steal away further market share, especially if Apple manages to keep the footprint small (an area where Vista is especially vulnerable).

At the other end of Apple's business, there is a risk of losing mp3 player market share unless they can revitalise their range with colourful models to mimic the appeal of the iPod Mini. Note the negative knock-on effect this could have on their iTunes Music Store. France has taken a lead in asking Apple to unlock iTunes for other mp3 player manufacturers, and further countries are likely to follow. In fact, Apple's losing mp3 player market share may force such a move of the company's own accord to keep the store alive. I very much doubt it will come to this, but it is clear that Apple has to continue remaining competitive on price and innovation, especially since in spite of their promotion of podcasting, this has remained a niche market.

How Microsoft can save their ass

Seeing that Microsoft has been feeling the Linux threat for a while, and that Apple will start eating into its OEM dealers' sales even more heavily once the iBook replacements (aka MacBook) go on sale, how can Microsoft draw back from this two-front battle and vow new customers with superior technical features?

Here are a few suggestions:
  • expand the shell capabilities (find, grep, easy batch processing etc.)
  • include an installer/updater interface that allows installing commercial software (similar to iTunes Store; the precedent has been set; customer acceptance could be high if it wasn't Microsoft...) at a button press, including upgrade deals for installed software; that also allows updating all applications to newest version, not just Microsoft ones; that allows downloading/compiling newest FOSS software (Gnumeric, Abiword, Gimp, Gaim, XChat, etc.) at the press of a button (yes, include a compiler free of charge!)
  • one single version priced at 99 USD to compete with Apple's OS pricing and eliminate customer confusion

Note that all of these points are about the user experience rather than the raw processing ability, whereas many Microsoft innovations due to arrive with Vista address the latter (e.g. WinFS). Also note my upcoming post about Apple.

Friday, April 14, 2006

Photography: perfect picture vs. artistic freedom

There is a rift running through the photographing community, a rift between amateurs and press photographers on the one hand, who want a picture perfectly sharp, with colours as natural as possible and maximum depth of focus. Others, let's call them the artists, want to control every aspect of their exposure, and may be more open to post-production manipulation. Both, of course, have certain priorities in common. Fast start-up times and high exposure frequencies are on that wishlist.

This rift is not reflected in the current marketing strategies for cameras. Models are not sold separately to the two groups, and cameras come with a plethora of modes, an easy-to-use all-manual one often being absent. And there are other niceties that I can't seem to find - how about, for instance, an SLR camera whose lens automatically opens when you pick it up (or not if you switched off that feature)?

Wednesday, April 12, 2006

Apple's motivation for BootCamp?

Different views are being expressed about this. Two that I found interesting:
He did it to finally castrate Redmond's last stranglehold on Apple; to wit, "Office:mac." (sic) No longer would Apple be subject to the MBU's whims, threats, foot-draggings and feigned indifference to gain leverage and force Apple to do its bidding. The impetuous, jealous and child-like Bill Gates made truck-loads of cash peddling the horrendous (but vital to millions because, as Chef Joanna says "it's what everyone else uses") Office to Mac users, but it's not like he needed the money. No, it did something much more entertaining for Bill- it gave him power over Steve. Now, if Microsoft folds up the MBU tents (takes its ball and goes home), who cares? Windows can be run on a Mac, along with Office or any other crappy-but-necessary Windows "proggie."
Source

Robert Cringely has a different take on things. He sees Microsoft as the only immediate beneficiary, but danger is in the wings:
I predict that Apple will settle on 64-bit Intel processors ASAP (with FireWire 800 please), and at that time will announce a product similar to Boot Camp to allow OS X to run on bog-standard 32-bit PC hardware, turning the Boot Camp relationship on its head and trying to sell $99 copies of OS X to 100 million or so Windows owners.
Source

The only other time that I read Cringely, he postulated a merger of Apple and Intel, one that we have yet to see. Also compare with my earlier post on the future development of the operating systems market.

Sunday, April 09, 2006

Biggest drawback of web applications: slow load times

I recently tested some RSS reader websites, and my conclusion is that the response times are not satisfactory for these to replace desktop newsreaders. Bloated code may sometimes be to blame, and anyone who's looked at the output from Apple's iWeb will know what I mean. In one case, I got suspicious and looked more closely; the design did not strike me as overly sophisticated and clearly would be manageable with a small amount of CSS. But here, one humungous chunk of JavaScript gets loaded every time you view a page - 12KB of code that remains the same, and the rest of the page unnecessarily written in DHTML.

The JavaScript could be cached as a separate file by the browser, and the rest should probably be static or cached on the server. In fact, this is a good example of where user event-based caching can be used. Each user has a namespace of urls, which I will call userspace, that he or she can access only after logging in. Hence, these pages can be generated and loaded into cache when the user enters, and purged when he or she logs out, or if the user becomes inactive and there is competition for memory on the server.

But to back away from the technical for a moment, what we are seeing is competition between bandwidth and small footprint of web applications on the one hand [1], and processor speed and application efficiency for desktop applications on the other. It's still a question of time before the web wins out completely, and the browser becomes the operating system.


[1] Don't worry about the servers - they'll be up to scratch if the demand and competition are there (user demand for web services; competition for speed of delivery).

Saturday, April 08, 2006

Sidebar design done right

I'm not usually fond of Microsoft's UI designs, but in the case of MS Office 2003 products, they've outdone themselves. Look at this example of easy navigation between different sidebar options:











Now compare this to how it looks in Firefox:

Bookmarks sidebar in Firefox

The search bar is a nice touch and somewhat redeeming feature, but having fast navigation between different sidebar options would be even better!


Update 24/04/2006:
The All-In-One Sidebar Firefox extension looks like a good alternative solution, although I've yet to test whether it will accommodate Document Map, which, to add annoyance, is broken in the current Firefox release (1.5.0.2).


Wednesday, March 15, 2006

Apple Intel transition: third-party app killer?

Digg This!

It is clear that several of the top third party applications on Apple Macs will only run under the Rosetta Stone emulation, which renders them slower on the Mactels than they would be on the G4/G5 being phased out. This would include Microsoft Office (which competes with iWork) and products by Adobe and other graphics specialists (which compete with the "Pro" applications, such as the new Aperture). Interestingly, Apple made sure that other crucial applications, such as Wolfram's Mathematica, were swiftly ported, and helped them do so. I've no doubt that Apple's own applications are already available as Universal Binaries, and will run at native (Intel compiler?) speeds on the Mactels.

Needless to say, Apple would also be doing the open source movement a favour if it contributed to breaking the MS Office lock-in (and note the fact that Mac OS X has allowed creating PDFs from MS Office documents for a long time, whereas in Windows, you needed PDFCreator to do so).

tags:, ,, ,, , , , ,,,,,,

Wednesday, February 22, 2006

Apple shipping Windows? I don't think so.

I've had to smile myself repeated times when people on IRC and elsewhere came up with hypotheses about why Apple would switch to Windows. This is not going to happen for both strategic and technical reasons.

Mac OS X has been the major selling point of Apple hardware for years. "PC" hardware used to be what Apple made most of its money on. Mac OS X came with iTunes pre-loaded. This encouraged people to buy an iPod. Windows users saw it on their friends and strangers in the street, wanted it, got iTunes to run it. Normal users do not go installing software themselves without good reason, i.e. very few would have installed iTunes were it not for the iPod. And guess what? Apple business has since shifted to the iTunes Music Store. So basically, Mac OS X drives the vast bulk of Apple's business directly or indirectly.

So much for the strategic, more of the technical. Mac OS X appeals to completely non-technical users through its intuitive interface. It also appeals to very technical users due to its Unix (or specifically, BSD) base. Due to various graphics accelerations, including CoreImage, Mac OS X is a far better OS to be running on graphics workbenches than is Microsoft Windows XP. Even though Adobe will be running a little more slowly on the new Intel Macs until 2007, the date it is thought they will release native Intel-OS X versions (binaries), I don't think there's a chance in hell that Apple will be abandoning their powerful graphics engines, and ship a less versatile OS like Windows Vista (yes, the shell has improved, but a lot of legacy tools won't have been ported yet, e.g. expect, screen, tee).

What many people don't realise is that most of the hardware Apple build into their machines is also available to other hardware makers; Apple need to still beware of being overtaken by one of the smaller companies operating in that space.

A much better way to run Windows apps on Mac is VirtualPC. It costs about the same as a native Windows install. And Darwine is waiting in the wings.

tags:, ,, ,, , , , , , , , ,

Sunday, February 19, 2006

Dream merger: Logitech, Apple and Dyson

Three great technology companies that make extensive use of plastics in their products. Three leaders on ergonomics and usability. Wouldn't it be great?

Joking aside, Steve Jobs once commented in an interview about how he got absorbed in choosing a washing machine and how all sorts of household devices still fascinate and bother him for being so badly made. Well, guess what? Dyson make washing machines*. No, I'm not going to try and sell this one to you. You're too clever to buy it. Apple are not planning to take over Dyson. And James Dyson wouldn't be bought. He's a housemade man.

But Logitech? Nah, I couldn't point at Apple and say, "look what crappy mice they make!" 'Cause they'd be making Logitech ones.

* (and many other things, including vacuum cleaners)

Update 12/04/2006: The washing machine passage of the Jobs interview can be found here.

Friday, February 10, 2006

Eye tracking for window focus

What would help me so much right now is an eye-tracking device that gave focus to the window I was currently looking at. Random, but significant thoughts... One for the wishlist!

Tuesday, January 31, 2006

Codewiki

It just struck me that wikis are ideally suited to editing code, as each function name can be a link to the definition of that function, making code browsing a snap. Would be a trivial mediawiki extension. If you know of any code wiki, please let me know, too! I also suspect that some IDEs have this functionality?

Friday, January 27, 2006

GUI to queue and edit jobs to be done over ssh

Had the idea for an app that allows you to:
  • list jobs you want done over ssh (no point running more than one job at a time on single-cpu machines)
  • enable editing the cmdline arguments of each job before it is submitted
  • allow pasting or even drag-and-drop of jobs (e.g. between different machines) into the queue
  • allow reordering jobs
tags:, , ,

P2P RSS network

Have you ever been annoyed that when you subscribe to a new RSS feed, there may be only 10 articles available? Granted, this problem is addressed by some of the online RSS readers out there (I've posted before), but it might just be interesting to have the html content distributed by a P2P network. I believe this would significantly speed up loading of html pages for those feeds that use html. If you know of any such effort, please let me know!

tags:, ,

Thursday, January 26, 2006

Reinstalling Linux: a checklist

I thought it would be nice for people to have a checklist of what they need to back up before installing a different Linux flavour.
  • /etc - system configuration
  • /home - your files and configurations
  • /boot/grub/menu.lst or grub.conf
  • /var/httpd - only if you're running web services and using the global directory; on some distributions, this is not placed in /var (e.g. in Arch it's in /home/httpd)
  • do a mysqldump if you're using mysql; similarly for any other relational database
  • dump your package list - sometimes this is done by reading file names from /var/cache/pkg or similar after cleaning out old package files; some package managers will output a list (something like dpkg --get-selections on Debian and derivatives)

Monday, January 23, 2006

Remote desktop client with zoom

Wouldn't it be great to have a remote desktop (e.g. VNC) client that compensated for different desktop sizes by means of zoom? Libraries for such zooming exist in Mac OS X, GNOME and KDE, even Windows! Even better if the server supported it. If there is a way to do this, let me know!

Update 07/05/2006:
krdc has this feature.

Friday, January 13, 2006

Linux repository classification schemes

Originally, I was going to write this as an extended paper with a detailed review of how the ten main Linux distributions organise their software into repositories. However, I don't seem to have the time to do so, and will provide a brief overview here instead.

This is relevant to developing tools that allow comparisons of repositories, e.g. comparison of software availability (how many software packages are available; how quickly are new versions released, how current are the current versions, how many versions are released in a given time - three sides of a triangle; other comparisons might take into account stability and other criteria), such as whohas.

In any case, there are three main ways to classify repositories:
  • Maturity
  • Providence
  • Function
The classic example of repositories organised by maturity would be Debian, which at any given time has three branches which may be more or less distinct (there is a graph of the relationship over time somewhere on the web...) A peculiarity - indeed, a feature - of Debian is that one can almost freely mix packages from different repositories; so while one may be running a stable kernel, one could have an "unstable" version (the quality of unstable aka. still in development software is actually fairly high in Debian) of Mozilla-based (and -dependent) products. Many distributions (except source-based and advanced binary-based ones (Arch Linux)) occur as distinct releases in the wild, but Debian is the only one in which mixing repositories is common enough practice to actually work (in terms of documentation and being taken into account in development, if marginally).

A classic example of a providence-based repository classification is given by Fedora, which is now distributed as Core and Extras. Another common classification, especially used by RPM-based distros (for no technical reason as far as I know), is "Contrib", sometimes called Community.

Arch Linux has a hybrid of these two, in that Current correspond to Core, Extra and Community are self-explanatory providence-based contrasts, but there are aso Testing and Unstable repositories, which are code-maturity classifications and mostly contain packages that would otherwise be found in Core. To make things entirely confusing, there is a repository Unsupported, to which users can contribute buildscripts, so it is actually a fourth kind of classification, which I might phrase as binary-source-buildscript. Note that distributions will provide either source or buildscripts, but not both separately.

But to return to the original big three, the most prominent example of a functional classification would be Slackware, which classifies packages into base, latex, gnome etc.; however, these are not strictly repositories in that they would be separately specified in a package manager config file. Again, many hybrids exist - in Arch Linux, we also find an underlying functional classification into "categories", which resemble those in Slackware: x11, system, network, gnome etc.

Being aware of the different classification schemes used, one can get the full benefit of tools such as whohas.

Sunday, January 08, 2006

Does Wikipedia change the rules of language evolution?

I happened upon this example today:
http://en.wikipedia.org/wiki/Talk:Williams_revolution
and
http://en.wikipedia.org/wiki/Talk:George_C._Williams

It is argued that the term "Williams evolution" was coined either on wikipedia or in newsgroups. I find the wikipedia hypothesis quite plausible.

Picture this:
  1. Some editor of, say, http://en.wikipedia.org/wiki/History_of_evolutionary_thought writes something like, "George C. Williams' book led to a small revolution [...]"
  2. Over time, this becomes "George C. Williams' revolution", then "Williams' revolution"; someone thinks the apostrophe superfluous and the next person feels there should be something written about this "Williams revolution", so puts the infamous [[]] around it.
  3. Finally, someone budges and writes a stub about it.
  4. Meanwhile, the term "Williams revolution" has started being used in other articles because it's a more handy moniker than "advent of the gene-centric view of evolution". By now, putting it in [[]] is completely uncontroversial, because an article has already been written about it. So it appears on every imaginable page, ranging from "Scientific skepticism" over "Evolutionary theory and the political left" through to "The Vicar of Bray" (I am NOT kidding you!)
  5. Eventually, someone feels that Williams may be being given undue credit and does some research. All Google hits point to wikipedia, including those from scholar.google.com. Web of Science doesn't return a single hit. One contributor claims having heard the term on a newsgroup, but this is hardly evidence of common usage. Various people including myself check their textbooks and the books of Dawkins who are now suddenly being credited with having invented the term. Nothing. Nada. Puzzlingly, the German wikipedia mentions the term in spite of not having an entry about it.
  6. Due to lack of opposition, it is decided that it is not Wikipedia's business to have the power to coin useful phrases crediting someone who should not solely be credited.
  7. Someone works their arse off for an afternoon to eliminate all trace of the Williams revolution.
If you know of similar events, please let me know - this topic has only just begun to get interesting!