October 5, 2006

Theme Encapsulation Nearly Complete    [ Geek Stuff ]

I made another large commit today which basically finishes off the theme encapsulation work that I had scheduled for the upcoming Roller 3.1 release.

The proposal is basically meant as part 1 in a more complete plan to improve the overall theme support in Roller. This first step makes it so that themes are now fully encapsulated so that they no longer reference shared resources ouside of the scope of the weblog using the theme. The second part will be the fun part, which will actually include full import/export support for weblog themes so that it will be *much* easier to share themes between weblogs.

The one very nice side benefit that comes out of this inital work is that we've added support for true hierarchical management of resources uploaded to weblogs. So you can now organize your file uploads in folders =)

Posted by agilliland at 10:15 PM | Permalink | Comments (0) | TrackBack

January 3, 2006

Motorola Razr v3c    [ Geek Stuff ]

Yesterday I decided it was time for a phone upgrade, and since I was eligible for new phone discount from Verzion I stopped in the store to pick up one of the new Razr v3. Mine is actually a steel grey which looks much better than the silver one in that picture.

The Razr pretty much whips my old phones ass in all areas, except that I don't particularly like the way it's shaped when it's open. My old phone seemed more ergonomic in the way that it angled between my ear and mouth while I was using it, the Razr isn't as good about that. The other bizarre thing I noticed is that right after getting the phone the time would not stay current and would always show the last time I used the phone. A little googling seems to have fixed that problem though, apparently there was some kind of software bug? More info here. It's pretty sweet that you can just dial *228 and get your phone software updated. Very slick.

Probably the most shocking thing so far is how good the video on the phone looks. Verizon is giving a 1 month free trial on their Vcast service so I signed up and have been trying it out. It's actually really cool! It drains the battery pretty quickly, but oh well. I'm sure as the phones keep getting better and more and more video content comes online that will be a pretty standard service in a year or two.

Two thumbs up for the Razr from me.

Posted by agilliland at 2:38 PM | Permalink | Comments (0) | TrackBack

October 13, 2005

video ipod    [ Geek Stuff ]

I just read today that Apple is now planning an ipod that will be able to playback videos. I want to be excited about it, but my gut is telling me this is where Apple is going to strike out. They have a lot of momentum, but the portable video player market is much different than portable music and my guess is that they'll try to simply add video to the ipod photo and wind up with a misfire for one reason, screen size.

The current ipod photo doesn't have a big enough screen for watching videos. I have one myself and it's perfect for selecting music to play, but watching a two hour movie on a plane or in a car? naw, no thanks. They could try and fix this by making the screen bigger, but then you end up with a portable music player that is too big and clunky to really be considered pocket sized. I think it is this problem that keeps these two markets separate and will continue to do so.

A portable video player is not really meant to be a pocket sized (take it everywhere) type of device. It's meant to be as big and comfortable as possible while still being small enough that it doesn't feel cumbersome to lug it around. On the other hand a portable music player *is* meant to be as small, compact, and as portable as possible because with music people just want to stick the thing in their pocket. Different devices which suit different needs and i think that Apple will find themselves a sore loser if they think they can combine the two.

However, I will note that I could be mistaken about their intentions and perhaps (if they are smart) they will simply try and make new device which is larger than the current ipod photo which will act more like a portable media station that isn't really meant to be a pocket sized device. If Apple is truly smart, they would take the design of the PSP and just hack out the UMD and Flash card stuff and replace it with a hard drive. mmm.

Posted by agilliland at 3:23 PM | Permalink | Comments (1) | TrackBack

July 31, 2005

Oishii    [ Geek Stuff ]

Oishii. A nice little tool for watching what's popular over at del.icio.us found thanks to The Sect of Rama.

Posted by agilliland at 1:24 PM | Permalink | Comments (0) | TrackBack

July 19, 2005

easier quicksearches with firefox    [ Geek Stuff ]

