Work Smarter

When every hour you spend impacts your bottom line, I have learned a few tricks to working smarter.

  • Do not be a slave to email. When I am working on projects, email can be a continuous distraction. “I will just see what x client wants really quick” can easily turn into a mental distraction as I try and work out the issue. Worse, I will drop everything that I am working on to address the issue. In the past few months I have learned to focus on one task or a group of tasks at a time, then break, check email, and move onto the next task or group of tasks. I also pick an hour or two to just focus on answering email messages. This allows me to stay focused and get tasks completed and off my plate.
  • Pick a work schedule and stick to it. Start work and end work at a reasonable and consistent time. If I know I will work from 8am-4pm, I can budget my work and play time accordingly. I may not want to always work at 8am, but I know I do not want to work at 7pm either. Setting a schedule allows me to differentiate work and play time – making both much more enjoyable.
  • Realize not everything is an emergency. This was extremely difficult for me when I first started consulting. Just because a client emails at 11pm does not mean I need to email them back within 30 minutes. Set boundaries (and a schedule) so you can differentiate between a true emergency (server down) and a client’s request to change colors (not an emergency).
  • Build in time for business development. I use Mondays to do all my accounting, company web site updates, marketing, etc that will help me advance my company’s position for future growth. Current clients are very important, but so is getting the next client. Do not fall behind!

There are a lot of ways to work smarter and I would appreciate any other suggestions.

using parallels and windows for web development debugging.

Yesterday I finally broke down and bought Parallels and Windows XP to run on my MacBook Pro so I could do my CSS debugging and testing on IE 6 and IE 7 for Windows. After the ridiculously long Windows install and then security updates (74), I was pleasantly surprised with the speed and performance of Windows and IE within Parallels. I was quickly able view all my work in a Windows environment while also using my Mac browsers at the same time. This is awesome and I am quite excited to have this as an option.

Dropdown CSS/Javascript Menus

If you ever need to implement drop down menus and want to use clean CSS/javascript code, check out: Son of Suckerfish Dropdown menus. I have implemented these on a few web sites now for my clients and have been very happy with the results. If you are using WordPress, you can also use to dynamically generate the drop down menus. Enjoy!

Fun with mod_rewrite

Apache’s mod_rewrite is very powerful. You can prevent hot-linking to your site’s graphics to prevent others from stealing them, redirect your from your old URL to a new URL, re-write URLs, as well as about 500 other really cool things…but today I wanted to share the syntax needed to redirect every incoming URL for a particular web site to a specific page. Why? This could come in handy when doing work on a site and you have a “Performing Updates” (in this case index.html) page. You can put the following code in your .htaccess or httpd.conf file:

# Enable rewrite engine
Options +FollowSymLinks
RewriteEngine On

# Redirect internally all URLs to /index.html
RewriteRule .* index.html [L]

staying anonymous on the internet.

I have recently started using Tor for improved security and privacy when working out of certain locations. Not that I have much to hide but I do not want someone watching all my outgoing network traffic. Tor is also helpful if you are using a computer somewhere where they block ports (thus blocking services such as IM). I also started using Privoxy too with Tor to make my network connections even more private. If you are all curious about security and privacy, check out Tor and Privoxy.

if you want a web site redesign…

If you have thought it through and tried to make small changes but you are still unhappy with your site, here are some things to consider:

  • Existing successful web sites. The first thing that I do as a web developer/consultant is ask my clients to list three-five web sites they like and find easy to navigate. This not only makes them think about what they consider good practices, it also helps me to create a “best of the best” web site for them based on real usable web sites and not abstract design thoughts.
  • Color/Branding. I also ask to see their letterhead, logo, or anything else the individual or company uses. I feel it is very important for companies to set a consistent and professional tone for their users and visitors. Brand recognition is key in most markets. There are a number of web sites that can help you choose a good color palette – use them. (Adobe Kuler is a good example)
  • Purpose. I recommend really thinking about what users are looking for when they come to your web site. If your site’s purpose is to provide information to the users, make it easy to find that information. Users will appreciate being able to find the information much more than the expensive flash animation when the site loads regardless of how cool it might seem. There is a time and place for most everything. Once you figure out your purpose, do not get distracted. (Think
  • Audience. Know your audience. If you expect a large number of users to be on a certain platform using certain browsers or using cell phones to access the site, make sure you spend some time and optimize your code appropriately. With a little effort, you can also do a lot to your site to make it more readable and accessible for people with disabilities. Be sure and also analyze your logs to get more demographic information (this is invaluable).

Although the list of items seems pretty straightforward, you would be surprised how many people do not consider any or all of them. If you can address all the items above, you will be on the right track to creating a successful web site. Have a project you need help with? Contact me, I would be happy to help out.

whereis and locate.

A few simple commands to help make your life working with UNIX a little easier:

  • If you are looking for a certain programs, use:whereis. Example. You want to find out where ipfw is located. In the command line type whereis ipfw and whereis will spit out the location (/sbin/ipfw).
  • If you need to find a program or a file and you know what it is called, use:locate. Example. I know I want to uninstall MySQL, and I want to see every file that has mysql in the file path. In the command line, type locate MySQL and locate will spit out every file with MySQL in the file path. (Note, locate is case sensitive).

web developer plugin: display ruler.

Fun with Web Developer Extension

When I recently updated my browser, Firefox, to the latest release and noticed that some of my extensions also needed to be updated. I do not use many extensions, but I absolutely love and rely on the Web Developer Extension. I had not gone through all the drop down menus in awhile within the Web Developer Toolbar, so today I thought I would just look around a bit more…and I am glad I did because I found another awesome tool for web development: the ruler. (This feature was added in a previous version, it is just new to me.) If you like a certain web site or want to take measurements of a particular page element, you can measure it quickly and easily by clicking on the “Miscellanous” menu and then by choosing “Display Ruler”. You can then either enter in dimensions, or expand the ruler yourself to measure something. This is wonderful!

print file size command.

Earlier today I was asked for the command to show a file size in UNIX and so I thought I would share. There are, of course, a few ways to do this. One great little command to keep handy is:du -h. The du (display utility) will print out the size of a file or directory. The -h will make it “human readable” (put the sizes in Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte). So, next time you need file or directory sizes, use du -h and be done with it!