10.6.08

The tragic tale of a hacked blog

The girl realized she had been careless. Her blog had been hacked.The hacker had been a sneaky one. She did not see any difference on the front page of her blog. There were no sudden big banners or pop-ups. If she had not checked the details of the visitors to her site, she would never have known.

read more | digg story

Various Social and Blogger Sites

ActiveRain ActiveRain http://activerain.com/
Bebo Bebo http://bebo.com/Profile.jsp?MemberId=
Blogger Blogger http://www.blogger.com/profile/
del.icio.us del.icio.us http://del.icio.us/
Digg Digg http://digg.com/users/
DOPPLR DOPPLR http://www.dopplr.com/traveller/
eBay eBay eBay User ID:
Facebook Facebook http://www.facebook.com/profile.php?id=
Flickr Flickr screen name or id:
FriendFeed FriendFeed http://friendfeed.com/
Friendster Friendster http:// .blogs.friendster.com/
Google Calendar Google Calendar email:
Google Reader Google Reader http://www.google.com/reader/shared/
Jaiku Jaiku http:// .jaiku.com/
Jumpcut Jumpcut http://www.jumpcut.com/
Kiva Kiva http://www.kiva.org/lender/
Last.fm Last.fm http://www.last.fm/user/
LinkedIn LinkedIn http://www.linkedin.com/in/
LiveJournal LiveJournal username:
Ma.gnolia Ma.gnolia http://ma.gnolia.com/people/
Multiply Multiply http:// .multiply.com/
MyBlogLog Actions MyBlogLog Actions
Service Added!
Blog Comments Blog Comments
Service Added!
MySpace MySpace http://www.myspace.com/
Netflix Netflix http://rss.netflix.com/QueueRSS?id= (Get your Netflix ID)
OpenID OpenID url:
Plaxo Plaxo email:
Pownce Pownce http://pownce.com/ /
Second Life Second Life name:
Seesmic Seesmic http://seesmic.com/
Shelfari Shelfari http://www.shelfari.com/
StumbleUpon StumbleUpon http:// .stumbleupon.com
Technorati Technorati http://www.technorati.com/people/technorati/
The DJ List The DJ List http://www.thedjlist.com/djs/
30 Boxes 30 Boxes url:
ThisNext ThisNext http://www.thisnext.com/by/ /
Trulia Trulia http://www.trulia.com/voices/profile/
Tumblr Tumblr http:// .tumblr.com
Twitter Twitter http://twitter.com/
TypeKey TypeKey http://profile.typekey.com/ /
Upcoming Upcoming http://upcoming.yahoo.com/user/
Wakoopa Wakoopa http://wakoopa.com/
Wink Wink http://wink.com/p/
Yahoo! Answers Yahoo! Answers http://answers.yahoo.com/my/profile?show=
Yelp Yelp http://www.yelp.com/user_details?userid=
YouTube YouTube http://youtube.com/user/
Zillow Zillow http://www.zillow.com/profile/
Zorpia Zorpia http://www.zorpia.com/

About XMPP

About XMPP: "About XMPP

The Extensible Messaging and Presence Protocol (XMPP) is an open XML technology for real-time communication, which powers a wide range of applications including instant messaging, presence, media session management, shared editing, whiteboarding, collaboration, lightweight middleware, content syndication, and generalized XML routing.

The core technology was invented by Jeremie Miller in 1998, refined in the Jabber open-source community in 1999 and 2000, and formalized by the IETF in 2002 and 2003, resulting in publication of the XMPP RFCs in 2004.

Although the core technology is stable, the XMPP community continues to define various XMPP extensions through an open standards process run by the XMPP Standards Foundation. There is also an active community of open-source and commercial developers based at jabber.org."

DataPortability.org - Share and remix data using open standards

DataPortability.org - Share and remix data using open standards: "Conect. Control. Share. Remix.
Mission: To Consult, Design, Educate and Advocate Interoperable Data Portability to Users, Developers and Vendors.
Definition: Data Portability is the option to use your personal data between trusted applications and vendors."

