Some credit card rewards programs are lame.  Lame, lame, lame.  I found out that my business credit card (which sees a lot of use in monthly server and IT personnel expenses) is no different.  I spent a lot of time trying to figure out how to get a rebate or a “nice gift” from the massive amount of points I had built up at 1 point per dollar.  The most direct cash I could obtain was about $64 per 10,000 points in the form of a check or debit card.  This is pretty frustrating because high-dollar gifts such as a set of Bose speakers translate to around $100 per 10,000 points.  But cash, no.

So I dug around a little bit until I discovered a little hidden feature that allows one to convert the points into gift cards at the same exchange rate as the gifts.  So I cashed out a crapload of points on a fist full of $50 Williams-Sonoma cards (I figured anything higher would be hard to sell), and I’ve been selling them like hot cakes on eBay.  I chose that particular card because you can use it at Pottery Barn, among many other stores.  After selling/payment fees and profit “loss” on the card, I’m making about $90 per 10,000 points in cash.

Take that credit card companies.

I listen to a ton of music, so when hot young groups (especially) put out second albums I take note. The sophomore release is bound to either make or break a band. Two recent selections (among many!) are the popular Augustana and Death Cab for Cutie releases which I purchased from Amazon.com’s MP3 store.

Augustana’s new release “Can’t Love, Can’t Hurt” features the same lovable melodies from the first album - minus the hit song (remember “Boston”?). In my opinion, the songs have all of the right ingredients for a great pop rock album. The problem is that they seem to just be that: ingredients. I found that the album lacked the big passionate moments from “Stars and Boulevards” that made the former release come together as a massive hit. The combo has a nice melding of deep hooks, raspy vocals, and expansive melodies, but I am left expecting a bit more. A few of the songs such as “Hey Now” and “Twenty Years” show some depth but are offset by extensive low moments that are repetitive and tired. This album only lasted a week or so in my regular lineup before I moved on. Maybe time will bring it back around.

Another highly anticipated album for 2008 is Death Cab for Cutie’s “Narrow Stairs”. Three years in the making, Death Cab’s progressive feel is clear. But much like Augustana, I feel that most of the songs on this album lack passion when compared to the first major label release “Plans”. This album definitely has some high moments such as the remarkable song “I Will Possess Your Heart”, a song that easily sticks. That is the kind of stuff that made “Plans” so good. Unfortunately, most of the soul stops there.

In my opinion, the rest of this album is forced and shallow. In a time where bands like Wilco are revolutionizing the soundscape for mellow, simple albums, “Narrow Stairs” seems to fall into a completely different league - the minors. On the flip side, I think this album will be a helpful progression for the group as they venture further from their semi-emo sounds. Still, the tracks are stale. If you’re not a huge Death Cab fan, save the bucks and buy the hit single instead of the full album.

RaisinDo you have a pet that you love so much that the thought of parting from them one day is unbearable?  Best Friends Again is here to help.  Yesterday, BFA began registration for an auction that many dog owners like myself will covet - the 5 lucky winners will have their dogs cloned.

Bids start at a mere $100,000.  You’d better really love Fido.

With the price of cloning so high at the moment, I don’t foresee being able to clone my adorable mini dachshund companion any time in her life unless one of my inventions magically takes off.  Instead, a good alternative would be storing 10 or 20cc of blood and waiting for the practice to become more commonplace.

Another interesting angle about this story is the role that cloning may play in our society in the near future.  Cloning was taboo at first, and even now research in cloning has been severely limited.  However, I think cloning will begin to work its way into the hearts of the public through projects such as this that stand to make an enormous personal impact.

What’s more, in the future we may be able to substantially improve genes by many of the advances that are being worked out as you read this.  Not only would I get little Raisin back some day, I could choose to have her not shed, have a high immunity to cancer, and have nails that never need clipping.

Raisin 2.0, coming in a few decades.

MATLAB (the scientific computing software) has a lot of built-in functions for doing various matrix operations quickly without using loops (for, while, etc.).  When you’re computing vast amounts of data, this can save a lot of time as each loop iteration eats compute cycles.

Today I needed a function that returned only the positive elements of a matrix.  I was surprised to find that MATLAB does not include this as a built-in function.  A quick google search came up empty.  It’s very easy to write a program to search for elements that are postive by iterating through all the elements of a matrix and forming either a mask (a matrix of 1’s and 0’s - 1’s for positives) or directly generating the matrix needed.  However, this does not keep with the idea of avoiding loops.

Here is the solution I came up with.  First of all, let’s do some math.  If you add the absolute value of a negative number to itself, you’ll get zero.

Example: -2+|-2| = 0

For positive numbers you’ll end up with two times the number…

Example: 3+|3| = 6

Thus, an equation to get only the positive (elements) numbers, where X is any matrix of numbers is:

X + |X| / 2 = positive numbers of X

In MATLAB this is coded as:

MATLAB > (X+abs(X))./2

Now, let’s get a bit mask out of this.  All we need to do is divide the matrix X by itself to get ones since anything divided by itself equals one (x/x = 1).  However, this method will produce “divide by zero” warnings in MATLAB if you have zeros in your matrix.  A simple fix is to use binary arithmatic instead of dividing the matrix by itself.  The following will produce the mask of positive elements:

MATLAB > ((X+abs(X))./2)&1

In this case the positive values are converted to 1’s by performing a binary AND with 1 on the matrix.  Now we have a nice bit mask to work with for the next step of finding the negative numbers.  Taking the code from before and inverting it gives us a mask of non-positives (includes zeros).  But the zeros will fall out when multiplied by the original matrix.  That gives us this code of the negative elements of the matrix:

MATLAB > ~(((X+abs(X))./2)&1).*X

If a mask of negative elements is desired, simple use the binary AND operator again.

MATLAB > ~(((X+abs(X))./2)&1).*X&1

And finally if we want a mask of zeros in the matrix, we can combine both masks and invert.

MATLAB > ~((~(((X+abs(X))./2)&1).*X&1)+(((X+abs(X))./2)&1))

These pieces of code allow efficient computation of positive, negative, and zero elements as well as their corresponding bit masks.

It’s a sad day.

LeechFTP finally refused to cooperate with my Windows setup.  After trying various work-arounds, disabling all firewalls, etc. I have come to the conclusion that it just won’t play nice with Vista.  I had it working for about 7 months with no problems.

Tonight I had to install FileZilla just to download some files from a website.  Let me tell you - I do not like the UI (user interface) in this program.  To me, nothing beats the UI in LeechFTP and I am going to sincerely miss this program.  I will say that FileZilla has improved the site management over the past few years, so that will make one part of this program much easier to use compared to the past.  I think their management of the threads is annoying.  I also do not like that the program cycles through the remote folders when it traverses them to download their contents.  I cannot find a way to turn this off.  I’ll keep working with FileZilla for awhile and see how it goes.

Goodbye Leech.

Wake up, Jan Debis.

Next Page »