Search This Blog

Friday, August 31, 2007

Optimize your Web site performance to survive heavy traffic

1. Avoid accessing databases to often
On a database driven content sites, the slowest task is accessing the database to retrieve the content to display. If a site is not fast enough to serve its pages, many simultaneous user accesses force the Web server to create more processes to handle all the requests.
This is bad because it demands more server memory. Once the server RAM is exhausted, the machine starts using the virtual memory, making the server even slower, until it halts completely.

2. Cache Web pages
If the site needs to access the database to retrieve the content to display, what can we do to minimize the database accesses?
First, we need to focus on what kind of information the site retrieves from databases. The most common type of data is information used to build the HTML pages.
The fact is that the information in database does not change so frequently. As a matter of fact, usually different users see the exact same HTML content when they access the same page.
It is not unusual to execute many SQL queries to retrieve all the data that is necessary to build a single HTML page. So, it is evident that it would be much more efficient if the sites could cache the HTML of each page after it is accessed for the first time.
So, what if the database content changes? Just call a code that invalidates all the page caches that depend on content of the changed database table rows. This way, it forces the caches to be rebuilt on the next access to the site pages, and so the pages are always upto date.

3. Avoid needless personalization
What about pages that appear differently to each user that accesses them? Use separate cache files depending on the user accessing the pages.
However, it would useless if the site would use a separate cache file to store the HTML that each user sees. The benefit of reusing cached information would be lost.
To maximize the efficiency of this approach you should minimize the number of user profiles that may be used for each page context. Therefore, it is very important to avoid personalization as much as you can.

4. Queue tasks that may take too long
Caching is great to avoid repeated accesses to the same content stored in a database.
However, caching only applies to accesses that retrieve data from databases. Operations that update the database content may not benefit from caching. However, when done to frequently, database write accesses may cause server overload.
One of the solution is not to update that table in real time. Instead, create a similar table that act as a queue. The queue table has no indexes. Periodically, start a background task from cron, and move the queue table data to the main table.

5. YSlow 13 optimization rules
There are many aspects to be concerned regarding what to do to make browsers interact with the Web servers in an optimized way that it takes less time and less server resources.
The issues are often not trivial to understand for people looking for quick and easy solutions to optimize their Web sites. Fortunately, there are tools that help you to audit your sites and suggest what needs to be done to boost the performance of the sites to the limit.

YSlow is one of those Web site performance auditing tools. This is a tool that the fine folks of the team of Jeremy Zawodny at Yahoo! released a few weeks ago.
http://developer.yahoo.com/yslow/

This is a wonderful tool that in a few seconds gives you an overview of how a page of your site is being served. It also suggests what can be done to optimize aspects that affect page loading speed and the consumption of Web server resources.
This tool is an extension for the Firefox browser. It works together with another very good extension named Firebug. So, to use YSlow, first you need to install Firebug.
http://www.getfirebug.com/

Once you have installed Firebug and YSlow, it is very easy to audit the performance of any Web page. Just load a Web page that you want to test and wait until it finishes loading. Then open the Firebug pane, click on the YSlow tab, and use the Performance button.

Immediately YSlow starts collecting details about the current page. When it is done it shows a list of 13 rules about aspects of the page loading performance.
On the left side of the listing you see grades from A to F. Those grades express how your page performs on each of the 13 rules, A being the best and F being the worst. On the top of the listing you see your overall "Performance Grade" also from A to F, and a score between 0 and 100.
If you got the score 100, congratulations, your page is perfect. Otherwise there is performance tuning work to be done.

Thirteen Simple Rules for Speeding Up Your Web Site are
  1. Make Fewer HTTP Requests
  2. Use a Content Delivery Network
  3. Add an Expires Header
  4. Gzip Components
  5. Put Stylesheets at the Top
  6. Put Scripts at the Bottom
  7. Avoid CSS Expressions
  8. Make JavaScript and CSS External
  9. Reduce DNS Lookups
  10. Minify JavaScript
  11. Avoid Redirects
  12. Remove Duplicate Scripts
  13. Configure ETags


