All the tips/hints/fixes/other information posted here are at your own risk. Some of the steps here could result in damage to your computer. For example, using a Windows registry editor like RegEdit could result in unintended serious changes that may be difficult or impossible to reverse. Backups are always encouraged.

31 August 2008

New Antivirus Recommendations

  • Avast! Home: Web Shield, Network Shield, Email/Outlook (Attachments Only), Standard Shield (Check only on copying/modifying files and not on application launch) -- Very fast and Web Shield does not slow down browsing.
  • SpywareBlaster
Please see previous security/malware posts for more information, especially why I prefer a "light" antivirus strategy.

19 August 2008

Some Favorite Time Savers with AutoHotkey

AutoHotkey is awesome.

NB: I use KeyTweak to remap the [Right Alt key to Right Ctrl] and [Right Ctrl to another Left Ctrl]. Although AHK can use RAlt as a command key (when written ">!"), Windows has a hard time with it.

AutoExecute Section:
#SingleInstance force
#UseHook On
SetBatchLines -1
SendMode Input
SetKeyDelay, 1, 1
Process, priority, , High
GroupAdd, AllWindows, , , , ahk_class Shell_TrayWnd

Right Alt + Right Ctrl for Back/Fwd buttons
>^LCtrl::Send {Browser_Forward}
<^RCtrl::Send {Browser_Back}
Tilde ` key to close active window
>^`::Send {asc 096} ; ` since ` is remapped to WinClose
PostMessage, 0x112, 0xF060,,, A
Sleep 50
IfWinActive, ahk_class Shell_TrayWnd
GroupActivate, AllWindows
Capslock key minimizes active window
WinMinimize, A
Sleep 50
IfWinActive, ahk_class Shell_TrayWnd
GroupActivate, AllWindows
Left Shift + Right Shift for Capslock
<+RShift:: SetStoreCapslockMode, Off Sendevent {capslock} return
Shift-Capslock toggle restore/maximize active window
WinGet MX, MinMax, A
WinRestore A
Else WinMaximize A
Ctrl-Click becomes a Middle Click for the taskbar and Firefox tab bar (recommend Taskbar Shuffle for closing windows from Taskbar with middle click)
^LButton:: ; Make ctrl-click a middle click in certain circumstances
MouseGetPos, , , , currentcontrol
If currentcontrol in ToolbarWindow324,MozillaWindowClass6
Click M
Send ^{click}

Various Clipboard extensions
>^end::Send {Shift Down}{End}{Shift Up}{Backspace} ; Delete to end of line

>^v:: ; paste without extra spaces, line breaks
gosub getplain
gosub pasteplain

+>^v:: ; additionally remove formatting
gosub getplain
clipboard := %clipboard%
gosub pasteplain
ClipSaved := ClipboardAll
StringReplace, clipboard, clipboard, `r`n, %A_Space%, All
clipboard := RegExReplace(clipboard, "` {2,}", "` ")
StringLeft, 1st, clipboard, 1
IfInString, 1st, %A_Space%
StringTrimLeft, clipboard, clipboard, 1
StringRIght, last, clipboard, 1
IfInString, last, %A_Space%
StringTrimRight, clipboard, clipboard, 1

pasteplain: ; pastes and then clears clipboard and restores clipboard from clipsaved
Send ^v
gosub restoreclip

backupclip: ; backups clipboardall to ClipSaved and then copies (follow with restoreclip)
ClipSaved := ClipboardAll ; Save the entire clipboard to a variable of your choice.
clipboard := ; empty clipboard
Send ^c
ClipWait, 2, 1
IfEqual, ErrorLevel, 0
gosub restoreclip

restoreclip: ; restores clipboard to clipsaved
Clipboard := ClipSaved ; Restore the original clipboard. Note the use of Clipboard (not ClipboardAll).
ClipSaved = ; Free the memory in case the clipboard was very large.
Edit AHK script
Reload AHK script upon save (I use HiEditor)
#IfWinActive, HiEditor - D:\Documents\AutoHotkey.ahk
Sleep 500

To prevent accidental firing using Capslock or tilde, see this solution.

18 August 2008

Add Gmail-like "Archive" and "Move to Inbox" Buttons to Outlook

