Great htaccess tip for web masters!

These are one of the best tips and tricks involving .htaccess capabilities listed in 16 Useful .htaccess Tricks and Hacks For Web Developers! Check it out.


1. Creating a custom error page with .htaccess on a linux apache is a very simple task. Using you a text editor like notepad you create an .htaccess files. Custom error pages give your website an professional look and catch those visitors who reach your website following a back link.

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

2. How to set the timezone on your server

SetEnv TZ America/Houston

3. Block IPs Using htaccess
Sometime you need to block certain IPs from accessing your entire site or directory. Its pretty simple task. All you have to do is inside the .htaccess file is put the following code.

allow from all
deny from
deny from 124.15

If you use the whole IP or a part of the IP to block and add the new ones in a new line.
When someone trying to access your site from the banned ip they will get a 403 error access forbidden message.

4. SEO Friendly 301 permanent redirects for bad/old links and moved links

Redirect 301 /d/file.html http://www.htaccesselite.com/r/file.html

5. Set the Email Address for the Server Administrator - Using this code you can specifying the default email address for the server administrator.

ServerSignature EMail
SetEnv SERVER_ADMIN default@domain.com

6. Hotlinking protection with .htaccess is very important because anyone can hot link to your images and eat up all your bandwith of your server. The following code will help you to prevent that.

Options +FollowSymlinks
# Protect Hotlinking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainname\.com/ [nc]
RewriteRule .*\.(gif|jpg|png)$ http://domainname.com/img/hotlink_f_o.png [nc]

7. Block all requests from user agent - by creating a perfect .htaccess ban list, you can block all of unwanted user agents that will keep your server load down. Also Check out this interesting thread on webmaster world about the 228 user agents ban list.

## .htaccess Code :: BEGIN
## Block Bad Bots by user-Agent
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]

Order Allow,Deny
Allow from all
Deny from env=bad_bot

## .htaccess Code :: END

8. Redirect everyone to different site except few IP
-If you want to redirect all the visitors to a different IP. Also give access to certain few IPs. You can use the code below

ErrorDocument 403 http://www.youdomain.com
Order deny,allow
Deny from all
Allow from
Allow from

9. Don’t want to display download request - Usually when you try to download something from a web server you get a request asking whether you want to save the file or open it.
To avoid that you can use the below code on your .htaccess file.

AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov

10. Change the file type - Make any file be a certain kind of file type Makes image.jpg, index.html, default.cgi all act as php

ForceType application/x-httpd-php
SetHandler application/x-httpd-php

11. Block access to your .htaccess file - By adding he following code to your htaccess file will prevent attempts to access your htaccess file. This extra layer of security protects your htaccess file by displaying a 403 error message on the browser.

# secure htaccess file

 order allow,deny
 deny from all

12. Protect access to certain specific file on your server - this can be done by adding the below mentioned code. For example you want to block with the file name default.jpg This will prevent the viewing of this file.

# prevent access of a certain file

 order allow,deny
 deny from all

13. Prevent access to unauthorized browsing - Protecting specific directory browsing can be done by intructing the server to serve a Forbidden and Authorization required message while anyone requests to view that particular directory. Usually if you site doesn’t have a default index page any files within that directory is accessible to the visitors. To avoid that use the following code in the .htaccess file.

# disable directory browsing
Options All -Indexes

14. Setting the default page
- You can set the default page of a directory to any page you like. For example in this code the default page is set as about.html instead of index.html

# serve alternate default index page
DirectoryIndex about.html

15. Password protect your directories and files
- You can create authentication for certain files and directories from being access. The code has examples of both password protection for a single file and password protection for a entire directory.

# to protect a file

AuthType Basic
AuthName “Prompt”
AuthUserFile /home/path/.htpasswd
Require valid-user

# password-protect a directory
AuthType basic
AuthName “This directory is protected”
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user

16. Redirect an old domain to a new domain
- Using htaccess file you can redirect a old domain name to a new domain by adding the following code into the htaccess file. Basically what it does is it will remap the old domain to the new one.

# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]


Side job that can be done to make extra cash money