6. Too much AJAX and external Javascript may kill your page performance
Using AJAX and cool Javascript libraries is definitely the latest fashion in Web application development. These are common aspects that you may notice in the so-called Web 2.0 sites.
The problem is that when you use a Javascript library that has may interdependent components, sometimes to use a simple component you end up loading a pile of separate Javascript files.

This makes the browser send a lot of requests to the Web server once it enters a page that needs many of those Javascript files. Not only it may cause excessive load to the server, but it also slows down the rendering of a page, even when the page HTML has already been fully loaded. It is a similar effect of pages that use Flash movies that take a while to load.

Browsers cache Javascript files, but when the user is making the first access to a page that needs many Javascript files, it may take too long. It may give the impression that your site is much slower than it actually is.

More detailed information regarding rules to optimize your Web site performance and for defensive programming practices to survive Web site traffic peaks can be found in www.phpclasses.org

Wednesday, August 29, 2007

100 Web Apps for Everything You Will Possibly Need

Running a business for yourself means you have to be inventive and always on the lookout for a new and better way to get things done. Innovation junkies, take note: the Internet has a lot to offer. From invoicing to marketing, these are tools that freelancers need to know about.

Organization

If you’re busy with lots of client work, it’s easy for things to get out of hand. Don’t let your work get away from you; organize information and projects with these tools.

  1. Backpack: Get your projects organized by using Backpack. Create to-do lists, notes, files, images and a calendar with reminders that can be sent via email or to your mobile device.
  2. Central Desktop: Collaborate, communicate and share files with clients and coworkers using Central Desktop.
  3. iOrganize: With iOrganize, freelancers can organize work by keeping notes, ideas and bookmarks in one place.
  4. Viapoint: Viapoint makes it easy for freelancers to store emails and files by client or project.
  5. Stikkit: Use Stikkit’s “little yellow notes that think” to keep in touch, plan and collaborate with clients and coworkers.
  6. Webnote: Webnote users can take notes using a web browser, then save and return to the notes on any computer. This is especially helpful if you’re working on-site with a client and have to use a computer other than your own.
  7. Netvibes: Spend less time searching and more time working by customizing your browser’s start page with email, feeds, messaging, job boards and much, much more.

Calendars & To-Do Lists

Client meetings, important events and a never-ending list of things to do can wear you down if you can’t make them manageable. Use these handy calendars and to-do lists to keep your schedule from taking over your business.

  1. Remember The Milk: Remember The Milk reminds you to take care of important tasks, so you’ll never forget when a project is due.
  2. CalendarHub: Use CalendarHub’s web-based calendar to keep track of deadlines and set goals for your business.
  3. Google Calendar: Google Calendar is a web based tool that allows users to organize their schedule, so you’ll always know exactly what you need to be working on.
  4. Planzo: Planzo’s online calendar keeps freelancers connected to events and things to do. It lets you share your events just about anywhere, get a daily digest and receive text message reminders.
  5. Spongecell: Spongecell is an online calendar made for freelancers with lots of meetings and engagements. Plan events, spread the word and allow guests to add content to your calendar.
  6. Neptune: Neptune’s web based to do list tool helps you keep track of the things you need to take care of every day. It lets you email yourself new tasks, get an email report every morning and upload files to store with your projects.
  7. Ta-da List: When you’re busy with lots of projects, it can be hard to keep track of what you’ve accomplished. Make web-based ta-da lists for yourself or other people, then share them and check items off as you go.

Your Money

