<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-31985624</id><updated>2011-07-28T22:21:44.020-05:00</updated><category term='ruby'/><category term='apache'/><category term='linux'/><category term='lame'/><category term='math'/><category term='smtp'/><category term='postgresql'/><category term='vi'/><category term='mysql'/><category term='java'/><category term='cygwin'/><category term='bugs'/><category term='fedora'/><category term='adobe'/><category term='bash'/><category term='django'/><category term='flex'/><category term='gnome'/><category term='firefox'/><category term='sqlserver'/><category term='ctags'/><category term='tags'/><category term='python'/><category term='unix'/><category term='rails'/><category term='html'/><category term='mongrel'/><category term='windows'/><category term='vim'/><category term='eclipse'/><category term='ubuntu'/><category term='thunderbird'/><category term='jython'/><category term='error'/><category term='exploit'/><category term='nautilus'/><title type='text'>Jacob Fenwick</title><subtitle type='html'>Follow me as I struggle with rogue technology, insane programmers, and impossible math questions in a battle to the death.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-31985624.post-4468118630271591098</id><published>2009-10-18T12:54:00.004-05:00</published><updated>2009-10-18T13:01:07.946-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Install MySQL-python 1.2.3b on mac OS X when you get the</title><content type='html'>I tried to install MySQL-python on Mac OS X 10.5 and I got the error:&lt;br /&gt;&lt;br /&gt;EnvironmentError: mysql_config not found&lt;br /&gt;&lt;br /&gt;To fix this error, you need to specify the location of your mysql_config in the site.cfg file.&lt;br /&gt;&lt;br /&gt;I found mine in /usr/local/mysql/bin/&lt;br /&gt;&lt;br /&gt;In the MySQL-python installation directory, open the site.cfg.&lt;br /&gt;&lt;br /&gt;Add a line that says:&lt;br /&gt;&lt;br /&gt;mysql_config = /usr/local/mysq/bin/mysql_config&lt;br /&gt;&lt;br /&gt;Then run sudo python setup.py install again and it should install correctly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-4468118630271591098?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/4468118630271591098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=4468118630271591098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/4468118630271591098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/4468118630271591098'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2009/10/install-mysql-python-123b-on-mac-os-x.html' title='Install MySQL-python 1.2.3b on mac OS X when you get the'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-3759296610495584831</id><published>2009-05-22T13:10:00.003-05:00</published><updated>2009-05-22T13:15:50.324-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Using the Java Classpath at the command line</title><content type='html'>One of the most irritating things about Java is the classpath.&lt;br /&gt;&lt;br /&gt;Here's the command on UNIX:&lt;br /&gt;&lt;br /&gt;java -cp /Users/jacob/foo.jar:. foo/bar&lt;br /&gt;&lt;br /&gt;Here's how to do it on Windows:&lt;br /&gt;&lt;br /&gt;java -cp C:\jacob\foo.jar;. foo/bar&lt;br /&gt;&lt;br /&gt;The annoying part is that you can't use relative path names. You must put the absolute path for each directory and jar file. Also, on UNIX you separate each path with a semicolon, while on Windows you separate using a semicolon.&lt;br /&gt;&lt;br /&gt;Use the -cp flag, then reference you class. Don't append the .class file extension to the name of class, just provide the path relative to where you are executing the Java command.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-3759296610495584831?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/3759296610495584831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=3759296610495584831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/3759296610495584831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/3759296610495584831'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2009/05/using-java-classpath-at-command-line.html' title='Using the Java Classpath at the command line'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-5503366929135337080</id><published>2009-05-20T18:26:00.001-05:00</published><updated>2009-05-20T18:33:03.845-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><title type='text'>Create a postgresql database</title><content type='html'>&lt;a href="http://www.cyberciti.biz/faq/howto-add-postgresql-user-account/"&gt;How to add postgresql user account&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;# adduser tom&lt;br /&gt;# passwd tom&lt;br /&gt;&lt;br /&gt;# sudo su -&lt;br /&gt;(or might be # su - postgres)&lt;br /&gt;&lt;br /&gt;$ psql -d template1 -U postgres&lt;br /&gt;&lt;br /&gt;template1=# CREATE USER tom WITH PASSWORD 'myPassword';&lt;br /&gt;template1=# CREATE DATABASE jerry;&lt;br /&gt;template1=# GRANT ALL PRIVILEGES ON DATABASE jerry to tom;&lt;br /&gt;&lt;br /&gt;template1=# \q&lt;br /&gt;&lt;br /&gt;$ su - tom&lt;br /&gt;$ psql -d jerry -U tom&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-5503366929135337080?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/5503366929135337080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=5503366929135337080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/5503366929135337080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/5503366929135337080'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2009/05/create-postgresql-database.html' title='Create a postgresql database'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-7823807298942469218</id><published>2009-05-05T10:39:00.002-05:00</published><updated>2009-05-05T10:41:51.276-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>MySql Installation Problem and resolution</title><content type='html'>A lot of times I've encountered this problem installing MySQL.&lt;br /&gt;&lt;br /&gt;When it goes to turn on the service at the end of the installation process, the software firewall stops it from starting the service. When this happens, the security is not applied. Then, I try to run the installation again, and when I get to the point where I'm setting the password, there are 3 password fields instead of 2. Since the the security settings were never applied, there is no password for the first field! But usually I end up trying to put a password in that field, and as a result MySQL fails when it tries to apply security settings.&lt;br /&gt;&lt;br /&gt;So, leave that field blank.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-7823807298942469218?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/7823807298942469218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=7823807298942469218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/7823807298942469218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/7823807298942469218'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2009/05/mysql-installation-problem-and.html' title='MySql Installation Problem and resolution'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-1050746597369132264</id><published>2009-04-07T11:40:00.002-05:00</published><updated>2009-04-07T11:41:07.891-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='lame'/><title type='text'>Convert all wav files in directory to mp3 in bash</title><content type='html'>for file in *.wav;&lt;br /&gt;do&lt;br /&gt; lame -h -m s -b 320 "${file}" "${file%.wav}.mp3";&lt;br /&gt;done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-1050746597369132264?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/1050746597369132264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=1050746597369132264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/1050746597369132264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/1050746597369132264'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2009/04/convert-all-wav-files-in-directory-to.html' title='Convert all wav files in directory to mp3 in bash'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-2082592928608296615</id><published>2009-03-24T12:35:00.003-05:00</published><updated>2009-03-24T12:36:13.248-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Where is my Apache installed on Ubuntu?</title><content type='html'>Go to the terminal and type:&lt;br /&gt;&lt;br /&gt;locate apache&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-2082592928608296615?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/2082592928608296615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=2082592928608296615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2082592928608296615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2082592928608296615'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2009/03/where-is-my-apache-stored-on-ubuntu.html' title='Where is my Apache installed on Ubuntu?'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-4881736183462025649</id><published>2009-03-11T13:02:00.004-05:00</published><updated>2009-03-11T14:03:22.155-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqlserver'/><title type='text'>Add User to SQL Server 2008</title><content type='html'>Open Microsoft SQL Server Management Studio.&lt;br /&gt;Right Click the server of choice in the tree and click Properties.&lt;br /&gt;Click Security.&lt;br /&gt;Make sure the SQL Server and Windows Authentication radio button is selected.&lt;br /&gt;Click OK.&lt;br /&gt;In the tree, expand the Security folder under your chosen server.&lt;br /&gt;Right click Logins and choose New Login.&lt;br /&gt;Enter login name.&lt;br /&gt;Click SQL Server Authentication radio button.&lt;br /&gt;Enter password.&lt;br /&gt;It may be necessary to unclick User must change password at next login if not using Windows Server 2003.&lt;br /&gt;Click Server Roles in left menu.&lt;br /&gt;Click all entries.&lt;br /&gt;Click OK.&lt;br /&gt;&lt;br /&gt;In the tree inside your instance, expand the database folder, then Security.&lt;br /&gt;Right click on Users and click New User.&lt;br /&gt;Enter the User name and login name.&lt;br /&gt;Enter the default schema.&lt;br /&gt;Under Owned Schemas click all checkboxes except "guest".&lt;br /&gt;Under Role Members click all checkboxes.&lt;br /&gt;Push OK.&lt;br /&gt;&lt;br /&gt;To test:&lt;br /&gt;Click the Connect button at the top of the tree.&lt;br /&gt;Choose Database Engine.&lt;br /&gt;Enter login name and password and click Connect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-4881736183462025649?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/4881736183462025649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=4881736183462025649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/4881736183462025649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/4881736183462025649'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2009/03/add-user-to-sql-server-2008.html' title='Add User to SQL Server 2008'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-6465775571225115885</id><published>2009-03-10T10:00:00.005-05:00</published><updated>2009-03-10T10:05:05.398-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqlserver'/><title type='text'>Restore a backup in Microsoft SQL Server 2008 from a bak file</title><content type='html'>In Start, Programs, Microsoft SQL Server 2008, open SQL Server Management Studio.&lt;br /&gt;&lt;br /&gt;In the Object Explorer tree, right click on Databases.&lt;br /&gt;&lt;br /&gt;Right click on Restore Database.&lt;br /&gt;&lt;br /&gt;Choose From Device and click the ... button that becomes available.&lt;br /&gt;&lt;br /&gt;Choose File as Backup Media, then click Add.&lt;br /&gt;&lt;br /&gt;Add the file from the tree.&lt;br /&gt;&lt;br /&gt;Click the Restore checkbox.&lt;br /&gt;&lt;br /&gt;Choose the correct database from the To Database dropdown.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-6465775571225115885?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/6465775571225115885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=6465775571225115885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/6465775571225115885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/6465775571225115885'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2009/03/restore-backup-in-microsoft-sql-server.html' title='Restore a backup in Microsoft SQL Server 2008 from a bak file'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-3836303933817566271</id><published>2009-01-05T11:08:00.003-05:00</published><updated>2009-01-05T11:22:28.576-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jython'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Install Jython on Mac OS X 10.5</title><content type='html'>As someone who has been shackled by the verbose syntax of Java for many years I'm excited by the prospects of using Python on top of Java through Jython.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.jython.org/Project/installation.html"&gt;installation instructions&lt;/a&gt; were simple, but a few steps were missing for a Mac environment (and I assume a GNU/Linux environment).&lt;br /&gt;&lt;br /&gt;After installing:&lt;br /&gt;&lt;br /&gt;1. Go to jython/bin and run chmod +x jython&lt;br /&gt;2. Go to the base jython directory and run bin/jython once&lt;br /&gt;3. Edit your ~/.profile file and add the absolute path of your jython/bin directory to the path variable (e.g.: export PATH=/opt/local/bin:/Users/jacob/jython2.5b0/bin:$PATH)&lt;br /&gt;&lt;br /&gt;My eventual goal is to use Django on top of Apache Tomcat. This goal may require adding a JYTHONPATH variable to my .profile, but I haven't gotten that far yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-3836303933817566271?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/3836303933817566271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=3836303933817566271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/3836303933817566271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/3836303933817566271'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2009/01/install-jython-on-mac-os-x-105.html' title='Install Jython on Mac OS X 10.5'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-9008716176484267438</id><published>2008-12-05T23:06:00.009-05:00</published><updated>2008-12-06T12:22:54.638-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='django'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Compiling python-mysql connector on a Mac</title><content type='html'>I just received a new Mac Book Pro at work (because my work is super awesome) and I'm trying to install a variety of software. Among this software is MySQL, and the python-mysql connector, so I can use Django with MySQL. I'm finding installing software on a Mac to be rather awkward in general compared to on Windows or Linux. I already tried MacPorts, Fink, and installing from dmg files, and all of them have left a bad taste in my mouth.&lt;br /&gt;&lt;br /&gt;With the python-mysql connector specifically, I needed to compile it. Had I not found this page, I probably never would have gotten it working:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://antoniocangiano.com/2007/12/22/how-to-install-django-with-mysql-on-mac-os-x/"&gt;How to install Django with MySQL on Mac OS X&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One more tip... I tried to use MySQL 64-bit on my Mac Book Pro which was 32-bit, and as a result I had some problems when I tried to make python-mysql talk to MySQL. Be careful about that you use the right version!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-9008716176484267438?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/9008716176484267438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=9008716176484267438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/9008716176484267438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/9008716176484267438'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/12/compiling-python-mysql-connector.html' title='Compiling python-mysql connector on a Mac'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-6553011640598165834</id><published>2008-10-30T00:51:00.009-05:00</published><updated>2009-01-30T00:16:41.325-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Commands to create a MySQL database</title><content type='html'>I haven't managed to memorize all the intricacies of MySQL data creation and grant commands, so here are the commands I occasionally need:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;drop database if exists mydb;&lt;br /&gt;create database mydb;&lt;br /&gt;use mydb;&lt;br /&gt;grant all on mydb.* to 'myuser'@'localhost' identified by 'mypasswd';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here's the ultra lazy, one line search and replace, insecure, global access version:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;drop database if exists foo;&lt;br /&gt;create database foo;&lt;br /&gt;use foo;&lt;br /&gt;grant all on * to 'foo'@'localhost' identified by 'foo';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note: I usually put my SQL in a file and run the file from the MySQL monitor. Unfortunately, sometimes the grant commands don't work when they're run from a file. As a result, I have to manually type the commands into at the prompt. I don't know why.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-6553011640598165834?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/6553011640598165834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=6553011640598165834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/6553011640598165834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/6553011640598165834'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/10/commands-to-quickly-create-mysql.html' title='Commands to create a MySQL database'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-6270451367054931905</id><published>2008-10-02T19:33:00.004-05:00</published><updated>2008-10-02T19:40:21.890-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><title type='text'>Add the terminal to the desktop right click menu in Fedora or Ubuntu</title><content type='html'>When you right click the mouse in Red Hat Enterprise, you get the terminal in your menu. I've always wondered why you didn't get that feature in default in the default Gnome for Fedora or Ubuntu&lt;br /&gt;&lt;br /&gt;It turns out it's easy to add in at the terminal in either.&lt;br /&gt;&lt;br /&gt;In Fedora:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;sudo yum install nautilus-open-terminal&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In Ubuntu:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;sudo apt-get install nautilus-open-terminal&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Then reboot X.&lt;br /&gt;&lt;br /&gt;Found on the &lt;a href="http://forums.fedoraforum.org/showthread.php?t=182561"&gt;Fedora Forums&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-6270451367054931905?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/6270451367054931905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=6270451367054931905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/6270451367054931905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/6270451367054931905'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/10/add-terminal-to-desktop-right-click.html' title='Add the terminal to the desktop right click menu in Fedora or Ubuntu'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-2820483271578701724</id><published>2008-09-30T18:46:00.004-05:00</published><updated>2008-09-30T19:13:39.499-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>vdash - Math wiki of the future?</title><content type='html'>I saw this article on &lt;a href="http://science.slashdot.org/article.pl?sid=08/09/30/2122205"&gt;slashdot&lt;/a&gt; about &lt;a href="http://vdash.org"&gt;vdash&lt;/a&gt;, a wiki for math proofs being built by &lt;a href="http://math.mit.edu/~freer/"&gt;Cameron Freer&lt;/a&gt;, a postdoc instructor of pure mathematics at MIT. The video of his talk for &lt;a href="http://www.youtube.com/watch?v=ZDI7L4Ya9Ms"&gt;O'Reilly's Ignite Boston&lt;/a&gt; sums it up well.&lt;br /&gt;&lt;br /&gt;The wiki does not appear to be open to the public yet, but he says in the video you can contact him to get involved in the prototype. According to the talk, any proof added to the site would be checked by a logical proof program (I assume &lt;a href="http://isabelle.in.tum.de/"&gt;Isabelle&lt;/a&gt;) to make sure that it is true. I wonder what the rejection process would look like. I assume there will also be humans in the loop doing moderation of the site, so I'm wondering who they'll allow to take part in that moderation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-2820483271578701724?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/2820483271578701724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=2820483271578701724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2820483271578701724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2820483271578701724'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/09/vdash-math-wiki-of-future.html' title='vdash - Math wiki of the future?'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-1629005869714193491</id><published>2008-09-30T18:36:00.002-05:00</published><updated>2008-09-30T18:39:26.091-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Reset auto increment for a table in MySQL</title><content type='html'>&lt;b&gt;ALTER TABLE theTableInQuestion AUTO_INCREMENT=1234&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;That was easy. Someone posted the command in the comments for the &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html"&gt;Using Auto Increment&lt;/a&gt; page in the MySQL manual. I often find that the comments are more helpful than the manual.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-1629005869714193491?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/1629005869714193491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=1629005869714193491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/1629005869714193491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/1629005869714193491'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/09/reset-auto-increment-for-table-in-mysql.html' title='Reset auto increment for a table in MySQL'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-2573399441521254788</id><published>2008-09-30T18:33:00.000-05:00</published><updated>2008-09-30T18:35:59.622-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><title type='text'>Fedora conquered</title><content type='html'>I finally ended up installing Fedora using the text based installer and it worked. It's also possible that the problem with the computer in the optics lab was due to errors in the install discs I was using since it said there were errors, but I find that unlikely since the second set of discs reported errors as well. I think that more likely the media tester and the graphical anaconda installer both have some serious issues.&lt;br /&gt;&lt;br /&gt;In retrospect, I should have just used Ubuntu. I only chose Fedora because that's what the the people in the lab were accustomed to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-2573399441521254788?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/2573399441521254788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=2573399441521254788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2573399441521254788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2573399441521254788'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/09/fedora-conquered.html' title='Fedora conquered'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-7797955733639396892</id><published>2008-09-29T22:39:00.004-05:00</published><updated>2008-09-29T23:03:21.609-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><title type='text'>Fedora is driving me insane</title><content type='html'>I've been trying to install &lt;a href="http://fedoraproject.org"&gt;Fedora Core 9&lt;/a&gt; on an ancient computer in the Optics Lab at school and I'm experiencing all sorts of craziness. When the graphical installer gets to the end it says:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;No kernel packages were installed on your system. Your boot loader configuration will not be changed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What on earth could cause a linux distro to NOT install the kernel? It boggles the mind.&lt;br /&gt;&lt;br /&gt;I've had this problem since last week and even posted on the &lt;a href="http://forums.fedoraforum.org/showthread.php?p=1089229"&gt;Fedora Forums&lt;/a&gt;, so far to no avail.&lt;br /&gt;&lt;br /&gt;Today I got the smart idea to run the media test on the cds I was using to install Fedora. The very first disc got registered as bad by 12% in. When I saw Fedora complaining about the disc I thought that it could either the ISO or the cd itself. I downloaded &lt;a href="http://jsummer.sourceforge.net/"&gt;JSummer&lt;/a&gt; and ran it against all the ISOs and as far as I could tell they were all good. At this point I figured it had to be the cd and not the ISO so I tried burning it again, but the second cd failed in exactly the same place, so I started downloading a new copy of the 600+ meg ISO. By then I had to leave, tomorrow I'll burn the new download of the ISO and try it again.&lt;br /&gt;&lt;br /&gt;Tonight when I got home I downloaded all the ISOs off bittorrent. I burned the discs and started an install on an old box that's been collecting dust in the corner. Before I started the installation I ran an SHA1SUM on the ISOs and they all checked out. When I ran the media check on the first disc it got all the way to 100% and then it said the disc had errors! I decided I didn't care and went ahead with installing anyways, but at some point during the installation of libraries from disc2 it bombed out on me.&lt;br /&gt;&lt;br /&gt;So, either I downloaded bad ISOs both at work and at home and yet they still managed to get past SHA1SUM and burn the discs correctly, or, all the cds I'm using are bad. I find either of these possibilities unlikely. I think it's more like that the Fedora Core 9 graphical installer is just bad for anything but the latest and greatest computer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-7797955733639396892?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/7797955733639396892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=7797955733639396892' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/7797955733639396892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/7797955733639396892'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/09/fedora-is-driving-me-insane.html' title='Fedora is driving me insane'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-8738045870180532481</id><published>2008-09-29T12:31:00.012-05:00</published><updated>2008-09-29T23:02:01.720-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Bug in colgroup tag in Firefox</title><content type='html'>I was working on a webpage where I needed to have an HTML table with an invisible column that I could make visible at will. To do this, I created a colgroup for the table that contained col tags, and I set the style of the col to display:none, which could be changed to display:visible with javascript.&lt;br /&gt;&lt;br /&gt;When I tested the code, I found it worked correctly in IE7, but it didn't work in Firefox 3 at all!&lt;br /&gt;&lt;br /&gt;Here is some code showing the problem:&lt;br /&gt;&lt;div style="width: 395px; height: 400px; background-color: a0ffff; color: 000000; font-family: arial; font-size: 12px; text-align: left; border: 0px solid 00000; overflow: auto; padding: 4px;"&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt; &amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Bug in the COL tag&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt; &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;colgroup span=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;col style=&amp;quot;background:red&amp;quot;&amp;gt;&amp;lt;col style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;lt;col style=&amp;quot;background:blue&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;/colgroup&amp;gt;&lt;br /&gt;  &amp;lt;tbody&amp;gt;&lt;br /&gt;   &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hello&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;hi&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;goodbye&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hello&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;hi&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;goodbye&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;   &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hello&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;hi&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;goodbye&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;   &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hello&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;hi&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;goodbye&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;   &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hello&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;hi&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;goodbye&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;/tbody&amp;gt;&lt;br /&gt; &amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;/div&gt;&lt;br /&gt;I submitted the bug to Mozilla, so hopefully someone takes a look at it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-8738045870180532481?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/8738045870180532481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=8738045870180532481' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/8738045870180532481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/8738045870180532481'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/09/bug-in-colgroup-tag-in-firefox.html' title='Bug in colgroup tag in Firefox'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-3255367299805741307</id><published>2008-02-18T13:49:00.003-05:00</published><updated>2008-02-18T13:52:33.352-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cygwin'/><title type='text'>cygwin's find</title><content type='html'>One problem I've found with putting cygwin\bin on the path is that it occasionally overlaps with some other command on the path. I had this happened with find and didn't realize that Windows had its own find command that was taking precedence, until I found &lt;a href="http://www.cygwin.com/ml/cygwin/2007-09/msg00430.html"&gt;this&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It seems that the only way around the problem is to fully qualify the path to cygwin\bin\find, which isn't a terrible solution, just inconvenient. At least now I can use a proper UNIX find on Windows.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-3255367299805741307?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/3255367299805741307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=3255367299805741307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/3255367299805741307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/3255367299805741307'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/02/cygwins-find.html' title='cygwin&apos;s find'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-7720416622441621026</id><published>2008-02-11T23:12:00.000-05:00</published><updated>2008-02-11T23:18:10.579-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='exploit'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Linux Kernel 2.6 local root exploit</title><content type='html'>I tried out this &lt;a href="http://it.slashdot.org/article.pl?sid=08/02/10/2011257"&gt;exploit&lt;/a&gt; in a few places. Most other networks I'm on are using something like Red Hat, as opposed to something like Ubuntu or Debian.&lt;br /&gt;&lt;br /&gt;I was definitely able to break into a few Ubuntu boxes using it. Fortunately you can only get in through a user account on the system, so you really only need to fear the users already on your system, unless someone happens to compromise one of those user accounts. Still, I consider this an egregious exploit, and I'm surprised it went as long as it did without someone fixing vmsplice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-7720416622441621026?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/7720416622441621026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=7720416622441621026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/7720416622441621026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/7720416622441621026'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/02/linux-kernel-26-local-root-exploit.html' title='Linux Kernel 2.6 local root exploit'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-1324019100302392197</id><published>2008-02-08T20:19:00.002-05:00</published><updated>2008-02-13T19:11:50.185-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='nautilus'/><title type='text'>Ubuntu accessing folders and files</title><content type='html'>I click on mp3 files and the orange music note icon turns into a white page with a fold on it. The file won't open.&lt;br /&gt;&lt;br /&gt;If I click on a folder it says:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The folder contents could not be displayed. Sorry, couldn't display all the contents of "foldername".&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It should be noted that this happened soon after I had problems with Totem Movie Player, which doesn't like it when I try to change the position in a music file.&lt;br /&gt;&lt;br /&gt;It's hard to say which piece of software is at fault.&lt;br /&gt;&lt;br /&gt;Update: I later decided to search around and found out this is actually a problem with nautilus&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-1324019100302392197?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/1324019100302392197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=1324019100302392197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/1324019100302392197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/1324019100302392197'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/02/ubuntu-accessing-folders-and-files.html' title='Ubuntu accessing folders and files'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-7332976912183772147</id><published>2008-02-01T19:19:00.000-05:00</published><updated>2008-02-01T19:22:54.334-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu x11 problems</title><content type='html'>Ubuntu had gone into screen saver mode. I moved my mouse, but instead of ending the screen saver, the screen saver froze. However, I could see my mouse pointer, and move it around. There was no response to any keyboard or mouse input, so I did a hard restart.&lt;br /&gt;&lt;br /&gt;When the login screen came up, I tried my username and password. I accidentally put in the wrong password and the screen froze, so I tried CTRL + ALT + BACKSPACE. Now I have a screen that says:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The greeter application appears to be crashing. Attempting to use a different one.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I pushed ok a few times and finally it got out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-7332976912183772147?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/7332976912183772147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=7332976912183772147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/7332976912183772147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/7332976912183772147'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/02/ubuntu-x11-problems.html' title='Ubuntu x11 problems'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-1038373706363434909</id><published>2008-02-01T15:44:00.000-05:00</published><updated>2008-02-01T19:24:45.682-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='django'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Django</title><content type='html'>I installed Python 2.5.1, a pretty painless process other than uninstalling the Cygwin version of Python.&lt;br /&gt;&lt;br /&gt;Then I downloaded the MySQLdb package, the Python interface to MySQL. Also painless.&lt;br /&gt;&lt;br /&gt;Next I downloaded Django-0.96.1 and ran setup.py install and I got this error:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;C:\Django-0.96.1&gt;setup.py install&lt;br /&gt;running install&lt;br /&gt;running build&lt;br /&gt;running build_py&lt;br /&gt;error: package directory '\django' does not exist&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;People have reported this multiple times to the Django Project, and they don't consider it a &lt;a href="http://code.djangoproject.com/ticket/4838#comment:1"&gt;bug&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I don't know what else I would call it when an official release has an installation script that doesn't even work. If it was me, I would have file the problem as a deployment bug, added the solution to the bug, and pointed any further questions there.&lt;br /&gt;&lt;br /&gt;Regardless, I did downloaded the dev version from svn and copied over MANIFEST.in and setup.py, and the installation worked.&lt;br /&gt;&lt;br /&gt;So far I've made it through the first tutorial. The console mode is interesting but I don't know how likely I would be to use that. It seems like a lot of work to learn all those new commands when I already know sql.&lt;br /&gt;&lt;br /&gt;The model creation system seems nice, I like how it shows me the actual SQL it's using before it executes the command.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-1038373706363434909?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/1038373706363434909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=1038373706363434909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/1038373706363434909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/1038373706363434909'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/02/django.html' title='Django'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-5572147694451866674</id><published>2008-02-01T15:23:00.000-05:00</published><updated>2008-02-01T15:44:20.852-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='cygwin'/><title type='text'>Cygwin deployment</title><content type='html'>Let me preface this by saying Cygwin is an excellent tool that has made my Windows slavery tolerable. The ability to have a full UNIX command line in Windows with very few bugs makes my life way better.&lt;br /&gt;&lt;br /&gt;The one place where I have problems with Cygwin is deployment. The installation program is very clever in that it lets you download a small executable, and then select which modules you want to install, not forcing you to download all the libraries. The problem comes in when you want to reinstall or uninstall a module. &lt;br /&gt;&lt;br /&gt;Today I needed to uninstall the Python inside Cygwin, as I was installing the Windows binary version of Python. I went to uninstall Python, and Cygwin tells me there's a dependency from some other module. Fine, I find the module, and I say I want to uninstall that too. I run the uninstall process, and Python is still there!&lt;br /&gt;&lt;br /&gt;I try to uninstall Python again, still nothing. Finally on the third try it uninstalls.&lt;br /&gt;&lt;br /&gt;I don't know what causes this, but I've had similar problems in the past. It's even worse when you have a really old version of Cygwin, and you try to install a bunch of new libraries. I had to deal with that a few years ago, and that was a nightmare.&lt;br /&gt;&lt;br /&gt;It's definitely improved in those few years, but it still has its problems.&lt;br /&gt;&lt;br /&gt;At least it's better than Windows Powershell, ug.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-5572147694451866674?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/5572147694451866674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=5572147694451866674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/5572147694451866674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/5572147694451866674'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/02/cygwin-deployment.html' title='Cygwin deployment'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-2372781829373266570</id><published>2008-01-14T15:36:00.000-05:00</published><updated>2008-01-14T16:20:31.186-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><title type='text'>The terrors of detecting Eclipse</title><content type='html'>I was trying to install Adobe Flex Builder 2 Plug-in for Eclipse along with the Flex SDK when I encountered a problem. I was confronted with a screen in the installer that said:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Please choose an existing Eclipse folder (3.1 or greater), to be updated with the Flex Builder 2 Plug-ins.&lt;br /&gt;&lt;br /&gt;This folder must contain the eclipse.exe file, and the standard Eclipse folder name "configuration".&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I chose the directory for my Eclipse 3.3.1.1 and got this error:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Please choose an existing Eclipse folder (3.1 or greater) to be updated. This folder must contain eclipse.exe and the standard folder named "configuration"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I found other people who had the problem on the &lt;a href="http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?catid=539&amp;threadid=1275715"&gt;Adobe Forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It seems like the only solution is to install an older version of Eclipse.&lt;br /&gt;&lt;br /&gt;This is not the first time I've had this problem with Eclipse. When I was experimenting with the Oracle BPEL Process Manager, I tried to install an Eclipse based plugin that would allow you to graphically create BPEL systems. I ran into the same exact error, and eventually had to install a second copy of an older version of Eclipse to get the plugin to install.&lt;br /&gt;&lt;br /&gt;I'm curious about the process a developer goes through to detect Eclipse. Based on the appearance of both of these installation programs I've seen, I assume they are both Java based. This makes me think they are using the same code base for their respective installers, and the person at fault is not Oracle or Adobe, but the person who wrote the Java installer, or the Eclipse foundation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-2372781829373266570?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/2372781829373266570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=2372781829373266570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2372781829373266570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2372781829373266570'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/01/terrors-of-detecting-eclipse.html' title='The terrors of detecting Eclipse'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-2554290617481257680</id><published>2008-01-10T14:18:00.000-05:00</published><updated>2008-01-14T16:12:23.164-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smtp'/><category scheme='http://www.blogger.com/atom/ns#' term='thunderbird'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Error sending messages in Thunderbird</title><content type='html'>The error is that Thunderbird refuses to send mail over SMTP, even though it can receive mail.&lt;br /&gt;&lt;br /&gt;When I tried to send email, Thunderbird spewed forth this error message:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Sending of message failed.&lt;br /&gt;The message could not be sent because connecting to SMTP server mail.mitre.org failed. The server may be unavailable or is refusing SMTP connections. Please verify that your SMTP server setting is correct and try again, or else contact your network administrator.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;After a few days of experimenting, checking every single setting in my Thunderbird profile, swearing mighty oaths, and cursing at my need to resort to using webmail, I finally found the answer.&lt;br /&gt;&lt;br /&gt;I rebooted.&lt;br /&gt;&lt;br /&gt;The problem went away.&lt;br /&gt;&lt;br /&gt;I have no idea why this has happened, twice. The first time I encountered the problem I ended up completely deleting my profile and reinstalling Thunderbird before I found the answer. I've only seen this problem on my Windows XP laptop at work, so it may be a problem with the Windows version of Thunderbird.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-2554290617481257680?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/2554290617481257680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=2554290617481257680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2554290617481257680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/2554290617481257680'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/01/error-sending-messages-in-thunderbird.html' title='Error sending messages in Thunderbird'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-8238427576955461011</id><published>2008-01-10T13:55:00.000-05:00</published><updated>2008-01-10T14:16:03.767-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tags'/><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='ctags'/><title type='text'>Vim tags</title><content type='html'>My favorite text editor is vi, specifically vim in window mode. I can write code and search through a single file much quicker than any other editor due to my memorization of vi's large and powerful command base. The only place vi is weak compared to a heavyweight IDE like Eclipse is when I need to look up the definition of some function I've called that is defined in a different file. The process of opening that file by typing out the entire path can be quite laborious.&lt;br /&gt;&lt;br /&gt;Today someone I work with generated tags for the project we're working on that are usable with vi. Though I'd heard about ctags in the past I never had time to sit down and really figure them out. When you combine the ctags Unix command, the taglist plugin for vim, some changes to your vimrc and a small vim script, you can easily get the same functionality as one of those heavy IDEs. Now I can simply put my cursor over the function or variable in question and type a key command to jump to the file and line containing the definition.&lt;br /&gt;&lt;br /&gt;Unfortunately, there is a learning curve to set up the tags, whereas Eclipse configures its internal tags for you automatically. However, I have noticed that if you don't originally create your project in Eclipse, the migration can often be a painful experience. Vi gives you the freedom in that it is not an environment that your project exists inside, but an editor which you use to view your project, however you may have set it up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-8238427576955461011?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/8238427576955461011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=8238427576955461011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/8238427576955461011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/8238427576955461011'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/01/vim-tags.html' title='Vim tags'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-6354520002353721090</id><published>2008-01-09T01:44:00.000-05:00</published><updated>2008-01-14T16:18:05.969-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='mongrel'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ruby on Rails + Ubuntu = Hostility</title><content type='html'>I was considering trying Ruby on Rails for a project I'm working on and decided to try and install it on Ubuntu.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;jfenwick@mars:~$ sudo gem install rails --include-dependencies&lt;br /&gt;Bulk updating Gem source index for: http://gems.rubyforge.org&lt;br /&gt;ERROR:  While executing gem ... (Gem::GemNotFoundException)&lt;br /&gt;    Could not find rails (&gt; 0) in any repository&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I did some searching on the internet and found that the gem server randomly can't find gems, but if you try again later it works. Eventually I did get the rails gem and its dependencies installed, but now the second major problem. I attempted to create an application skeleton and got:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;jfenwick@mars:~/projects$ rails foo&lt;br /&gt;The program 'rails' is currently not installed.  You can install it by typing:&lt;br /&gt;sudo apt-get install rails&lt;br /&gt;bash: rails: command not found&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Did some more searching, found that if you install gems using apt-get there are permissions problems. So I removed gems, go back to the rails site, download gems, try to install it and get:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;jfenwick@mars:~/Desktop/rubygems-1.0.1$ ruby setup.rb&lt;br /&gt;mkdir -p /usr/local/lib/site_ruby/1.8/rbconfig&lt;br /&gt;/usr/lib/ruby/1.8/fileutils.rb:243:in `mkdir': Permission denied - /usr/local/lib/site_ruby/1.8/rbconfig (Errno::EACCES)&lt;br /&gt;        from /usr/lib/ruby/1.8/fileutils.rb:243:in `fu_mkdir'&lt;br /&gt;        from /usr/lib/ruby/1.8/fileutils.rb:217:in `mkdir_p'&lt;br /&gt;        from /usr/lib/ruby/1.8/fileutils.rb:215:in `reverse_each'&lt;br /&gt;        from /usr/lib/ruby/1.8/fileutils.rb:215:in `mkdir_p'&lt;br /&gt;        from /usr/lib/ruby/1.8/fileutils.rb:201:in `each'&lt;br /&gt;        from /usr/lib/ruby/1.8/fileutils.rb:201:in `mkdir_p'&lt;br /&gt;        from /usr/lib/ruby/1.8/fileutils.rb:1527:in `mkdir_p'&lt;br /&gt;        from setup.rb:88&lt;br /&gt;        from setup.rb:85:in `each'&lt;br /&gt;        from setup.rb:85&lt;br /&gt;        from setup.rb:82:in `chdir'&lt;br /&gt;        from setup.rb:82&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Weak.&lt;br /&gt;&lt;br /&gt;I found this site, it helped a lot: &lt;a href="http://www.urbanpuddle.com/articles/2007/05/09/install-ruby-on-rails-on-ubuntu-feisty-fawn"&gt;urbanpuddle&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I tried to install Mongrel I got this error:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;jfenwick@mars:~/projects/foo$ sudo gem install mongrel&lt;br /&gt;Building native extensions.  This could take a while...&lt;br /&gt;ERROR:  Error installing mongrel:&lt;br /&gt;        ERROR: Failed to build gem native extension.&lt;br /&gt;&lt;br /&gt;/usr/bin/ruby1.8 extconf.rb install mongrel&lt;br /&gt;extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)&lt;br /&gt;        from extconf.rb:1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/fastthread-1.0.1 for inspection.&lt;br /&gt;Results logged to /usr/lib/ruby/gems/1.8/gems/fastthread-1.0.1/ext/fastthread/gem_make.out&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This was my fault as I hadn't installed the ruby1.8-dev package. However, I still think the process of finding which packages you need to install through apt-get, and which ones you have to install through gems is maddening.&lt;br /&gt;&lt;br /&gt;During my searching I came across a person who had my problem with Mongrel, and someone asked if they were &lt;a href="http://www.ruby-forum.com/topic/81586"&gt;"on Debian or something equally hostile to Ruby".&lt;/a&gt; I feel that's a fair judgment, getting Rails to work on Ubuntu has been pretty laborious.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-6354520002353721090?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/6354520002353721090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=6354520002353721090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/6354520002353721090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/6354520002353721090'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2008/01/i-was-considering-trying-ruby-on-rails.html' title='Ruby on Rails + Ubuntu = Hostility'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-115886552699339414</id><published>2006-09-21T14:02:00.000-05:00</published><updated>2006-09-21T14:05:27.003-05:00</updated><title type='text'>I hate .tag files</title><content type='html'>I've been trying to learn how to use tags, and .tag files. After working for a few hours at trying to build some complicated .tag files, I finally gave up on that and decided I was going to move the code into some SimpleTagSupport classes. But before I actually did the move, I decided to try and do some reorganizing, so I started refactoring existing tags into different packages, and pretty soon it just became a big ugly mess. I ended up just deleteing my version of the repository and now I'm checking it back out rather than try and untangle the cluster I made.&lt;br /&gt;Bleh.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-115886552699339414?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/115886552699339414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=115886552699339414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/115886552699339414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/115886552699339414'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2006/09/i-hate-tag-files.html' title='I hate .tag files'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-115446387615839337</id><published>2006-08-01T14:19:00.000-05:00</published><updated>2006-08-01T22:41:33.350-05:00</updated><title type='text'>Adobe Flex 2.0 - First Impressions</title><content type='html'>&lt;p&gt;&lt;br /&gt;A representative from Adobe came to our company today and gave us a demo of Flex 2.0. What is Flex 2.0? Flex 2.0, in all it's Web 2.0 bandwagon jumping glory, is a way to make programming Flash SWF files programmatical, instead of a mouse driven mechanism. In case you've been living under a rock, Flash is a webrowser plugin that lets the user download precompiled binary programs that up until now were primarily used to play vector graphics movies. Now people have used them for numerous tasks, from rich client interaction to embeded movies. The evolution towards the use for Flash for more complex applications seemed quite painful. The developer needed to know ActionScript, the Flash Professional user interface, and a host of other protocols inside the the UI to link it with external data sources. Flex seeks to alleviate some of this pain for developers.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;The Flex language, MXML, is XML based, and seems syntactically very similar to JSP. In fact, I believe Flex 1.0 was just a tag library for use in JSPs. However, unlike JSP, it doesn't compile at runtime, you compile it into the binary SWF file.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;The other positive that I got out of the presentation is that you can use the Flex SDK without paying a licensing fee. This should open the door for many developers who want to use Flash for its capabilities as a user interface rather than as a medium for movies.  These developers will no longer be hampered either by their extreme dislike for developing using a mouse, or by their lack of funding required for the $700 Flash license.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;However, Adobe installed some trap doors. As with Flash, there are tools you can buy from Adobe to build software for Flex. The two products are Flash Builder and Flash Data Services.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;Flash Builder is a tool that seems to fill much the same roll as the original Flash software, giving you an IDE where you can build your Flex software. It's based on Eclipse, but the dragging and dropping reminds me of the horrors of working on a Java Swing project under NetBeans. This tool has a licensing fee of $499. That's not all that bad, I could probably live without that.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;The other program is Flash Data Services. This allows you to connect to web services, Java, or set up a messaging service similar to JMS. The basic version comes free, but it won't scale at all, if you want the scalable enterprise version it's $20,000 a CPU. Um, ouch. 20K is twice as much as an enterprise level BEA WebLogic.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;There are some other, more hidden prices. These prices are vendor lock in, proprietary software, a false sense of platform independence, and a false sense of security.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;Flash seeks to get rid of all the standards that the web is based on. Though all the standards like HTML, Forms, Javascript, REST, and web services can be made to interoperate with Flex, Adobe would like to make them all go away. All demos we were shown showed Flex as the soul environment, I didn't see any demoing of interoperation with other services.  At least if I go with a Java platform for my enterprise integration there is a good chance all my software will work together.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;I'm not a total flaming free software advocate, but I do tend to prefer at least open source. When something is open source, I can see what's going on. How can you trust the software if you don't know what it's doing? I understand their reasoning for not wanting to expose the code for their SDK or the Data Services, but I think that if Sun could work it out then so could Adobe. Sun successfully made the JDK open source without too much forking between the Sun, IBM, and Apple version of the JDK. I feel like Sun has always had more of a community process than Adobe ever has.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;The Flash player is ubiquitous on Windows and Mac, but it's alwas two version behind in Linux, and it doesn't even work on BSD. The rep said they weren't planning on changing this any time soon, because the market for Linux just wasn't big enough to financially affect them. That's just kind of an annoyance for me personally, as I'm a *nix user, whether it be Solaris or Linux or BSD. I would be more concerned about whether the Flash Data Services will run on anything other than Windows PC. The rep didn't go into this and I wasn't mindful enough to ask. Being forced to use Windows 2003 as the app server for Flash Data Services would be a big turnoff for me, and I think it would be for a lot of the market, as Linux machines have taken a fairly dominant role in the server market.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;The rep seemed very sure of the security in Flex. "When was the last time you heard of an exploit in running wild in CNN due to Flash? Unlike IE, where there are constantly security flaws." While it's true that Flash hasn't had problems with security at this point, we'll see how it holds up once Flex starts being used more extensively. There are always holes, people will start interoperating their Flex with other parts of the web, and bugs will creep in. The only way to avoid it might be to make your entire site Flex based, and that brings us back to vendor lockin.&lt;br /&gt;&lt;p/&gt;&lt;br /&gt;So would I use Flex? For the average web page, probably not. For a rich client experience, maybe. Comparing Flex to the alternatives, there's Applets, XAML, XUL, Ajax, and I'm sure there's other but that's all I can think of. Applets I'm sick of, XAML no thanks, and XUL only works on one browser. I think Ajax is probably the best bet for avoiding vendor lockin. The problem is that a lot of designers have been whining about needing to build widgets in Ajax that already exist in Flash. They might deserve come credence on those complaints. However, I still feel that the problems with Flex that I pointed out still stand, and I probably won't be using it any of my official projects. Despite this fact, I still plan on giving it a try in the near future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-115446387615839337?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/115446387615839337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=115446387615839337' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/115446387615839337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/115446387615839337'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2006/08/adobe-flex-20-first-impressions.html' title='Adobe Flex 2.0 - First Impressions'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31985624.post-115440754873239778</id><published>2006-07-31T23:45:00.000-05:00</published><updated>2006-07-31T23:45:48.740-05:00</updated><title type='text'>This is a test</title><content type='html'>Ping? PONG!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31985624-115440754873239778?l=jacobfenwick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jacobfenwick.blogspot.com/feeds/115440754873239778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31985624&amp;postID=115440754873239778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/115440754873239778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31985624/posts/default/115440754873239778'/><link rel='alternate' type='text/html' href='http://jacobfenwick.blogspot.com/2006/07/this-is-test.html' title='This is a test'/><author><name>Jacob Fenwick</name><uri>http://www.blogger.com/profile/17874047840305641295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
