This is a minor bugfix release, there was a problem where I wasn't mallocing enough space to null terminate
my strings. I've fixed it. You can find the new release Here
and the documentation (Doxygen) Here.
Enjoy.
So, I've been thinking about hardware costing, since I have to look at it in my day-to-day work. I think a more formal method for calculating the cost of electronic hardware should be created. I've been toying with one now that's basically
an attempt to find the total cost of a given piece of hardware.
For example, a workstation that retails at $1,200. What does that workstation really cost? One method I've been using
is:
taking the Future value of the money, based on what the companies expected rate of return for capital is, plus the finance costs less the depreciation benefits (using three year straight line) plus the service cost should yield the actuall cost of the hardware.
So, that $1,200 workstation, financed for three years at 4%, going into an organization with 6 support staff (with a total support rate of 600,000 USD per year) adding a support cost of 10 hours per year. The depreciation of this is 400 dollars per year, with a salvage value of $0. This adds a tax benefit of $160 per year (or 480 over three years). The assumtion is that the expected rate of return for this company is 12% (which means that the company expects to generate .12 for every dollar invested). This brings the cost of this workstation to 1,836.52 in constant dollars for three years. This is then 612.17 dollars per year, or 11.77 dollars per week. This would be a good idea to buy this hardware if it would create more than 12 dollars of increased productivity per week, or more than 612.17 dollars of productivity per year. That may not seem like much and it's really only 12.73 hours per year (of cost for one person whose rate is 100,000 per year). That's a little more than one day, but it probably pales in comparison to how much illness costs in terms of productivity.
BUT the question is will this new workstation actually be able to generate a net increase in productivity? we can not
answer this question with the above information. In fact, there are times when new hardware will actually reduce
productivity, but we're not going to get into that right now. The last thing I'm going to say is this, just because you increase a given employee's productivity does not mean you will yield any real short term benefit from that. You will only realise a benefit if the increase either 1) increases income or 2) decreases costs. An example of this would be a more efficient delivery person: they're rate and your profitability are unchanged even if they deliever packages on their route 15% more efficiently.
Can be found Here. This release adds the ability to scan through a database and get all
keys sequentially, and the ability to dump out databases.
The datastore class is feature complete, but does need to be refactored a bit, that will come next. The interface that class
provides will not change, however, and the interface should be considered stable.
There is another c++ interface to CDB out there (to TinyDB to be specific, which is an implementation of cdb). It can
be found at http://cdbxx.sourceforge.net/. This version
has iterators, which is pretty cool.
I've started documententing (doxygen) the code (which can be found Here
and have posted a new tarball here. The ChangeLog is also online, though I need to get better at making changelog entries.
New Feature:
Logging: It creates a log in cdbmake format, but does not add it yet.
Database Backup: allows you to create a backup of the database. This will be more useful when it creates new databases.
-jbs
I like D. J. Bernstein a lot. I like his code,
and well, I like his code. I don't really know the guy, but anyway.
It's like this: a lot of the data I work with is read only. I have an app that
needs this read only datastore and it needs to be fast. And simple.
DJB has this cdb thing, that meets all of those requirements AND has
a clean API. but the api is only for C. I don't code in C. I really don't code so much as type-till-it-compiles anyway, BUT I've got this
C++ version of cdb and I thought I should release it. My code is GPL, with the copywrite holder being me. The cdb stuff is, I believe, public domain. Get It Here. There is a makefile, and it compiles under gcc 3.3
let me know what you think, All complements go to DJB all complaints
go to me. Thank you.