Money is what keeps your freelance business going, but managing it can be tedious and time consuming. Sure, it’s fun to see money come in, but does anyone really like sending out invoices? Use these tools to make the process of managing your income easier and more enjoyable.

  1. Wesabe: Use Wesabe to keep tabs on where the money in your business goes, helping you to make better financial decisions.
  2. InstaCalc: InstaCalc is a web based calculator with lots of bells and whistles including spreadsheet capabilities, unit conversions and programming commands. It’s great for freelancers because you can send clients links to any of your calculations, put a calculator on your website or create charts and graphs from your calculations.
  3. XE: If you’re working with an overseas client, you may need to handle foreign currencies. Use XE’s currency converter for accurate calculations with up-to-the-minute currency rates.
  4. Dimewise: Use Dimewise’s web-based convenience to manage your business transactions wherever you are.
  5. FreshBooks: FreshBooks offers a program for “painless billing,” so you’ll never have to spend hours sending client invoices out. Designed with service-based businesses in mind, this software provides a method to manage and send invoices, handle work orders and generate reports with ease.

Storage

Do you have too many client files clogging up your hard drive? Use these services to take a load off.

  1. openonmy: openonmy’s website offers storage for files up to 1GB. These files are made to be accessible from any computer, so you can open them up even when on-site with a client.
  2. Xdrive: Xdrive offers 5GB of online storage. Use their service to share files with your clients and coworkers.
  3. YouSendIt: Have you ever had to clean out your inbox just so you’d have room to send out an email? YouSendIt puts and end to that trouble by sending files up to 2GB to your clients.
  4. Flickr: Save space on your hard drive by uploading your photos to Flickr. It’s a great way to store, share and organize photos for your business.
  5. Box: Create an online file-sharing location for you and your clients on Box.
  6. MediaTemple: Keep your important client files safe on MediaTemple’s servers. They offer innovative hosting solutions for all kinds of websites.
  7. DivShare: Use DivShare’s file hosting service to email files to clients or store them in a folder for shared access later.

Project Management & Productivity

Do you wonder where all of your time goes? Do your clients want frequent status updates? Keep tabs on your time and projects with these tools.

  1. Harvest: Harvest offers web-based time tracking software with simplicity. Track your progress and inform your clients using Harvest’s reports.
  2. Side Job Track: Side Job Track, designed with freelancers in mind, provides software that lets you track and manage project information. Features include job tracking, invoicing and reporting.
  3. Basecamp: Basecamp offers a way to improve project communication. Use it to keep your teammates and clients informed about what’s going on with your projects.
  4. ConceptShare: ConceptShare provides online design collaboration. Invite clients and coworkers to view your design and make comments on your work.
  5. ProjectStat.us: Instead of fielding constant calls about the status of a project, let your customers view the status of their project online with ProjectStat.us.

Writing & Design Tools

Being creative can get expensive. Purchasing icons, stock photos, book publishing and the like can add up fast and eat into your profit margin. Check out these free and inexpensive tools designed to make the lives of freelance writers and designers cheaper and easier.

  1. Writeboard: Have you ever had a client or coworker revise a document and end up wiping out your work? Use Writeboard to share and collaborate while saving separate versions each step of the way.
  2. Lulu: Lulu gives fledgling writers an easy way to get published. Each product is printed as it’s ordered, so you don’t have to build an expensive inventory.
  3. MailBuild: Built for web designers, MailBuild allows users to set up a template for client email campaigns.
  4. MyFonts: Do you want to see how fonts will look on your design before committing to a purchase? MyFonts provides a source for trying out and buying new fonts.
  5. IconBuffet: Find and trade stock icons for your web designs on IconBuffet.
  6. stock.xchng: Add photos to your writing or web design at low or no cost. stock.xchng provides tons of stock photos, many of them royalty-free.
  7. Google Docs & Spreadsheets: Don’t bother spending hard-earned money for the latest version of MS Word. Create, upload, share and edit word and spreadsheet documents online using Google Docs & Spreadsheets.
  8. MorgueFile: MorgueFile’s high resolution photos are has-beens in the stock photography world, but that doesn’t mean they won’t do a great job spicing up your work.

Security & Privacy