So, I was just browsing around on Lifehacker and came accross a post which suggests and easier way of creating firefox quicksearches. All you have to do is find any search you want to use and simply right click on the search box and click the line that says "Add a Keyword for this Search." Then just fill out the details and you're good to go.

pretty sweet.

Posted by agilliland at 10:18 PM | Permalink | Comments (0) | TrackBack

January 27, 2005

Serving up file downloads using cgi and perl    [ Geek Stuff ]

Here's a fairly simple bit of code that I was suprised did not come up so quickly when I tried to search for it recently ...

So the idea is that you want to perform some level of processing/logic before allowing someone access to a download. You don't want to do the logic, then redirect them to the download, because a smart user could potentially discover the url directly to the download and bypass the logic. So instead, you serve up the file directly from your perl script in this case. Here's how ...

my $q = new CGI();

# perform any logic you need to do

use constant BUFFER_SIZE => 4_096;
my $buffer = "";

print $q->header(-type=>'application/download',-attachment=>'[filename for download]');

binmode STDOUT;

local *FILE;
open FILE, "[path to the real file]" or die "Cannot open file: $!";
while ( read( FILE, $buffer, BUFFER_SIZE ) ) {
    print $buffer;
}

close FILE;

to be more thorough you would set some other http headers, like the content length, etc.

Posted by agilliland at 9:33 AM | Permalink | Comments (0) | TrackBack

January 4, 2005

More Firefox Extensions    [ Geek Stuff ]

Seems like firefox extensions are multiplying like rabbits these days. Here's a couple new ones I just added today that are convenient if you use gmail or like to lookup words while you browse.

Dictionary Search - lets you simply highlight a word then right click and select "search dictionary". in true form, when you do this is opens a new tab in the background which searches whatever site you decide.

Gmail Notifier - this handy extension shows a little box at the bottom of the browser indicating how many new emails you have in your gmail account. this is very handy for me since i usually have a tab open to gmail at all times and this way is much easier.

Auto Copy - this is a nice one for non-*nix folk who don't have this by default. with this extension, everything that you highlight in firefox goes directly to your clipboard, meaning you don't have to hit "ctrl+c" first. This is one of those pet peeves I have about windows, the whole ctrl+c, ctrl+v thing is so wack. *nix style copy and paste is about 100 times more efficient and useful, why can't they change it?

Posted by agilliland at 1:42 PM | Permalink | Comments (0) | TrackBack

December 16, 2004

Secrets of Firefox 1.0    [ Geek Stuff ]

Head over to Jottings.com » Secrets of Firefox 1.0 for a great article that dives into the advanced configuration features of Firefox.

Posted by agilliland at 11:35 AM | Permalink | Comments (1) | TrackBack
Wikipedia Quicksearch    [ Geek Stuff ]

As suggested by Panos ...

http://en.wikipedia.org/wiki/Special:Search?search=%s
keyword: wp

allows you to search a huge and free wiki encyclopedia. pretty damn cool site and almost suprising that it has the support it does. i couldn't believe it when i tested out the quicksearch by looking up foobar and it actually has some good info. nifto.

Posted by agilliland at 10:47 AM | Permalink | Comments (0) | TrackBack

December 9, 2004

Del.icio.us Firefox Extension    [ Geek Stuff ]

Yet another cool firefox extension ... this one provides a handy integrated method to post links to your del.icio.us account.

http://delicious.mozdev.org/

Posted by agilliland at 5:15 PM | Permalink | Comments (0) | TrackBack

November 18, 2004

The Move to X.org X11    [ Geek Stuff ]

phew ... i just got done with a pretty big upgrade from the old xfree86 x11 implementation to the newly supported x.org x11 implementation. it really shouldn't have been a big deal, except for 2 things.

1, i use gentoo linux, so upgrading means compiling, and when its a big package like X that takes time. 2, for some reason the version gentoo wanted to compile was not working, so after a few failed builds i tried an older version before getting it to work.

