Trent Mick: March 2005

goodbye ugly

A week or two ago I noticed that the theme I was using with my WordPress blog (the default one in WP 1.5, based on Kubrik) was pretty broken when viewed in IE6. I thought that David's blog was also using the default WP 1.5 theme, but his didn't seem as broken.

In any case, I wanted to fix that and also make the other bits of my website (such as it is) relatively not unpleasant to look at. I've finally done that. Tada. :) The general styling borrows somewhat from mozilla.org (which is one of the cleaner sites around, IMO) and, of course, my WP theme is heavily based on the default Kubrik.

I've also setup my site build system so that I can write a simple little markdown file, prefixed with a little XML metadate snippet, to get relatively good looking HTML page. For example: source and result.

0 comments

I want a Dave's Quick Search Deskbar equivalent for my Mac

The greatest thing on my Windows dev box at work is Dave's Quick Search Deskbar. This is probably the number one reason why I feel I am more productive on Windows than on my OS X box at home. I want something like this for my Mac. iSeek is close, but not quite there.

The brilliance of DQSD is (1) the use of simple short keyword conventions to indicate what type of search you want and (2) the level of control (effectively JavaScript) that you have in defining new searches.

  1. Using short keyword conventions to denote the type of search is so much faster than fumbling through a menu list of search types such as you see with iSeek, with the search textboxes in Safari and Firefox, etc.
    • By default, of course, you get a Google search of your term.
    • Add an exclamation point and you get a Google "I'm feeling lucky" search. The ability to open, say, python.org in your browser by typing '<Windows+S>python!<Enter>' is invaluable. (<Windows+S> is the hotkey to jump to the DQSD textbox.)
    • Type 'amaz Unicode' to look for Unicode books on Amazon
    • 'wiki foo' to lookup something in Wikipedia
  2. An an indicator of the level of control that I want for custom searches I'll describe the custom "ko" search that I've defined to work with the bug database for Komodo, an product that I work on.

Does anybody know of a Mac OS X app that can do this?

1 comments

cygwin + NTFS permissions = badness

Cygwin is "a Linux-like environment for Windows." Basically it provides all (or at least a large set) of the standard Linux command line tools for Windows. A lot of open source projects (e.g. Mozilla, for a big one) have based their Windows build systems on Cygwin because it simplifies the problems with trying to get a make-based build system to work on Windows.

NTFS (the file system for WinNT, Win2k, WinXP, Win2k3) uses Access Control Lists (ACLs) for managing file permissions. If you have ever been frustrated by not being able delete a file on Windows: your NTFS ACLs might be the culprit.

I don't pretend to fully understand NTFS ACLs, but follow along with this little experiment and decide if you think there is a problem waiting to happen here. For this experiment you'll need xcacls.exe from the Windows Resource Kit. This is a little command-line tool for dumping NTFS ACL information. You can also view ACL information by opening the "Propeties" dialog for a file in Explorer and selecting the "Security" tab.

First let's create a small test file in the regular Windows command shell (cmd.exe) and list the NTFS ACL information:

C:\temp>echo this is foo.txt > foo.txt

C:\temp>xcacls foo.txt
C:\temp\foo.txt BUILTIN\Administrators:F
                ACTIVE\trentm:F
                NT AUTHORITY\SYSTEM:F
                BUILTIN\Users:R

This seems reasonable: the "Administrators", "trentm" (that's me), and "SYSTEM" users have full (F) permissions on that file and the "Users" account has read (R) access.

Now let's create a file using one of the cygwin utilities and dump the NTFS ACL information. I'll use tee here, but other tools that create files (like tar, gzip, etc.) will have the same result.

C:\temp>echo this is bar.txt | tee bar.txt
this is bar.txt

C:\temp>xcacls bar.txt
C:\temp\bar.txt ACTIVE\trentm:(special access:)
                              STANDARD_RIGHTS_ALL
                              DELETE
                              READ_CONTROL
                              WRITE_DAC
                              WRITE_OWNER
                              SYNCHRONIZE
                              STANDARD_RIGHTS_REQUIRED
                              FILE_GENERIC_READ
                              FILE_GENERIC_WRITE
                              FILE_READ_DATA
                              FILE_WRITE_DATA
                              FILE_APPEND_DATA
                              FILE_READ_EA
                              FILE_WRITE_EA
                              FILE_READ_ATTRIBUTES
                              FILE_WRITE_ATTRIBUTES

                BUILTIN\Users:(special access:)
                              READ_CONTROL
                              SYNCHRONIZE
                              FILE_GENERIC_READ
                              FILE_GENERIC_WRITE
                              FILE_READ_DATA
                              FILE_WRITE_DATA
                              FILE_APPEND_DATA
                              FILE_READ_EA
                              FILE_WRITE_EA
                              FILE_READ_ATTRIBUTES
                              FILE_WRITE_ATTRIBUTES

                Everyone:(special access:)
                         READ_CONTROL
                         SYNCHRONIZE
                         FILE_GENERIC_READ
                         FILE_GENERIC_WRITE
                         FILE_READ_DATA
                         FILE_WRITE_DATA
                         FILE_APPEND_DATA
                         FILE_READ_EA
                         FILE_WRITE_EA
                         FILE_READ_ATTRIBUTES
                         FILE_WRITE_ATTRIBUTES

I don't want to unnecessarily ring alarm bells because my experience has shown that this usually doesn't cause problems in normal usage of the cygwin tools (we use them heavily here at ActiveState). However, yesterday something happened with respect to NTFS ACLs on my Windows developement machine yesterday such that I no longer have write permissions for files created by the Cygwin tools. I can't help but think that the difference in ACL information for foo.txt and bar.txt in this experiment is part of the problem.

3 comments

original uninstall instructions from Google Desktop Search


Checkout this amazing bit of paranoia, er, defensive programming used by Google Desktop Search. GDS installs a bunch of specifically named files to give a warning and uninstall instructions to errand Windows users.

0 comments