Don’t let your work get stolen or compromised. Can you imagine how your business would suffer if you lost files due to a virus? Or worse, if the financial information of your clients got exposed to spyware? These services help you stay safe and secure.

  1. SpamSieve: Fighting spam takes time away from your business and opens your system up to intruders. Use SpamSieve to keep spam out of your Mac email client.
  2. Escrow: Don’t get burned by clients that make fraudulent payments. Use Escrow to protect yourself and your clients from payment fraud.
  3. Cloudmark Desktop: Cloudmark protects your Outlook inbox from spam, phishing and viruses, so you’ll never have to worry about compromising business files when reading your email.
  4. PayPal: Give your clients a way to pay without sharing their financial information by using PayPal.
  5. Moneybookers: Open your business to the worldwide market safely. Use Moneybookers for secure worldwide payment and acceptance.
  6. Spamato: Keep your business email secure by using Spamato with Outlook, Thunderbird or Mozilla Mail.
  7. Spybot Search & Destroy: Make sure your confidential client information is safe from prying eyes by scanning for spyware with Spybot Search & Destroy.
  8. AVG Anti-Virus Free Edition: Protect your business files with a good antivirus program. AVG Anti-Virus offers a free solution for protecting your computer from viruses.

Mobility & Contact

When running a business, it’s essential that you’re able to keep in contact with clients, vendors, coworkers and other important acquaintances. Use these tools to communicate with ease.

  1. Campfire: Campfire is a web-based chat tool that’s ideal for online meetings with clients or coworkers.
  2. Meebo: Don’t miss out on a client just because you don’t use the same instant messaging tool. Get access to every major messaging service on Meebo’s website without having to download anything.
  3. FaxZERO: Online communication is popular, but sometimes you just have to send a fax. But who wants to invest in a fax machine and phone line for something that happens only on a rare occasion? Instead, use FaxZERO to send a fax anywhere in the US or Canada for free.
  4. eBuddy: Don’t miss out on important messages while you’re away from your base of operations. Log on to eBuddy to sign on to online messengers using your mobile device.
  5. K7: FaxZERO lets you send out a fax for free online, but what if a client wants to fax something to you? Enlist the help of K7, a service that assigns users a phone number that accepts fax and voicemail messages, which are then sent to your email.
  6. GoToMeeting: Use GoToMeeting to keep in touch with clients and coworkers via online meetings.
  7. LogMeIn: Don’t let your business suffer because you can’t take your computer on the road. Use LogMeIn to get access to your computer’s desktop anywhere.

Marketing & Networking

You provide a great service and offer awesome rates, so why isn’t the world knocking down your door with business? Perhaps it’s because they have no idea you exist. Get your name out there and find new clients with these tools.

  1. LinkedIn: LinkedIn offers online networking at its best. Find opportunities and contacts based on your work and the people you already know.
  2. askCHARITY: Take advantage of askCHARITY’s database of key media contacts to get the word out about your business.
  3. Craigslist: Craigslist is an invaluable tool for any freelancer. Find clients, sell your work, buy supplies, network and more using Craigslist.
  4. Coroflot: Use Coroflot to post an online portfolio and find design jobs.
  5. ProfessionalOnTheWeb: ProfessionalOnTheWeb hosts a directory of portfolios. Make sure yours is there when clients search for help.
  6. Elance: Use Elance to get connected with clients that need your services on a project.
  7. 37signals Gig Board: Use the 37signals Gig Board to find freelance jobs in programming, design and more.
  8. WebProJobs: Find full-time and freelance web professional jobs on WebProJobs.
  9. Job Pile: Job Pile aggregates popular freelance job boards, so you can spend time working instead of searching.
  10. YouTube: Use YouTube’s viral video to get the word out about your creativity.
  11. CafePress: CafePress offers on-demand printing for promotional items as well as a place to sell your design.
  12. Spot Runner: Use Spot Runner to build a TV advertising campaign.

Business & Legal

