.

Palm Back In Action

I’m a little bummed - I not sure what all other Linux people have switched to - but the palm support seems to have dropped off over time.

Lately I’ve been getting in trouble because now that I use Evolution as my main mail client - I actually get those Exchange meeting invitations. I end up accepting them. Only problem is that Palm sync hasn’t been working on my laptop. So I forget to put it in the Palm immediately and then I end up missing the meeting - not good!

I tried for a while to get my USB cable to sync my Palm TX under Edgy without any luck. (If you know how to do this - share the secret). At home I just sync via wireless. That works fine because my pc at home has a static ip. At work, I don’t. So tonight I ended up playing around with the third syncing option - IrDA.

I’ll be honest - this seemed like it was going to be impossible - that was until I found this blog post. It ended up giving me the details I needed to get everything running.

Now I just have to remember to sync and maybe you’ll actually see me in the next meeting you schedule with me.

Update: Not so fast. At some point I missed a step because I rebooted - I ended up terminated whatever process was really listening to my IrDA port….This is going to take some time after all.


Old School Hacks

Ok so I dusted off my old box of CueCats and preped them to be used in a
project I’m working on. Apparently if you solder them just right they work
as straight up bar code scanners. I got them to work almost perfectly (Fine
under windows and Linux - but not X Windows).
Thank goodness for Air Solder They had the guide which I didn’t follow exactly right since I had to resolder the wire once I realized I was on a different board.

Thanks go out to “The Koreano” for riding shotgut the thru the process. He did the disassembly and cutting - I did the soldering.

Here’s some pics of the work:

Here we were removing the serial number - turns out you don’t have to do that.

THis is the diagram of which one to cut

Cutting the connecton

Getting down to business with the soldering iron.

Here you can see where we jumpered the r29 to the +5V on the led

This is the top side of the board

The “declawed” cats with marks to show which ones I have and haven’t modified (since I have 6 unmodified cats still)


Two Words: rake deploy

Ok I finally got down to business on SwitchTower. (The guide is here)

I already migrated all of my projects over to the database migration system available with rails (which is seriously a life saver.)

SwitchTower is basically a ruby app that makes it dead simple to deploy your Rails app into production. Now that I acutally have a couple of apps that are ready for deployment I figured it was time to dig in and figure this stuff out.

Basically there are a number of ways you can handle deployment. The nice thing about SwitchTower is that is it a standard way. Meaning they have sorted out a lot of the structure and process for deployment while still giving you a lot of flexiblity depending on your deployment.

Windows Tips

Since my dev environment is Windows and my deployment is Linux - I ran into a couple of problems.

1. Make sure that you have installed the subversion command line programs. I only had TortoiseSVN installed and the scripts depend on being able to call svn from the command line.
2. Putty Agent helps a lot. Basically this is a small app that comes with PuTTY that lets you store ssh keys. Using it you can authenticate your keys and then SwitchTower will try those keys to get into the production system.
3. Some of the tasks have to be modified. (My version is here) Basically windows isn’t happy calling switchtower with a system command - it wants to call switchtower.cmd. This version fixes that problem.

Once I followed the instructions in the guide (plus making the above modifications) I was pretty much in business. I only ended up making a couple of other changes.

1. I added an after_update_code task to make sure that a symlink from the apache configs that are stored in the project is made to a place where apache expects it.

2. By default SwitchTower does a checkout on the code. I would prefer an export - since that gets rid of all the extra .svn files and removes any temptation I have to modify it in place. I’m not sure if I’m going to keep doing it this way - but either way it does show how easy it is to modify the behavior.

  class SwitchTower::SCM::Subversion
      # Export out (on all servers associated with the current task) the latest
      # revision. Uses the given actor instance to execute the command. If
      # svn asks for a password this will automatically provide it (assuming
      # the requested password is the same as the password for logging into the
      # remote server.)
      def export(actor)
        svn = configuration[:svn] ? configuration[:svn] : “svn”

        command = “#{svn} export -q -r#{configuration.revision} #{configuration.repository} #{actor.release_path};”

        run_checkout(actor, command) do |ch, stream, out|
          prefix = “#{stream} :: #{ch[:host]}”
          actor.logger.info out, prefix
          if out =~ /^Password.*:/
            actor.logger.info “subversion is asking for a password”, prefix
            ch.send_data “#{actor.password}\n”
          elsif out =~ %r{\(yes/no\)}
            actor.logger.info “subversion is asking whether to connect or not”,
              prefix
            ch.send_data “yes\n”
          elsif out =~ %r{passphrase}
            message = “subversion needs your key’s passphrase, sending empty string”
            actor.logger.info message, prefix
            ch.send_data “\n”
          elsif out =~ %r{The entry \’(\w+)\’ is no longer a directory}
            message = “subversion can’t update because directory ‘#{$1}’ was replaced. Please add it to svn:ignore.”
            actor.logger.info message, prefix
            raise message
          end
        end
      end
    end