In this economic downturn it is hard to make extra cash to get by. Here's the list from lifehack.org that might save you from current environment.


  1. Selling collectibles — From antique books to teddy bears, there are plenty of opportunities to buy and sell collectibles. It’s important to familiarize yourself with the collectible of your choice but if you choose something that you’ve been collecting for a while, you’ve got a head start.
  2. Locating apartments — It can take time to sort through apartment listings, but you can make some money by finding the perfect apartment for a renter.
  3. Baby proofing — New parents often prefer to bring in an expert to make sure their home is safe for a new baby.
  4. Calligraphic writing — If you’ve got elegant handwriting, you can pick up gigs writing or addressing wedding invitations, holiday cards and more.
  5. Selling coupons — Search on eBay for coupons right now and you’ll see thousands of listings for coupons. It’s just a matter of clipping and listing what you find in your Sunday newspaper.
  6. Pet training — A surprising number of people don’t know where to start in training a pet. Even teaching Rover simple commands like ‘Sit’ and ‘Stay’ can bring in a few dollars.
  7. Running errands — A wide variety of people want to outsource their errands, from those folks who aren’t able to leave their homes easily to those who have a busy schedule.
  8. Researching family trees — Amateur genealogists often call in experts, especially to handle research that has to be done in person in a far off place. If you’re willing to go to a local church and copy a few records, you can handle many family tree research requests.
  9. Supplying firewood — The prerequisite for selling firewood is having a source of wood; if you’ve got some land where you can cut down a few trees, you’ve got a head start.
  10. Hauling — As more people trade in their SUVs for compact cars, hauling is becoming more important: people have to rent a truck or hire a hauler for even small loads.
  11. Image consulting — Image consultants provide a wide variety of services, ranging from offering advice on appearance to teaching etiquette.
  12. Menu planning — For many people, the trip up in eating home-cooked or healthy meals is knowing what to prepare. Meal planners set a schedule to solve certain dietary problems.
  13. Microfarming — Cultivating food and flowers on small plots of land allows you to sell produce easily.
  14. Offering notary public services — Notary publics can witness and authenticate documents: a service needed for all sorts of official documents.
  15. Teaching music — If you’re skilled with a musical instrument, you can earn money by offering lessons.
  16. Mystery shopping — Mystery shoppers check the conditions and service at a store and report back to the store’s higher-ups.
  17. Offering research services — Just by reading up on a topic and compiling a report on it can earn you money.
  18. Personal shopping — Personal shoppers typically select gifts, apparel and other products for clients, helping them save time.
  19. Pet breeding — Purebred pets can be quite value, especially if you can verify their pedigree.
  20. Removing snow — During the winter months, shoveling walks can still be a reliable way to earn money. You might be asked to take care of the driveway too.
  21. Utility auditing — As people become environmentally-concious, they want to know just how efficient their homes are. With some simple testing, you can tell them.
  22. Offering web hosting services — Providing server space can be lucrative, particularly if you can provide tech support to your clients.
  23. Cutting lawns — An old standby, cutting lawns and other landscaping services can provide a second income in the summer.
  24. Auctioning items on eBay — Want to get rid of all your old stuff? Stick it up on eBay and auction it off.
  25. Babysitting — Child care of all kinds, from babysitting to nannying, can offer constant opportunities.
  26. Freelance writing — If you’ve got the skills to write clearly, you can sell your pen for everything from blogs to advertising copy.
  27. Selling blog and website themes — Do a little designing on the side? Customers that don’t want to pay full price for a website will often pay for a template or theme.
  28. Offering computer help — Particularly with people new to computers, you can earn money by providing in-home computer help.
  29. Designing websites — It may require a little skilled effort, but designing websites remains a reliable source of income.
  30. Selling stock photography — For shutterbugs, an easy way to put a photography collection to work is to post it to a stock photography site.
  31. Freelance designing — Check with local businesses: you can provide brochures, business cards and other design work and get paid a good fee.
  32. Tutoring — Math and languages reamin the easiest subjects to find tutoring gigs for, but there is demand for other fields as well.
  33. Housesitting / petsitting — Stopping in to check on a house or pet can earn you some money, and maybe even a place to stay.
  34. Building niche websites — If you can put together a site on a very specific topic, you can put targeted ads on it and make money quickly.
  35. Translating — The variety of translating work available is huge: written word, on the spot and more is easy to find even on a part-time basis.
  36. Creating custom crafts — No matter what kind of crafts you make, there’s likely a market for it. Etsy remains one of the easiest places to sell crafts.
  37. Setting up a wi-fi hotspot — With a little bit of equipment, you can set up a wi-fi hotspot and charge your neighbors for the access they’ve been ‘borrowing.’
  38. Selling an e-book — You can write an e-book about almost anything and put it up for sale online.
  39. Affiliate marketing — If you’re willing to market other companies’ products, you can earn a cut of the sales.
  40. Renting out your spare room — From looking for a long-term roommate to listing your guest room on couch surfing sites, that spare room can make you money.
  41. Offering handy man services — Handling small household tasks can provide you with plenty of work, although you’ll probably be expected to have your own tools.
  42. Teaching an online class — Share your expertise through a website, an online seminar or variety of other methods.
  43. Building furniture — For those with the skill to create handmade furniture, selling their creations is often just a matter of advertising.
  44. Providing personal chef services — Personal chefs prepare meals ahead of time for customers, leaving their customers with a full freezer and no mess.
  45. Event planning — From planning corporate events to bar mitzvahs, an event planning business can require plenty of work and offer plenty of pay.
  46. Installing home safety products — Particularly as Baby Boomers age, people able to install handrails and other home safety products are in demand.
  47. Altering / tailoring — If your sewing skills are up to par, altering garments is coming back as people try to stretch more wear out of their clothing.
  48. Offering in-home beauty services — Hair cuts, makeup and other beauty services that can be performed at home have a growing demand.
  49. Business coaching — Helping others to establish and develop their businesses can provide many opportunities to earn money.
  50. Writing resumes — Writing resumes can provide a reliable income, especially if you can put a polish on a client’s credentials.


So many lay offs going on in current economic downturn. It you want to see which companies are getting affected every day, BusinessPunit has a great list of sites which keep them tracked.


1. It Died: Editor Glenn Fleishman describes this new hit as “keeping track of hosted services as they lay dying.” The blog does exactly that, potentially protecting people with precious goods in those services from rude discoveries. The commentary is also good.

2. F*ckedStartups:
Reminiscent of the dot-com era’s fabled F*edCompany.com, this snarky blog covers rumors, insider tips, and companies MIA as well as standard layoffs.

3. The Wired.com Tech Layoff Tracker: Real-time headlines, plus a comprehensive tally make this one of the Web’s best go-to resources.

4. TechCrunch’s Deadpool :
This oldie-but-goodie covers key tech demises as well as product deaths, such as Google’s Lively.

4. The Media is Dying (Twitter feed): A self-explanatory, handy feed.

5. Timely Demise: This blog covers retailers, parts suppliers, and other terminally ill companies that sell tangible stuff.

6. Layoff Blog:
Useful, newsy, mainstream coverage.

7. Screwdd:
Very readable media headline and blog coverage. Lots of quoted material, aggregated into a one-stop shop.

8. Gawker.com’s new Layoff Daily: Another media death tracker. Will there be any media left after the layoffs are done?

9. ClickZ’s Digital Marketing Layoff Tracker: This complete chart covers the digital ad-driven niche. Wait…isn’t that our niche?

10. Layoff News: This blog has been covering major layoff headlines since October of this year.


WinCVS: How to remove sticky tag

I keep on running into this problem. Whenever you submit the file into CVS and force a revision value, it always enforce revision value through sticky tag. The problem with sticky tag is that, when you try to remove the file from CVS, you first need to remove the sticky tag.

How to do this is quite simple. In WinCVS, you first do update by "Update settings" where under tab "Update options" select "Reset and sticky tags/date/kopts". This will remove any existing sticky tags. Then you can "Modify" -> "Remove", then Commiting the file will remove the file from CVS.


Free online Python programming guides

Erica put together a great Python tutorial site information. If you want to learn Phthon, this can point you to where to start:
Getting a grip on Python: six ways to learn online

Article quote below:

Online Python tutorials