Paperwork isn’t always fun, but it is necessary. Forms and agreements can provide legal protection and help you avoid disputes down the road. Check out these tools that help you protect yourself and spend less time on the boring stuff.

  1. MyNewCompany: Get legal and tax protection for your freelance business by making things official. Use MyNewCompany to incorporate or form an LLC online.
  2. Help Me Work: Get the stability of corporate life while still working as an independent consultant. Help Me Work takes care of taxes, client billing, paychecks, benefits, retirement plans and more.
  3. Designers Toolbox: Get set up with all the legal forms your design business may need with Designers Toolbox.
  4. Creative Commons: Use Creative Commons to specify how much or how little legal restrictions you want your work to carry.
  5. AIGA: Protect your business with AIGA’s standard form of agreement for design services.
  6. Nolo: If you’ve got a legal question about your business, head to Nolo. Experts there offer legal advice for independent contractors and consultants.
  7. Creative Public: Head to Creative Public for forms, contracts, pricing guides and more for your design business.

Client Contact & Feedback

Your clients are what keep you in business, so it’s important to check in with them and make sure they’re satisfied. Use these programs to keep in touch with your clients and find out what they have to say about your work.

  1. Breeze: Send out email campaigns to your clients with Breeze’s easy tool.
  2. Wufoo: Use Woofoo to make forms, surveys and invitations for your customers with ease.
  3. Relenta CRM: Keep track of customer relationships using email, contact, document and activity management with Relenta.
  4. Highrise: Don’t lose track of your customers: keep in touch with Highrise’s online contact management system.
  5. ScratchnScribble: Use ScratchnScribble’s service to have handwritten or printed greeting cards sent to your clients.

Website Tools

Clients are looking for your business online. Will you be there? Check out these applications to make sure your business has an excellent online presence.

  1. Big Cartel: Set up an online store to sell your products using Big Cartel’s service.
  2. WordPress: Blog about your business and industry with WordPress.
  3. Inblogit: If you’re a design professional, your blog should be attractive. Use Inblogit for blog functionality with more flexbility in design.
  4. Icebrrg: Create web forms with Icebrrg so that your website can generate customer inquiry and feedback.
  5. XHTMLized: If you’re too busy to build a website yourself, use XHTMLized. They take your design and turn it into a web page that is browser and search engine friendly.
  6. XHTMLiT: XHTMLit offers freelancers another time-saving solution for converting design into HTML.
  7. Userplane: Make your website interactive for your clients by bundling chat, messaging, video, search and live presence with Userplane.
  8. Ning: Let your clients network with each other by creating your own Ning social network.
  9. ExpressionEngine: Impress your customers by having a website with lots of features. Use ExpressionEngine to publish just about anything on your website.
  10. FlashDen: Build a great-looking website that your clients will want to visit. Buy Flash, audio, video and fonts to make your website look good at FlashDen.

Printing & Packaging

When your products look good, your business does too. Presentation makes a difference, so be sure to make a good impression by using these innovative printing and packaging tools.

  1. Jewelboxing: Impress your customers with Jewelboxing’s customized, professional-grade DVD and CD packages.
  2. Qoop: Qoop prints everything freelancers might need: business cards, apparel, promotional items, posters and more.
  3. Moo: Moo prints note cards and mini cards from your photos and design. These can be used for promotional materials or business cards.

Tools to Give & Take

These tools pack a double-whammy of functionality. Use them to get the resources you need or as an alternative revenue stream.

  1. Google AdWords: Use Google AdWords to advertise your business or make money by putting AdWords on your website.
  2. Prosper: Using Prosper’s people-to-people lending website, you can borrow money for business expenses from real people. If you have extra cash, use Prosper to earn interest by lending to others.
  3. Text Link Ads: Generate interest in your website and attract clients with Text Link Ads or earn money by selling space for others on your site.
  4. PayPerPost: Use PayPerPost to have a blogger write about your product or service. Alternately, you can earn money by writing about someone else’s business.
  5. Guruza: Find answers to your business questions or earn money by giving expert advice on Guruza.

