Archive | Tech

Emacs Cheatsheet for 2008-02-28

Feb 28th, 2008No Comments

And you thought I would make another one. Ha! Some are the same as the last one, but there are some new ones.

M-d -> kill up to the end of a word

M-t -> transpose

M-h -> mark paragraph

<f4> -> re-run last kbd-macro

M-u -> uppercase word

M-l -> lowercase word

M-c -> capitalize word

C-x C-u-> uppercase region

C-x C-l -> lowercase region

Introducing Heartland Stores

Feb 15th, 2008No Comments

I’ve talked a little about the secret project a few times but now, finally, the secret is out. It’s called Heartland Stores.

Heartland Stores is not your typical yadda-yadda web store front. Actually, it’s not like that at all.  Heartland Stores wants to help non-profit organizations with doing product fundraisers.  It’s really very simple — instead of going door-to-door to your neighbor or taking a sheet to work, you send a link to the Heartland Stores website that has your organizations name.  When someone follows that link and buys some product, your organization gets part of proceeds — a large part, in fact.  The products are shipped directly to the buyer and the organization gets a check from Heartland Stores.

Sounds simple, right?  Well, yeah, it is.  There’s no money to gather, no product to distribute — just have people click on the link and go shopping.

And wouldn’t you know?  We are finally having our first fundraiser from the folks at Lost and Found, Inc.   I would like to thank them for taking a chance on an experimental way to do fundraising.

Other people can talk more about the business side of Heartland Stores. It probably doesn’t need to be mentioned that I did the technological stuff, right?  So let’s talk about that . . .

The store itself is ran by Django using a shopping cart called Satchmo.  I customized Satchmo a bit to do our “link to an organization”, and let Satchmo do all the payment processing, etc. The layout and the menus done with YUI.  And the fine folks at Joyent are hosting us.

So that’s it — that’s the secret project. It seems like a new child has been born.  But it hasn’t been easy up to here and it won’t be easy after this, either.  The site will evolve, our business will evolve and our customers will, too.

Some Quick Things

Feb 5th, 2008No Comments

Yep, it’s that time I put a bunch of random stuff together in one post. Deal with it.

  • Anyone else in Omaha sick of the snow besides Gina and I?  I can’t believe my backyard has been covered since December.
  • Leah had a severe cough all last week.  On Saturday we took her to the doctor and, sure enough, it was what we feared — pneumonia.  They put her on antibiotic and it’s working okay.  The cough seems better anyway.
  • A couple guys have forked a long-dead Jython shell project and has given it a rebirth and have called it iJython.  It’s still early, but I’ve used it and it’s very cool.
  • Best Doctor Who quote ever:

Rose (to Dalak Leader):  Five million Cybermen, easy. One Doctor? NOW you’re scared!

This was just after the Dalaks and Cybermen were talking smack to each other.  Sheer geek goodness.

NetNewsWire and NewsGator

Jan 18th, 2008No Comments

I was oh so happy a little while back that NetNewsWire was released for free (as in beer).  I liked NetNewsWire before but didn’t think that it was worth the $30.  Well, now I can still use it!  It’s fast (yes faster than Bloglines, Google Reader, etc) and you can post to del.icio.us straight from there, save archives, etc.  Very nice indeed!

On of the features of NetNewsWire is that it syncs your feeds (what you read, etc) with NewGator – an online reader.  This seems ideal for me — a client-app at home, and a web-based one for work, on the road, etc.  But this is where things go wrong.

NewsGator is slow, updates rarely,  doesn’t generally do what I tell it to.  For example, when I mark a whole feed as “read”, it locks up my FireFox while doing and, when it finally comes back, those articles aren’t usually marked!  Whereas NetNewsWire is a fantastic app, NewsGator blows.

Is NetNewsWire good enough to use NewGator during the day?  For now, yes.  But they need to make many improvements soon or I will dump both of them and go back to my old standby, even though NetNewsWire kicks it.

Reformatting the directory stack

Jan 9th, 2008No Comments

One day I decided to enable zsh’s directory stack and I have been enjoyed it ever since.  The page I linked to doesn’t say this, but I auto-enabled it by putting the following in my ~/.zshrc:

setopt auto_pushd pushdminus pushdsilent pushdtohome

For a long time I just typed “dirs” and got an output like this:

~ ~/downloads ~/Projects/jython-2.1 ~/Projects/svn ~/Projects ~

Then, to go to the fourth directory in my stack,  I do this:

cd -3

Why “-3″?  Because “-0″ is the top of the stack!  That’s too much thinking– heck, I even have to count.  If you do “dirs -v” you get:

0       ~
1       ~/downloads
2       ~/Projects/jython-2.1
3       ~/Projects/svn
4       ~/Projects
5       ~

Which is a lot better,  but I didn’t want to type three extra characters to get it.  Time for an alias!  Oh, wait, why not add the minuses to it? That way I can script it and always remember  So instead of an alias, I wrote this function:

 function ldirs() {
     (( count=0))
     for x in $(dirs); do
        echo "-$count\t$x"
        ((count+=1))
     done
}

And now it looks like this:

-0      ~
-1      ~/downloads
-2      ~/Projects/jython-2.1
-3      ~/Projects/svn
-4      ~/Projects
-5      ~

Now it’s simply displayed like how I would type it — “cd -3″.