Official Python Tutorial It's hard to go wrong when Python.org provides the tutorial for you. The official tutorial offers an excellent language overview with all the details you could hope for. That being said, the tutorial reads like a language manual, which it is. This may be exactly what you're looking for or something you'd prefer to avoid.

People with passive-voice allergies are advised to grab some Claritin before reading. Here's an actual quote from the write-up "Perhaps the most well-known statement type is the if statement. For example: There can be zero or more elif parts, and the else part is optional. The keyword ‘elif‘ is short for ‘else if’, and is useful to avoid excessive indentation. An if ... elif ... elif ... sequence is a substitute for the switch or case statements found in other languages."

Strengths: Complete and correct coverage.
Weaknesses: Not especially user friendly introduction.

Python Rocks! Kent S. Johnson provides a terrific overview of the Python language—and why you should be excited by it—in his "Python Rocks!" rant on his personal website. His brief language tour covers a lot of the language highlights for anyone who wants to understand the big Python picture before settling down to a core Python tutorial. It's a great place to start to get you in the mood for learning the language.

Strengths: Helps you understand why Python rocks.
Weaknesses: Short, not a full language overview.

Dive Into Python Mark Pilgrim's online book offers a highly regarded survey of the language. First published in 2004, Dive Into Python is considered one of the best comprehensive overviews by some of our Ars staffers. Presented in outline format, the book covers language basics including statements, data types, objects, regular expressions and more. If you have the time to spare, this book offers exhaustive detail. The last chapter, which covers performance tuning, looks like a real gem for advanced programmers.

Strengths: Really detailed
Weaknesses: Slightly dated, with noticeable typos.

A Byte of Python Swaroop C H's online book offers many, many little knowledge chunks. Each page offers a tiny bit of Python knowledge, with clean formatting and good examples. It is not, however, a book that you'll want to sit and read through as there's little narrative flow from this Yahoo! employee. Instead, it works well as a reference. Click through to the if statement, for example, to find out how to put this one statement together or to the tuple page to see examples of grouped data elements.

Strengths: Just the facts.
Weaknesses: Just the facts.

Learning With Python (2nd Edition) For the experienced programmer who's looking to get up and going with a language as quickly, Jeffrey Elkner, Allen B. Downey and Chris Meyers' Learning with Python site (aka, "How to Think Like a Computer Scientist") provides a simple data dump. Expressions, functions, conditionals, iteration, strings and more are covered in short, pointed chapters.

Each of the 11 chapters is presented on a single webpage with lots of well-focused sample code. It's a great resource for anyone who knows object oriented programming and scripting already but needs to quickly produce results in the new language.

Strengths: Direct and to the point; my favorite site
Weaknesses: Misses advanced best practices.

Learning to Program Alan Gauld's "Learning to Program" offers a series of tutorials that assume little or no programming background. Using Python examples, it start with a surey of language basics and then moves on to more advanced topics including event-driven programming and file manipulation, touching on some basic CS introductions to functional programming and recursion.

You'll probably find his "Python in Practice" and "Working with Databases" sections to be valuable, regardless of your background as it covers very practical applied Python. Sadly, his "Writing Web Clients" and "Writing Web Applications" topics are referenced but not available online at this time.

Strengths: Suitable for new programmers
Weaknesses: Some topics are missing in action.

Unlock and Jailbreak your iPhone, DIY style

iClarify has the whole instruction written down to specifics in How to Unlock/Jailbreak Your 2.x.x 2G iPhone Using QuickPwn (Windows) article. Very through and easy to follow. Give it a try if you already have iPhone and not yet hacked it. =)

If you are looking for any additional hack or support or updates, macrumors forum provide superb community which provide information for you. Go check it out.

Quoted article below:

How to Unlock/Jailbreak Your 2.x.x 2G iPhone Using QuickPwn (Windows)

These are instructions on how to unlock/jailbreak your 2G iPhone to the 2.2 iPhone firmware using QuickPwn for Windows. Before beginning make sure you have updated to iTunes 8.0.2.

Step One
Create a folder called Pwnage on your desktop.

Download the following files and place them in the Pwnage folder you just created:
- QuickPwn 2.2
- BL 3.9
- BL 4.6
- 2.2.0 (2G): iPhone1,1_2.2_5G77_Restore.ipsw

Extract the QuickPwn22.zip file to the Pwnage folder.

Step Two
Connect your iPhone to the computer and launch iTunes.

Select your iPhone from the list of devices on the left. Now hold down shift and click the Restore button. Restore is preferred as it won't create any wasted space on your iPhone.

Navigate to the Pwnage folder on your desktop and select the 2.2 firmware ipsw. Click the Open button to continue.

Step Three
Once iTunes has finished updating your iPhone to the 2.2 firmware you may launch QuickPwn.exe from the Pwnage folder on your desktop.

Step Four
Make sure you iPhone is connected to the computer and click the blue arrow to continue.

Step Five
Click the Browse button to locate your iPhone firmware.

Step Six
Select the 2.2 firmware ipsw from the Pwnage folder on your desktop then click the Open button.

Step Seven
QuickPwn will check to make sure the ipsw is valid. Click the blue arrow button to continue.

Step Eight
You can now select whether to Add Cydia, Add Installer, Replace Boot Logos, and Unlock Phone. Select the ones you would like to perform then click the clue arrow button

Step Nine
You will now be asked to select your bootloader files. Click the Browse button and select the 3.9 bootloader from the Pwnage folder on your desktop. Likewise do the same thing for the 4.6 bootloader file. Then click the blue arrow button to continue.

Step Ten
QuickPwn will now ask you to confirm your iPhone is connected via USB before continuing. Click the blue arrow button to proceed.

Step Eleven
QuickPwn will now automatically put your iPhone into recovery mode. Once its in recovery mode you will be prompted to: Hold the Home button for 5 seconds, Hold the Home and Power buttons for 10 seconds, then release the Power button and continuing holding the Home button until your iPhone is in DFU mode.

Watch the prompts carefully and follow along.

Step Twelve
Once QuickPwn detects your iPhone in DFU mode it will begin the jailbreak process.

