Krosp Kostume

April 10th, 2009

I was wondering if anyone knew where I could buy a Krosp costume?

If anyone is looking for Sheer Gifts..

April 10th, 2009

Shear Panic, the game

WordPress

April 9th, 2009

WordPress is going to have to change the format of their page sooner or later.. I mean, imagine I continue to live, and blog, for 30 years.. can you visualize what the sidebar with every month you’ve written a entry in would look like? 😉

(geekstuff) T-SQL equivilant to MySql LIMIT clause

April 2nd, 2009

As various of you know, one of the things I occasionally do is port code back and forth between using Oracle, MS SQL, and Mysql as database engines. One of the problems that has perpetually been a thorn in my side is that MS SQL didn’t have a equivilant to the handy MySQL LIMIT clause. Oh, you could achive the same effect with sub-selects and use of the TOP keyword, but it was ‘expensive’ – whereas LIMIT querys always execute very quickly. This matters very little when you have 10,000 or 100,000 rows, but get up into the tens of millions and it’s a problem.

Well, as of SQL Server 2005, there is a solution that executes, to all appearances, as quickly as the MySQL LIMIT clause. It’s detailed in this blog, but I’ll give the overview.

There’s now a function called ROW_NUMBER() that returns the current row number of the query. You can’t *directly* use this to define a range (as in SELECT ROW_NUMBER() OVER (ORDER BY column) AS RowNum WHERE RowNum > 1000 AND RowNum < 500) but you can create a temporary object, and then select from the output of it, like this:

WITH testRN AS (SELECT ROW_NUMBER() OVER (ORDER BY field1) AS RowNum, * FROM test) SELECT * FROM testRN WHERE RowNum BETWEEN 500 AND 1000;

I’m currently using this function to dump a 219 million row table, a million rows at a time, and I don’t see any performance degredataion as I move deeper into the table, so I’d say it’s a pretty good solution, unlike the many LIMIT clause suggestions out there in network land that use sub-selects.

What I’m up to.. (web links edition)

March 25th, 2009

Well, today I had all sorts of fun with http://www.whitehouse.gov/openforquestions/. I doubt if I’ve changed the world, but at least I got to post my questions. (A few of them anyway..) and read and vote on the questions of others (mostly good, although people are really stupidly obsessed about this birth certificate thing. Who cares? He’s doing the job. Do *you* want to be POTUS? I sure don’t..

Kayti introduced me to Girl Genius, and while I really, really wish I could find naked pics of her (I searched and searched. The internet has failed me. It’s supposed to be a infinite pr0n generator, but there’s no luscious nudie pics of either Agatha Heterodyne or Ferretina anywhere that I could find) the comic is sometimes funny, always beautifully drawn, and just plain wonderful. “Fools! I will destroy you all! Ask me how.”

This of course led to me rediscovering the humor of Tom Smith, filksinger extraordinaire. Very funny. Death Sheep 8 – Baaaah!

Other than that, I’m planning on going out tonight to the K1Speed EV Go-Kart racetrack in Anaheim tonight, which should be entertaining.

Kayti has been reworking Numbermining’s web site – or rather, giving it a web site at all. I especially love Allie Cat’s resume. As you can see, at the moment we’re not taking ourselves too seriously, which makes me happy. Like having to cut my hair to get a job, having to have a company web site that contains no jokes, cuteisms, or sheerisms would make me very sad.

Sadly, I missed the news about this little event. Very, hmm, funny?

Is it too much to ask…

March 25th, 2009

for google to have a A record for wwww.google.com?

I survived the upgrade from qmail to courier. [ I think ]

March 23rd, 2009

Well, last night I finally replaced qmail on my main mail server with courier. I’ve been meaning to do this for months – qmail doesn’t actually check recipients before queueing messages – preferring instead to send bounce messages – which causes a unplesent phenomenon known as backscatter where spammers burn cycles – sometimes significant numbers of them – by dumping a bunch of spam into your queue which is difficult to deliver. (Not to mention that bounce messages from forged senders really qualify as a sort of spam themselves, even if they’re not selling anything)