desc < <-DESC
Update all servers with the latest release of the source code via export. All this does
is do an export(as defined by the selected scm module).
DESC
task :update_code, :roles => [:app, :db, :web] do
  on_rollback { delete release_path, :recursive => true }
  puts “EXPORTING CODE”
  source.export(self)

  run < <-CMD
    rm -rf #{release_path}/log #{release_path}/public/system &&
    ln -nfs #{shared_path}/log #{release_path}/log &&
    ln -nfs #{shared_path}/system #{release_path}/public/system
  CMD
end

Now I can do “rake deploy” from my development box and the production system is updated properly. I’m hoping it stays this easy to work with - because frankly I’m never doing a rails app again without it.


DDR Faste Fingers

FAZED - Video Viewer
Ok I’m a huge DDR fan. And this video is a little weird since he’s “just typing” - but damn - that is a lot of typing!


PS Controller symbols have a cultural meaning.

“Playstation” Symbols :: Japanese Translator .co.uk

This finally explains why all Japanese games on the PS like to use circle to mean ok and X to mean go back - while all us games do the opposite.


They almost got me…

I have a PSP. I actually got it as a pre-order because I was so excited about it. Truth be told it hasn’t been the best experience. The games have mostly sucked (Lumines is the exception).

Lately I’ve been using it as a mobile video platform. I just pull content off my ReplayTV re-encode it and jam it on the memory stick. This is sweet! The screen is beautiful and the battery lasts a long time using it this way. Plus I can keep it in my pocket and turn it off and turn it back on and it will stay at the same point in the movie. This is perfect on a plane. Now I can watch stuff on the short hop from SAT -> DFW. That leg is way to short to deal with getting a laptop out and setup.

Then recently I saw an article in Wired. Actually it was more like a sidebar. It was all about how you can run old school NES/SNES/GB/Mame games on the PSP if you have a 1.0(japan)/1.50(US) firmware.

Guess what? I have a 1.50 firmware. So I downloaded some simple NES games (Hello Mario) and have been enjoying it ever since. There are more games than I can shake a stick at - if anyone can recommend me games for the above platforms I would love to know - since I never had one I wasn’t really into them at the time….

Then Sony sends me an email that I can sign up for Socom:Fireteam Bravo Beta for the PSP. There’s a catch - you have to upgrade to 2.0 firmware to even sign up. I really love Socom on the PS2 - it was one of the games I played forever. Now I can get it again - all I have to do is give up the homebrew/emulation……

I’ll admit I was tempted (for all of 3 seconds) I figure they’re going to crack the 2.0 eventually and I’ll deal with upgrading then. Until then you’ll find me in the car enjoying Mario World/Ghosts n Ghouls all over again…


New Keyboard

Ok so sometimes I’m a sucker for older tech :) In this case I love my m500 - which is black and white and not as fancy as any palm pilot made since (Considering they don’t even make this palm any more it’s not that suprising) But it does get me to the right place at the right time and I only have to remember to charge it every couple of weeks.

I’ve wanted a keyboard for it forever - but they usually cost more than I paid for the palm in the first place! Plus Richard advised me against getting one because they are a pain to use he said :(

I ended up finding one online for $10. It seemed like an easy choice - I want one - and I don’t have to use it that much to justify $10. Plus I’m headed to DEFCON at the end of the month and I have a policy of not turning on my laptop in that place - so at least now I can actually take real notes (Assuming that I can stablize the keyboard in my lap). If it doesn’t work out I figure I can get rid of it for what I paid :)
One odd thing - if you look closely you’ll notice that I apparently got the Japanese version of the keyboard so there is a yen key where I would expect the backspace to be - it’s going to take a little bit to get used to but I’m up for the challenge

IMG_1520.JPG

Here’s a close up where you can see the sticker I had to put on for english.
IMG_1521.JPG


Bigger is Better!

Here’s a quick review of the new sequel for Katamari Demacy! No due date (And no ESRB either which makes me think it’s going to be a little bit) but once I have the chance I’m totally pre-ordering.

We Love Katamari PS2 Preview from 1UP.COM


Welcome to MusicBrainz!

Welcome to MusicBrainz!

Maybe you’ve heard of MusicBrainz- maybe you haven’t. I had but didn’t think I needed it and it turns out I was seriously mistaken.