Step Thirteen
Once jailbreaking is complete QuickPwn will inform you that it was successfull. Your iPhone will then proceed to run BootNeuter. This process will take about 5 minutes. Please be patient. Your iPhone will reboot when it has completed the process successfully!

5 Timeless Management Law

The askmen site put down the baseline of management law which lays the most basics of what management really needs and what it follows being in a management in article Timeless Management Laws.

Quote from the site below:

timeless management laws

1- The manager assumes all responsibility

The biggest difference between being a manager and being an employee is that, as a manager, your performance isn’t determined by your personal accomplishments, but by those of your entire team. It would behoove you and your career to consider this among the most important timeless management laws. It’s important for you to take charge of your staff and establish a clear chain of command. Employees don’t typically look at the big picture, so it’s your job to think of the bottom line and make sure that your department’s objectives are met quickly and efficiently. By the same token, you should take responsibility if your team fails to meet its goals. Don’t try to shift the blame onto your subordinates, and remember that you’re also accountable for employee morale.

2- The manager is confident

Timeless management laws state that it’s important for you to project decisiveness and self-assurance in every situation if you want your employees to trust your leadership abilities. As the boss, you’re expected to make all the hard choices and your staff needs to feel like you know exactly what you’re doing. This is not to say that there’s no place for doubt in management. If and when you have insecurities, don’t defer to your subordinates or overcompensate by micromanaging every little task; keep in mind that you also have to show confidence in your team. Before making a difficult call, include your employees and consider their opinions, but make it clear that the final decision is yours and yours alone to make.

3- The manager knows the staff

The same way a sales person needs to be familiar with the product line in order to do the job right, it’s crucial for you to be aware of your employees’ respective strengths and weaknesses. Timeless management laws dictate that you, as your employees’ boss, take responsibility to ensure that everyone is doing what he or she does best. You should also find out about your subordinates’ career goals and expectations. You need to know if your most skilled worker is feeling restless and looking for new challenges or if the new hire is confused about the chain of command. Make sure to discuss these matters with your staff. Regardless of what you learn, your taking the time to ask is enough to motivate your employees and inspire their loyalty.

4- The manager provides regular feedback

Whether things are going well or taking a turn for the worse, keep your employees apprised of their progress within the company. Don’t be shy about giving praise in public and avoid the “no feedback is good feedback” approach; your subordinates need to know that their hard work isn’t going unnoticed. By the same token, when a worker is doing badly, don’t wait until the issue has gotten out of hand before addressing it. Discuss the problem with your employee as soon as possible and sandwich your criticism between two compliments to cushion the blow. Tact and discretion are paramount when coaching your staff. Chewing out your own team in public would only harm your reputation as manager, which is among the timeless management laws that you don’t want to experience.

5- The manager leads by example

Employees often emulate their superior’s behavior because they perceive it as a model of success within the company. As such, the way you approach your job usually sets the tone for the entire workplace. That’s why you should always practice what you preach. You can’t expect your workers to come in on time, stay organized and prioritize their tasks if you don’t do the same. As the manager, you should also be mindful of the attitude you project. Make sure you maintain a positive outlook at all times; when things go wrong, it’s especially important that you keep your cool and remain solution-minded because your staff will rely on you to figure out the next course of action.

laying down the law

No matter the size of your company or what industry you work in, you should follow these five timeless management laws if you’re in a position of authority. Never forget that, as a manager, your job is to deal with people -- not productivity charts. Employees sometimes have off days and personal issues that hinder their ability to focus on the job at hand. It’s important that you be patient and understanding with your staff. Keep in mind that cheering up a disgruntled worker is far less expensive than training a new one. Besides, unlike a chart, your personnel can reward your flexibility with initiative and creative ideas. Like most things in life, leadership is all about give and take.


Unlocking Blackberry 8000 and 9000 series for free! DIY!

Wow, great free program that you can install to unlock your blackberry! I found this article from
sw-box forum and I just couldn't pass it without sharing it! Enjoy!

Quote below:

Guide to unlock Blackberry 8xxx / 9xxx FREE !!!

1. Download and install Microsoft NET Framework 2.0

2. Download and instll Blackberry desktop manager v4.7.0.32

3. Download and install Blackberry Operating System

4. Delete the vendor.xml file located in c:\program files\common files\research in motion\apploader

5. Download and install MFI Multiloader from here:

6. Open MFI Multiloader shorcut on your pc and wait untaill show pass

7. Then your phone should be like this on bb screen

8. Open Blackberry Desktop Manager shorcut on your pc and read how to update/ReInstall BlackBerry Operating System ? explained down.

How To update/ReInstall BlackBerry Operating System ?
Connect your device to your computer.
Open the BlackBerry® Desktop Manager.
Click Application Loader.
Click Start in Add/Remove Applications or Update Applications.
If necessary, perform the following actions:
If the Device Security Password dialog box appears, type your device password. Click Next.
If the Communication Port Selection dialog box appears, specify a communications port. Click Next.
Click Next.
Perform any of the following actions:
To add an application that appears in the list, select the check box beside the application.
To add an application that does not appear in the list, click Browse. Double-click an application loader (.alx or .ali) file.
Click Next.
Click Finish.
9. Congratulations your blackberry unlock done by free . You can now repalce your SIM and Memory card and set up your phone the way you like it.

Credits goes to ::.::RAMJAN::.::@TRUST GSM™ for centralizing this entire post and other people who discovered this solution __________________


Great open source ecommerce apps

SmashingApp put together great open apps to help you expand on your business! Take a look at the great list below quoted:



Free and open source human resource management software with rich features and easy to use interface. It provides a perfect platform for re-engineering and aligning your HR processes along with the organizational goals.



Magento is the eCommerce software platform for growth that promises to revolutionize the industry. It’s modular architecture and unprecedented flexibility means your business is no longer constrained by your eCommerce platform.



Kaltura is the first open source video platform for online video management, creation, interaction and collaboration. Kaltura enables sites to integrate advanced interactive rich-media functionalities.



Concrete5 is a content management system. Concrete5 is easy for site owners to use, flexible for developers to work with, and runs a wide variety of powerful websites.



Tellmatic is the newsletter machine that is a PHP based script to send newsletters. Use a generic browser like Seamonkey or Firefox to comfortably manage your addresses, forms and newsletters online.



