Wednesday, December 30, 2009

Media Center Todo List

Try to get pvTivo to work w/ my series2 tivo or buy Tivo Desktop pro version.
Try out TVersity.
Try out latest Myth release.
If I like the latest version of Myth, buy a Command Mini IR blaster or go nuts and build one w/ an arduino.

Friday, December 11, 2009

SugarCRM License Nonsense

If you get the message "This copy of the SugarCRM customer relationship management program appears to have legal notices or author attributions modified or removed in violation of the GNU General Public License version 3. Please contact SugarCRM Inc. to correct this problem."

Try installing php-mbstring and ignoring the guy who work for Sugar who's only solution is to undo the modifications that you never made because you're still displaying their logos even though you think it is a GPLv3 violation to require logo/footer display to end users.  That reaction sure didn't make me want to pay for the pro support. 

Monday, November 23, 2009

I Want a Dual WAN Router Roundup

I need a comparison review between different brands and models or routers that support multiple WAN interfaces.  So far I can only find individual reviews or about 50 million people telling me to use pfSense.  That's great, but a pfSense computer would be expensive.

Sunday, November 22, 2009

Using s3fs with centos and https

There are several s3fs projects, this is the one I'm using:

When I tried to connect in Centos to the filesystem while using an https url, I got the message:
ls: reading directory /mnt/s3: Input/output error
And in /var/log/messages:
Nov 22 15:02:57 host s3fs: init $Rev: 177 $
Nov 22 15:03:01 host s3fs: ###problem with the SSL CA cert (path? access rights?)
Nov 22 15:03:01 host s3fs: ###retrying...
Nov 22 15:03:01 host s3fs: ###problem with the SSL CA cert (path? access rights?)
Nov 22 15:03:01 host s3fs: ###retrying...
Nov 22 15:03:01 host s3fs: ###problem with the SSL CA cert (path? access rights?)
Nov 22 15:03:01 host s3fs: ###retrying...
Nov 22 15:03:01 host s3fs: ###giving up
Nov 22 15:03:05 host s3fs: destroy

Based on a message on that google code page, I added the slightly different than suggested function call:
curl_easy_setopt(curl, CURLOPT_CAINFO, "/etc/pki/tls/certs/ca-bundle.crt");
which took care of the errors.  Then it mostly worked.  Although there are still random failures so I'm trying s3backer next.

Friday, November 20, 2009

10.2 Miles

Decent run.

Elev. Avg:
11 ft
Alexandria, VA
Elev. Gain:
+0 ft
04:08 PM
2.7 / 5.0

Mostly Cloudy

55 F temp; 48% humidity

55 F heat index; winds NW 8
10.20 miles

7.0 mph

8' 35 /mi



Elevation (ft)

Pace (min/mile)

Pace (min/mile)
Speed (mph)
+/- avg
+/- avg
8' 00
-0' 35
+6 ft
8' 20
-0' 15
+14 ft
8' 27
-0' 08
-27 ft
8' 45
+0' 10
+9 ft
8' 41
+0' 06
-7 ft
9' 06
+0' 31
-6 ft
8' 47
+0' 12
+19 ft
8' 38
+0' 03
-6 ft
7' 50
-0' 45
-7 ft
8' 53
+0' 18
0 ft
8' 47
+0' 12
+3 ft
Versus average of 8' 35 min/mile

Posted from

Thursday, November 19, 2009

Using Jackrabbit with Oracle, JNDI, and Tomcat

This took me weeks to figure out completely, but I think this is the simplest possible solution unless you want to just put the connection info in your jackrabbit xml config directly.  I'm using Jackrabbit 1.5 instead of 1.6 because that's the version in Liferay 5.2.3 and I didn't want to upgrade besides getting the latest point release.  I tried the patch at but had problems since it's for an older Jackrabbit and I wasn't interested in debugging it.  I tried the instructions at but they weren't sufficient since Oracle threw a ClassCastException when jackrabbit tried to create blobs using the DBCP pooled database connection classes.  I tried working around those exceptions with overly complicated class reflection code in the OracleFileSystem but that was a waste of time.  Then I looked at the Oracle JDBC driver javadoc and noticed that they have their own DataSource pooling classes that return Oracle Connection objects which should work with Oracle's blob code.

