Sunday, February 14

Benford's Law (1 is the most popular number)

Benford's Law

Basically it says in most sets of data, numbers starting with 1 will be the most popular, regardless of the unit of measurement.

Freaky.

Friday, December 11

Dead shop walking

A book is a digital to analogue conversion device with very limited data capacity (eg one page of data per page).

An mp3 player is also a digital to analogue conversion device with a large data capacity.

eink, ebooks, ereaders, what-have-you will be the mp3 player of the next 5 years. They're not good enough yet, but they will get better, that's inevitable.

Bookshops are dead, they just don't know it yet.

Monday, August 6

Your CD collection looks into the crystal ball

First came mp3s, when we all squashed our precious CDs into mp3s. Then came the internet when everybody acquired as much music as they could.

What happens next?

1. Our iPods will get bigger, therefore we won't need to compress music into mp3s.
a. Everybody will need more download bandwidth from their ISP.
b. Everybody will discover Apple's standard headphones are rubbish.

Mark my words, when you buy that 10th generation iPod, it'll all be lossless compression...

2. Bored with music, the world will move onto DVDs. It's already happening, but the massive increase in file size isn't supported by available download speed. Soon, but not yet. Still a few years away for that one. 30gb of music is a lot, but it's only 4-6 uncompressed DVD images.
a. Add ripping time in here, too. It takes ages to rip a video to a different format. When everybody has dual quad core CPUs we'll be fine.

But what happens after that?

What do we do when we have a copy of everything ever made?

Will we step outside and go back to the park, satisfied we've conquered the digital domain?

Nope. We'll just do it all again in HD.

Monday, October 23

How I Met the Girl Next Door

It's not every day you have to convince the very Drunk Girl next door it's not a good idea to climb a wobbly old lounge* onto her balcony. Especially when said lounge is almost falling apart, not stable, not tall enough, appallingly ugly, and leaning on a steel picket fence with enough spikes to do even the cutest girl serious damage.

Myself and what I assumed was her Friend tried to convince Drunk Girl to go home with the friend. Drunk Girl was very resistant to the idea. Anyways, turns out the Friend was wandering home herself and had never met Drunk Girl.

Anyways, after Drunk Girl nearly squashed herself with the lounge a few more times, I brought my ladder out and Drunk Girl wobbled up the ladder and proceeded to bash on the window and shout and scream a lot.

Simultaneously the Boyfriend stuck his head out the balcony window and the Flat Mate opened the door downstairs.

Ah, inner city living. Who says you never meet your neighbours?

* Something surbanites don't appreciate is how many inner city dwellings are furnished with hand-me-downs from the neighbours -- I've never seen any piece of furniture last longer than a day without being claimed. I've been here long enough to see the same pieces of furniture dumped on the street two or three times.

Friday, August 11

Wacky Designer Redux

They were back again today, Bright Young Coder and Sideways Notepad, discussing an upcoming enhancement to the website.

Lots of talk about the business side of things -- our Business Girl handled that side of things admirably -- I had nothing to say, if she wants green, then it's fine with me; if the contract covers privacy, then I assume Business Girl has chatted to Legal Legal Fairy Land and the t's crossed and the i's dotted. But the Geek Domain is another story, that's a tiny iota of existence where I can add a modicum of Something Beneficial. In this case, me, the Bitter Twisted One, wanted a test system so I can see The Brand New Thing working before Bright Young Coder and Sideways Notepad let it loose on the world.

"Now this test environment we've been talking about. Since we have a specification, we don't need that Test Environment anymore do we? Setting up another server is a lot of work," said Sideways Notepad.

Arrrgggh! I don't know what you think, but 60,000 a week, even in the crazy antipodean escudo barter-equivalents that form the currency system here, is a lot of tinned biscuits. Business Girl, Bright Young Coder, The Boss Who Was (more about her later) and myself manage to get Sideways Notepad to stop talking. I don't know whether he understood, but he did pique-out and draw some rather impressive doodles.

The dude can draw.

Then it was Bright Young Coder's turn, and it sounded sweet. They do their stuff and there's no change to what we provide them... or is there? Well, says Bright Young Coder, we'll let you know if there is when we get to it.

Arggggghhhhhh!!!!!!!!!

If there's one thing you (should have) learnt in Computing 101 besides never looking for potential partners in the class, or trying to build a better bong than the hardware engineering students, is when there is communcation of any sort between two or more things you need to define The Interface before anything else.

Bright Young Thing, your apprenticeship is not yet complete. Everyone needs a massive fuck up before they learn.