The blog Techdem has instructions for adding a "Done" button to Microsoft Outlook. I've modified the macro code from those instructions and made similar buttons for the toolbars of message windows:

Sub ArchiveSelected()
Set ArchiveFolder = Application.GetNamespace("MAPI"). _
For Each Msg In ActiveExplorer.Selection
Msg.UnRead = False
Msg.Move ArchiveFolder
Next Msg
End Sub

Sub ArchiveActive()
Set ArchiveFolder = Application.GetNamespace("MAPI"). _
Dim myItem As Object
Set myItem = Application.ActiveInspector.CurrentItem
myItem.UnRead = False
myItem.Move ArchiveFolder
End Sub

Sub MoveActiveToInbox()
Dim myItem As Object
Set myInbox = Application.GetNamespace("MAPI"). _
Set myItem = Application.ActiveInspector.CurrentItem
myItem.Move myInbox
End Sub

Sub MoveSelectedToInbox()
Set myInbox = Application.GetNamespace("MAPI"). _
For Each Msg In ActiveExplorer.Selection
Msg.Move myInbox
Next Msg
End Sub

Updates: Please see QuickArchive in Outlook for more.

06 August 2008

Antivirus Strategy Update: Recommended Download Manager

As I've written earlier, I believe real-time antivirus carries too high a performance cost for the protection it provides. Windows has a deserved reputation for security holes, but antivirus is not the most relevant part of a wise security setup for a PC. In fact, traditional antivirus has some troubling disadvantages:
  1. Slow read/write disk access up to 15-fold
  2. Definitions may not be available until after a virus has reached your computer
  3. Deleting or quarantining false positives can be hazardous
  4. Background scanning can interfere with software installation and updating, leading to malfunction that is difficult to correct
  5. Popular free software like AVG updates only daily, so even if proper definitions are available, your software might not have them
  6. Marketing preys on fears of the Internet that aren't proportional to the actual risk involved
  7. The same files may be scanned many times even though they hadn't changed at all since the last scan
  8. Hazardous files may still go undetected by scanner incompetence or bad virus definitions
I still use antivirus, but only for downloads and for periodic on-demand scans. To assist with this, I use a download manager that scans downloaded files. I've recently tried many options: Free Download Manager 2.5/2.6, Fresh Download 8.06, Download Accelerator Manager, Download Statusbar, BitComet, LeechGet 2007, Orbit Downloader, and FlashGet. Of these, my current favorite choice is Orbit Downloader, which needs the FlashGot extension for Firefox 3 to work properly with that browser. For scanning, I use ClamWin but with a compiled AutoHotkey script so that it scans downloaded files in a minimized window unobtrusively. You're welcome to download the small .EXE I use for this purpose for yourself (specify that .EXE as your virus scanner in the options of the download manager).

Beyond this, it's wise to use an active firewall such as the one the comes with Windows XP SP2 or Vista, preventative steps such as subscriptions against malware sites as is provided with SpywareBlaster and AdBlock Plus, and to keep unnecessary networking functions disabled.

UPDATE: Avast is free, has frequent updates, and can be set to only scan when files are being copied/modified. I now prefer this approach over Orbit Downloader + ClamWin.

04 August 2008

How to Disable the Annoying Blinking LED for an Atheros Wireless Adapter

In Regedit, go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318} and look the key for your wireless adapter.
Back it up then delete the following keys:


After, restart.

If you want to have a visual cue of network activity, you can right-click the network icon in the notification area of the taskbar and select Turn On Activity Animation, and this is more subtle and less distracting than the amber LED. By the way, the button to turn the wireless adapter on and off still works after deleting the above keys.

Crossposted here

Recommended Firefox Extensions

Sorry, I'm too lazy to make links to all of them:

  • Distrust
  • Forecastfox
  • Add to Search Bar
  • IE View Lite
  • Link Alert
  • New Tab Button on Tab Bar
  • Options Menu
  • Personal Menu
  • Tab Control
  • Adblock Plus
  • Adblock Plus Element Hiding Helper
  • CustomizeGoogle
  • Stylish: Combine Stop/Reload Buttons, Yellow https bar