

The Storray Engine, an excellent example of why we use databases. - bigstorm
http://thedailywtf.com/Articles/Classic-WTF-The-Storray-Engine.aspx

======
singular
I think this demonstrates nicely one of the common memes amongst the, shall we
say, less reflective programmers out there - 'this is a simple problem, I can
solve this easily myself' - the Bob paradox[1] in action. I think the thrill
of being able to 'just get stuff done' can have a warping influence on a
programmer which causes them to neglect to notice the details which makes the
problem at hand a little more complicated than they imagine.

It's funny to see how they rationalise problems later as being entirely
necessary to the problem (I've witnessed this first hand), and nothing to do
with a misapprehension of the difficulty of the problem.

Am I the only one here who finds the dailywtf sometimes extremely depressing?!

[1]:<http://sites.google.com/site/steveyegge2/being-the-averagest>

~~~
pavlov
_Am I the only one here who finds the dailywtf sometimes extremely
depressing?!_

My feeling about DailyWTF is similar to visiting an art exhibition with
paintings done by an unguided community class. The whole thing is clearly
driven by a fundamental need to create something, and many of the exhibited
works demonstrate an intoxicating thrill of getting something finished... But
at the same time they make it clear why that thrill alone isn't a good enough
reason for the work to be shown in public.

------
Robin_Message
In-memory databases do make sense for some things if you can: a. easily dump
data as code and b. construct good key-value maps.

Incidentally, doesn't HN run as a stoarray?

~~~
jimbokun
"Incidentally, doesn't HN run as a stoarray?"

This is the very first thing I thought of. The guy seems to have re-invented
S-expressions in VB (or whatever ASP language that is). Data is code, code is
data. Load it into memory, write it to a file. With 500 products, maybe even
1000 products, maybe even 10000, or more, this might work fine, in terms of
performance, at least.

Now, my critique of the code is that there are no apparent abstractions, which
means that it will be very difficult to change anything about the
implementation later. All of the hard coded indices from 0 to 7 are very
opaque and very brittle.

However, change those to JSON-ish dictionaries and add some slightly higher
level abstractions, and you could get something that looks a little more like
the interface to a MySQL database.

So what I find interesting about putting this as a WTF with no explanation is
that the author just seems to assume that everyone should use a relational
database for every problem without thinking about how good a fit it is for
their specific problem. At least, without more explanation it's hard to tell
what exactly the assumed critique is.

~~~
Rickasaurus
I've got to say, it's nice to see HN users who look a bit deeper.

------
code_duck
This is a groundbreaking implementation of a cutting edge NoSQL storage
system! What is it doing on the Daily WTF? Some incompetent tech team in NYC
or somewhere should be congratulating themselves for installing it.

------
jacquesm
Typical. There's enough text in the sample to ID the client, they could have
been a bit more circumspect there.

When all you have is a hammer...

I think we should see this in light of the recent nosql trend though, this guy
was just ahead of the curve.

------
athom
Wow, this takes me back!

Back around '05, I inherited the enviable task of getting a "linked project
scheduling system" up and running. The creator of this MS-Project-based marvel
had implemented an employee database in a VB module, that not only avoided the
hassles of ADO and SQL, but almost managed to do away with arrays completely!
Switch/Case statements, anyone?

By the way, if needles and haystacks are your thing, try a Google search on
Microsoft Project. Hours of fun!