And you will, you will...

Thursday, August 10

i walked home in the rain
with shoes soaked, toes cold

i walked home in the dark
a plasma fairy wonder glare

i walked home in a war
umbrellas surrounded me

i walked home tonight
smiling, smiling.

free.

Wednesday, August 9

once more with feeling

Hello, I waited here for you, everlong.
The most versatile love song I can (sort of) play. Drop-D, bash it out with exuberance, rock it up, love's the new thing;

Tonight I throw myself into

Or sing it slow, a ballad, relive the bittersweet

And out of the red, out of her head she sang

Shouting, calling names while driving in the rain. That was one of us.

And I wonder when I sing along with you
If everything could ever feel this real forever
If anything could ever be this good again
It was good, but it couldn't go on. How do you know where that happily ever after is?

Come down, and waste away with me, down with me

You tell me I'm no good for you. I start to see your point of view.

Slow how you wanted it to be I'm over my head
out of her head she sang

Why go on? There were good times, lots of them, if we meet again I hope we laugh about those.

The only thing I'll ever ask of you
You've got to promise not to stop when I say when

I forgot to ask you to promise.

Friday, June 16

What do you do when you can't accept Firefly is dead?

"Take my love, take my land..." etc etc.

What do you do when you can't accept Firefly is dead? You write the scripts for the remainder of Season 1 and Season 2.

http://www.stillflying.net/default.htm

I haven't actually read a full one yet, but they seem okay. S1Ep22 "Those that remain behind" is based on the (Whedon scripted) comic book of the same name that details why Book and Inara left (Book's reason is pretty cool).

There's also a script lying around called "Dead or Alive" which is (apparently) an actual unshot script. http://www.fireflyfans.net/feature.asp?f=45 I gather a few bits and pieces were used elsewhere, but I haven't read it yet.

Wednesday, May 31

ACN Validation with SQL (Australian Company Number)

Carrying on from earlier, here's what you need to use to find invalid ACNs in your database.

Exciting stuff.

select replace(acn, ' ', ''), Name
from Copmany C
where acn <> ''
and (acn not like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
or right(10-
(( CAST( SUBSTRING( replace(acn, ' ', ''), 1, 1 ) AS integer ) * 8 )
+ ( CAST( SUBSTRING( replace(acn, ' ', ''), 2, 1 ) AS integer ) * 7 )
+ ( CAST( SUBSTRING( replace(acn, ' ', ''), 3, 1 ) AS integer ) * 6 )
+ ( CAST( SUBSTRING( replace(acn, ' ', ''), 4, 1 ) AS integer ) * 5 )
+ ( CAST( SUBSTRING( replace(acn, ' ', ''), 5, 1 ) AS integer ) * 4 )
+ ( CAST( SUBSTRING( replace(acn, ' ', ''), 6, 1 ) AS integer ) * 3 )
+ ( CAST( SUBSTRING( replace(acn, ' ', ''), 7, 1 ) AS integer ) * 2 )
+ ( CAST( SUBSTRING( replace(acn, ' ', ''), 8, 1 ) AS integer ) * 1 ) ) % 10, 1)
<> substring(replace(acn, ' ', ''),9,1))

ABN validation with SQL (Australian Business Number)

I'm sure we've all wanted to use Sql to validate every ABN number you've got in your database?

I know I have.

Next time, ACN validation.

select abn, Name
from Company C
where abn <> ''
and ( ( ( CAST( SUBSTRING( abn, 1, 1 ) AS integer ) - 1 ) * 10 )
+ ( CAST( SUBSTRING( abn, 2, 1 ) AS integer ) * 1 )
+ ( CAST( SUBSTRING( abn, 3, 1 ) AS integer ) * 3 )
+ ( CAST( SUBSTRING( abn, 4, 1 ) AS integer ) * 5 )
+ ( CAST( SUBSTRING( abn, 5, 1 ) AS integer ) * 7 )
+ ( CAST( SUBSTRING( abn, 6, 1 ) AS integer ) * 9 )
+ ( CAST( SUBSTRING( abn, 7, 1 ) AS integer ) * 11 )
+ ( CAST( SUBSTRING( abn, 8, 1 ) AS integer ) * 13 )
+ ( CAST( SUBSTRING( abn, 9, 1 ) AS integer ) * 15 )
+ ( CAST( SUBSTRING( abn, 10, 1 ) AS integer ) * 17 )
+ ( CAST( SUBSTRING( abn, 11, 1 ) AS integer ) * 19 ) ) % 89 <> 0