Tuesday, May 6, 2008

String in a Haystack

This is for the data reverse-engineers out there. What do you do if you have a distinctive string value making an appearance in a form or report that's in a big application package, and you have no idea what table or column that value might be calling home? Here's some fancy dancy Oracle SQL to do the trick. I would double-check with your DBA before running against production systems. Your mileage may vary.


declare
cur sys_refcursor;
val varchar2(4000);
begin
for i in (select 'select "' || atc.column_name || '"' ||
' from "' || atc.owner ||
'"."' || atc.table_name || '"' ||
' where "' || atc.column_name ||
'" like ''%' || :searchstring ||
'%''' as cmd
,atc.owner
,atc.table_name
,atc.column_name
from all_tab_columns atc
join all_objects ao on (atc.owner =
ao.owner and
atc.table_name =
ao.object_name)
where ao.object_type = 'TABLE'
and atc.data_type = 'VARCHAR2'
and ao.owner = :schema
order by 2
,3
,4)
loop
open cur for i.cmd;
loop
fetch cur
into val;
exit when cur%notfound;
dbms_output.put_line(val || ' <= ' ||
i.owner || '.' ||
i.table_name || '.' ||
i.column_name);
end loop;
end loop;
end;


There are two variables, the :searchString and the :schema. Bind/substitue with your query tool of choice.

WTF UPS?

I recently purchased a new monitor, having it shipped to me via UPS. I don't do a lot of UPS business, on either end of the equation, so perhaps I'm a bit behind the curve on this issue. To keep tabs on the deliver, I investigated using my tracking number and RSS with NewsGator.

Guess what? UPS, king of the cutting edge doesn't do RSS. My only choices are continually visiting an updated web page or e-mail. E-mail?

Jason Young (ytechie.com) has a SimpleTracking web service that has great RSS feed wrappers for many major US delivery services, UPS noticeably excluded. UPS is cockblocking him all the way on exposing this data for any service to build great things.

Jason has a petition on this issue for UPS to consider. I encourage my massive single-digit readership to affix their name to the petition; takes 10 seconds.

Sunday, May 4, 2008

So Long DOT.TUNES

I fired up DOT.TUNES Version 4 this morning to share some music with my daughter. I've written previously on the pros and cons of this software. It works well enough so I use it. Then today, I get this bullshit:


Which makes no sense to me because at no point during the original install was there any mention of "expiration". Since I'm firmly entrenched in the "don't fix it if it ain't broke" camp I'm irritated by this mystery arbitrary expiration. Regardless, I go to the indicated URL, because maybe there's some heartbreaking security problem and upgrading is something essential. Maybe I go there because I'm a sheep.

The page primarily references downloading an ostensibly new product called Hook Up, a Mac OSX product which is useless to me. Below the fold there's a banner for the DOT.TUNES v4 product that interests me. The odd lack of prominence for v4 doesn't give me hope they plan on continuing their free license for v4 over the long haul. They might as well have their hyperlink in the closet, buried under cleaning products, an old broom and a mop that's seen better days. I follow the link.

Right off, I'm irritated as all get out. The DOT.TUNES v4 page has music automatically playing like a shitty MySpace wasteland. Not even good music; I thought a rat was chewing on my woofer cables at first. So be it, I find the pause icon and end that nonsense.

The first thing I notice, and maybe most people don't notice these things, is that there's not a stitch of information about DOT.TUNES v4 being new in any sort of way. No new anything. I click on their blog to see what announcements might be relevant to why perfectly good software has suddenly threw up on its own shoes. The light bulb goes on.

Because it's free (as in beer), there's always been a hidden expiration as a marketing tool to force you back to the mother ship if you want to use the software. Very uncool. I could see doing this, but making it up front when you install it (so you can make an informed decision). I could see a expiration that forces an announcement to freebie users. I could see a nag screen that can only be removed by returning to their new product screen and subsequently upgrading.

But, I can't see using a hidden expiration to disable perfectly good software for marketing purposes. That's flat out sheisty. So, goodbye DOT.TUNES. I will not be upgrading. I will not be using or recommending your firm's software to anyone, ever. I know that I wasn't part of your revenue stream, nor was I going to be anytime soon - so you might say good riddance to me. But maybe if enough bloggers (who also aren't in your revenue stream) expose how devious your firm operates, your bottom line will be diminished.

Despite my already enduring love of open source software, it still takes an occasional kick in the groin to remember why.