MindTouch Deki is the most robust and popular enterprise collaboration platform. With MindTouch Deki your enterprise can improve productivity with wiki collaboration, build gorgeous and engaging community portals, create and collaborate around dashboards, dynamic reports and mashups with social enterprise collaboration.



PostBooks is a full-featured, fully-integrated accounting, ERP, and CRM system, based on the award winning xTuple ERP Suite. It provides the ultimate in power and flexibility for a range of businesses and industries.



GroupOffice helps you to take your office online, share projects, calendars, files and e-mail online with co-workers and clients. Easy to use and fully customizable, Group-Office takes online colaboration to the next level.



Inforama is an Open Source document automation system. Use it to create document templates which are merged with data at runtime to create professional, high-quality PDF documents.

Support Incident Tracker

Support Incident Tracker

Support Incident Tracker (or SiT!) is a Free Software/Open Source (GPL) web based application which uses PHP and MySQL for tracking technical support calls/emails. Manage contacts, sites, technical support contracts and support incidents in one place.



VMukti is leading Asterisk/ Yate enabled web video conferencing application for Web / PSTN. It is world’s first open source mashable PBX and meeting platform for home and office having features like multipoint audio/ video, desktop sharing, whiteboard.

Email to SMS gateways

Free way to send SMS through ease of your finger tip from your computer through email system is presented from makeuseof.com and quoted below. Great way to send text messages to anyone around the world!

Free Email To SMS Gateways (Major US Carriers)

Carrier Email to SMS Gateway
Alltel [10-digit phone number]@message.alltel.com
Example: 1234567890@message.alltel.com
AT&T (formerly Cingular) [10-digit phone number]@txt.att.net
[10-digit phone number]@mms.att.net (MMS)
[10-digit phone number]@cingularme.com
Example: 1234567890@txt.att.net
Boost Mobile [10-digit phone number]@myboostmobile.com
Example: 1234567890@myboostmobile.com
Nextel (now Sprint Nextel) [10-digit telephone number]@messaging.nextel.com
Example: 1234567890@messaging.nextel.com
Sprint PCS (now Sprint Nextel) [10-digit phone number]@messaging.sprintpcs.com
[10-digit phone number]@pm.sprint.com (MMS)
Example: 1234567890@messaging.sprintpcs.com
T-Mobile [10-digit phone number]@tmomail.net
Example: 1234567890@tmomail.net
US Cellular [10-digit phone number]email.uscc.net (SMS)
[10-digit phone number]@mms.uscc.net (MMS)
Example: 1234567890@email.uscc.net
Verizon [10-digit phone number]@vtext.com
[10-digit phone number]@vzwpix.com (MMS)
Example: 1234567890@vtext.com
Virgin Mobile USA [10-digit phone number]@vmobl.com
Example: 1234567890@vmobl.com

Free Email To SMS Gateways (International + Smaller US)

These are all I could find from Wikipedia and other sources. If you’re aware of any other ones please share them in comments and I’ll add them to the list.

Carrier Email to SMS Gateway
7-11 Speakout (USA GSM) number@cingularme.com
Airtel (Karnataka, India) number@airtelkk.com
Airtel Wireless (Montana, USA) number@sms.airtelmontana.com
Alaska Communications Systems number@msg.acsalaska.com
Aql number@text.aql.com
AT&T Enterprise Paging number@page.att.net
BigRedGiant Mobile Solutions number@tachyonsms.co.uk
Bell Mobility & Solo Mobile (Canada) number@txt.bell.ca
BPL Mobile (Mumbai, India) number@bplmobile.com
Cellular One (Dobson) number@mobile.celloneusa.com
Cingular (Postpaid) number@cingularme.com
Centennial Wireless number@cwemail.com
Cingular (GoPhone prepaid) number@cingularme.com (SMS)
Claro (Brasil) number@clarotorpedo.com.br
Claro (Nicaragua) number@ideasclaro-ca.com
Comcel number@comcel.com.co
Cricket number@sms.mycricket.com (SMS)
CTI number@sms.ctimovil.com.ar
Emtel (Mauritius) number@emtelworld.net
Fido (Canada) number@fido.ca
General Communications Inc. number@msg.gci.net
Globalstar (satellite) number@msg.globalstarusa.com
Helio number@myhelio.com
Illinois Valley Cellular number@ivctext.com
Iridium (satellite) number@msg.iridium.com
i wireless number.iws@iwspcs.net
Koodo Mobile (Canada) number@msg.koodomobile.com
Meteor (Ireland) number@sms.mymeteor.ie
Mero Mobile (Nepal) 977number@sms.spicenepal.com
MetroPCS number@mymetropcs.com
Movicom number@movimensaje.com.ar
Mobitel (Sri Lanka) number@sms.mobitel.lk
Movistar (Colombia) number@movistar.com.co
MTN (South Africa) number@sms.co.za
MTS (Canada) number@text.mtsmobility.com
Nextel (United States) number@messaging.nextel.com
Nextel (Argentina) TwoWay.11number@nextel.net.ar
Orange Polska (Poland) 9digit@orange.pl
Personal (Argentina) number@alertas.personal.com.ar
Plus GSM (Poland) +48number@text.plusgsm.pl
President’s Choice (Canada) number@txt.bell.ca
Qwest number@qwestmp.com
Rogers (Canada) number@pcs.rogers.com
SL Interactive (Australia) number@slinteractive.com.au
Sasktel (Canada) number@sms.sasktel.com
Setar Mobile email (Aruba) 297+number@mas.aw
Suncom number@tms.suncom.com
T-Mobile (Austria) number@sms.t-mobile.at
T-Mobile (UK) number@t-mobile.uk.net
Telus Mobility (Canada) number@msg.telus.com
Thumb Cellular number@sms.thumbcellular.com
Tigo (Formerly Ola) number@sms.tigo.com.co
Tracfone (prepaid) number@mmst5.tracfone.com
Unicel number@utext.com
Virgin Mobile (Canada) number@vmobile.ca
Vodacom (South Africa) number@voda.co.za
YCC number@sms.ycc.ru
MobiPCS (Hawaii only) number@mobipcs.net


