About Blog Gallery Twit

Archive for June, 2008

Daphne’s Baptism

Daphne’s no longer a pagan. :-)

Picasa instead of Photologue

I got a bit lazy and decided that it was too much of a pain in the rear to manage photos in two places, so I’ve archived my photologue installation and gone with a jQuery-lightbox implementation of my Google Picasa Web Albums.
Looks pretty cool!

Twitter shell script with curl

I really wanted to create a plugin for Twitter and XChat2, but I decided to get lazy. Only caveat for using this is that you have to escape your own text.

Bash Script, I named it twit, made it executable and placed it in my PATH.

#!/bin/bash
nohup curl -s -u YOURUSER:YOURPASS --data status="`echo $@`" http://twitter.com/statuses/update.xml > /dev/null 2>&1 &

Now this doesn’t return anything to the console, and it nohups it so you don’t have to wait for it to do its stuff.

wstearns@ubuntu:~$ twit Ok, now that I have bash working. I am happy. :-\)

Notice how I had to escape the ). So, all there is to do in XChat is add a Settings->Advanced->User Commands. Now just add a command, I did mine with a name of TWIT and a command of exec twit &2. To try it out now you just do a /twit Hmmm...let me see if my wrapper works in xchat now..

So there we go, I have my cheap interface on my Ubuntu box in both apps that I use the most for the price of one.

Opera personal observations…

I have taken Opera 9.5 for a test drive on both my local platforms, Windows Vista SP1 and Ubuntu 8.04. Browser loading speed appears to be faster on both platforms than FF3, and as well the rendering performance appears to be faster in general. However, there seems to be some rendering issues with Opera or at least some artifacts.

On NewEgg Opera has issues with rendering picture changes on the product pages as the mouse hovers over the various images. It at least feels jerky the first time it hovers over a different image. Probably a precaching difference in FF3, as it looks really smooth on FF3. This same performance issues appear on the larger image screens as well.

On Yahoo! Mail Opera appears to have the same kinda jerkiness with the new Ajaxy version of the mail platform. As I was marking messages in the window as spam, the tab bars above the grid would disappear and reappear. I would say the FF3 and IE7 don’t suffer from the same condition.

Now, I’m sure I can find some sites that FF3 falls on its face and Opera excels, but I can obviously see that Opera 9.5 is solid performer. I do like the interface a bit better, but the extensibility and familiarity of FF3 is hard for me to turn away at. At least this time I can say that I won’t uninstall Opera yet. Last version I dropped it like a hot potatoe. :-)

—Edit Oops, forgot to mention that Opera didn’t seem to like using a proxy.pac on my work VPN. However it did fine when you provided a static proxy server.

Is Opera for Linux really fast?

Well, if I were to judge by the download speeds my fiber connection gets to their mirror, I would say not. I’ll withhold judgment until it finally gets here. Maybe I’ll hit the grocery store first. I have plenty of time.

New Ubuntu Server

I’ve been wanting to setup a new Ubuntu server here at the house for testing applications locally without having to run a VM. I wanted to get something small and fairly silent. Luckily, or tragically, however you look at it, my youngest son found out that sitting on a laptop isn’t a good idea. Now the boys don’t have their own laptop. :-)

Firefox 3 is a bit Leaky

Well, I’m not sure if it’s one of my addons, but when I’m on gmail and doing my business Firefox 3 appears to occasionally suffer from a leak.

Python commit history visualization

I have to say that this video is one of the neatest things I’ve see in a while. Awesome job Michael!


code_swarm — Python from Michael Ogawa on Vimeo.

Firefox 3 Download Day June 17, 2008!

Get your download on starting tomorrow! Let’s set a record and crash some mirrors!

Download Day

Yahoo! mail begins to blow

I’ve had a Yahoo! mail account since they used to give away pop access to them, and as such I set my wife on it as well back in the day. I’m not quite sure what has occurred lately with their spam filtering, but apparently it’s broken. I must have cleared out about 30 spams from the inbox of my wife’s account and about 25 from mine. Looks like I’ll just setup that account to receive spam, and nothing important from now on until things improve.

Happy Father’s Day 2008

Hope all my fellow fathers take it easy today. I know after church and the obligatory lunch, I’ll be sweating it behind the lawn mower. Enjoy!

On Twitter and otw home

I don’t know why I felt that I must, but I did.
Twitter

Was supposed to be in Wilmington for a week and a half, but had an emergency at home to attend to. So, I’m in Charlotte, NC waiting for my flight back to Tampa. Hopefully the emergency will turn out to be a blip. Kids are fine, but the wife is in the hospital thanks to the OBGYN and his prescription pad. I’m thinking I’ll be calling a lawyer soon.

It’s my Birthday!

It’s my birthday today! I also weighed in today, and I have a loss. I now weigh195 lbs, so I lost 6 lbs in the first week. Apparently this is normal for men on Weight Watchers in the first week. I would assume that the loss will now trim back, although I lost 2 points on my daily point allotment.

User Interfaces

I watched an interesting video/podcast on User Interface development over on dotnetrocks TV. If you do some UI development or are interested in it, I would highly recommend viewing this show:
The Science of a Great User Experience Part 1.

Model Inheritance

I’m working on several projects in my spare time, all of them probably will never see the light of day. That’s OK, I mainly work on these to help me keep up with what’s going on outside of the box I live in. Anyways, I was interested in creating some defaults to all of my models on a project where there has to be a strong level of auditing. On the models themselves I want to be able to store some basic information of create user, create date, update user and update date. Seems pretty normal, but there’s a ton of models in one of my applications, so I didn’t want to type these things over and over and over again.

class ModelDefaults(models.Model):
    created_by = models.ForeignKey(User, related_name="%(class)s_created_by")
    created_at = models.DateTimeField()
    updated_by = models.ForeignKey(User, related_name="%(class)s_updated_by")
    updated_at = models.DateTimeField()

    def save(self):
        if self.id == None:
            self.created_at = datetime.datetime.now()
            self.created_by = user_id
            self.updated_at = datetime.datetime.now()
            self.updated_by = user_id
        else:
            self.updated_at = datetime.datetime.now()
            self.updated_by = user_id

        super(ModelDefaults, self).save()

    class Meta:
        abstract = True

This is my ModelDefaults, as you can see. All of the models that use this are written as such:

class MyNewModel(ModelDefaults):
    name = ...

I haven’t really tested it, but I’m assuming that it will work. I’m thinking of what else I want to store in here, but I’ve already hacked an object audit log similar to the Admin pages auditing. That too has to be tested, as this app should really only be used from outside the Admin pages, including the admins of the application. Interesting stuff, maybe if I ever get a full app complete I’ll light it up on here for fun.