I'm Impressed!!

Ah..
Bare metal programming.

Long lonely nites
with LOTS of satisfaction.

doing Proj Mgmt work, I miss it :(

-----Original Message-----
From: Brad Jensen [mailto:brad@elstore.com]
Sent: Wednesday, 12 December 2001 16:29
To: midrange-l@midrange.com
Subject: Re: Two persons per product"



> Once past the architecture stage, it's 'merely' coding.  The
coding
> phase is the 'grunt' work of a problem; the creativity is in the
> design.  Coding is a 'mechanical' process of translating the
white
> board diagrams into code (whatever the language).


Maybe at your shop.

I wrote the key structure for my archive system, because database
keying was too slow, too airy (not dense)
I learned everything about b+ keying, wrote a couple of versions,
then coded. It worked great, but when the person had half a
million keys or so, it was too slow.

So I rewrote it again, reading and writing my own disk blocks of
32K, preallocating string space and using assembler routines to
move the strings around. Then I wrote my own key merge routines to
build an n-key structure with no wasted space, no half empty
interior nodes.

It was a thing of beauty and it ran 40 times as fast as the 'plain
vanilla code.'

The architecture was exactly the same.

Then we needed to compress the report pages, and I don't mean
wimpy 2 to 1 compression through rle like our competitors. We
couldn't zip or arc the files because we needed instant access to
the middle of a report  that might be 30 megabytes long, so I came
up with a paged zip-style compression that was self contained. I
real;ized that a serial file has two known points, the beginning
and the end, and put the page table count at the end of the file,
then the page table above it. So to find a virtual offset into the
file, you read the last four bytes, get the page table count,
divide the address by 32000, giving you your offset into the page
table. Then you read the physical offset into the file, read the
integer there that tells the compressed size, then decompress a
chunk of that size giving you the original data block. fast as
lightening. And the problems were solved in code. And the
compression averages 6 to 1. That was important when hard drives
were 40 MB.

> Yes, yes, I know that this is not as mechanical a process as I
make
> it sound... especially if the white board doesn't have enough
detail.
> [I remember one consulting programmer we had... I showed him the
> basic diagrams for an application, and he was hopelessly lost.
He
> was not a 'programmer' as I envision a programmer-- he was a
"coder."

USe a mimio

> In building terms, the coding is putting the varnish on the
woodwork,
> hanging the light fixtures, making the final inspection, before
> turning the keys over to the new owners.

maybe in your house.

_______________________________________________
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@midrange.com
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
or email: MIDRANGE-L-request@midrange.com
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.