|
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 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.