Miscellaneous

From office suites to creative stimulation, these tools have a lot to offer for freelancers. Check out these applications that cover anything and everything else you might need for your business.

  1. Zoho: Zoho’s Office Suite includes a variety of software solutions for freelancers: a word processor, spreadsheet, presentation tool, wiki writer, notebook, project management, CRM solution, database creator, calendar, web conferencing, email and chat.
  2. Veetro: Veetro offers another all-in-one solution that specializes in the tools freelancers need the most. This program combines money, document, task and customer management with email marketing, reporting and blog publishing.
  3. Work: Are you clueless about what it takes to run a business in your industry? Work offers guides that show you how.
  4. Pandora: Get your creative juices flowing with Pandora’s fully customizable internet radio.

Visit our StumbleUpon Blog for more technology and productivity tips

You could read the original article by clicking here

Wednesday, August 22, 2007

Work Place Stress

Stress is one of those things that no one likes to admit to feeling, and definitely it's rare for anyone to admin to having trouble dealing with stress. Part of this is pride and stubbornness of course, but I think just as often it's because the person doesn't believe they are under stress. Not denial, but lack of recognition. Stress can come from many things, big and small. Traffic jams, long hours at work, sick kids, newspaper not being delivered, death of a loved one.

I think part of that lack of recognition is that many stress causing items get lumped into one of these categories; annoying, irritating, worrisome, nagging. Whether or not something goes from irritating to stressful depends on your state of mind (stress level if you will) and your natural defenses against that particular kind of stress. For example, all of the items below are types of things that will happen to most employees at some point in their career. Probably there are some that would stress you right now, rumors of layoffs for example. Maybe others used to be stressful - deadlines perhaps - but you've gotten used to them and now they no longer have a negative impact on you. Perhaps still others are never stressful. Sometimes it's the combination - you're working long hours to meet a tough but fair deadline, you're going to a lot of meetings that seem to have no purpose, a co-worker is complaining in your ear constantly, and you just got dinged in a code review for not coding defensively enough. Can you see how all those little things might add up to real stress?

Office stress points:

  • Deadlines (not just unreasonable ones)
  • Rumors of layoffs or offshoring
  • Meetings that seem to have no purpose
  • Co-worker constantly complaining (or on the phone with spouse, or ...)
  • Annual review
  • Co-worker not pulling their weight
  • New employee that seems to have skills/experience far exceeding your own, or that seems to have very poor skills
  • New manager
  • Code reviews
  • Dressing up for/entertaining clients
  • Working long hours/weekends
  • Lack of cooperation from other departments
  • Poor leadership at any level
  • Company in financial trouble

 

It's important to say that you cannot avoid all stress, and that some stress is probably even helpful at times (deadlines for example have a way of focusing you and getting you to exclude all the 'extras' from your schedule until the goal is met). What you can do is challenge yourself to think about your reaction to stress and to be mindful that things are causing you stress. Before we explore that more, let's talk about what I consider the primary types of reactions to stressful situations:

  • Individual does not feel stress from the situation, due to experience and/or outlook on life. Note that this is NOT ignoring it, it truly is not perceived as stressful
  • Individual denies the stress and it's impact on their mental state.
  • Individual acknowledges the stress and tries to manage it

