|
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.
|
|
|
|
|
FormatException in that one line there!
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|
|
Recently, I just took over some project whose variables are full of such naming. I took time to rename all of them with descriptive names and guess what? I found a bug! Wrong lock is held for a shared resource: programmer make this mistake bcos all the locks are named from lock1 to lock39 . I found out because I renamed the locks according to the resource they are supposed to protect.
|
|
|
|
|
Shouldn't the example be in the 'code as war crime' discussion?
Talking of which, I found some code in the Linux Kernel which was obviously written by someone new to C and C++; the error handling was classic VB6 'onerror goto' style.
Open Source; well it works at least, but shouldn't the entry bar be set a little higher than "I'm a VB6 programmer, let's have the party anyway"?
|
|
|
|
|
Hey, at least with open source you can find that stuff much easier. If a person knows everyone in the world can see the source code they will try to write the best code they can. When the code is hidden things get much worse.
One time after much wrangling I was finally able to sign an NDA to gain access the source code to some e-commerce software that a customer was using but had become discontinued. I can completely understand their reluctance--even "on error goto" style exception handling would be better than nothing. And, it being e-commerce it would've been nice if the transactions were atomic. Even if I wasn't legally obligated to keep the identity of the "offender" a secret I probably still would--it just be cruel to mock them; they deserve our pity.
I have gained access to closed source via NDA on more than one occasion and horror code has ALWAYS been present and prominent. Every. Single. Time. It is a really big factor in why I do not use closed source software to run my business anymore. It is kind of like how people who have worked in a fast food restaurant chains sometimes stop eating the food there.
|
|
|
|
|
Firstly I'm not dissing Open Source. Just making an observation. I'm quite sure that there is similarly 'bad' code hidden in proprietary. I use nothing but OSS at home(except nvidia) and as much as work will let me, which is why I was trawling the kernel. Besides, the section was in an 'Opened' module which had originally been written as proprietary in the 90s.
|
|
|
|