On Repeated Medical “testing”

I’ve blogged about this before, but I wanted to revisit because FiveThirtyEight, whom I love and adore, just posted about it again, in light of the recent Theranos problems.

My last blog post was long, so let me simplify my position… there’s a big graphic in the middle of the FiveThirtyEight article:

http://i2.wp.com/espnfivethirtyeight.files.wordpress.com/2016/05/hobson-theranos-1-rk.png

And it’s fine, it’s very simple, very accurate math, EXCEPT, it only deals with the case where each person takes exactly one test.  This isn’t FiveThirtyEight’s fault, they borrowed a common example, and that example is what most medical research is based on… see the flow chart in my last post… you take blood, you look for things, and you (doctors and patients) react to what you find.

This is NOT the best way forward if cheap reapeatable tests become available.   It’s not: test, react, test, react, test, react – which I agree leads to over-reactive medicine.  It’s: test, test, test, react, which I’m arguing will reduce over-reaction (but I admit may not be for the feint of heart). Read More

On Key Performance Indicators

You’ve got a company, or an organization, or even just in everyday life, and you have goals:  you want to grow, you want to learn, you want to educate.  But how do you quantify those goals?  From a business perspective, how do you build successful metrics or Key Performance Indicators (KPIs)* when you want to quantify how well?

This came up recently when working on the nonprofit Louisville Makes Games organization, and it’s something I deal with at work a lot, so I thought I’d collect all my thoughts in one place.

First, of course, it’s not easy.  There are books, and books, and books on the topic.  There’s even a book for Dummies:

Read More

Base conversion in SQL

Here’s something silly I threw together that no one will probably use, which makes it perfect for posting here. We ran across software that has a table that has an Id that ALSO has a unique char(4) field that, as far as we can tell, serves no rational purpose. But the values need to be unique and alphanumeric, apparently with no special characters at all. The Id field is a positive integer that starts at 1, so it seemed like a fine opportunity to convert to base 62, using 0-9,A-Z, and a-z as the 62 candidate numerals.

We ended up not doing this, since there was more complicated slower and more difficult to comprehend code available, but I still think this is useful:

ALTER FUNCTION [dbo].[Base62Convert] ( @InputInt BIGINT ) RETURNS CHAR(4)
AS
-- Input: Positive Integer
BEGIN
    DECLARE @Result CHAR(4) = ''

    IF (@InputInt < 0)
        return cast('No negative numbers allowed.' as int);

	IF (@InputInt >= POWER(62,4))
		return cast('Number too big, going home.' as int);

    WHILE (@InputInt > 0)
    BEGIN
        SET @Result = CHAR(@InputInt % 62 + 
		CASE WHEN @InputInt % 62 < 10 THEN 48
			WHEN @InputInt %62 < 36 then 55 
			ELSE 61 END)
		+ @Result
	SET @InputInt = FLOOR(@InputInt/62)
    END

    RETURN RIGHT('0000' + @Result, 4)
END

GO

-- Test:
select dbo.base62Convert(power(62,4)-1), power(62,4)-1

Which will give you nice unique 4-character identifiers up to 14,776,335.

Enjoy!

An homage to my 21-year-old e-mail account!

It’s a new year, and I should post more, so here’s a random post about stuff from 20+ years ago!

In 1994, after my first year at college, it became clear that I needed an internet connection at home.  I was disconnected.  Sure, I could talk to my new long distance friends on the PHONE, but this was the 90’s!  My terminal addiction rivaled that of my girlfriend’s Candy Crush addiction now (Update: she’s been in successful recovery for months… she’s quilting now).  IgLou – the “Internet Gateway of Louisville” was the only real gig in town, so I signed up.  I was account number 732 - apparently one of their first 1000 customers – something that confused one of the tech support people in 2004 when they told me they’d never seen a three-digit account number before.  Obviously, I’m still rather proud of that, although I think they may have renumbered the accounts since then, and in a recent chat with the IgLou people they’re probably going to do away with my whole account type sometime soon.

The e-mail address that accompanied that account (lynch@iglou.com) was useless at first.  I just needed the account to connect… something on the other end of the line for my modem to talk to.  My university was on BITNET, and while there were some gateways to connect Internet addresses to BITNET ones, I just stuck with 551147@XAVIER.BITNET.  That’s how my classmates knew me and that’s what was important.

I hadn’t had a solid e-mail address before college… I was reasonably active on the Bulletin Board scene, having a Commodore 128, but I made no effort to maintain a profile or personality.  I threw away usernames and passwords the way monkeys throw poo.

Technically I guess that makes my oldest active e-mail account 21 now. My e-mail address is legally old enough to drink! It is roughly as old as Kory, but of course it has changed dramatically less over time.

It’s mostly unused now. I check it for nostalgia every month or so. It’s useful as an SSH client in a pinch, and I think it still grants me dial-up access, though I truly don’t know when I last owned a modem.

Anyway, just a bit of nostalgia there.

Update: Here’s a copy of my old .signature… not the oldest version (which I can’t find), but I loved this format:

      \\ ^ //
       (o o)
---oOO--(_)--OOo--------------------------------------
| Chip Lynch               | Data Geek               |
| chip@chiplynch.com       |                         |
| <www.chiplynch.com>      | (202)904-8570 (cell)    |
------------------------------------------------------

Quickie: Alphabet URLs

Curiously, I’ve been meaning to write this post for a few months, then Google went and created Alphabet and it seems a bit more apropos now.  Let me ‘splain:

Go to the URL bar in your web browser (the thingy that tells you what web address you’re viewing) and type “a”.  It should auto-complete for you.  Mine recommends “amazon.com” which, I imagine, is what it probably recommends for the highest share of US web browsing people (the rest of the world may skew more towards alibaba due to sheer volume, but I’m just guessing).  Clear that out and type “b”.  I get “bestbuy.com”, which is a bit surprising because I really don’t shop there very much, but I do use it for price comparison now and again when recommending family members go look at laptops, so, legit.

You see where I’m going.  Keep going, it’s only 20-something letters, you should be able to get through it quickly; faster if you don’t write it down like I did.  Speaking of which, here’s my list: Read More