- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
sexy
Admin
Ew.
Ew.
Yeah, that rewrite was doomed to failure right from the start...
Admin
JSQL sounds like JavaScript-SQL
Filed Under: Atwood's Law
Admin
I feed JSON to a stored procedure that produces SQL. Close enough? :P
Admin
You're thinking of JSON-SQL (jSQL) which is something completely different to JSQL
:trolleybus:
Admin
last week i replaced a stored procedure.
that stored procedure took a JSON document and transformed it into an XML document before passing it off to another stored procedure. that second stored procedure passed the XML document to a CLR method. that CLR method transforms the XML using an XSLT and passes the result to a stored procedure. that third stored procedure calls a sql function to extract a bunch of fields from the XML and inserts them into a couple of tables.
I replaced it with a stored procedure that takes a half dozen parameters and inserts the things into the tables that need to be inserted.
shockingly throughput of that part of the system increased about a thousandfold.
Admin
Ouch!
And I can't even complain that it needs more XML.... (I mean adding a third round-trip over XML would surely lead to the instant destruction of the universe comparable as divide by zero... :smile:
Admin
That's quite a punishment
Admin
I was there with my own one-man-show. I wrote an e-commerce engine, where everything was customizable. Later, I found my design stolen at this Wikipedia article: http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model
These beginner mistakes :smile:
Surprisingly, two e-shops based on my engine are still running a making money for their happy owners. However, I'm not posting links to these :smiley:
Admin
but wait there's more!
that CLR bit that i mentioned? it was more than one method..... it also involved a MSMQ
Admin
Was that the code you were hitting with a Piko Hammer?
Admin
You know, I was always afraid this thing I wrote was a WTF.
Now I know that even if it is, it's a minor one at least :laughing:
Admin
no. the piko piko hammer was used on some salesforce code.
this one needed a tactical nuke. ;-)
Admin
as do i. and then i remember the code i've been replacing is worse than anything i've ever written.
Admin
Brrr. That brought back memories.
Before the invention of XML we had a research project that looked in to SGML. Of course we spent a heapload of money on useless things, including a DBMS called BASISplus, with their SGMLServer addon.
This was essentially a normal RDBMS, possibly slightly better than run-of-the-mill DB's at the time at doing text-searches in BLOBS. The SGMLserver bit was a nifty database design added on top that followed roughly the same design as the one in this article.
Based on what we payed them, they were at least successful that year, but it made me crawl back into my little Ingres cave and stay there for years afterwards.
Admin
Inner Platform!
Told ya!
Admin
I wish I invented XML. I would die a happy sonobabitch.
Admin
FTFY
Admin
You really want us to curse your name for all eternity? Well, ok I guess...
Admin
You seem to have misunderstood the article. They were building everything from scratch, including their own programming language. They pretty much stayed on the basement, reinventing everything.
You all will soon! :imp:
Admin
The following empty message can be customized in every way by our soon-to-be-found customers.
Now, we need to write from scratch a customisable in every way editor for that message, so your customers can have it whatever way they want.
When I hear "customisable in all possible ways", It is in fact: "There is no actual specification, only buzz-words."
Admin
https://www.youtube.com/watch?v=UmyzYBeGrE8 https://www.youtube.com/watch?v=ivqvobC9sm8
Admin
XML is like blasting explosive. Properly used, it does a good job. Wrongly used, it causes crap to rain out of the sky all over the place. Unlike blasting explosive, people are allowed to use it without extensive training.
Admin
Jeff-SQL? Now that's a scary thought...
Admin
Hope you did it from orbit.
It's the only way to be sure you know.. :-)
Admin
yep. with extreme prejudice.
Admin
Platform-on-a-platform, a classic UnPattern. Just about everyone learning relational databases at some point comes up with the brilliant idea of building a messy NoSQL model on top of it as described here, thinking they were the first genius to come up with it.
Some of us will do a ridiculous amount of work to push a small amount of work back to users.
Admin
Admin
But your new stored procedure isn't customizable!
Admin
Admin
You did forget a few
System.exit
s in there...Admin
Nah, this is just a snippet of the comment system selection. the System.exits are buried in that Discourse() class. (It's kind of like the WhiteRabbit().)
Admin
I would have gone with:
Admin
Heaven... Heaven is a place A place where nothing Nothing ever happens....
Admin
Put them in the constructor for the
DiscourseBugException
class. :fried_shrimp:Admin
Obligatory Stop Making Sense:
https://www.youtube.com/watch?v=5zNdMc6wGtU
Admin
There are two concepts that are essential in writing good software:
Simplicity speaks for itself, and is referred to as well in Extreme Programming.
Evolution means that you build on what you have, and improve where you can. If you build from scratch, you're going to get a whole new set of bugs which will take a long time to iron out. There has to be a very good reason to do a full rewrite.
Looks like Jack failed on both counts.
Admin
What do you do with code that's conceptually wrong? (I.e. the developers who wrote it didn't understand the domain concepts well enough and wrote code that was doomed to degenerate into a steaming heap of WTF as a result)
Admin
I still look how I can rewrite it portion by portion, without bringing the whole beast down for an indeterminate amount of time.
There will be always delays, and you need to bring in an estimate, which ais going to be hilariously inaccurate because of all the quirks you didn't account for.