How can you get to the point where something is not stressful? Let's take rumors of layoffs for example. Suppose you've only been at the company for a year, your wife is pregnant, and you basically live paycheck to paycheck, putting you in the high risk of being let go category and being at risk financially if you're out of work very long. What steps could you take to reduce your stress level? Potentially you could:

  • Realize that not all rumors work out to be true, sit down with your manager to try to find out more about the situation
  • Understand that companies usually lay off the bottom tier of employees first, the marginal performers. Make sure you're not in that category. Note that maintaining a good attitude can also keep you out of the first group to go.
  • Update your resume, check with friends about possible opportunities with other companies, even reach out to your favorite recruiter. You want to be prepared to job hunt if you have to, and you want to know the state of the job market.
  • Cut back on your spending to try to build a little more financial cushion (note that this also helps in case they do salary cuts instead of layoffs)
  • Arrange a line of credit on your house in case you need money if you wind up out of work
  • If you are laid off, be ready to try to negotiate a severance package that will help you - in this case maybe getting them to cover your insurance for a longer period of time
  • I'm not advocating jumping ship, but that is one way to remove the stress altogether. The problem is that many times the rumors are just rumors, and you start all over again at another company when you didn't have to. You also risk having your current employer finding out that you're looking in response to rumors, which may well guarantee you're on the gotta go list

If you were to do all those things, maybe your stress level drops from an 8 to a 5. Odds are you aren't going to feel stress free, but you should feel better and you've taken logical steps in case the rumor is true. How can anyone hear about layoffs and not feel stressed? Imagine that you've been with the company ten years, you've got a strong financial reserve, you're a star employee that is highly trusted and respected, you've got superb technical skills, and you've survived layoffs at this company twice before. The worst is that you have to look for a new job and that doesn't cause any fear because you have money (which equals time to find a good job) and you have marketable skills.

There are two patterns I try to use. The first is 'immediate stress'. When I feel something causing me stress, I try to take the following steps - writing down the answers:

  • In a couple sentences, what is bothering me?
  • Is my reaction to this emotional or logical?
  • Is my reaction proportional or I do feel like I'm overreacting?
  • What is my current overall stress level (none, low, medium, high, where none is the perfect vacation)?
  • Is my reaction made worse due to other factors (other stress, being tired, etc)?
  • Are there logical steps I can take to remove the stress?
  • Are there logical steps I can take to mitigate the stress?
  • Will taking a day off or a vacation help the situation?

Now imagine showing this list to someone you really trust, would they call you on any of your answers? If a co-worker had written the answers, what other advice would you offer? I'm not advocating showing anyone the list, but it's a useful exercise to help you look at your situation objectively. From there, take the logical steps you've thought of and do something after work that you enjoy, something that will take your mind off of it.

The second pattern is 'cumulative stress'. This builds up when you have multiple things going on at the same time that cause you stress, usually in addition to being tired (or sick). I'll bet you've all seen someone at the office that shows some or all of these symptoms:

  • Complaining a lot, not a lot of fun to be around
  • More time than usual spent not working (web browsing, hall chats, coming in late or leaving early) or working ineffectively (output drops)
  • Making dumb mistakes
  • Slower than usual to respond to email about work
  • Messier than usual work environment
  • Combative with co-workers and/or significant other

Cumulative stress requires a break at a minimum, at least a week and two is better. Sometimes a break is all you need, sometimes you also need to change your response to the things that cause you stress or you'll be back in the same place all too soon. If you see yourself exhibiting these symptoms, find a way to take a break and at the end of the break, evaluate whether you need to spend time on the immediate stress items before you go back.

There are a couple other things you can do to help you monitor your stress level. One is to maintain a short log where you score each work day on a scale of 1 to 5, and include in the log why that day was stressful. I suspect over time you'll see and confirm some interesting patterns. The other is to calculate an ad hoc stress index for yourself (knowing that we geeks love numbers) by keeping a running 15 or 30 day average of your stress level based on your log. If you see the average staying in the 4-5 range you'll know it's time to make changes, whether it be reassessing how you react to some stressful items, taking a break, or both.

Stress is real. Managing stress is not a zen exercise, it's a life skill that most of us aren't as good at as we need to be. I hope that reading this will encourage you to think about your response to stress, and maybe to seek out a good book or lecture from someone more qualified than me to help you improve your stress management skills.

This article was originally found in
http://www.sqlservercentral.com/columnists/awarren/2557.asp