Talk:The CTP DICOM Anonymizer

From MircWiki
Jump to: navigation, search

@if(ElementName,matches,"regex")

[...] If you are not familiar with regular expressions and you need to use this function, get an experienced programmer to help you. [...]

"..."

Hmm. Yeah, I have to say... that is a pretty poor piece of "advice", there. Let's think this over for just a little bit longer than it takes to wave one's... er... hands around for attention, shall we? So, the poor sap who has been charged with implementing this fabulous software -- probably in the sole free 17 picoseconds of his or her day, between fixing hanging protocols, replacing some prima donna's mousepad, and generally being treated like... well, let's say "poorly" -- comes to this here wiki and breathes a sigh of relief... "Hooray!" thinks the sap. "I've found the wiki! Written by and for people like me! Surely someone has experienced the same issues as... Hey! there it is!" the sap exclaims (internally), for on the screen, there shines this very page! Ah, look at those lovely line items! Why, it's all there! Enumerated, explained, and elucidated, just. for. me..!

Ah. But then while reading about the regex conditional, he sees the above.

 :o(

"Get an experienced programmer to help you." Mm. Why, yes, hah, how stupid of me! Why had I not thought of that before? My, my, well it sure is a good thing I have one right here in my cornhole! faa-PLOOP! Out pops the Experienced Programmer! And after a very satisfying night of popcorn and spooning, our hero gets around to finally getting his regex questions answered by King Bubba. Of course! Haha! How stupid to not have thought of something so obvious!!

Dude. It's Earth. Line Two. Sounds Urgent.

Did you give this any thought at all? Like, a modicum? An iota? A smidge? No?

Now, believe me, I completely agree that anyone who doesn't know what regexes are should learn about them, and preferably not while working on this... but then again, anybody that needs this answered by this wiki probably doesn't have the option. Or didn't this cross your mind? I mean, it's okay if it didn't; that alone might just be a silly oversight when typing this up. Everyone could have made a similar error of judgment. No biggie. But what really made me slap my forehead loud enough to scare the neighbors and forced me to register here just to call and say how much I care (I do) was the truly pointless air of superiority in the chosen wording.

I won't get into the specifics of why the phrasing is demeaning, because, hey, let's be honest: it's the internet and the last thing the previous author's gonna do is actually follow the advice of the bastard (me) who criticized him, and the other, oh, one (maybe two) of you couldn't possibly care less, right? Right. So, we'll skip on that, and instead, I'll just add a link here, so that it can be of actual use to all the Poor Saps who actually come here with a river of anger-tears streaking down their cheeks. Yes, that's the sad but nevertheless true reality for far too many Informatics folks out there. So, instead of pontificating about what they "should" be doing, let's just help them, 'mkay? Here. This might prove useful:

http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap09.html 

Now, that there's a link to just one of the truly numerous places where regexes are explained. It's perhaps not the best, but it's certainly not the worst. It's my personal favorite, but really, most of the others would have also been just as fine. It's a lot to get through, certainly -- particularly for folks who find regexes mysterious. But at least it gives The Saps a fighting chance instead of bennying them in the forehead with one's funny little ego-winkie, talking about how they should speak to someone experienced. Like whom? You, the author? Did you leave your number? Huh. Funny, I guess you didn't. Surely then you at least left a link to where The Saps can actually get a hold of some Experienced Programmers? No??

Oh, dear.

See, I'm just a tiny bit sour because, what this looks like to me, more than anything else, is the typical sort of "help" one sees from individuals who altogether-not-so-quietly consider themselves superior to others and only write "helpful" online entries because it provides a forum with no danger of getting tomatoed off the stage -- in other words, it's a thinly-veiled attempt at attention, made ridiculous by the lack of REAL social interaction online. I mean, seriously... are you trying to impress anyone here? Really? or Thor's sake, WHY? What's the point? Why not just, you know, help them? (To the oh-so-astute who will eventually catch up and ask the inevFitable: No, this response is not the same thing. See if you can figure out why that is so. Here's some paper. Please keep your essays to one trillion words or less, single-spaced, no margins, in 4-point Comic Sans, thanks.)

But more to the point, such "help" is also a thinly-veiled attempt to sound like a knowledgeable individual on a topic that one might -- consciously or not -- be particularly afraid of showing one doesn't know too much about oneself. In this c ase, one theory to support that might be that the dismissive nature of the chosen wording may have been very deliberate (again, not necessarily (or not) a conscious choice) precisely because it works to help the author avoid having to "help" in those situations where such "help" would by necessity consist of expounding on matters the author is not comfortable expounding upon. Because if the aim truly was to simply be helpful, the author could've, say, touched on whether these are basic or extended regexes, yes? Or if perhaps there is a switch which would allows one to choose? If basic, are we talking about early Perl-based regexes? Or old-school UNIX? If extended, are we talking about the broader but more limiting POSIX-compliant regexes? (POSIX 1 or 2, by the way?) Or a more robust subset of any of the *BSD egrep implementations? Or are these a kind of "blend", like GNU's *grep implementations try to do, blurring the line between basic and extended by redefining the implementation's interpretation of how control characters ought to be treated in the BRE subset, ultimately aiming to match as closely as feasible the behaviour of their extended brethren?

As I said, so many questions. If only we had experienced programmers to help answer each one, eh?