Plaxo » A Recipe for OpenID-Enabling Your Site

Plaxo » A Recipe for OpenID-Enabling Your Site: "A Recipe for OpenID-Enabling Your Site

Prepared by Joseph Smarr at Plaxo on July 18, 2007.

This is a step-by-step tutorial guide for implementing OpenID consumer-side support with a web site that already has users with accounts. It will explain how to easily let new users sign up for an account on your site using their OpenID URL and how to let existing users attach their OpenID(s) so they can sign in using them.

I developed this guide by talking to fellow OpenID developers at the Internet Identity Workshop and elsewhere, and by implementing OpenID support for Plaxo using these instructions. I've also posted detailed screenshots of Plaxo's implementation for reference. I've intended for this guide to be clear and complete and to follow best-practices, but if you have any questions or feedback, please let me know at joseph@plaxo.com or by posting a comment on Plaxo's blog.

This guide may look a bit long, but my hope is you can just follow it straight through without thinking much, and you'll be completely done by the time you reach the end! :)
Overview

I'm assuming your web site currently has:

* A user database with rows for each user
o Each user has a unique internal user ID
o Users currently sign in using a username/e-mail and password
*"

9.6.08

Digg Joins the DataPortability Project

"Digg has joined the DataPortability Project, a group of websites cooperating to help you securely use your data however you want. Why? Because you own your data. It’s that simple. From the start, Digg has supported the idea that you own your own data."

read more | digg story

PHP Script - Anti-Spam Human-Checker

PHP-based system that simply asks the user to select which image is different from the others. This would normally be placed at the bottom of the form.The code is very flexible in how the images can be displayed in the form, so can easily integrated into the look-and-feel of any website.

read more | digg story

2.6.08

YouTube - cptcoding's Channel

YouTube - cptcoding's Channel: "cpt coding and Bill Dunbar
Please login to perform this operation.
See related Channels
cptcoding
cptcoding
Joined: May 15, 2008
Last Login: 2 weeks ago
Videos Watched: 1
Subscribers: 0
Channel Views: 32
billdunbar cpt practicemanagement medical bda coding daviddann icd documentation billing physician healthcare occupational health
Name: Bill
billdunbar cpt practicemanagement medical bda coding daviddann icd documentation billing physician healthcare occupational health
City: Indianapolis
Hometown: Indianapolis
Country: United States
Occupation: Medical Coding, Medical Billing
Companies: Bill Dunbar and Associates, Inc.
Interests and Hobbies: billdunbar cpt practicemanagement medical bda coding daviddann icd documentation billing physician healthcare occupational health
Website: http://www.billdunbar.com/"

Mellow Morning » Setting up .htaccess for Wordpress

Mellow Morning » Setting up .htaccess for Wordpress: "Setting up .htaccess for Wordpress
By Thierry Schellenbach on 05 Sep 2007

Usually .htaccess for Wordpress is set automatically when you change the permalink settings.

Unfortunately for me the Wordpress system was not working properly. When I wrote the first posts on this blog however I did not bother to deal with the issue. Doing so leaves you with two problems:

1. How to set .htaccess
2. How to ensure the links to your old posts get redirected

After reading the great mod_rewrite documentation and combining that with a great .htaccess files here my solution.

In order to deal with the old posts:

RewriteCond %{QUERY_STRING} ^p=11$
RewriteRule ^$ http://www.mellowmorning.com/2007/08/27/picture-resizing-on-steroids/? [R=301,L]
RewriteCond %{QUERY_STRING} ^p=3$
RewriteRule ^$ http://www.mellowmorning.com/2007/08/18/ten-reasons-why-symfony-rocks-part-1/? [R=301,L]
RewriteCond %{QUERY_STRING} ^p=4$
RewriteRule ^$ http://www.mellowmorning.com/2007/08/12/barcamp-events/? [R=301,L]
RewriteCond %{QUERY_STRING} ^feed=atom&cat=1$
RewriteRule ^$ http://www.mellowmorning.com/category/symfony/feed/? [R=301,L]

