Friday, January 5, 2007

Thunderbird 1.5.09 vs Outlook 2003: Can O' Spam

I find myself constantly battling between my desire to use standardized business software (ie Microsoft products) and the desire to have software make me more productive and make my life easier. I gave Outlook another shot today (I was feeling guilty about using Thunderbird) and quickly kicked myself. We have a listserv at work that spammers seem to really enjoy flooding with spam. Unfortunately, it is a listserv which we need and frequently use. Thunderbird utilizes a Bayesian filter, so it learns what a spam email looks like based on what you have told it is spam. In contrast, Outlook allows you to whitelist/blacklist senders, so any known spammers get filtered. The downside to Outlook (and upside to Thunderbird) is that when you are getting spam and good email from a sender, you can't just filter the messages you don't want. It's all or nothing. Thunderbird doesn't care who it is from, only what the content of the message is. With all of the communication that we get through email and with the regularity that listservs and email accounts get compromised by spammers, Thunderbird's Bayesian filter wins hand down.

I should be getting a copy of Office 2007 in the near future and will give Outlook 2007 a shot to see if any improvements on the spam filtering have been made. I will blog another posting with my results.

Please don't interpret this as being a Microsoft hater. I think Outlook is an very capable email client, in certain situations, preferable to Thunderbird regardless of the spam issue. If you use Microsoft Exchange or POP3 email, Outlook is the best, hands down. If you use IMAP for your email, Thunderbird has the edge. Outlook 2003's handling of the IMAP protocol is "clunky". I use IMAP for my work email, so there is little incentive to stay using Outlook 2003, for now.

Thursday, January 4, 2007

Cross Platform Open Source (Javascript, HTML, CSS) IDE

Ran across a very nice plugin for Eclipse over the holiday break named Aptana. I already had the latest version of Eclipse installed so I just installed it as a plugin. Did a quick test using the Yahoo! User Interface (YUI) library to do a quick and dirty AJAX page that automatically updated weather info (from Yahoo Weather rss feeds).

I had been searching for a good open source tool to aid in developing xhtml/css/javascript pages and was mainly interested in command completion/suggestion. This one was the best of all I checked out. The code assist features worked great and I found the help features to be great, especially when dealing with css/javascript. I didn't try out the javascript debugger.

http://www.aptana.com

Killing an oracle session to remove a lock

I always have to search around for the right commands in order to remove table locks in Oracle. Thought I'd post and hopefully will remember I can look her for it in the future. Below seems to work at least in 8/9i.

Identifying the locks:


SELECT l.inst_id,
SUBSTR(L.ORACLE_USERNAME,1,8) ORA_USER,
SUBSTR(L.SESSION_ID,1,3) SID,
S.serial#,
SUBSTR(O.OWNER||'.'||O.OBJECT_NAME,1,40) OBJECT, P.SPID OS_PID,
DECODE(L.LOCKED_MODE, 0,'NONE',
1,'NULL',
2,'ROW SHARE',
3,'ROW EXCLUSIVE',
4,'SHARE',
5,'SHARE ROW EXCLUSIVE',
6,'EXCLUSIVE',
NULL) LOCK_MODE
FROM sys.GV_$LOCKED_OBJECT L
, DBA_OBJECTS O
, sys.GV_$SESSION S
, sys.GV_$PROCESS P
WHERE L.OBJECT_ID = O.OBJECT_ID
and l.inst_id = s.inst_id
AND L.SESSION_ID = S.SID
and s.inst_id = p.inst_id
AND S.PADDR = P.ADDR(+)
order by l.inst_id


Deep Six the session:

The SID and the SERIAL# fields can then be used to issue the kill command:


ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;


Using this combo I almost never have to resort to a "kill -9 OS_PID" on the database server itself.