The migration wasn’t *entirely* painless, but it was pretty close. I renamed all my .qmail files to .courier files (using this possibly lame script: http://sheer.us/svn/perl_tools/renamer.pl), moved all the contents of /var/qmail/control/virtualdomains into /etc/courier/aliases/virtualdomains and added a @ sign in front of them (i.e. so radioalchymy.com: eben became @radioalchymy.com: eben), created entries in /etc/aliases for all of /var/qmail/aliases (to do this, the script cd /var/qmail/alias; for i in `echo .qmail-*`; do echo $i : `cat $i` ; done was very helpful), coiped /var/qmail/rcpthosts to /etc/courier/esmtpacceptmailfor, ran makeacceptmailfor, copied /var/qmail/locals to /etc/courier/locals, ran makealiases, edited /etc/courier/me to contain my fqdn, created a file called /etc/courier/locallowercase  (without this courier is case sensitive i.e. Sheer@sheer.us is not the same user as sheer@sheer.us, which will annoy almost everyone), edited /etc/courier/courierd to make DEFAULTDELIVERY=./Maildir/ instead of ./Maildir, and aside from fixing a couple of .courier files that had been relying on qmail’s setting every enviornment variable under the sun, I was done.

The upshot of this is that if you can’t reach me via email, you should email me at my gmail account and tell me. 😉 I only mention the blow-by-blow above in case someone else is doing the same conversion, comes across this page via google, and wants a overview.

In other news, recent events have caused me to install – via cygwin – exim on a windows machine, and the result is a suprisingly well-performing li’l mail server. If you need unix-style mail serving on windows, give it a try!

my poor Allie-cat, so very sick..

March 15th, 2009

Allie had to go to the kitty E.R. tonight because he was visiting the cat-box several times an hour, unproductively. They’ve determined that he has a blockage in his urinary tract, and given him a catheter – he might be home tomorrow, or he might have to stay there until Monday. I am keeping my paws crossed for him to return soon, healthy and happy.

One thing that was kind of neat was that I got to see a X-ray of my catten, front and side view. If you’ve never seen a X-ray of a cat, it’s worth looking at – they’re sooo clearly built for speed, and to go through small holes. I googled trying to find a good example, but the best I could come up with is http://img.dailymail.co.uk/i/pix/2007/11_03/CatXrayES2311_800x521.jpg, which isn’t a particularly good one. Maybe I’ll ask them if I can borrow Allie’s X-ray when they’re done with it to scan it.

Kayti was a fount of cat knowledge, and I wonder how first-time cat owners manage to figure these things out without long-time cat owners to guide them along. I knew he was sick, but I wouldn’t have known that a UTI in a cat was a emergency-room-right-now thing, since in a human it’s just extremely uncomfortable.

I’m a bit dissapointed with our vet, and will probably look for another one, since when we called him earlier to tell him about Allie’s symptoms he told us it was a side effect of the pills he had prescribed for Allie’s self-mutalating tendancies (he licks his fur off sometimes) and that we should stop giving him them and everything would go back to normal. Normally I would forgive mistakes, but in this particular case I think we’re going to find a new vet, since this one could have killed him.

I finally finished a rewrite of a chunk of code I wrote last year, which feels good. Even better, the resulting rewrite is only about a third the size of the original code, and much less complicated, but manages to do *more*.

I miss my catten.

(Update: Kayti found a better X-ray at http://www.thepetcenter.com/quiz/q1j.jpg)

Caching web browser or proxy

March 13th, 2009

I wonder if, as disk space gets cheaper, someone will write a web browser that constantly records every site you go to, caching it so you can go back and browse it later, even if that site no longer exists on the internet. Actually, for all I know, there’s already a plugin for firefox that does this. I know that there are lots of ways to achive this if you don’t mind jumping through hoops, but I think it would be neat to have a way to do this that required you to do nothing out of the ordinary browsing experience.

If anyone were looking for a SheerToy.. heh. heh.

March 12th, 2009

PreSonus-StudioLive-DigitalMixer

I have got to get me one of these.

Okay, probably not *this* year, since I’m focusing on reducing debt and increasing savings.. but maybe next year? 😉