Web based data visualization tools!

Great references:
40 Essential Tools and Resources to Visualize Data



PHP was the first scripting language I learned that was well-suited for the Web, so I'm pretty comfortable with it. I oftentimes use PHP to get CSV files into some XML format. The function fgetcsv() does just fine. It's also a good hook into a MySQL database or calling API methods.



Most computer science types - at least the ones I've worked with - scoff at PHP and opt for Python mostly because Python code is often better structured (as a requirement) and has cooler server-side functions. My favorite Python toy is Beautiful Soup, which is an HTML/XML parser. What does that mean? Beautiful Soup is excellent for screen scraping.



When I have a lot of data - like on the magnitude of the tends to hundreds of thousands - I use PHP or Python to stick it in a MySQL database. MySQL lets me subset on the data on pretty much any way I please.



Ah, good old R. It's what statisticians use, and pretty much nobody else. Everyone else has it installed on their computer, but haven't gotten around to learning it. I use R for analysis. Sometimes though, I use it to extract useful subsets from a dataset if the conditions are more complex than those I'd use with MySQL and then export them as CSV files.


Microsoft Excel

We all know this one. I use Excel from time to time when my dataset is small or if I'm in a point-and-click mood.

Charts and Graphs

Alright, the data are processed, formatted, and ready to go. Now it's time to visualize. The software I use for static charts and graphs depends on the task at hand, so I try not to limit myself to anyone piece of software. For example, R is good for quick results, but no good for a Web application.

Adobe Illustrator

I use Adobe Illustrator for publication-level graphics. I learned how to use it when I was at The Times out of necessity and have been enjoying it since. You can manipulate every element of a graph with a simple click and a drag - which can be a blessing and a curse.



If you have a particular type of (non-animated, non-interactive) statistical visualization in mind, R has probably got it. R is free with countless libraries available. If you can't find a library to suit your needs, you can always script it yourself. One cool thing about R is that you can save your graphics as PDF and then polish it in Adobe Illustrator.


PHP Graphics Library

I've only had limited experience the the PHP GD library. There are several PHP graphing packages available, but I haven't found one that I liked a whole lot, so I'm usually more satisfied drawing my own graphs with the GD library. The Sparklines PHP graphing library isn't half bad either.


HTML + CSS + Javascript

You can surprisingly do quite a bit with some simple HTML and CSS. You can make graphs and of course tables as well as control colors and sizes. For example, a lot of the tag clouds you see on the Web are just HTML and CSS. Throw Javascript in to the mix and you've got yourself a party i.e. interaction capabilities.



Flash and Actionscript is better known for animating and moving data, but it can be used for static stuff too. It's pretty good if you want to add interaction to your visualization like highlighting or filtering. I've done some stuff from scratch and also played around with Flare, the Actionscript visualization toolkit.


Microsoft Excel

It's pretty rare that I use Excel for graphics. If I need something really quick though and the data are already in an Excel spreadsheet, I'll click that graph button.


Animating the Data

Twitter World

There are several options to create animated and interactive data visualization, but these are the only ones I use (and for the most part, dominate what you see on the Web).


Yeah, it's called Processing. I've seen mostly designers use it, but there's no reason it can't be used elsewhere. Processing uses a canvas metaphor where you draw and make sketches and then get a Java applet out of it. Processing was created to make programmatic goodness available to non-programmers.



Flash and Actionscript has been my point of interest lately – mostly because the Java applet is dead as far the Web is concerned. The interactive/animated visualization you see from places like The New York Times, Stamen Design, and web applications are usually implemented with Flash and Actionscript. Not sure if it's Flash? The tell tale sign is a simple right click on whatever you're looking at. Take a look at my previous post on How to Learn Actionscript for Data Visualization for more details.


Perl Tip: Converting DOS to UNIX file format

It is as easy as changing all \r\n characters with \n to convert them to UNIX format. So, command line wise, this is all you have to do:
perl -pi -e 's/\r\n/\n/;' *.txt


VIM: Visual block select with edit!

Within Vim, do following sequence to edit to be applied in highlighted virtual block:

Ctrl+v -> select block with cursor -> Shift+ -> enter edit val -> ESC -> done

For example, I would like to insert '//' comment line in front of all highlighted syntax:

Ctrl+v -> select block with cursor -> Shift+i -> type in '//' -> ESC -> done

Tada! Magic!


Great reference sites to beef up your interview skills

Great listing put together by Mashables in 9 Sites for Successful Job Interviews
Quotes below:

InterviewUp - Is a mixture of a job board along with a community of people who share their interview experiences from different fields so that you can get a feel for what types of questions you may get when you go in, and what sort of answers work best.

About.com - With About.com’s ever growing catalog of articles on just about every subject, it’s not surprising they have a section dedicated to job interviews. They have suggested answers for numerous questions, tips on sending thank you letters, tips for your resume and more.

AceTheInterview - AceTheInterview is totally dedicated to about every aspect of the job hunt you can think of. Their interview section has important notes on things such as do’s & don’ts, the touchy area of salary negotiations, an interview checklist and more.

CareerBuilder - The popular mainstream job hunting site offers numerous tips on all aspects of the application and interview process, tips on marketing yourself, how to promote your hidden job skills and more.

CareerLab - Offers advice on what to do if you don’t get a job offer after multiple interviews, a cheat sheet to keep notes on your interview as well as what you wore so you don’t repeat an outfit, sample cover letters and more.

HotJobs - Yahoo’s job search site offers numerous tips on how to prepare, how to present yourself, follow up on the interview, even how to handle an interview over a meal, and more.

InterviewBest - Helps you come up with concise interview presentations that present your strong points and how you would benefit a company.

Monster - The well known job search site also offers quizzes you can use to see how ready you are for various aspects of your job hunt as well as a random job interview question generator.

QuintCareers - Is a site dedicated to preparing you for your job hunt with over 3,500 pages of free career advice. They have a large section dedicated to what to expect from the interview process and how best to prepare for it.


More UNIX usage tips!

!$ operator returns the file_system_access.c argument, and the !:1 operator returns the kxp12.c argument, which is the first argument of the previous command.

