Selling things online can be expensive and complicated. Especially if you only have a couple of products to sell. Utilizing WordPress as a CMS can really help your site content, but what about ecommerce? Enter PHPurchase.
PHPurchase is an e-commerce shopping cart plugin developed by PHPoet for selling both digital and physical products on your WordPress website. The simplicity of the interface an elegance of execution make this plugin the best option for ecommerce on a WordPress site.
Whether your product is digital or physical, you have many or few, PHPurchase is an excellent way gain full control over your ecommerce and make your sales soar!
When using the php mail() function to send mail on my websites, I dont want the “mailed by:” header being sent. I just recently discovered an option to add to the mail function that masks the originating server. Simply add “-firstname.lastname@example.org” as the last option in the function call.
mail ($to, $subject, $message, $headers,"-email@example.com");
and your “from” address from the headers will be all that shows up.
In this modern age where everything is ‘digital’ and ‘internet enabled’ we are often lured into a false sense of security when it comes to the reliablitity of our data storage. While the investment of both time and money into a backup system is sometimes difficult to justify short-term, it pays incredible returns when something goes wrong and you can keep moving forward with little or no downtime. Hardware failure, malicious intruders, and stupid mistakes among other things are, in fact, more threatening to our electronic data then to our physical media. One can easily destroy months and even years of work in seconds with a misguided click or command.
To increase the margin of safety to fully and effectively utilize digital data storage, a backup is crucial. There is more to a good backup then simply “another copy” of your data. Several key principals of backup should be understood.
The basic concept of a backup is redundancy. While this seems obvious, it can be taken for granted in real life scenarios. For example: if you buy an external hard drive to “backup” your computer and store copies of your important documents etc… on it then you are indeed succeeding in a redundant backup. However, when you move large files to the drive to free up space on your laptop, you data is no longer redundant. Its feels safe and backed up because hey, its on the backup drive! But the first principal of backup is redundancy, and the more locations you have for those backups the better.
Now, suppose you have a solid redundancy. Say, 2 separate backups of your every day files and 3 backups of critical data. If they are all stored in the same room of your house or office, the only thing they are protected from is electronic catastrophe (malicious code, accidental deletion etc…), assuming they are on disks (cd/dvd or hard drive) and not still connected to the source computer! If anything was to happen to that room… then there goes your source and backups! This is why physical distance is critical in making a backup feasible. The more distance you can separate your backups with, the safer each one is.
“Don’t forget to save!” The question of how often to backup is largely based on the balance of inconvenience of a) the backup process and b) recreating data lost at any given point. For most purposes, a daily backup is sufficient. I also recommend backing up after completing major projects or if you are going to be away from your work for a while (like lunch break) while you are working on critical data.
Many people think backup and archive are synonymous. They are not. An archive is a one-time snapshot of data stored long-term. A backup is a snapshot of active data, stored short term. For a truly secure backup system, an archive of your backups should be made at a regular frequency. The huge advantage to an archive is it allows you to “go back in time” to the way your data was at the archive point. An archive is not a replacement for active data backup, but a different method of data redundancy with unique features and benefits. For example: if you regularly backup your documents on an external hard drive, you could implement archiving by burning the backup folder to a DVD-R once a month. You would then have a library of your documents as monthly snapshots. However, if you then remove data from the active backup (to save space for example), while it is still on that month’s archive, it is no longer “backed up” because it lacks redundancy.
Finding a cost-effective method of securing your data can be accomplished relatively easily. First ask yourself what can you not afford to lose in the event of a catastrophe. For most users a daily backup of their personal data to an external hard-drive with a monthly archive is sufficient. For an extra measure, do a weekly archive and send it off-site. Whatever you choose to do, evaluate the critical nature of the data you are backing up to keep it to the bare minimum and you will find that it is not hard to implement a cheap, yet effective backup solution.
Backups are an insurance policy. They can be expensive over the long-term, but when something goes wrong (we have all had it happen at some point) a seamless recovery is invaluable. Just remember that your backup is only as reliable as the hardware, location, and “distance” from source.
p.s. Save your work!
Voila! The ads are gone!
If you have ever searched Google for almost anything script or programming related, you probably have found results from the “help” site www.experts-exchange.com. This site contains a huge number of tech-related threads and is very well indexed in Google. Unfortunately, this storehouse (not necessarily the best source, but usually fairly good info) is locked behind a $13/mo subscription fee.
Never fear, however, because you have just found the solution!
Step 1: Bypass Logon
Step 2: Negate the Scrolling
Now that the solutions are visible, lets bring them to the top of the page so we can see them without scrolling down a hundred feet of links. To do this, you can either use this link (bookmark it) to fix the experts-exchange page once its loaded or you can download the script directly and implement it yourself (with something like greasemonkey).
The script works with Safari 3.2 and FireFox 3.1. If you are using IE you probably wont ever be on experts-exchange. If you are, you need to use a different browser. I also noticed that the solutions only appear the first time you visit the page from google. Apparently refreshing the page removes the solutions.
Thats about all there is to it. Let me know what you think.
Since I hate ads, adblock saves the day for me. Most people know this and love it. I have further capitalized on the brilliance of this extension but creating some custom filters to block the video ads on hulu.com and fancast.com. In some cases its like the commercials never existed, in others there is just a “you blocked our ad…” screen for 30 seconds before the video resumes.
Web Developer (cur. version 1.16)
As a web developer, anything that simplyfies things and speeds up tasks is a huge help. This plugin gives you a wide array of tools to help debug your work. My favorite features are the live html editing and the “show passwords” for obfuscated form entries.
Quartz PDF plugin
This finally came out a month or two ago, allowing users running OSX 10.5 and FF3 to open pdf files natively in the browser. This is a HUGE timesaver!
Using multiple accounts with gmail is a great feature. Only having the option to use 1 signature is not. This plugin gracefully solves that problem allowing you to have up to 4 signatures per “from” address. Rich html signatures and a live preview make this addon a must-have for gmail users.
Working with databases and php often makes tables an important part of the construction and often final result of the project. I decided to simplify this process by creating a function that would generate a table based on the data in a single string of input.
The syntax is pretty simple.
|Head Row 1||Head Row 2||Head Row 3||Head Row 4|
|Item 1||Item 2||Item 3||Item 4|
You do not need to close <tr> or <td> tags in your string, just start a new row with %tr; and each new <td> with %td; (you do not need to use the %td; on the first cell of a row, so you will never have %tr;%td;)
The options are printed un-modified in the table tab ie <table $options> so use the standard attributes syntax. The default options are " border='1' align=''center' cellpadding='5' ".
|First Name||Last Name|
So far I haven't found anything that breaks the function, but let me know if you do I usually iterate through the data using a single variable and the ".=" to build the table data string.
I added the option to put options in each td tag. Before each td string, simply put your options (like valign='top') and then the %op; tag. So your string would look like:
Apache's mod_rewrite is one of the most confusing things to learn but it is an extremely powerful tool. One of the best resources I found was http://www.webforgers.net/mod-rewrite/. Recently I needed to rename a folder on one of the sites I built. The traffic needed to be automatically routed to the new folder to keep all the links to the content valid. To accomplish this, i used a mod rewrite to grab the string after the old folder and move it to the new folder. Below is the content of my .htaccess (located in the root directory with my new folder) file:
RewriteEngine On RewriteBase /subdir/ RewriteRule ^olddir/?(.*)$ newdir/$1 [R=301,L]
So lets look at it line by line
The RewriteEngine has to be on (obviously).
the RewriteBase is the path to the folder containing your .htaccess and the new folder (in this case, "subdir/" would contain ".htaccess and newdir/"). This is relative to the domain. So if you were working with yourdomain.com/newdir/ the RewriteBase would just be "/".
RewriteRule ^olddir/?(.*)$ newdir/$1 [R=301,L]
The RewriteRule takes anything after the request for your old folder (like index.html) and changes the URL to the new folder. "olddir" is the name of your old folder and "newdir" is the name of your new folder. So a request like:
it doesnt matter what comes after the request for the oldir it will get moved to the newdir. It's pretty obvious that mod_rewrite is a powerful tool but mastering it is a significant challenge. Here's one down though, and plenty more to go.
Inspired by Lee's PR checking script (www.refreshinglyblue.com), I modified it to be slightly less obtrusive version that adds the PageRank to the browser title bar (in Safari and Firefox) and in an alert (all browsers).
Simply drag the link below to your favorites bar and then click it whenever you want to get the PageRank for the page you are on.
I have noticed that it sometimes takes as long as 30 seconds for it to work, I assume its because the script is scrubbing an external site so it can take longer on occasion, due to server load. If you would like the script or have any optimization/improvements please let me know!
This is my new "tech" blog. I will be posting about various tech news, script samples, and the occasional tech humor.