Note that HTTP_HOST and QUERY_STRING are by not included in the conditions checked by RewriteRule. The rewrite rule only ge"

1.6.08

Creating Redirects for Affiliate Links

Creating Redirects for Affiliate Links: ".htaccess redirect

.htaccess redirect

Editing the .htaccess file can make your website inaccessible if done incorrectly. Always make sure you have a back-up of the current version of the .htaccess file, to go back to a working version.

.htaccess is a file on Apache servers. It’s a very powerful tool, but often requires rather detailed technical knowledge to edit. Thankfully it’s not that difficult for the purpose of redirecting pages on server level.

Step 1: Check for existing .htaccess
First you need to find out whether you have a .htaccess file already. Start your FTP-program (make sure your program shows the .htaccess file), browse to the root of your domain and look for it (it’s usually on top of the list). If it’s there, download it. Make sure to make a back-up of the current file!

Step 2: Edit it to add redirects
Open the .htaccess file in a text editor and add the following lines to the file.

# Temporary redirects for affiliate links
Redirect 302 /[subdir]/[filename] http://example.com/?id=12345
Redirect 302 /[subdir]/[filename] http://example.com/?id=34567
# End of affiliate redirects

Now replace /[subdir]/[filename] with the right link, and replace http://example.com/?id=12345 with the address you want to send your visitors to when they click the link.

Make sure you use a temporary redirect. The status code 302 tells the other server that the page is redirected temporary, and that they should not update their addresses to the new address.

For example, for my e-junkie affiliate link this looks like this:

Redirect 302 /go/e-junkie.php http://www.e-junkie.com/?r=11261

Step 3: Save and upload
Upload and overwrite the old .htaccess file on the server.
Again make sure you have a back-up of the old version before you do this!

Step 4: Link to it.
That’s it, now use that link instead of the original link. It doesn’t even matter if there’s a file or not on the original location.

If you’re using WordPress as your (self-hosted) blogging platform, you could also use Joost de Valk’s plugin Robots Meta to edit the .htaccess file from within the WordPress admin interface.

Again, use caution with this file. Make sure you have a copy of a working version and ftp-access to your server in case things go wrong. An error in the .htaccess file could effectively deny you access to the WordPress Admin interface. In which case you’ll have to replace the erroneous file with the back-up through FTP.

htaccess and .htaccess rewrite links « WordPress .htaccess

htaccess and .htaccess rewrite links « WordPress .htaccess: "How to Use .htaccess, mod_rewrite, and Related (for Apache)


How to Use .htaccess, mod_rewrite, and Related (for Apache)

SRC: http://brainstormsandraves.com/archives/2005/10/09/htaccess/

31.5.08

Fast and Easy Custom WordPress User Registration

Alternative Registration form for WordPress Registers and Logs in a user immediately, no emailed password- user chooses.This is an insecure method due to no email validation, but still pretty sweet!

read more | digg story

Upgrading to DreamHost Private Servers

From:

Problems migrating to DreamHostPS

Here are some issues I experienced during migration and the solutions I’ve used.

During this process it is important to note how helpful the DreamHost Support Staff were in putting up with my sometimes overly technical and detailed support requests. Thanks John, Brian, and Robert R!

PHP and HTTPD processes hogging all memory

Unlike on shared hosting accounts, where DH technical people have set up a very robust system, it appears they are missing the expertise of a past employee or something because this new setup is not as robust.. YET!

For instance I started out my account CPU and memory at the MAX (2300 MB / 2300 Mhz) but my sites were all still taking forever to serve content, simply because instead of on the shared servers where user processes and HTTPD instances are more controlled, this account seems to not have very well-thought out limits on it. So if 100 people asked for a page on my site, this server loads up 100 HTTPD processes under dhapache user and loads up 100 processes for the custom-compiled php.cgi I am running. This sounds like a cool thing but in reality it takes up so much of my memory that my bash shell login under SSH runs out of memory and won’t even let me do a simple ps, and it just keeps serving 503’s to anyone else who requests something on my site. DH will have to fix this soon or someone will launch a DDOS attack that will cripple them, unless a googlebot does it first!

