- 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
If he's curious it might be a sexually discriminatory condition
Admin
Who the hell is Bill Posters? And what did he do?
Admin
Actually I did tell my boss what the problem was. I explained it in great detail. However since I was new he didn't believe me.
The biggest challenged I faced was that the previous developer basically told my boss that a ton of processing was happening at the Aggregator which was crap. The truth of it was no processing was happening at the Aggregator, it was all being done at the websites. This meant that any business logic that he thought the Aggregator did was all implemented through the 25 sites, which were all different in their own little way.
They had been told that this system was completely independent of everything else. They were told that any site out there could just point itself to this Aggregator and utilize it, which they could then sell the services of the Aggregator which was basically a rudimentary CRM system. However that was completely not true.
What they also wanted was to purchase leads from other "gyms" and have those "gyms" send them the leads to their site. However, they wanted to be able to run third party checks against those leads. If the third party checks didn't pan out then they wanted to be able to reject the lead. None of this would work well, or should be done, through the SQL Server or the 25 independent sites.
Perpetuating bad code with good code is not the solution. If the boss says I need the site to do this, and you have an idea where they are wanting to go and you know that to get there you need to make major modifications to the architecture then you need to start that battle right away. If you don't you end up with the crap that gets submitted here. Just because you can write great code doesn't mean that the architecture isn't crap.
We ended up creating a massive XML posting service that handled all the business logic where the business logic should be handled, which then allowed them to sell out the Aggregator's services to other companies. It also allowed them to check a lead and instantly reject it, among MANY other things that just wouldn't have been possible with direct writes to the database.
Oh yeah and it was all ASP/vbscript spaghetti code that did direct writes to the db without using as single stored proc (there were NONE throughout the entire Aggregator code OR the 25 sites).
my 2 cents....
Admin
So shall I, in between playing Super Mario Bros 3 on my phone ^_^ thankyou very much :)
Admin
I have just re-read the article to verify and can assure you that you didn't. The boss interupted you before you could explain. Remember?
Admin
Admin
Admin
Ha ha ha my evil plan to bring capitalism to its knees by getting all developers to waste their time on video game sites is working - Waluigi.
Admin
Got it in 9 refreshes: [image]
Although I don't think she's a patch on the original. And the ad copy sucks.
Admin
Admin
An experience developer that REALLY wanted to get his point across would have gone to see his boss and vomit down his back, then returned to work without saying a word.
Admin
Admin
Admin
Admin
I prefer Mozy girl.
Admin
It drives me around the twist; I see the kludge with MAX done all the time here. There are no identity columns in any of our tables and no referential constraints. I suppose I should be grateful that there are actually primary keys.
Admin
Yeah, it's been a slow day.
Admin
Unless you implement multiple inheritance.
Three super classes: Player, Character, Evil
Plumber inherits from Character.
Mario and Luigi inherit from Player and Plumber.
Wario and Waluigi inherit from Mario and Luigi, and they both inherit from Evil. In this case, they are half-brothers.
Wario and Waluigi could inherit directly from Plumber instead, and be brothers. Except that's not very good code reuse
Admin
The Grammer-Nazi Police are after you.
Admin
Admin
Flag on the play. Offense. Failure to include at least one spelling or grammar error on a Grammar-Nazi post. 5 yard penalty. Repeat second down.
Admin
Admin
If two or more max(x) + 1 queries run to do an insert before any records are inserted. I have been ferreting the same kind of junk out of the apps at my company. For lower loads, this will probably work fine as the odds of two requests running almost simultaneously are not likely. However, the more people there are using the database at the same time, the more likely the problem becomes. What is worse, is that, from the sound of it, multiple sites were using a single database, making this collision even more likely than if there had been only a single site.
Admin
Inheritance is a horrible way to implement the relationships between Mario and Wario and friends. Inheritance from Player, Character, and Plumber is one thing. But you can't say that Wario "is a" Mario. Wario isn't a more specific instance of Mario, he can't be treated as though he is a Mario.
Admin
I agree, that is what I was thinking, but you worded it better.
Comes down to the big problem most software engineers have, communication. In most cases your boss is a clueless when it comes to programming so no use complaining to him, he will just hear excuses and not trust you with anything again.
It is like cutting off your nose to spite your face.
Admin
Oh noes! <SFSAD> has broken the near-unbreakable captcha system and added a spam comment! What with the economy like this, gold farming isn't going well so we have conversion to captcha-cracking? Evil geniuses (or genii, dear mr. G. Rammar-Nazi?).
Admin
Step one of any problem: Solve the problem Step two of any problem: Solve the other problems you found while solving the original problem.
The protagonist of this story clearly was a idealist, and not very useful to most businesses.
The architect clearly did the first step. Probably should do the second step as well, but the first step was what is required to make things work. While the architect is possibly not doing his job in other areas (I don't trust this is an important system for this company), he definitely did the right thing here.
If the protagonist had just done step one, then he'd have some political capital to possibly make the required DB changes to make this less of a clusterfuck.