I am so glad HTML 5 is killing flash slowly with its song

Ever get really confused by the same thing for 10 minutes before realizing “OH I’VE DONE THIS 100 TIMES BEFORE!!!” I hope this note to self will fix it for next time.

Note to self: Before you waste 10 minutes figuring out why a flash[:notice] either a) isn’t working or b) is sticking around for one refresh too long, remember that flash.now works only for the current action and flash[:notice] = ‘forward’ is available for the next action. You know, like a redirect.

How to install a plugin from a git repository branch

Was implementing nested_has_many_through and came across this error:

Cannot dissociate new records through 'Post#post_tags' on '#'. Both records must have an id in order to delete the has_many :through record associating them.

Apparently I needed to use the rails-2.3 branch, which you can install like so:

script/plugin install git://github.com/username/repo.git -r branch_name
Globally Unique Identifier is a proper noun.

Dear WordPress:

Why is there a field in your wp_posts table called guid of type varchar that stores the unique URL for a post? That’s like me hanging a sign on my dog that says “CAT” or painting my rosewill computer red and calling it an “apple.”

Sincerely, E

tar: Cowardly refusing to create an empty archive

Gotta love software that’s humble and knows its place. With all these “innovative, industry shaking, market disrupting” social networking web 2.0 iPhone apps out there that are “simple, beautiful, easy-to-use, doesn’t get in the way,” its nice to be reminded by tar that software can be humble.

If you do this, it won’t tar hidden (like .htaccess) files:

tar -cf myfile.tar *

Instead do this:

tar -cf myfile.tar /home/meatloaf/jams

Here’s how to exclude those crazy backups you did:

tar cf sitearchive.tar --exclude=*.sql --exclude=*.gz *

Had to move our 1.5GB SVN repository from one server to another yesterday. Didn’t have enough room to tar, then gzip so I piped:

tar cvf - svn_repository/ | gzip -c > svn.tar.gz
Parse a WordPress RSS XML Feed with Hpricot

One cool thing about wordpress is that you can get a feed of a specific category by going to /category/category-name/feed or a specific tag by going to /tag/tag-name/feed

require 'open-uri'
require 'hpricot'

doc = Hpricot.parse(open("http://myawesomeblog.com/category/welcome/feed"))
(doc/:item).each do |xml_product|
  puts xml_product.search("/title").first.children.first.raw_string
  puts xml_product.search("/pubDate").first.children.first.raw_string
end
How to set up chroot for SFTP users

My hatred of plain FTP is well documented, but I needed change the root directory of a new SFTP user to their home folder (/home/user) so they can’t navigate back to / on the server.

Do your usual create new user stuff:

mkdir /home/steveperry
useradd steveperry
chown root:steveperry /home/steveperry
chmod 755 /home/steveperry

Force the normal login directory just in case:

usermod -d /home/steveperry steveperry

Set the new user a dummy shell (so they don’t have real shell access).

usermod -s /bin/false steveperry

Now, steveperry should have read access to his home directory. Let’s give him a place to upload stuff:

mkdir /home/steveperry/jams
chown steveperry:steveperry /home/steveperry/jams
chmod 755 /home/steveperry/jams

In the file /etc/ssh/sshd_config comment out “Subsystem sftp /usr/lib/openssh/sftp-server” and add “Subsystem sftp internal-sftp”

# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Also in /etc/ssh/sshd_config, add the following lines at the end of the file to force steveperry to be jailed into his home directory.

Match User steveperry
  ChrootDirectory /home/steveperry
  ForceCommand internal-sftp

Done! Restart the ssh daemon (run this any time you want changes to become effective):

sudo /etc/init.d/ssh restart

(credit, most of this stolen from: http://www.ericstockwell.com/?p=54)

2010 - The Year Google Drops Support for IE6 and IE6 Finally Dies.

What do the following companies have in common?

Google, worth $170 Billion Apple, worth $180 Billion Facebook, worth anywhere from $6-$15 Billion

THEY ALL DROPPED SUPPORT FOR IE6!

http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html

3 4 5 6 7