$ mv kxp12.c file_system_access.c
$ ln –s !$ !:1

df command shows you the total number of blocks used on each available volume and the percentage of free space.

Use the find command with the -size parameter. Listing 7 shows how to use the find command to find files larger than 10MB. Note that the -size parameter takes a size in kilobytes.
$ find / -size +10000k –xdev –exec ls –lh {}\;

Make the most of regular expressions

Many UNIX commands use regular expressions as arguments. Technically speaking, a regular expression is a string (that is, a sequence of characters composed of letters, numbers, and symbols) that represents a pattern defining zero or more strings. A regular expression uses meta-characters (for example, the asterisk [*] and question mark [?] symbols) to match parts of or whole other strings. A regular expression doesn't have to contain wildcards, but wildcards can make regular expressions useful for searching for patterns and manipulating files. Table 1 shows some basic regular expression sequences.

Table 1. Regular expression sequences
Caret (^)Matches the expression at the start of a line, as in ^A
Question mark (?)Matches the expression at the end of a line, as in A?
Backslash (\)Turns off the special meaning of the next character, as in \^
Brackets ([])Matches any one of the enclosed characters, as in [aeiou] (Use a hyphen [-] for a range, as in [0-9].)
[^ ] Matches any one character except those enclosed in brackets, as in [^0-9]
Period (.)Matches a single character of any value except end of line
Asterisk (*)Matches zero or more of the preceding characters or expressions
\{x,y\} Matches x to y occurrences of the preceding
\{x\} Matches exactly x occurrences of the preceding
\{x,\} Matches x or more occurrences of the preceding

Listing 12 shows some of the basic regular expressions used with the grep command.

Listing 12. Using regular expressions with grep
$ # Lists your mail
$ grep '^From: ' /usr/mail/$USER
$ # Any line with at least one letter
$ grep '[a-zA-Z]' search-file.txt
$ # Anything not a letter or number
$ grep '[^a-zA-Z0-9] search-file.txt
$ # Find phone numbers in the form 999-9999
$ grep '[0-9]\{3\}-[0-9]\{4\}' search-file.txt
$ # Find lines with exactly one character
$ grep '^.$' search-file.txt
$ # Find any line that starts with a period "."
$ grep '^\.' search-file.txt
$ # Find lines that start with a "." and 2 lowercase letters
$ grep '^\.[a-z][a-z]' search-file.txt

Process data with awk

The awk command always seems to live in the shadows of Perl, but it can be a quick, useful tool for simple command-line-based data manipulation. Listing 15 shows how to get started with the awk command. To get the length of each line in the file text, use the length() function. To see if the string ing is present in the file text, use the index() function, which returns the location of the first occurrence of ing so that you can use it for further string processing. To tokenize (that is, split a line into word-length pieces) a string, use the split() function.

Listing 15. Basic awk processing
$ cat text
testing the awk command
$ awk '{ i = length($0); print i }' text
$ awk '{ i = index($0,”ing”); print i}' text
$ awk 'BEGIN { i = 1 } { n = split($0,a," "); while (i <= n) {print a[i]; i++;} }' text

Printing specified fields of text file is a simple awk task. In Listing 16, the sales file consists of each salesperson's name followed by a monthly sales figure. You can use the awk command to quickly total the sales for each month. By default, awk treats each comma-separated value as a different field. You use the $n operators to access each individual field.

Listing 16. Using awk for data summarization
$cat sales
$ awk -F, '{print $1,$2+$3+$4}' sales
Gene 42
Dawn 50
Renee 46
David 46


Perl Tip: Couple useful stuffs