MusicBrainz starts out a lot like CDDB/FreeDB - meaning if you are converting your CD collection to MP3s then you can use it to identify the cd and tag everything. Frankly that’s kind of boring.

The cool part of MusicBrainz is their recognition system. Let’s say that you have a pile of MP3s you ripped at some point but were too lazy to actually tag properly. This can be a big problem to sort out if you have a lot of MP3s like this that are in one big directory - so they are bascially in total disarray.

This is where MusicBrainz comes in. They have access to a special technology that allows them to look at the first few seconds of the song and then compare it to their db and figure out what song it actually is. This isn’t perfect but I can tell you from experience it handled some of my more complicated MP3s pretty well.

You see I subscribe to this magazine called CMJ - which every month they send me a sampler cd of 17-25 tracks with a bunch of artists. It turns out that a lot of times when I ripped them the stupid programs didn’t handle the multi artist disk very well so now they’re all mixed up.

MusicBrainz helped me quickly sort them out - and I found out that I had a bunch of duplicates - mostly because I keep copies of my music collection of a couple of different computers (not to mention the rips I did of part of my cd collection on my old mac which I thought I had lost until this weekend).

So if you find yourself doing some spring cleaning of your music collection - check it out.


Do you watch a lot of television?

Ok so I might as well admit that I watch a hell of a lot of television and movies. I like watching them what can I say. One ways that I end up find interesting television is by surfing horizontally in the grid with my ReplayTV looking for shows I’ve never heard of. (I’m a big fan of mid season replacements that don’t make it - Life on a stick for example)

That takes a lot of time, and if I stop then I end up with the same shows I always watch - which normally isn’t a big deal but now that summer is here and everyone is showing reruns out the ying-yang - that doesn’t work so well for me.

A long long time ago I wrote a program in Python to help me with this task. Basically it would look at the TV listings for me and keep track of show titles that appear. When a show title shows up that it had never seen before it would send out an email.

So for example when Spike started running CSI - it didn’t care because CSI is a known show (It’s been on CBS forever) but when Trio ran “The Truth About Gay Animals” it alerted me. It’s a bit of a shotgun approach - but it help filter down all the billions of repeats they like to show. (Yes I’m talking about you BBC-America)

It wasn’t great but it helped. Eventually it had some problems I didn’t feel like fixing so I just turned it off and let it gather dust.

Then about a week ago I came across this article. Basically it shows a neat little tool in Python that makes it easy for you to generate RSS feeds from the command line.

The light bulb went off - I have a program that needs to send out info - it’s already in Python - maybe I could graft this RSS stuff into the program and make it useful again.

Well folks that’s exactly what I did. I also found a major bug in the system that was preventing it from seeing shows that were on (kind of major since that is the only thing it is supposed to do).

So I setup some channels to monitor and put the feeds up for your pleasure. The system looks about 7 days ahead. It’s going to be noisy in the begining because it is building up it’s database of shows.

There are two ways you can use the feeds - you can just subscribe to the Master Feed. That is all the channels in on single feed. Or subscribe to a given channel ( I recommend this option)

Hopefully this will work and be useful - just an FYI - if it doesn’t and it isn’t I’ll be putting it back in it’s litle crate.

Oh and I almost forgot - you can go to here to see the feeds. I made the page work so that if you click on the subscribe link from bloglines you can actually select all the channels you want at one time.

Ok - so actually I wrote this a few hours ago. I had been testing my feeds in a little RSS agregator I downloaded and everything worked great. Unfortunately when I viewed it in Bloglines the HTML in the description was completely escaped meaning instead of nice HTML you got lots of greater than and less than signs.

Apparently I didn’t read the fine print in the RSS library I’m using because it does mention that it doesn’t support HTML. I didn’t realize this because the desktop ap just figures it out - but since Bloglines doesn’t I’m back to sorting this out.

One small rant

Which leads me to a small rant about Python. I really like the language. It’s very clear and flows easily. It doesn’t have a lot of bad early design decisions to overcome (Yes I do mean PHP) which makes it nice to drop in to. There’s just one problem with Python - no one uses it. Obviously I don’t mean no one - because people do use it. But every time I try to do something in Python and I need a library my choices are always incredibly limited. In this case there appears to be one and only on RSS generator for 1.0. Fortunatly someone else made a RSS 2.0 generator (it’s on version 0.1.1) which doesn’t do exactly what I want but I can fix that.


    You are currently browsing the Economy Size Geek weblog archives for the 'Toys' category.
    Previous Entries »
    Categories
    Archives

    .