I did this with version of the Oracle JDBC driver (ojdbc14.jar).
  1. Patch Jackrabbit. 
    1. Download the source, open jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/

      if (user == null && password == null) {

      if ((user == null && password == null) || (user.length() == 0 && password.length() == 0)) {

      The goal is to rely on the JNDI Resource to define the username and password instead of expecting them in jackrabbit's repository.xml.  This breaks the (useless) case where you actually want to use both a blank username and password for your database connection.  So don't do that.  Otherwise it should still work with both non-JNDI style and JNDI datasources.
    2. Run "mvn install" or "mvn package" in the root jackrabbit source directory.  For me, it didn't matter which command I used since Liferay doesn't get built with maven so I had to manually copy the modified jackrabbit jars to the lib/portal folder regardless.  If you're using maven on your project, do "mvn install" and skip the next step
    3. If you're not using maven, find the new jackrabbit jars you built and copy them to your project (jackrabbit-core-1.5.7.jar / jackrabbit-core.jar is the only one we changed, but I grabbed all the ones already in Liferay for good measure)
  2. Define your DataSource in the tomcat config (I mostly stole this part from Gregg Lagnese, of MicroDeveloper, Inc ).  The key here is to use Oracle's DataSource and Factory classes to avoid the ClassCastException I mentioned in the introduction paragraph above.
    1. Either in tomcat's server.xml or your application's context.xml add a resource

      <Resource name="jdbc/JackrabbitPool"
        url="jdbc:oracle:thin:<schema>/<password>@<server>:<port>:<instance>"  />
      Attempts to put the username and password as separate attributes from the url (aka the standard way of doing it) failed.  It has to be in the url to work.
    2. Liferay specific note: I had to specify separate resources for Jackrabbit and Liferay since Liferay had problems with the Oracle DataSource class.  That wasn't a big deal to me since I'd rather have my database connection info appear twice in context.xml instead of appearing once in context.xml, again five or six times in repository-ext.xml, and then in repository.xml and workspace.xml once Liferay is deployed.
  3. Edit repository.xml (Liferay people edit ext-impl/src/com/liferay/portal/jcr/jackrabbit/dependencies/repository-ext.xml)
    1. Set the driver classes to javax.naming.InitialContext
    2. Set the urls to "java:comp/env/jdbc/JackrabbitPool"
    3. Use the Oracle specific classes:
    4. Save/deploy.  If you're using Liferay don't forget to delete tomcat\data\jackrabbit so your old version of repository.xml doesn't linger and make you think it's working when it isn't.
That's it.  Let me know if you tried it and how it went.  This should also work for JBoss application server and probably all of the other J2EE servers that either fork or use Tomcat.

Monday, November 16, 2009

Cygwin Awk Error

If you run awk and get the message "ntvdm encountered an error", see this post

The blog said to remove c:\cygwin\bin\awk.exe and create the file c:\cygwin\bin\awk.bat with the contents:
c:\cygwin\bin\gawk.exe %*
 And the error is gone.

Thursday, November 12, 2009

Upgrading Eclipse

I avoid upgrading Eclipse as much as possible because I hate losing my third party plugins (subversion really should be part of the default package now).  What a pain in the butt upgrades are.  It should take two seconds, not twenty minutes.

Monday, November 02, 2009

Windows 7 Random Wake Ups

What a pain in the butt to have your computer randomly turn on in the middle of the night.  I though that this might be a solution, but it didn't work.  I find that my computer only wakes itself up when I hibernated it but didn't shut it down.  Very strange and annoying.  At least it boots somewhat fast if you choose shut down instead of hibernate.

Monday, October 19, 2009

Testing with JavaMail

Does anybody know a way to quickly configure a JNDI mail resource to write mail as files on your local machine (eg sendmail) instead of actually sending email so we can test without inadvertently spamming people if our other steps to prevent that didn't work (removing real emails from the development database)?  That would be great.

Update: This thread lists several good options.  Dumbster and Papercut look simplest/best

Friday, October 16, 2009

Apache Geronimo First Impressions

Their error messages bite.  I had to manually check every single port they had configured by default for other listening programs because I couldn't tell what port number was causing a problem that prevented me from starting it.
Also, the "Set it up as a windows service" instructions stink too.

Friday, October 02, 2009

Liferay Trunk

For what it's worth, I wish Liferay had a continuous build server (Hudson or CruiseControl or whatever Atlassian offers) so bleeding edge users could know which subversion revision last worked without problems.

(It does.  Read the comments.)

Sunday, September 27, 2009

Windows 7 ReadyBoost

It's ok, I guess.  It's faster (because I installed it on a faster computer).  But I tried to setup a 16GB usb flash drive as a readyboost drive and it took me a while to get straight.  First, since I had been using the drive with Linux, most of it was extfs3 formatted and windows happily formatted the last 200MB and wouldn't tell me why the friggin drive capacity didn't match.  Then, when I found that I could open Computer Management (Right click My Computer) to get a disk management screen that let me delete the linux partition, it wouldn't let me delete the stupid 200MB windows partition it had made.  So I had to use diskpart in a dos prompt to do it.  Finally, I was able to format the whole 16GB drive (as a 15.04GB drive).  But it wouldn't work with readyboost even though it's a recent purchase USB 2.0 drive.  Turns out that NTFS formatted, it was too slow, but exFat it was fine.  So I finally have my flash cache and booting should be quick. 

I still would rather have used Linux but I want a few windows only features and I chose the wrong hardware.  Turns out supporting AMD because they're releasing open source graphics drivers was the wrong plan.  I should have supported NVidia because they release graphics drivers that don't suck.  Also, I really wanted to stream Netflix.  If that's ever possible on Linux again, I'll switch back.

Tuesday, September 22, 2009

DC Antiscalping Laws DC AG Response

This is part of a response to an inquiry to the DC Attorney General's Office asking what specific law forbids scalping.

You may review the DC Municipal Regulations
online by visiting the DC government, Office of the Secretary website.,a,1207,q,522392.asp|31372|

While nothing in this correspondence should be construed as legal advice, you will find the following:
Chapter 24 DC Municipal Regulations
500.5 No person shall sell or offer to sell tickets from the sidewalks,
streets, or public spaces anywhere in the District of Columbia for any
excursion, theatrical performance, opera, ball game, or any
entertainment of any kind.

We would like you to know that the Attorney General for the District of
Columbia, like the state attorneys general, serves as a lawyer for the
District of Columbia government. In that capacity, the Attorney General
represents the District of Columbia, the Mayor, and various District
government agencies, officials, and employees in litigation. The
Attorney General also provides legal advice and transactional assistance
to the government, its agencies, and officials. However, the Attorney
General is generally without authority to represent private individuals
in litigation, to provide legal advice to private citizens, or to
conduct legal research on their behalf. 

Summary: Read DC Code Title 24, Chapter 5, Section 500.5.  The quotation above is accurate.

Route:--Elev. Avg:15 ft
Location:Alexandria, VAElev. Gain:+0 ft
Date:09/22/09Up/Downhill: [+137/-137]
Time:07:10 AMDifficulty:1.9 / 5.0
 68 F temp; 90% humidity
 68 F heat index; winds Calm

Distance: 5.73 miles
Speed:6.8 mph
Pace:8' 47 /mi
I saw a duck dip into Four Mile Run and stay under for about 3 minutes. It was awesome. That's what the discontinuity is in the pace graph.
Elevation (ft)
Pace (min/mile)
MilePace (min/mile)Speed (mph)Elevation
actual+/- avgactual+/- avg
18' 44-0' 036.9+0.00 ft
27' 54-0' 537.6+0.80 ft
38' 56+0' 096.7-0.1+23 ft
48' 05-0' 427.4+0.6-23 ft
59' 38+0' 516.2-0.6+4 ft
end8' 54+0' 076.7-0.1-4 ft
Versus average of 8' 47 min/mile

Posted from

Saturday, September 19, 2009

Had to turn around because of flooding.

Route:--Elev. Avg:21 ft
Location:Alexandria, VAElev. Gain:+0 ft
Date:09/18/09Up/Downhill: [+226/-226]
Time:07:27 AMDifficulty:2.4 / 5.0
 65 F temp; 83% humidity
 65 F heat index; winds S 8

Distance: 6.99 miles
Speed:6.7 mph
Pace:8' 59 /mi
Elevation (ft)
Pace (min/mile)
MilePace (min/mile)Speed (mph)Elevation
actual+/- avgactual+/- avg
18' 50-0' 096.8+0.10 ft
26' 46-2' 138.9+2.2+10 ft
39' 08+0' 096.6-0.1-10 ft
49' 24+0' 256.4-0.3+29 ft
510' 03+1' 046.0-0.7+10 ft
69' 34+0' 356.3-0.4-39 ft
end9' 08+0' 096.6-0.10 ft
Versus average of 8' 59 min/mile

Posted from

Monday, August 31, 2009

Alive Again

I brought back to life my old Shuttle SN85G4 v3 with a noisy new power supply that I finally got around to installing after nibbling out just enough space for it to fit (even though it's resting on my ram's heatsinks I think it'll be ok).  It's been 450 days since my last backup it tells me.  Everything is very very old.  Windows update won't even run.  Sooooo old.  Soooo loud.  Louder than before. 

Friday, August 14, 2009


I setup a new computer w/ a BIOSTAR TA790GX XE. I was able to install
the OS just fine, but now I can no longer boot to a CD even though I
didn't change the hardware at all. It doesn't show up in the BIOS
boot order menu at all. It's just a major hassle.

Thursday, July 30, 2009

My leg is kinda hurting now.

Route:--Elev. Avg:0 ft
Location:Alexandria, VAElev. Gain:+0 ft
Date:07/29/09Up/Downhill: [+0/-0]
Time:06:29 AMDifficulty:0 / 5.0
 77 F temp; 81% humidity
 80 F heat index; winds S 9

Distance: 8.65 miles
Speed:6.0 mph
Pace:9' 58 /mi
Elevation (ft)
Pace (min/mile)
MilePace (min/mile)Speed (mph)Elevation
actual+/- avgactual+/- avg
18' 06-1' 527.4+1.4-- ft
29' 47-0' 116.1+0.1-- ft
39' 39-0' 196.2+0.2-- ft
49' 50-0' 086.1+0.1-- ft
510' 34+0' 365.7-0.4-- ft
69' 37-0' 216.2+0.2-- ft
713' 14+3' 164.5-1.5-- ft
89' 16-0' 426.5+0.4-- ft
end13' 21+3' 234.5-1.5-- ft
Versus average of 9' 58 min/mile

Posted from

Tuesday, July 28, 2009

What's Up With Firebug?

It's getting complicated and when I try to mess with CSS and the HTML DOM I find that what I type gets magically disappeared as soon as I hit enter.  I feel like I should got back several releases to get my functionality back.  I've even used the IE Web Developer Toolbar a few times in the last month when I couldn't get a job done quickly with Firebug.

Friday, July 10, 2009

Bill Versus the Tornado

My idea was always just to drop really large bombs into the eye of hurricanes.  It seems easier and safer than messing w/ ocean temperatures.

Bill Gates wants to stop hurricanes.

Tuesday, July 07, 2009


Plugin does not have a dash or a hyphen in it.  It never has and never will.  All spell checker software is wrong.

Thursday, July 02, 2009

I did this in lieu of a hills workout. Next time, I'll sprint the 400s. It still worked to work out the stiffness though.

Route:--Elev. Avg:8 ft
Location:Alexandria, VAElev. Gain:+0 ft
Date:07/02/09Up/Downhill: [+147/-147]
Time:06:37 AMDifficulty:1.9 / 5.0
Weather:Partly Cloudy
 68 F temp; 81% humidity
 68 F heat index; winds Vrbl 5

Distance: 6.44 miles
Speed:6.1 mph
Pace:9' 49 /mi
Elevation (ft)
Pace (min/mile)
MilePace (min/mile)Speed (mph)Elevation
actual+/- avgactual+/- avg
18' 59-0' 506.7+0.6-4 ft
28' 40-1' 096.9+0.8+10 ft
310' 26+0' 375.8-0.4-17 ft
410' 50+1' 015.5-0.6+6 ft
59' 37-0' 126.2+0.1-7 ft
610' 09+0' 205.9-0.2+7 ft
end9' 07-0' 426.6+0.5+3 ft
Versus average of 9' 49 min/mile

Posted from

Tuesday, June 23, 2009

Route:--Elev. Avg:20 ft
Location:Alexandria, VAElev. Gain:-3 ft
Date:06/23/09Up/Downhill: [+111/-114]
Time:08:21 PMDifficulty:2.0 / 5.0
Weather:Mostly Cloudy
 75 F temp; 71% humidity
 78 F heat index; winds S 5

Distance: 4.00 miles
Speed:6.6 mph
Pace:9' 07 /mi
Elevation (ft)
Pace (min/mile)
MilePace (min/mile)Speed (mph)Elevation
actual+/- avgactual+/- avg
18' 40-0' 276.9+0.30 ft
29' 23+0' 166.4-0.2+20 ft
39' 07+0' 006.6-0.00 ft
48' 56-0' 116.7+0.1-23 ft
end********** ft
Versus average of 9' 07 min/mile
** Insufficient data to calculate this split

Posted from