|
BrainiacV wrote: gave it to us expecting that all we had to do was integrate it into our existing system. That's simple, right?
Haha, reminds me of my old CEO. Whenever asking for (sometimes major) code changes he'd always say something like "it's an object, right? Don't you just have to change a couple of lines?"
Apparently someone had explained OO to him in glowing terms at some point. A little knowledge can be a dangerous thing.
|
|
|
|
|
Third party drawbacks:
1. Have to learn their api. sometimes its mind bending sometimes simple.
2. Depend on their support/consceintiousness for bug fixes and upgrades.
3. Can't fix a bug if you have a special case. even if you get the source code.
4. Don't always know you cant solve a problem until you have wasted a week on the componenet.
5. Don't own it cant enhance it.
Pluses:
1. debugged already
2. learn from other peoples problems - may get features you hadn't even considered.
|
|
|
|
|
Great article.
It is supposed third party tools are the salvation to those activities one is not the best at. But, how many hours are spend before buying? How many hours are dedicated to understand other's logics? What if the documentation lacks of good examples to understand how to get the best of tool?
Sometimes, you have to start from scratch.
|
|
|
|
|
CarlosAlbertoEstrada wrote: How many hours are dedicated to understand other's logics? What if the documentation lacks of good examples to understand how to get the best of tool?
Actually, that can be much worse with an in-house solution, especially once the guy who wrote it is gone. It's all fun and games until there's no one around who knows how it works anymore. At least with a third-party solution, there is likely to be a community of other people who use it and who can answer questions, even if the company that made it no longer maintains it. And...documentation? At least the third-party solution is likely to have some
|
|
|
|
|
I use third party libraries (and tools) whenever I consider that the effort of writing my own solution will outweigth the effort of making the third party solution work, usually I evaluate different solutions and pick the best/easy to use/better reviewed/open one; the only times I avoid a third party library is when their license is incompatible with closed source (I work with closed source systems) which invariably means when they use GPL.
|
|
|
|
|
jim lahey wrote: We want to be able to interpret expressions defined in Xml files
Presumably because this reflects a real business need versus a 'really cool' development idea.
jim lahey wrote: and we've got a component that can do a hell of a lot more to boot
Which isn't a recommendation. After all Oracle can do a lot more than store a configuration value but one certainly shouldn't choose to use Oracle only to store a configuration value.
jim lahey wrote: What objections do you have to using third party stuff?
Some Reasons
- Often the complexity greatly exceeds the needed use.
- The intended use is much more suited to a far simpler solution. This is similar to but not the same as the prior reason. It comes about because the developer finds a library they want to use and then invents a problem to solve with it or rationalizes much more needed functionality for an existing problem.
- The license is not compatible with the needs of the business. This often is because some licenses can require that the Application code must be available as source. Another common problem is that that there is no license which means one must have explicit use license from the author to use it.
- It isn't available as source and the author(s) support is erratic.
One must of course have a policy in place to keep and track license(s). And one should keep an actual copy of the license not just a link. One must also be prepared for the possibility that at some time the license might change.
|
|
|
|
|
The built in profanity filter should indicate the unfortunate alias selected by a female colleague whose first language is not English!
What a sunshine!
select
count(usr.usr_id) c***
FROM [dbo].[user_details] usr
LEFT JOIN [dbo].[aspnet_Users] a_usr ON usr.usr_id = a_usr.usr_id
where a_usr.usr_id IS NULL
It's well known that if all the cat videos and porn disappeared from the internet there would be only one site left and it would be called whereareallthecatvideosandporn.com
|
|
|
|
|
Brilliant.
Maybe she was having a bad day?
|
|
|
|
|
What a count!
The universe is composed of electrons, neutrons, protons and......morons. (ThePhantomUpvoter)
|
|
|
|
|
Yeah, it really should have been:
count(usr.usr_id) AS NumberOfOrphanedCunts
Always strive to make the intent clear.
The real weird thing is however the nullable foreign key.
|
|
|
|
|
Well well, my first language is not english either, and i remember doing exactly the same naming in my tests
|
|
|
|
|
Initially I didn't get it (because of the asterisks). Such aliases should not surprize anyone. If we step aside from the programming for a moment, one can remember that Japanese car makers are that awesome, that they can name cars "Pajero" (which is not a very good word in Spanish slang) and sell them officially in Spain. With that said, why can't a female developer use genitalia as an alias in that SQL query?
lifecycle of a lifecycle of a lifecycle
|
|
|
|
|
I like windows system error codes, they are cool.
Here are a few nice examples, taken from here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx[^]
ERROR_SUCCESS (yes, a successful error)
ERROR_ARENA_TRASHED (Quake 3 style)
ERROR_DEV_NOT_EXIST (the developers have disappeared)
ERROR_OUT_OF_STRUCTURES (where have all my structures gone?!)
ERROR_TOO_MANY_SEMAPHORES (we need gyratories)
ERROR_WAIT_NO_CHILDREN (Bad parenting)
ERROR_CHILD_NOT_COMPLETE (work in progress... in the bedroom)
and the list continues....
Programming is fun
|
|
|
|
|
ERROR_RING2_STACK_IN_USE
Fnarr fnarr.
“Education is not the piling on of learning, information, data, facts, skills, or abilities - that's training or instruction - but is rather making visible what is hidden as a seed” “One of the greatest problems of our time is that many are schooled but few are educated”
Sir Thomas More (1478 – 1535)
|
|
|
|
|
ERROR_NESTING_NOT_ALLOWED
Does this mean that birds can't lay any eggs in Windows???
|
|
|
|
|
and let's not forget to let the disk resources rest for a while
ERROR_DISK_RESOURCES_EXHAUSTED
|
|
|
|
|
ERROR_VIRUS_DELETED (Why is that an error? )
ERROR_CANT_WAIT ( Patience, you must have)
ERROR_NOT_SAFE_MODE_DRIVER (You need more driving lessons)
|
|
|
|
|
ERROR_EAS_DIDNT_FIT (wait, what?)
ERROR_TOO_MANY_POSTS (and most of them are OT, which makes it even worse)
ERROR_PIPE_BUSY (let's just move along)
ERROR_MAX_THRDS_REACHED (hopefully isn't related to the above)
ERROR_SAME_DRIVE (well, at least)
ERROR_DUPLICATE_PRIVILEGES (sh*t happens)
ERROR_MR_MID_NOT_FOUND (Mr Mid is not at home now)
ERROR_MAX_SESSIONS_REACHED (sooner or later...)
Greetings - Jacek
|
|
|
|
|
ERROR_MUTANT_LIMIT_EXCEEDED (too many X-MEN)
ERROR_ALLOCATE_BUCKET (http://ihasabucket.com/[^])
ERROR_NOT_CAPABLE (pffffff... true)
ERROR_CHILD_MUST_BE_VOLATILE (god forbid)
ERROR_MAGAZINE_NOT_PRESENT (get a book)
I wonder... is there a master troll at Microsoft who wrote this system error code?
|
|
|
|
|
ERROR_NOT_READY (Get a move on!)
ERROR_CALL_NOT_IMPLEMENTED (Don't try to contact your friend with your laptop)
ERROR_DISCARDED (you threw away your computer!)
ERROR_PIPE_CONNECTED (That's an error?)
ERROR_CANTREAD (Illiterate computer)
ERROR_CANTWRITE (Ditto)
|
|
|
|
|
Have a look at this little beauty, courtesy of QA:
ptotal = Double.Parse(Me.txtt1.Text) + Double.Parse(Me.txtt2.Text) + Double.Parse(Me.txtt3.Text) + _
Double.Parse(Me.txtt4.Text) + Double.Parse(Me.txtt5.Text) + Double.Parse(Me.txtt6.Text) + _
Double.Parse(Me.txtt7.Text) + Double.Parse(Me.txtt8.Text) + Double.Parse(Me.txtt9.Text) + _
Double.Parse(Me.txtt10.Text) + Double.Parse(Me.txtt11.Text) + Double.Parse(Me.txtt12.Text) + _
Double.Parse(Me.txtt13.Text) + Double.Parse(Me.txtt14.Text) + Double.Parse(Me.txtt15.Text) + _
Double.Parse(Me.txtt16.Text) + Double.Parse(Me.txtt17.Text) + Double.Parse(Me.txtt18.Text) + _
Double.Parse(Me.txtt19.Text) + Double.Parse(Me.txtt20.Text) + Double.Parse(Me.txtt21.Text) + _
Double.Parse(Me.txtt22.Text) + Double.Parse(Me.txtt23.Text) + Double.Parse(Me.txtt24.Text) + _
Double.Parse(Me.txtt25.Text) + Double.Parse(Me.txtt26.Text) + Double.Parse(Me.txtt27.Text) + _
Double.Parse(Me.txtt28.Text) + Double.Parse(Me.txtt29.Text) + Double.Parse(Me.txtt30.Text) + _
Double.Parse(Me.txtt31.Text) + Double.Parse(Me.txtt32.Text) + Double.Parse(Me.txtt33.Text) + _
Double.Parse(Me.txtt34.Text) + Double.Parse(Me.txtt35.Text) + Double.Parse(Me.txtt36.Text) + _
Double.Parse(Me.txtt37.Text) + Double.Parse(Me.txtt38.Text) + Double.Parse(Me.txtt39.Text) + _
Double.Parse(Me.txtt40.Text) + Double.Parse(Me.txtt41.Text) + Double.Parse(Me.txtt42.Text) + _
Double.Parse(Me.txtt43.Text) + Double.Parse(Me.txtt44.Text) + Double.Parse(Me.txtt45.Text) + _
Double.Parse(Me.txtt46.Text) + Double.Parse(Me.txtt47.Text) + Double.Parse(Me.txtt48.Text) + _
Double.Parse(Me.txtt49.Text) + Double.Parse(Me.txtt50.Text)
O.M.G.
What else can you do, but gaze upon it's plethora of hideous features...Yes, those are all TextBoxes.
The universe is composed of electrons, neutrons, protons and......morons. (ThePhantomUpvoter)
|
|
|
|
|
My, my aren't you a beauty... OriginalGriff wrote: Yes, those are all TextBoxes ... and VB.Net?!
Guess, QA felt bored
(yes|no|maybe)*
|
|
|
|
|
I've seen this type of garbage in VC6, VB6, VB.Net, C#, Java, JavaScript, etc. Garbage is garbage - it doesn't depend on the language.
|
|
|
|
|
Agreed... unfortunately
(yes|no|maybe)*
|
|
|
|
|
cycles are for w*****s !
modified 6-Jun-13 9:32am.
|
|
|
|