along the way i had to hack, update, and modify a whole mess of other stuff, which has not left my system in a wacky state :( i supposed it's not a big deal, because i'll probably use this as an excuse to finally move to the new 2.6 kernel while i'm at it, but ultimately i just hate upgrades, i'm at the point now where i just like it when stuff works. period. *luckily* linux does just that. it takes a little extra effort to get it setup, but once it's going it's solid as a rock.

sleep time ...

Posted by agilliland at 1:05 AM | Permalink | Comments (1)

November 8, 2004

More libitunesdb    [ Geek Stuff ]

Got a little more work done on this library after getting some more info about how the smart playlists work so that i could figure out how to correctly parse them, etc. I've also started writing the processes of being able to write back out to the itunesdb file, but it's only working for a few of the record types right now.

libitunesdb.jar | source code | javadoc

Posted by agilliland at 10:22 PM | Permalink | Comments (0)

October 24, 2004

Java iTunesDB Library    [ Geek Stuff ]

So one little quirky feature that I've wanted to add to the website is a way to dump the contents of my iTunesDB file somwhere and make it browsable. Ultimately it seems like a fun thing to do to see what songs/playlists people have on their ipod, plus see how people rate their music.

After poking around a little I was disappointed to find that nobody had really written just a basic iTunesDB library package in java just for reading/writing the itunesdb format. There are a few applications that seem to be able to do it, but nobody has actually just packaged things as a simply library, so I decided to start such a library.

It's a bit crude right now, but it works. I'm also not too convinced that it handles all the options available in the current iTunesDB file properly, but that can be adjusted as time goes on. For now, here it is ...

libitunesdb.jar | source code | javadoc

This was done using these iTunesDB format specs.

There is still quite a bit of stuff left to do, mainly implementing the ability to write back to the file. If I can i'll put it up on sourceforge sometime and hopefully keep tweaking it a little here and there to keep it up to date with the format specs.

Posted by agilliland at 5:38 PM | Permalink | Comments (1)

October 10, 2004

Google SMS    [ Geek Stuff ]

Just yesterday I heard about the new Google SMS Service which allows people to send google sms messages using their cell phone and get responses about all kinds of useful stuff. So far the service is supposed to include the ability to lookup local buisness listings, phone book entries, froogle price quotes, dictionary definitions, and calculator.

Note though, I've been trying to use it all last night and this morning and I can't seem to get a response. Dunno why, but the thought of such a service is very intriguing.

Posted by agilliland at 2:06 PM | Permalink | Comments (3)

October 8, 2004

More Quicksearches    [ Geek Stuff ]

Over the course of the day I have been creating quicksearches from sites that i know i search periodically ... here's a few more which i find pretty handy.

Amazon.com/CDNow CD search
url: http://www.amazon.com/exec/obidos/search-handle-url/index=music&field-keywords=%s&store-name=music/002-3744742-0628811
keyword: cd

Amazon.com DVD search
url: http://www.amazon.com/exec/obidos/search-handle-url/index=dvd&field-keywords=%s&store-name=dvd/002-3744742-0628811
keyword: dvd

Internet Movie Database
url: http://www.imdb.com/find?tt=on;nm=on;mx=20;q=%s
keyword: imdb

Tv Tome (info about tv shows)
url: http://www.tvtome.com/tvtome/servlet/Search?searchType=all&searchString=%s
keyword: tv

enjoy.

Posted by agilliland at 4:41 PM | Permalink | Comments (2)
Firefox Quicksearches    [ Geek Stuff ]

I was playing around a bit with my browser bookmarks tidying them up and such, when i came accross the Quicksearch feature which I had never really investigated before. This is specific to firefox or mozilla, which you should be using already anyways ;)

So here's how it works. There is a folder under bookmarks called "Quick Searches" which holds bookmarks to sites such as google or anywhere else that does searches and allows you to access these searches easily from your browser address bar. All you have to do is find the actual search page for that site and bookmark it, then just change the part of the url that contains your search parameter to "%s", and finally define a keyword which triggers this quicksearch.