Solution
I contacted support and received a very friendly and prompt reply suggesting a bad script and offering to setup a process watcher and killer, which I accepted. Eventually I located the problem to be an ErrorDocument 500 directive in my .htaccess that was pointing to a php file instead of a static .html

No crontabs or cronjobs

None of my crontab files were moved to my new server and in fact I was receiving permission denied just to access my crontab.

Solution
I contacted support and they installed new crontabs for me and offered to copy my old ones.

Static IP Changed for site with non-DreamHost DNS

One site uses DNS from Network Solutions, so when my site was migrated and got a new static IP address, my site went down. It would have been nice and should be expected that in this situation DreamHost would alert you that the change is going to happen so you can update your DNS without your site going offline.

Solution
Logged into my Network Solutions account and updated the DNS for my site to point to the new Static IP.

SSH Hosts, Authorized Keys Broken

Some of my sites and user accounts use passwordless SSH to make some things work, and all of these were made useless when I moved to my new private server.

Solution

  1. Logged into my user accounts with SSH
  2. Deleted the old files in folder .ssh
  3. Created new keys and added them to other accounts
  4. Logged in to new accounts to add to host files

Old Server and Static IP References in Site Files

I have some pretty technical and complex cgi’s, .htaccess files, shell scripts run by cronjobs, php scripts, etc., on some sites and shell accounts, and many of my files contain code to the Static IP and/or dreamhost server, either for access control or for faster connects by connecting straight to an IP instead of having to perform a DNS lookup. So when both the Static IP’s and dreamhost server changed it broke all my files.

Solution
Basically I knew I had to search all of my files and replace the old IP with the new IP. I also had to search files relacing the old server with my new server. To make life simpler, I wrote a simple shell script that I run from my account while logged in using SSH that does this automatically with the added feature of asking me if I would like to make the replacement for each file it finds, which is nice because I don’t want to replace this for old log files and misc stuff.

dreamhostps migration shell script

#!/bin/bash
# Version 1.0 by AskApache 5/29/2008

shopt -s extglob
renice 19 $$

OLDSERVER=208.113.183.103
NEWSERVER=208.113.134.190

FIXFILES=$(grep -R -l -i $OLDSERVER $HOME/!(Maildir|logs|backups|source|tmp|doit|php5|php526|ip_abuse) 2>/dev/null)

for thefile in ${FIXFILES[@]}; do
if [ -f "$thefile" ]; then
echo -e "\n\n\n\n"
echo "___________________________________________________________________"
echo "Name: ${thefile}"
echo "Type: $(command file -b ${thefile})"
echo "Size: $(command du -hs ${thefile}|awk '{ print $1}')"
echo "Matching Lines:"
grep -i --color=auto $OLDSERVER $thefile
echo -e "___________________________________________________________________\n"
echo -en "Replace occurances of $OLDSERVER with $NEWSERVER? [y/N] " ; read -n 1 ans
case "$ans" in
n|N) echo -e "\nSKIPPING..."; ;;
y|Y) echo -e "\nREPLACING..."
cp $thefile $thefile.b1 &>/dev/null
cat $thefile.b1 | sed "s/${OLDSERVER}/${NEWSERVER}/g" 1>$thefile
rm $thefile.b1 &>/dev/null
echo "DONE"; ;;
esac
fi
done
exit 0

15.5.08

Firefox popup- page redirected new location, resend form dat

If you see this message in Firefox."This web page is being redirected to a new location. Would you like to resend the form data you have typed to the new location?"

read more | digg story

9.5.08

Favorite .htaccess mod_rewrite examples

mod_rewrite rewrite examples for .htaccess

read more | digg story

SEO detailed Robots.txt

Very detailed tutorial dealing with the robots.txt file. Shows examples for google and other search engines. Wordpress robots.txt and phpBB robots.txt sample files.

read more | digg story

1.5.08