Computers: September 2007 Archives
I am thinking about learning Cocoa just so I can write a Mac e-mail client that doesn't suck.
Eudora sucks but it is the best of the bunch, but it is buggy on Intel for me. My Inbox keeps losing memory of labels and what's been read (even what I have already filtered out).
Everything else is pretty bad in various ways. Mail is not a serious mail app. Thunderbird isn't a Mac app at ll. Mailsmith doesn't do IMAP and is bloated. Google Mail isn't local.
Sigh.
Maybe I'll just give up e-mail altogether!
Eudora sucks but it is the best of the bunch, but it is buggy on Intel for me. My Inbox keeps losing memory of labels and what's been read (even what I have already filtered out).
Everything else is pretty bad in various ways. Mail is not a serious mail app. Thunderbird isn't a Mac app at ll. Mailsmith doesn't do IMAP and is bloated. Google Mail isn't local.
Sigh.
Maybe I'll just give up e-mail altogether!
Safari 3 has greater scripting abilities. This script will allow a user to use the frontmost window, full of tabs, as a basic slideshow. It will start at the current tab (unless the current tab is the last tab, in which case it will start with the first tab) and pause 7 seconds on each before moving on to the next. If you switch the tabs in between, the script will pick up from where you are now, not where you left off.
Of course, requires updating your glue file to Safari 3, if you've not done so. Just re-run sudo gluemac /Applications/Safari.app.
I put an alias to the script in my Safari scripts folder so I can access it through Script Menu.
Of course, requires updating your glue file to Safari 3, if you've not done so. Just re-run sudo gluemac
I put an alias to the script in my Safari scripts folder so I can access it through Script Menu.
#!/usr/bin/perl
use warnings;
use strict;
our $sleep_time = 7;
use Mac::Glue;
my $safari = new Mac::Glue 'Safari';
$safari->activate;
my $window = $safari->obj(window => 1);
my $tab_count = $window->count(each => 'tabs');
my $current = $window->prop('current tab');
my $index = $current->prop('index');
sleep $sleep_time;
my $i = 0;
until ($i >= $tab_count) {
$i = $index->get;
$i = 0 if $i >= $tab_count;
$current->set(to => $window->obj(tab => ++$i));
sleep $sleep_time;
}
From Brent Simmons:
In my experience, in general, I prefer working with individual programmers who didn't get a CS degrees. That's not universally true: there are some CS-degree holders I love to work with. And it doesn't imply a particular causal relationship: it could be that people I enjoy working with are simply those who are less likely to get a CS degree, rather than my enjoyment stemming from the fact that they didn't.
There are, roughly, two types of programmers. One type was in the computer club at high school and got a computer science degree (or two or three). The other type, well, didn't--they were English majors, college dropouts, busboys, artists, odd-job-doers. (Cue Captain Renault: "That makes Rick a citizen of the world.")
My advice to young people is to get a computer science degree, if for no other reason than you can avoid those odd jobs and get right to the programming. And it also gives you an early chance to find out if you were, in fact, born a programmer.
In my experience, in general, I prefer working with individual programmers who didn't get a CS degrees. That's not universally true: there are some CS-degree holders I love to work with. And it doesn't imply a particular causal relationship: it could be that people I enjoy working with are simply those who are less likely to get a CS degree, rather than my enjoyment stemming from the fact that they didn't.