$` $& $' before match after

\w - type words made up of ordinary letters, digits, and underscores.
\b - anchor matches at the start or end of a group of \w characters

redir all IO's (including STDOUT and STDERR) during command line execution or script execution:
(cmd) >& out

Perl Tip: Bundling options

Use this statement to 'bundle' the given options:

use Getopt::Long;

This enables options of say -d and -e into -de bundling!

Perl Tip: Call variable based subroutines

Take off strict temporarily while you pipe it in the variable based subroutine calls.

{ no strict 'refs';
*{$ProdMod . "::Init"}->(\%Subroutines,$Debug);

$ProdMod is variable where subroutine call is call {$ProdMod."::Init"}. %Subroutines and $Debug are the input variables to the provided subroutine.

Also, can put it into hash or array which points to the subroutine calls as so:
my %Subs = (
"test1" => \&test1,
"test2" => \&test2,
"test3" => \&test3,
"test4" => \&test4,

And calls it:

Considering you have test1-4 subroutine defined:
sub test1($$) {...}


Cygwin Vi syntax enabling

Just create .vimrc file with following content:

   syntax enable
set sw=4 ts=4 et
set wildmenu

Not loading .bashrc in cygwin

Add this line in the end of '/etc/profile' file:

. "${HOME}/.bashrc"

Problem solved! Make sure $HOME is pointing to your home directory and you have .bashrc file generated.

[Update] Cygwin always load off of '.bash_profile' instead of '.bashrc' file. Thus, another solution is to do 'source ~/.bashrc' within '.bash_profile'. Or add the following line in '.bash_profile':

if [ -f ~/.bashrc ]
. ~/


How to control someone with negative response

Dealing with Difficult People can be very hard especially someone with negative emotion who is out to get you. But if you really find out deep down what he/she is doing is mostly about them, not you. Got this from ThinkSimpleNow.com. Enjoy.


Why Bother Controlling Our Responses?

  • Hurting Ourselves - One of my favorite sayings is “Holding a grudge against someone is like drinking poison and expecting the other person to die.” The only person we hurt is ourselves. When we react to negativity, we are disturbing our inner space and mentally creating pain within ourselves.
  • It’s Not About You, It’s About Them - I’ve learned that when people initiate negativity, it is a reflection of their inner state expressed externally and you just happen to be in front of that expression. It’s not personal, so why do we take it personally? In short: Because our ego likes problems and conflict. People are often so bored and unhappy with their own lives that they want to take others down with them. There have been many times when a random person has left a purposefully hurtful comment on TSN, and regularly checked back to see if anyone else responded to their comment, waiting eagerly to respond with more negativity.
  • Battle of the Ego - When we respond impulsively, it is a natural and honest response. However, is it the smart thing to do? What can be resolved by doing so? The answer: Nothing. It does however feed our ego’s need for conflict. Have you noticed that when we fight back, it feels really satisfying in our heads? But it doesn’t feel very good in our soul? Our stomach becomes tight, and we start having violent thoughts? When we do respond irrationally, it turns the conversation from a one-sided negative expression into a battle of two egos. It becomes an unnecessary and unproductive battle for Who is Right?
  • Anger Feeds Anger. Negativity Feeds Negativity. - Rarely can any good come out of reacting against someone who is in a negative state. It will only trigger anger and an additional reactive response from that person. If we do respond impulsively, we’ll have invested energy in the defending of ourselves and we’ll feel more psychologically compelled to defend ourselves going forward. Have you noticed that the angrier our thoughts become, the angrier we become? It’s a negative downward spiral.
  • Waste of Energy - Where attention goes, energy flows. What we focus on tends to expand itself. Since we can only focus on one thing at a time, energy spent on negativity is energy that could have been spent on our personal wellbeing.
  • Negativity Spreads - I’ve found that once I allow negativity in one area of my life, it starts to subtly bleed into other areas as well. When we are in a negative state or holding a grudge against someone, we don’t feel very good. We carry that energy with us as we go about our day. When we don’t feel very good, we lose sight of clarity and may react unconsciously to matters in other areas of our lives, unnecessarily.
  • Freedom of Speech - People are as entitled to their opinions as you are. Allow them to express how they feel and let it be. Remember that it’s all relative and a matter of perspective. What we consider positive can be perceived by another as negative. When we react, it becomes me-versus-you, who is right? Some people may have a less than eloquent way of expressing themselves - it may even be offensive, but they are still entitled to do so. They have the right to express their own opinions and we have the right and will power to choose our responses. We can choose peace or we can choose conflict.

1. Forgive - What would the Dali Lama do if he was in the situation? He would most likely forgive. Remember that at our very core, we are good, but our judgment becomes clouded and we may say hurtful things. Ask yourself, “What is it about this situation or person that I can seek to understand and forgive?

2. Wait it Out - Sometimes I feel compelled to instantly send an email defending myself. I’ve learned that emotionally charged emails never get us the result we want; they only add oil to the fire. What is helpful is inserting time to allow ourselves to cool off. You can write the emotionally charged email to the person, just don’t send it off. Wait until you’ve cooled off before responding, if you choose to respond at all.

3. “Does it really matter if I am right?” - Sometimes we respond with the intention of defending the side we took a position on. If you find yourself arguing for the sake of being right, ask “Does it matter if I am right?” If yes, then ask “Why do I need to be right? What will I gain?

4. Don’t Respond - Many times when a person initiates a negative message or difficult attitude, they are trying to trigger a response from you. When we react, we are actually giving them what they want. Let’s stop the cycle of negative snowballing and sell them short on what they’re looking for; don’t bother responding.

5. Stop Talking About It - When you have a problem or a conflict in your life, don’t you find that people just love talking about it? We end up repeating the story to anyone who’ll listen. We express how much we hate the situation or person. What we fail to recognize in these moments is that the more we talk about something, the more of that thing we’ll notice. Example, the more we talk about how much we dislike a person, the more hate we will feel towards them and the more we’ll notice things about them that we dislike. Stop giving it energy, stop thinking about it, and stop talking about it. Do your best to not repeat the story to others.

6. Be In Their Shoes - As cliché as this may sound, we tend to forget that we become blind-sided in the situation. Try putting yourself in their position and consider how you may have hurt their feelings. This understanding will give you a new perspective on becoming rational again, and may help you develop compassion for the other person.

7. Look for the Lessons - No situation is ever lost if we can take away from it some lessons that will help us grow and become a better person. Regardless of how negative a scenario may appear, there is always a hidden gift in the form of a lesson. Find the lesson(s).

8. Choose to Eliminate Negative People In Your Life - Negative people can be a source of energy drain. And deeply unhappy people will want to bring you down emotionally, so that they are not down there alone. Be aware of this. Unless you have a lot of time on your hands and do not mind the energy drain, I recommend that you cut them off from your life. Cut them out by avoiding interactions with them as much as possible. Remember that you have the choice to commit to being surrounded by people who have the qualities you admire: optimistic, positive, peaceful and encouraging people. As Kathy Sierra said, “Be around the change you want to see in the world.”

9. Become the Observer - When we practice becoming the observer of our feelings, our thoughts and the situation, we separate ourselves away from the emotions. Instead of identifying with the emotions and letting them consume us, we observe them with clarity and detachment. When you find yourself identifying with emotions and thoughts, bring your focus on your breathe.

10. Go for a Run … or a swim, or some other workout. Physical exercise can help to release the negative and excess energy in us. Use exercise as a tool to clear your mind and release built up negative energy.

11. Worst Case Scenario - Ask yourself two questions, “If I do not respond, what is the worst thing that can result from it?“, “If I do respond, what is the worst thing that can result from it?” Answering these questions often adds perspectives to the situation, and you’ll realize that nothing good will come out of reacting. Your energy will be wasted, and your inner space disturbed.

12. Avoid Heated Discussions - When we’re emotionally charged, we are so much in our heads that we argue out of an impulse to be right, to defend ourselves, for the sake of our egos. Rationality and resolution can rarely arise out of these discussions. If a discussion is necessary, wait until everyone has cooled off before diving into one.

13. Most Important - List out things in your life most important to you. Then ask yourself, “Will a reaction to this person contribute to the things that matter most to me?

14. Pour Honey - This doesn’t always work, but sometimes catches people off guard when they’re trying to “Pour Poison” on you. Compliment the other person for something they did well, tell them you’ve learned something new through interacting with them, and maybe offer to become friends. Remember to be genuine. You might have to dig deep to find something that you appreciate about this person.

15. Express It - Take out some scrap paper and dump all the random and negative thoughts out of you by writing freely without editing. Continue to do so until you have nothing else to say. Now, roll the paper up into a ball, close your eyes and visualize that all the negative energy is now inside that paper ball. Toss the paper ball in the trash. Let it go!