After using MS operating systems for 20 years (DOS then Windows) I finally decided to buy a Mac to be used as my primary non-work machine. I got a Mac Mini 1.83 GHz Intel Core 2 Duo with 1 GB of RAM and Mac OS X 10.5.1. What follows are some notes on my thoughts and experiences over my first few days as a Mac owner.
The Mac font smoothing makes fonts look really blurry to me. Under System Preferences -> Appearance its possible to turn off font smoothing for font sizes 12 or smaller, and if you download TinkerTool its possible to use it to turn off font smoothing for larger sizes. After some playing around I decided to set the font smoothing cutoff at 16 pt. Turning off smoothing helps a bit, however, Mac's rendering of unsmoothed fonts is definitely not as good as Windows, and may not be as good as Ubuntu (I haven't done a real side by side comparison yet). According to various posts on the web the difference is explained by Apple deciding to optimize their screen fonts so they match the printed appearance as much as possible, while Microsoft optimizes for screen appearance. Since I maybe print out 6 pages of hard copy a year, you can imagine which approach I favor.
One thing about the Mac that surprised me was its lack of built-in support for working on mixed networks. After hearing about how everything 'just works' on a Mac, and how Mac OS X was built on some flavor of Unix, when I wanted to edit a PHP file on my Linux home web server I cheerfully clicked on mount network drive and typed in sshfs://10.10.10.120 expecting to quickly mount the drive from my Linux box using sshfs. Nope. SSHFS is not built-in in OS X Leopard. After poking around a bit it looks like Apple offers a download to add sshfs support, or you can use a shareware filemanager that includes sftp support, or you can use MacFuse from Google. I decided to give MacFuse a try, and so far it seems to work, though I haven't really given it a workout.
Other options I have discovered for working with sFTP/sshfs are to use a 3rd party file manager that includes support for it (I am trying out Forklift at the moment, but there are others), or for text files using the TextWrangler text editor which has built-in support for editing files over ssh.
I was also shocked that although I could mount an ftp volume in Finder it was read-only even though the ftp server was set to give me read-write privileges. According to the Apple website this is a feature, not a bug, and you have to use a 3rd party app to be able to upload files to an FTP server. I tried Filezilla, but didn't like its apparent lack of keyboard shortcuts for copying files Same with Fugu, another free application for sftp transfers. Downloaded beta of Forklift and so far it looks like what have been looking for. You can choose Commander keyboard shortcuts which gives you F5 to copy a file from one pane to the other like I am used to. I didn't get around to trying Cyberduck.
No luck getting my Xerox Documate 250 scanner to work with the Mac Mini. Apparently there are no Mac drivers for it, and just plugging it and seeing if it would work didn't. When I ran out of possible leads to pursue I went ahead and ordered the $86 OEM version of Windows XP from Newegg.com so that I can dual-boot XP on the Mac Mini so that I can scan PDFs. It may sound extreme, but I am a fanatic about being paperless and I gotta have my scanner. Anyways, I am sure that I will discover other things that I will need to have a copy of XP around for.
Once I committed to having a dual boot machine I looked into running both OSs at the same time using either VMware Fusion or Parallels. From posts on the web it seems they both work well and are more or less equivalent. However, one friend who uses Parallels remarked that it takes a lot of RAM to run two OSs at the same time, so I promptly went to Crucial.com and ordered 2 GB of RAM for the Mini, which showed up on my doorstep 2 days later.
Upgrading the RAM on the Mac Mini is not for the faint of heart. I followed the excellent directions at:
http://www.methodshop.com/gadgets/tutorials/macmini-ram/index.shtml
You haven't lived until you are prizing off the cover of your brand new expensive toy with a couple of plastic putty knives and hearing all kinds of snap-crackle-pop noises as the little tabs pop loose. To make things more fun, the RAM in the Intel Mac Mini is hidden underneath the hard drive and optical drive, so things have to be unscrewed, and a little cable carefully removed, to get at it. Although it was an intimidating process to launch into, in actual execution it went pretty smoothly and the whole thing took less than an hour from start to finish.
2008-01-30
Getting started with my Mac Mini
Posted by
AndyfromTucson
at
04:40
0
comments
Labels: mac
2008-01-29
IE7 puts a margin around form elements but Firefox doesn't
I was going nuts trying to figure out why IE7 put some unwanted white space around a table but Firefox rendered it properly with no margin, despite explicitly setting margins for the table as 0 in CSS.
After a lot of trial and error, and fruitless Google searches, I figured out that it was the Form element that I had inside the table that was causing the problem. Apparently IE7 puts a margin around a Form element by default but Firefox doesn't. To get rid of the unwanted whitespace I just added the following to my CSS:
Form
{margin: 0px}
Posted by
AndyfromTucson
at
09:35
1 comments
Labels: html css
2007-10-30
Font problems with Nvidia driver in Ubuntu
After I switched to using the Nvidia proprietary driver in Ubuntu instead of the nv driver, the font sizes on my system were all wacky (many, but not all, became too small). After some research I discovered that it was due to the DPI being set wrong in X. There is a great post here about what causes the problem and how to fix it:
nVidia versus fonts!
The short version is you need to figure out the DPI of your screen and then add the following lines to the Device section for your nvidia driver in xorg.conf:
Option "UseEdidDpi" "false"
Option "Dpi" "92 x 92"
Replace 92 x 92 with the horizontal and vertical DPI of your display.
Posted by
AndyfromTucson
at
06:02
0
comments
Labels: ubuntu
2007-10-07
Javascript date spinner control to roll ISO 8601 dates in a text field using arrow keys
I have a couple web applications where the user enters or edits dates in the near future or near past in a text field using ISO 8601 format (yyyy-mm-dd). I wanted a javascript function which would allow the user to quickly modify the date by a few days without having to delete an old date and type in a new one, i.e. just hit one key to increment or decrement the date by one day. Since I couldn't find anything out there to do this I wrote my own. The main function here is roll_dates() which gets called by the onkeydown event of a text field on a HMTL form.
I am a self-taught coder, a beginner with javascript, and I haven't carefully tested this, so please only use this as an example to help give you ideas for your own coding (i.e. don't blindly block and copy this into your own code and then be surprised when it doesn't work right or breaks something).
function date_object_to_iso_date(date_var)
{// Converts a date object to an ISO date (YYYY-MM-DD)
// Add 1 to month value since Javascript numbers months as 0-11
var month_var = (date_var.getMonth()+1)+"-";
// Add a leading zero if its a one digit month
if (month_var.length==2)
{month_var="0"+month_var}
// Add a leading zero if its a one digit date
var day_of_month_var = (date_var.getDate())+"";
if (day_of_month_var.length==1)
{day_of_month_var="0"+day_of_month_var}
var iso_date_var=date_var.getFullYear()+"-"+month_var+day_of_month_var;
return iso_date_var;
} // close function
function increment_date(date_var, var_amount)
{//Takes a date object and adds one day
date_var.setDate(date_var.getDate()+var_amount);
return date_var;
} // close function
function iso_date_to_date_object(iso_date_var)
{ //Converts an ISO date (2007-10-01) into a date object
var array_temp=iso_date_var.split("-");
var date_var=new Date(array_temp[0],array_temp[1]-1,array_temp[2]);
return date_var;
} // close function
function roll_dates(event_var, id_var)
{// Increments or decrements an ISO date using up or down arrow
// Designed to be called by the onkeydown event of a textfield
// i.e. onkeydown="roll_dates(event,'fieldid')"
var keynum_var = event_var.which;
// Only do rest of function if user hit up or down arrow
if (keynum_var == 38 || keynum_var == 40)
{var textfield_var = document.getElementById(id_var);
var iso_date_var = textfield_var.value;
// Use regular expression to check if ISO date was entered,
// and if not use today's date
var iso_check_regex = /20[0-3][0-9]-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])/;
if (iso_check_regex(iso_date_var))
{var date_var = iso_date_to_date_object(iso_date_var);}
else
{var date_var = new Date()}
// Increment or decrement value based on whether user hit up or down arrow.
switch (keynum_var)
{case 38:
date_var = increment_date(date_var,1);
break;
case 40:
date_var = increment_date(date_var,-1);
break;
} // close switch
iso_date_var = date_object_to_iso_date(date_var);
textfield_var.value = iso_date_var;
} // close if
} // close function
Posted by
AndyfromTucson
at
05:12
2
comments
Labels: javascript
2007-09-30
Mount remote filesystem on Ubuntu Feisty using SSH
First install the ssh filesystem:sudo aptitude update
sudo aptitude install sshfs
Create a mount point for the remote computer and make yourself owner:sudo mkdir /media/remote_computer_name
sudo chown andy /media/remote_computer_name
Add yourself to the fuse group:sudo adduser andy fuse
Log out and log back in so that the new group membership takes affect.
Mount the remote computer:sshfs 10.10.10.120:/ /media/remote_computer_name/
There were additional steps listed on one HowTo that I didn't follow but it worked anyways:
http://ubuntuguide.org/wiki/Ubuntu:Feisty#How_to_mount_remote_host_folders_into_local_Ubuntu_machine_.28sshfs.29
Posted by
AndyfromTucson
at
03:54
0
comments
Labels: ubuntu
2007-09-24
How to permanently mount a windows (samba) share on Ubuntu
These are barebones directions for mounting an NSLU2 drive on an Ubuntu box.
Install the smb file system: sudo apt-get install smbfs
Create a new directory under /media to use as a mount point: sudo mkdir /media/newdirectoryname.
Edit /etc/fstab: sudo nano /etc/fstab
Add a line for the new mount://10.10.10.110/DISK\0401 /media/newdirectoryname smbfs username=defaults,password=defaults,uid=username 0 0
Remount filesystem: sudo mount -a
For more detailed instructions: http://www.justlinux.com/nhf/Filesystems/Mounting_smbfs_Shares_Permanently.html
Additional Notes on how to allow users on Linux machine to read and write to a smbfs share that is mounted by adding entry in fstab:
- The fourth field in an etc/fstab entry specifies the mount options for the drive being mounted. See the fstab man page or http://www.die.net/doc/linux/man/man5/fstab.5.html
- The fstab man page doesn't give the mount options for every type of file system. For that you need the man page for the file systems. The man page for smbmount gives the syntax for specifying options in this fourth fstab field for smbfs mounts. See http://www.die.net/doc/linux/man/man8/smbmount.8.html
- You can either use uid=username or gid=groupname to specify what user or group of users is the owner of the smbfs mount.
- Here is the fstab entry that allowed linux user fred to copy files to smbfs mount on an NSLU2:
- //10.10.10.110/DISK\0401 /media/nslu2 smbfs username=defaults,password=defaults,uid=fred 0 0
- EDIT 2008-11-10: I believe that fmask and dmask properties discussed below have been deprecated and you should use umask in their place. I think a single umask=0000 in place of fmask and dmask should work, but I have not verified this.
- After a lot of trial and error I figured out that its not enough to add the gid=groupname to the fstab entry. You also have to set fmask and dmask values which determine permissions for the mount. This fstab entry allows all members of group fredsfriends to read and write files on an smbfs mount:
//10.10.10.110/DISK\0401 /media/nslu2 smbfs username=defaults,password=defaults,uid=fred,gid=fredsfriends,
fmask=770,dmask=770 0 0 - Apparently if you don’t set fmask and dmask then it uses the system default (umask value?) for file and directory permissions, which on my ubuntu install was read access but not write access.
- I had a hard time finding out what values to use for fmask and dmask, but apparently 777 means all users have read & write access (which was apparently confirmed by running ls -l on the mount, which showed fred fredsfriends -rwxrwxrwx when dmask=777 and fmask=777), and a value of 770 gives read-write access to only the members of the group identified in gid=groupname (ls -l shows fred fredsfriends -rwxrwx—).
- Another thing to note is that apparently in Linux only the owner of a file can change the timestamp, so a user that has read-write access to a smbfs mount by virtue of being a member of the group specified in gid=groupname will not be able to change timestamps on files on the mount, which means that when that user copies a file to the mount the file’s existing timestamp will not be carried over and instead it will be given the timestamp of when the copy action occurred.
Posted by
AndyfromTucson
at
19:42
2
comments
Labels: ubuntu
2007-09-18
Ubuntu cheat sheet
BASH prompt tricks
- To search back through the command line history for a particular term hit Ctrl-r and then type the term. Hit Ctrl-r again to move backwards to the next instance of the term.
- To edit the current user's cron jobs:
crontab -e
File operations- See size of current directory: du -hs
- See size of specified directory: du -hs /mydirectory
- See listing of subdirectories with sizes: du -h /mydirectory
- List of directories sorted by size: du /mydirectory | sort -nr
- Recursively delete directory and its contents: sudo rm -Rd /media/temp/mydirectory
- Recursively delete the contents of the current dir: rm -R *
- Recursively copy /media/source/Documents to directory Documents under current directory preserving permissions, ownership & timestamps:
sudo cp -av /media/source/Documents Documents - Recursively copy /media/source/Documents to /media/temp/Documents preserving permissions, ownership & timestamps:
sudo rsync -av /media/source/Documents/ /media/temp/Documents
- Note that if you run this without sudo the ownership of all of the files and directories gets changed to the current user and at least some hidden files won't copy because of permissions issues.
- Get information about a drive partition:
sudo fdisk -l - Mount partition from command line:
sudo mount -t ext3 /dev/sdb1 /media/mountpoint - Where ext3 is the filesystem type, /dev/sdb1 is the location of the partition and /media/mountpoint is the directory where the partition should be mounted
- Filesystem mounting configuration:
/etc/fstab - Remount filesystem after editing fstab:
sudo mount -a - Unmount mount:
sudo umount /mount_point - Fix smbfs mount that has stopped working:
1. Unmount smbfs mount:sudo umount /problem_mount_point
2. Delete mount point:sudo rmdir /problem_mount_point
3. Recreate mount point:sudo mkdir /problem_mount_point
4. Remount smbfs mount (assuming its in fstab):sudo mount -a - Mount Samba share from command line or script:sudo mount -t smbfs -o username=defaults,password=defaults,uid=usersname,gid=groupname,umask=0000 "//10.10.10.110/DISK 1" /media/zihuatanejo
- Network configuration file:
/etc/network/interfaces - Hosts file:
/etc/hosts - Log on log:
/var/log/auth.log
- Give all permissions to all users:
chmod a+rwx filename - Give all permissions recursively to all users to all files and directories under MyDirectory:
sudo chmod -R a+rw /home/andy/MyDirectory/ - Change ownership of file:
sudo chown andy /home/andy/myfile - Change ownership of all files and sub-directories recursively:
sudo chown -R andy /home/andy/MyDirectory
- Basic Aptitude command line commands:
$sudo aptitude update| Updates the package lists$sudo aptitude safe-upgrade| Upgrade as many packages as possible without removing existing packages.$sudo aptitude full-upgrade| Upgrade everything, including deleting existing packages to solve dependencies$sudo aptitude [ install | remove | purge ] pkg1 [pkg2]| Take actions on individual packages$sudo aptitude search search terms| Search packages for terms$sudo aptitude show pkg_name| Show information on the package
- Repositories file:
/etc/apt/sources.list - Editing Repositories from command line: https://help.ubuntu.com/community/Repositories/CommandLine
- To install and configure predefined package collections, like LAMP server:
sudo tasksel
- To configure fonts (among other things) edit:
/usr/share/scite/SciTEGlobal.properties - To configure PHP syntax highlighting edit:
/usr/share/scite/html.properties
- In order to run a BASH script you have to:
- First make the file executable by running chmod 700 scriptname
- Then to execute it from the current directory you have to use ./scriptname which translates to 'run scriptname from the current directory'
- As of Ubuntu 10.04 you can no longer start and stop services using /etc/init.d/apache2 stop.
- The new method for starting and stopping services is:
sudo service apache2 start
- Good article on SSH port forwarding here:
http://www.securityfocus.com/infocus/1816 - To make a tunnel to a server behind a firewall:
ssh -L 8888:10.10.10.120:80 andy@10.10.10.120 -p 1234
Where 8888 is a port on the client machine, 10.10.10.120:80 is the port and IP address that you want traffic forwarded to from localhost:8888, and andy@10.10.10.120 -p 1234 is the username, IP address, and port of the remote machine you are making the ssh connection to. - Whenever you make configuration changes you have to restart to have them take effect:
$sudo /etc/init.d/ssh restart
- To mount:
sshfs username@remotemachine:/remotedirectory localmountpoint - To unmount:
fusermount -u localmountpoint
Posted by
AndyfromTucson
at
18:46
0
comments
Labels: ubuntu, ubuntu cheat sheet
2007-09-16
MythTV Reference
To start MythTV backend: /etc/init.d/mythtv-backend start
To shutdown MythTV backend: sudo /etc/init.d/mythtv-backend stop
To backup the MythTV database: mysqldump -u mythtv -ppassword mythconverg -c > mythtv_backup.sql
To refresh listing data (if listings got messed up somehow): sudo mythfilldatabase --refresh-all
(note that this will not refresh today's listings!)
To refresh today's listing data: sudo mythfilldatabase --refresh-today
Schedules Direct: http://www.schedulesdirect.org/
Posted by
AndyfromTucson
at
13:30
1 comments
Labels: mythtv
Installing HP Laserjet 1012 on Ubuntu Feisty box with no GUI
This is only meant as a rough guide to the steps involved. I haven't checked it carefully and there are probably errors and omissions.
I first installed HPLIP using sudo apt-get install hplip. I then followed the instructions on how to get it set up found at http://hplip.sourceforge.net/ using the recommended driver for the HP LaserJet 1012 (HP-LaserJet_1012-hpijs.ppd) which I found at http://linuxprinting.org . It appeared to work, but whenever I tried to print a test page at the end of the hp-setup program it didn't work. I ended up with a couple versions of the same printer installed because I couldn't figure out how to delete printers from the non-GUI version of hp-setup (the particular box is an old laptop acting as a server which doesn't have a GUI).
I decided to move on for the moment and installed CUPS using sudo apt-get install cupsys.
Poked around at http://www.cups.org to figure out how to edit /etc/cups/cupsd.conf to allow access to the CUPS web interface at port 631 from a remote machine (since the box has no GUI) and how to configure CUPS so other machines on the network could connect to it to print. Made a bunch of changes, which I can’t remember, but eventually got it so I could access the CUPS web interface from my laptop by pointing to http://10.10.10.120:631/admin.
Using CUPS web interface I was able to delete all the unsuccessful printers I had created using hp-setup. When I deleted printers, etc. it prompted me for a username and password. I used root and my root password successfully. If you don't have a root password set up you may need to do some research on a workaround on cups.org to get that part to work.
I tried using the CUPS Add Printer wizard a few times to install the same recommended HPIJS driver for the HP LaserJet 1012, but whenever I tried to print a test page I got “Foomatic-rip failed” error. I poked around on Google and couldn't find anything helpful about this error.
Finally solved the Foomatic-rip failed error by deleting printer using CUPS web interface and then installing printer but choosing the HP LaserJet Series PCL 4/5 CUPS v1.2 instead of the hpijs 1012 specific driver.
I had installed Samba before using sudo apt-get install samba which presumably was necessary to allow me to share the printer with a windows machine (though I am not sure about that). I was able to successfully set up the printer as a network printer from a Windows machine following tips here: http://ubuntuforums.org/showthread.php?t=268245
Posted by
AndyfromTucson
at
05:06
0
comments
Labels: ubuntu
2007-09-09
How to set hard drive power management in Ubuntu
To set Ubuntu so that a particular hard drive will power down after a certain amount of time enter the following:
sudo hdparm -S60 /dev/hda
The "hda" refers to the hard drive the command should apply to. Check your system to make sure you are referring to the right name for the drive your want (it was sda on my laptop).
The number following the S defines how long until the drive powers down as follows (from the hdparm man page):
Values from 1 to 240 specify multiples of 5 seconds, yielding timeouts from 5 seconds to 20 minutes. Values from 241 to 251 specify from 1 to 11 units of 30 minutes, yielding timeouts from 30 minutes to 5.5 hours. A value of 252 signifies a timeout of 21 minutes. A value of 253 sets a vendor-defined timeout period between 8 and 12 hours, and the value 254 is reserved. 255 is interpreted as 21 minutes plus 15 seconds. Note that some older drives may have very different interpretations of these values.
To turn on advanced power management for a hard drive:
sudo hdparm -B1 /dev/hdaAccording to the man page:
"Set Advanced Power Management feature, if the drive supports it. A low value [following the -B flag] means aggressive power management and a high value means better performance. A value of 255 will disable apm on the drive."
On my laptop I had to refer to /dev/sda, and a value of -B1 seemed to make the hard drive power down pretty quickly after use, while the hard drive seemed to keep running for a long time with a setting of -B5.
Posted by
AndyfromTucson
at
12:48
0
comments
Labels: ubuntu
2007-08-06
Take some of the mousing out of Microsoft Word
One of the things that I hate most about Microsoft Word (and there are many) is the fact that so many frequently used actions have no keyboard shortcuts. While its possible to assign keyboard shortcuts to actions its easy to quickly run out of Ctrl-key or Alt-key combinations that can be remembered.
To solve this problem I decided to write some macros to make Microsoft Word operate more like good old XyWrite, which had a key that took you to a command line where you could enter short commands for every function.
The first step is to set up a hotkey to open the macro dialog. To do this click Tools - Customize - Keyboard (on bottom line of dialog), which gets you to the Customize Keyboard dialog. Here, select Tools in the Categories box, and then select ToolsMacro in the Commands box, then go to the Press New Shortcut Key box and hit Ctrl-m (or whatever hotkey you want), and then finally click the Assign button at the bottom. Now, whenever you hit Ctrl-m it will open the Macros dialog box, where you can type in any macro name and then hit enter to run the macro.
Next, record some macros for your most frequently used menu items, and assign them two (or three) letter names. Here are some of my favorites:
Sub pu()
' Paste Unformatted
' Same as Edit - Paste Special - Unformatted Text
Selection.PasteSpecial Link:=False, DataType:=wdPasteText
End Sub
Public Sub hy()
'highlight yellow
'Same as clicking on the highlight icon on the toolbar
Selection.Range.HighlightColorIndex = wdYellow
End Sub
Public Sub aa()
' Accept All tracked changes
ActiveDocument.AcceptAllRevisions
MsgBox "All tracked changes have been accepted."
End Sub
Sub uc()
'Upper Case; Same as Format - Change Case - Uppercase
Selection.Range.Case = wdUpperCase
End Sub
Once you have written the two letter macros for your commonly used menu items you can run them from the keyboard without ever touching the mouse by hitting Ctrl-m, then typing the two letter macro name, and then hitting Enter. It looks more cumbersome than it is; its really only a total of 4 keystrokes to run any command.
Posted by
AndyfromTucson
at
19:58
0
comments
Labels: Microsoft Word
2007-05-17
Save energy and money by turning off your computer at night
I save a significant amount of electricity by turning my computer all the way off at night.
My desktop computer draws about 120 watts when its on but idle with the monitors off. Assuming I only need to have my computer on 10 hours a day, if I left it on all the time annual power consumption while idle would be:
(120 watts * 14 hours * 365 days)/1,000 = 613.2 kwh a year
Here in Arizona I pay around $0.10 per kilowatt hour (kwh) so that works out to $61.32 a year.
The first step was just powering down the desktop at night. However, since I do a long backup routine every night when I end my work day it was initially inconvenient to start my nightly backup routine, and then come back later to turn off my computer. So I used http://www.autohotkey.com/ (a multipurpose utility for Windows which can map hotkeys and automate tasks using a nice scripting language) to write a script to do all the tasks of my nightly backup routine and then shut down the computer.
However, when I took my trusty Kill-A-Watt to my workspace powerstrip I discovered that between my desktop, my Cisco IP Phone 7960, my HP printer, my Linksys router, my Xerox sheet-fed scanner, my Plantronics wireless headset, etc. I was pulling 30 watts even with everything powered down.
To a normal person leaving something on all the time that draws 30 watts is no big deal, but I am not that person. I figured that this 30 watt draw works out as follows, assuming that I want my workspace power on about 15 hours a day 6 days a week:
(((9 hours * 6 days) + 24 hours) * 30 watts * 52 weeks)/1,000 = 121.68 kwh or $12.12 per year
So, I hooked up power timer I had laying around to my powerstrip and set it so it turned the power on at 04:00 and off at 19:00.
Posted by
AndyfromTucson
at
05:34
1 comments
Labels: Saving Energy
2007-05-16
How to view multiple PDFs in separate windows using Acrobat 6
I have 2 monitors and work with a lot of PDF documents, and one thing that has always driven me crazy is that Adobe Acrobat 6 only lets you view PDFs within the application window, and it won't let you run multiple instances of Acrobat, so the only way to look at 2 or 3 PDFs side by side is to maximize Acrobat and then juggle and resize the document windows until you can see both.
Today I found a solution. Firefox (and probably IE) has an Acrobat plug-in, so to easily open multiple PDFs in separate windows you just right click on the PDF file in Windows Explorer (or your favorite file manager) and then choose "Open with" and then choose Firefox. That will launch a new instance of Firefox with the PDF
Posted by
AndyfromTucson
at
14:17
1 comments
Labels: Productivity
2006-10-15
How to make group decisions by email
When you are trying to get a group to make a decision via email it helps to propose something concrete for people to respond to, rather than just starting an open ended discussion.
Here is someone trying to set up a get together for a group of mothers with young children via emails sent to a list of 8 people:
Joan: "Hi. I am hoping to get some people together on Sunday. I was wondering if anyone was up for a get together around 10. I am thinking a park or the zoo?"
Joan: "I should have asked before does 10 AM or 3 PM work better? I just assumed before nap is easier."
Mary: "10am for me. Did we pick a place yet?"
Polly: "Morning is also better for us. Do we have a confirmed time and place (and directions) yet?"
Joan: "As for places, I say either Jones Park or Smith Park (we have never been there before) or Greenberg Park. What works for you all?"
Betty: "We will be there at 10 am , what park are you thinking of?"
Kathy: "Im up for trying out a new park (Smith Park) but am fine with what ever the group decides. "
Joan: "I think a park is easiest. What is central to all of us?"
Betty: "Smith Park sounds good, 10am."
Joan proposes not only multiple options for times but also multiple possible venues. Notice that as time goes by she does nothing to converge the group down to a single place and time. The only reason closure was ever reached was that Betty took charge and picked a park and time for the group.
The lesson? When tying to set something up with a group of people by email you should not present the group with a number of decisions that need to be made. Give the group a complete proposal, "I am going to Smith Park Sunday, 10 am, and I hope some of you can join me" that people can either choose to accept, reject, or make a counterproposal. Sending an email to a group asking the group to make a number of decisions is a recipe for endless dithering.
Posted by
AndyfromTucson
at
06:29
0
comments
Labels: Productivity
2006-08-31
Be conscious of the imitation factor
If you mindlessly copy how other people handle things, or fail to examine your habits, you will miss some opportunities to do things better.
Human beings tend to unconsciously use imitation as a tool for dealing with a lot of situations. They either imitate what they have seen other people do in similar situations, or they imitate what they themselves did the last time they faced a similar situation (Thats what habits are: Us imitating ourselves).
Imitation more or less works most of the time. Imitation allows you to gain the benefit of your own or other people's experience without re-inventing the wheel.
But sometimes what other people do in a particular situation is not the best thing for you to do in that situation. Maybe your values and preferences are different than most peoples, so what works for them doesn't work for you. Or maybe other people are just making stupid choices for unknown reasons. To paraphrase your mother: "Well, if Johnny jumped off a bridge, would you jump off too?"
And sometimes the way you have always handled a particular situation in the past is no longer (if it ever was) the best way to handle that situation. Maybe your values and preferences have changed. Maybe your situation has changed. Maybe the first time you dealt with a particular type of situation you just made a stupid choice and then never revisited your decision.
The moral is, when you are making choices about how to get something done take a moment to step back and try to explain your decision to yourself as if you were explaining it to a stranger. If you find that your explanation for your decision sounds kind of stilted and shallow, or if it boils down to "that's just what I have always done" or "that's just what everyone does" then stop and take even more time to think through whether your decision is really the best possible in the circumstances, and whether there might be better alternatives. This process of re-assessing your habits, or the traditions of others, helps you spot inefficient or counterproductive habits and come up with new solutions that work better for you.
Posted by
AndyfromTucson
at
05:29
0
comments
Labels: Productivity
Configure your email program to work offline
Mozilla Thunderbird has this great feature called Work Offline. The way it works is that you click on the Work Offline icon and it downloads messages and then disconnects from the email server. Until you click the icon again, no new email messages show up in your inbox, and the emails you send go into a Unsent Messages folder. When you do go back online, all the pending emails in your Unsent Messages folder get sent, and all the new emails are downloaded.
So what's so great about that? The first time I noticed the Work Offline feature I remember thinking "Oh, I will never use that; It must be for people who want to work when they on airplanes or something" (and I am not one of those people; Airplanes are for catching up on New Yorkers). I forget what inspired me to try Work Offline for the first time, but when I did I immediately noticed two benefits.
The first was that I was able to focus on the task at hand much better without the distraction, and temptation, presented by new emails popping into my in-box. I don't know about you, but over time I have acquired an almost Pavlovian response to the little ding when a new email comes in. I drop everything, open up the new email, and then get sidetracked dealing with it. Of course with discipline its possible to train yourself to not respond to each incoming email, and if you have that discipline then good for you, but for me its easier to just remove the temptation.
The other benefit to working offline, which to me was completely unexpected, is that it is really handy to have all outgoing emails queued up in the Unsent Messages folder for a while before they actually go out. How many times have you sent an email, and then 5 minutes later realized that you forgot to mention something, or add the attachment, or you came across something that makes you realize that what you said in your email was wrong and you will have to send another email? With your outgoing emails queued up in the Unsent Messages folder its a simple matter to right click on the email, select "Edit as New," revise your email, re-send it, and then delete the old version.
Maybe I am ditzier than average, but there are times when I have revised a pending email 2 or 3 times before it actually goes out, typically because as I work through my email in-box I come across new information that makes me want to revise what I wrote.
Posted by
AndyfromTucson
at
05:05
0
comments
Labels: Productivity
Switch to two monitors
If you do a lot of work on the computer your productivity will be substantially increased by adding a second monitor. A second monitor reduces the amount of time you spend clicking around to switch between windows, and allows you to see and work on multiple documents at the same time.
Think about it: Would you even for one second consider using a physical desk that was 12" x 15"? Why not? Maybe because you don't want to spend all your time constantly reshuffling the things on your desktop to bring the current item to the top? If you wouldn't use a physical desk that small, why would you use a computer screen that small? Especially considering that you probably do a lot more of your work on your computer desktop than on your physical desktop.
I have been using two monitors for a year and a half now, and when I occasionally have to work using a single monitor I feel trapped and confined, and my productivity drops quite a bit.
Posted by
AndyfromTucson
at
04:50
0
comments
Labels: Productivity
2006-07-20
The Pre-Printed Shopping List
Using a pre-printed shopping list can save you time, help you avoid running out of things, and reduce the energy and effort put into shopping. Here is how my family uses one.
We have a Word document with multiple columns with a section for every store we routinely go to (Costco, Trader Joes, Target, etc). Under each store's heading we list the things we routinely buy there, in the order they occur in the store when we are shopping, plus a number of blank lines to write in unusual purchases. We print this list out and keep it on a clipboard on the fridge, and whenever we notice that we are running low on something we immediately circle it on the list or write it in. Then, when its time for the weekly shopping run we review the routinely purchased items for each store to see if we need to circle any of them, and then head off to the store. At the store we just walk the aisles and grab the circled items as we come to them.
For me, the main advantage of this system is that you don't have to struggle to remember what you need when you are out shopping, and you don't even have to struggle to remember things when you are putting your shopping list together.
Another big advantage is that it cuts down on shopping trips. Because everything is so organized, we only make one shopping trip a week, and never have to run out to the store on short notice to pick something up. I find this saves a lot of time over the course of weeks and months.
A few people we know who have seen us using this list at the store have acted a little shocked by our level of organization. I admit that not many people are this organized about shopping, but then again many households spend a lot more time and energy on shopping than we do. There is only so much time each week to do the things we like to do, so to me it makes sense to streamline the routine tasks as much as possible to free up more time for other things.
Posted by
AndyfromTucson
at
07:05
1 comments
Labels: Productivity
2006-07-07
Don't send an email to a group asking them to do something
I am constantly amazed how often I see otherwise intelligent people send out emails asking a group of people to do something. For example:
To: John, Susie, Bill
From: Braindead
Re: Annual report
Who is going to prepare the first draft of the annual report? Please let me know.
Thanks,
Braindead
It just can't end well when you ask a group to do a single task. Chances are all the people you sent the email to will assume that someone else is going to respond and ignore it. Or, two or three people will respond with different answers, which will trigger a cascade of follow-up emails to straighten out the inconsistencies. Either way, you are not moving forward. Asking a group to do something without identifying an individual to take the lead is a recipe for delay and confusion.
Instead, always send your email to a single person asking them to respond to your question or request, and copy the other people who need to know about it. For example:
To: Susie
Cc: John, Bill
From: Smartypants
Re: Annual Report
Susie, please let me know who will be preparing the first draft of the annual report. You should confer with John and Bill about who would be best to do this.
Smartypants
Now Susie knows she is expected to respond and your request doesn't fall through the cracks.
Posted by
AndyfromTucson
at
15:43
0
comments
Labels: Productivity