Here's an example. I am constantly using dictionary.com as a resource to lookup words that I either don't know the meaning of, or have trouble spelling. So, to setup a quicksearch for dictionary.com I simply went to the site and did a search. Once the results came back I bookmarked the page into the "Quick Searches" folder, then went to edit that bookmark. I first substituted "%s" for my search term, and now the url stored in the bookmark looks like this "http://dictionary.reference.com/search?q=%s". The keyword that i decided on is "dict" and that's it, save and you're done. So from now on at any time I can go to my browser address bar and type "dict <some word>" and it will automatically go and search dictionary.com for the word i entered. very cool!

Posted by agilliland at 10:32 AM | Permalink | Comments (3)

September 20, 2004

Tomcat redirect from proxied https server    [ Geek Stuff ]

I don't usually post work related stuff for some reason, but after battling this problem all morning i figured i should do the nice thing and save someone else the time.

So we have a pretty funky webserver setup for this project right now, and basically what we have is apache on port 80 connected to tomcat via mod_jk, and in front of apache we use an ssl accelerator. Our problem was that any time something in tomcat does a response.sendRedirect(); then the url that would come out was wrong.

example:
  request -> "https://mysite/index.jsp"
      index.jsp does a request.sendRedirect("/somedir/");
  response -> HTTP 302 ... location "http://mysite/somedir/"

notice that we lost our "https" and now have a broken url.

The root cause of the problem is that tomcat doesn't have all the right information about the server environment. It thinks that it is running in a basic http port 80 web environment, and thus the redirect url is incorrect.

To fix the problem we found a couple properties of the tomcat server.xml connector element which fixed the problem. Here's the old and new connector definitions.

<Connector port="8009"
               enableLookups="false" redirectPort="8443" debug="0"
               protocol="AJP/1.3" />
<Connector port="8009" scheme="https" secure="true"
               enableLookups="false" redirectPort="8443" debug="0"
               proxyName="mysite" proxyPort="443"
               protocol="AJP/1.3" />

what this basically does is overrides the values of request.getServerName(), request.getServerPort(), and request.getScheme() which are used when forming the redirect url.

Posted by agilliland at 4:19 PM | Permalink | Comments (3)

September 14, 2004

Ahah! I killed it!    [ Geek Stuff ]

hadn't seen this one before ... but it brought a big smile to my face 8D

java.lang.ThreadDeath
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1229)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
	org.apache.log4j.spi.LoggingEvent.(LoggingEvent.java:145)
	org.apache.log4j.Category.forcedLog(Category.java:372)
	org.apache.log4j.Category.log(Category.java:864)
	org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:192)
	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:387)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Posted by agilliland at 11:18 AM | Permalink | Comments (1)

May 27, 2004

Plextor PX-708A    [ Geek Stuff ]

Finally on the dvd writing bandwagon. I've had this item researched and on the buy list basically since the beginning of the year or around there whenever it came out, but for one reason or another I didn't get it until now.

I was most happy about the fact that I simply powered down, unplugged my old cd writer, plugged in the new dvd writer, power on, and everything worked! No drivers, moduled, options, settings, configs, etc, blah. So far I know that cd and dvd playback works, as well as cd writing. I haven't burned a dvd yet, soon enough though.

I now have an actual backup option ... sigh.

-- AG

Posted by agilliland at 5:00 PM | Permalink | Comments (0)

February 13, 2003

DVDdb    [ Geek Stuff ]

Well, my current project is moving right along. Soon enough it will be a fully functional DVD Database suite, complete with lots of data, and a decent interface. So far I have the database setup fairly well, and I am just programming away. I have the basic db interface classes going and I am adding methods to them as I go along. I also have a number of jsps started which go through the process of adding stuff to the database. I have spent a little extra time trying to plan what I want to do so far, but I have things pretty well set now and I am making more and more progress each day.

This is pretty much all I've been working on lately, so there's not much else to tell. :p

-- AG

Posted by agilliland at 5:49 PM | Permalink | Comments (0)
Powered by
Movable Type 2.64
© Allen Gilliland