Comment On For Whom the BEL Tolls

 Although Martin had been a programmer at the company for several years, he was never was able to escape his second-rate status. And how could he? With two rockstar programmers at the helm, he was lucky that their brilliance didn't outshine him to a third- or even forth-rate status. Heck, he was just lucky to be in their presence. [expand full text]
« PrevPage 1 | Page 2 | Page 3Next »

Re: For Whom the BEL Tolls

2012-07-02 09:06 • by COKKENBALZ (unregistered)
Ring my BEL... Ring my BEL

Re: For Whom the BEL Tolls

2012-07-02 09:07 • by oheso
I typically refuse to be responsible for code I haven't seed, too.

Re: For Whom the BEL Tolls

2012-07-02 09:20 • by LarryDavid
384174 in reply to 384173
oheso:
I typically refuse to be responsible for code I haven't seed, too.


Everybody knows you should always seed

Re: For Whom the BEL Tolls

2012-07-02 09:23 • by oheso
384175 in reply to 384174
LarryDavid:

Everybody knows you should always seed


Wasn't that an issue with LinkedIn?

Re: For Whom the BEL Tolls

2012-07-02 09:25 • by John (unregistered)
I bet the database query language was SQ-BEL

Re: For Whom the BEL Tolls

2012-07-02 09:27 • by n/a (unregistered)
384177 in reply to 384174
LarryDavid:

Everybody knows you should always seed


The developers of this WTF always seed their code... randomly.

Re: For Whom the BEL Tolls

2012-07-02 09:27 • by Am Disappoint (unregistered)
See a moderateley WTF story
Come to the site to look for snide meta-comments in the source of the story
None there

Very Disappoint.

CAPTCHA: damnum - It's that damnum that's breaking the record

Re: For Whom the BEL Tolls

2012-07-02 09:31 • by ¯\(°_o)/¯ I DUNNO LOL (unregistered)
One version of OS X TextEdit.app (10.4 era I think) somehow had the ability to insert control-P characters into the text. I was using plain old TextEdit.app rather than XCode because this was mostly a bunch of 8-bit assembly language code I was working on, such as for hacking on old video game consoles, and sometimes little command line utilities in C.

I never figured out what sloppy keyboarding I did to trigger the control-P, but since it was completely invisible, even when whatever compiler/assembler I was using bitched about the line of code, it still took me a minute or two before I found the place where I had to hit the left/right arrow keys twice to pass.

Re: For Whom the BEL Tolls

2012-07-02 09:47 • by @Deprecated (unregistered)
So, did the rockstars come back and make it work in short order? Or did Martin replace it with something off the shelf?

BTW, what is "WCF"? I'd like to think it's pronounced "Whatza F???"

Re: For Whom the BEL Tolls

2012-07-02 09:49 • by Bob (unregistered)
C# doesn't have a chr() function?

I agree that Martin doesn't qualify as a decent programmer, however, it seems the "rockstars" don't either.

Re: For Whom the BEL Tolls

2012-07-02 09:49 • by scott (unregistered)
384182 in reply to 384179
¯\(°_o)/¯ I DUNNO LOL:
One version of OS X TextEdit.app (10.4 era I think) somehow had the ability to insert control-P characters into the text. I was using plain old TextEdit.app rather than XCode because this was mostly a bunch of 8-bit assembly language code I was working on, such as for hacking on old video game consoles, and sometimes little command line utilities in C.

I never figured out what sloppy keyboarding I did to trigger the control-P, but since it was completely invisible, even when whatever compiler/assembler I was using bitched about the line of code, it still took me a minute or two before I found the place where I had to hit the left/right arrow keys twice to pass.


Yeah, well, Xcode 3.2 still has this "feature". About once a year I get a line of code that will not compile until I retype it character for visible character...

Re: For Whom the BEL Tolls

2012-07-02 09:49 • by Bob (unregistered)
384183 in reply to 384181
Ha! C# _doesn't_ have a chr() function!

However, you can cast, so still no excuse.

Re: For Whom the BEL Tolls

2012-07-02 09:51 • by ObiWayneKenobi
Sounds kind of like they were trying to do a NoSQL database type of thing, but failed miserably.

Lesson: There's a difference between REAL "rockstar" developers, and snake oil salesmen who happen to talk a big game.

Re: For Whom the BEL Tolls

2012-07-02 09:54 • by dkf
384185 in reply to 384180
@Deprecated:
BTW, what is "WCF"?
Windows Communication Foundation.

I wish I didn't know that.

Re: For Whom the BEL Tolls

2012-07-02 09:54 • by David Crowell (unregistered)
Ding! Fries are done!

Re: For Whom the BEL Tolls

2012-07-02 09:56 • by toth
Martin didn't want to be responsible for code that he hadn't seed nor couldn't build


...Does TDWTF have editors?

Re: For Whom the BEL Tolls

2012-07-02 09:57 • by PiisAWheeL
384188 in reply to 384186
David Crowell:
Ding! Fries are done!
I work at burger king i make flaming whoppers i wear paper hats!

Really not a very exciting 1 tho.

Re: For Whom the BEL Tolls

2012-07-02 09:59 • by Anon (unregistered)
384189 in reply to 384187
Yes, but they use visible characters only.

Re: For Whom the BEL Tolls

2012-07-02 10:02 • by rss is broken (unregistered)
article breaks rss

Re: For Whom the BEL Tolls

2012-07-02 10:02 • by Someone You Know
Alex Papadimoulis:
When it called for an airplane… well, they'd just build a carplane. A boat? Try a carboat.


And we can save them hundreds by combining their plane, car and boat policies!

Re: For Whom the BEL Tolls

2012-07-02 10:06 • by For the Proliferation of Excellence (unregistered)
Is there still a "live" version of How to Write Unmaintainable Code, that this ought to be added to? :-)

Re: For Whom the BEL Tolls

2012-07-02 10:17 • by Rootbeer

The Real What TF is that they misused BEL as a delimiter when there's already an ASCII Unit Separator non-printable control character (0x1F) that fits the purpose exactly, right?

Re: For Whom the BEL Tolls

2012-07-02 10:26 • by PleegWat (unregistered)
I wouldn't expect a chr() character in C#, but I'd expect "\a" or "\009" works?

Re: For Whom the BEL Tolls

2012-07-02 10:41 • by Steve The Cynic
Re: Rotary engines.

"Rotary engine" originally referred to engines that look superficially like "radial" engines, except that the crankshaft is bolted to the plane and the engine block to the propeller, rather than the other way around, with the result that the engine block rotates... It saw a reasonable amount of use on aircraft up to the 1920s, and limited application in motorcycles and a very few cars, all in more or less the same period. It's a poor fit for most automotive applications, since the "ideal" place to put it is in one or more of the wheels, and that does dubious things to the unsprung weight, and therefore to handling.

The other common application of the term "rotary engine" is pistonless engines such as the Wankel rotary. This is perfectly acceptable as an engine for cars, motorbikes, aircraft and other applications where a compact high-power engine is needed.

So, rotary engines having problems migrating from cars to aeroplanes is a poor analogy (since it isn't true) for wonky software design (which evidently is true in this case)...

Re: For Whom the BEL Tolls

2012-07-02 10:48 • by William (unregistered)
384196 in reply to 384182
scott:
¯\(°_o)/¯ I DUNNO LOL:
One version of OS X TextEdit.app (10.4 era I think) somehow had the ability to insert control-P characters into the text. I was using plain old TextEdit.app rather than XCode because this was mostly a bunch of 8-bit assembly language code I was working on, such as for hacking on old video game consoles, and sometimes little command line utilities in C.

I never figured out what sloppy keyboarding I did to trigger the control-P, but since it was completely invisible, even when whatever compiler/assembler I was using bitched about the line of code, it still took me a minute or two before I found the place where I had to hit the left/right arrow keys twice to pass.


Yeah, well, Xcode 3.2 still has this "feature". About once a year I get a line of code that will not compile until I retype it character for visible character...


Bummer that y'all don't have a zap gremlins or show invisibles feature.

Re: For Whom the BEL Tolls

2012-07-02 11:02 • by Roby McAndrew
...Does TDWTF have editors?


We got both editor kinds of editor ! We got Vi AND emacs !

Re: For Whom the BEL Tolls

2012-07-02 11:03 • by Nemosoft Unv. (unregistered)
Martin is just lucky that his editor doesn't actually generate a beep when it hits a BEL character... Imagine this conversation taking place outside Martin's cubicle between two fellow developers:

"I didn't know our editors had built-in censor capabilities..."

Re: For Whom the BEL Tolls

2012-07-02 11:04 • by Nagesh (unregistered)
384199 in reply to 384194
PleegWat:
I wouldn't expect a chr() character in C#, but I'd expect "\a" or "\009" works?

Not unless 009 suddenly became the octal notation for seven.

Re: For Whom the BEL Tolls

2012-07-02 11:19 • by Some Damn Yank (unregistered)
384200 in reply to 384187
toth:
Martin didn't want to be responsible for code that he hadn't seed nor couldn't build


...Does TDWTF have editors?
No. You have to ask?

Re: For Whom the BEL Tolls

2012-07-02 11:22 • by Some Damn Yank (unregistered)
384201 in reply to 384193
Rootbeer:

The Real What TF is that they misused BEL as a delimiter when there's already an ASCII Unit Separator non-printable control character (0x1F) that fits the purpose exactly, right?
BEL BEL BEL BEL BEL! You get the prize!

Re: For Whom the BEL Tolls

2012-07-02 11:23 • by steroberts89 (unregistered)
384202 in reply to 384180
Windows Communication Foundation

Re: For Whom the BEL Tolls

2012-07-02 11:26 • by no laughing matter
384203 in reply to 384183
Bob:
Ha! C# _doesn't_ have a chr() function!
What a retarded programming-language!

Bob:
However, you can cast, so still no excuse.
So instead of rockstars they should have employed wizards?

Re: For Whom the BEL Tolls

2012-07-02 11:29 • by qbolec (unregistered)
We have our own home-grown NoSQL database at nk, and it uses spaces for separation which provides even more fun with escaping and unescaping.

We also use our own scheme of serialization of table rows for cacheing which is uses \xFF as separator, which is quite unlikely to happen anywhere in UTF-8 strings or numbers (and most of coulmns are of either of these types), but in case it happens we escape it by doubling (\xFF becomes \xFF\xFF).

We thought for a minute about using \0 which also doesn't happen inside regular strings, but that would be problematic for almost every part of the stack.

I've never heard about unit separator ASCII character but sounds elegant, if it doesn't occur in UTF-8 strings to often.

I've heard about guys who were implementing some MMORPG internet protocol which chosen 37 (or some other odd byte) as a separator, which was found by experiment to be the least probable byte value. It was like 12 years ago, but I am still wondering WTF was wrong with them, their priorities, their architecture, their stats analyzis, and their data distribution.

Re: For Whom the BEL Tolls

2012-07-02 11:38 • by PiisAWheeL
384205 in reply to 384195
Steve The Cynic:
Re: Rotary engines.

"Rotary engine" originally referred to engines that look superficially like "radial" engines, except that the crankshaft is bolted to the plane and the engine block to the propeller, rather than the other way around, with the result that the engine block rotates... It saw a reasonable amount of use on aircraft up to the 1920s, and limited application in motorcycles and a very few cars, all in more or less the same period. It's a poor fit for most automotive applications, since the "ideal" place to put it is in one or more of the wheels, and that does dubious things to the unsprung weight, and therefore to handling.

The other common application of the term "rotary engine" is pistonless engines such as the Wankel rotary. This is perfectly acceptable as an engine for cars, motorbikes, aircraft and other applications where a compact high-power engine is needed.

So, rotary engines having problems migrating from cars to aeroplanes is a poor analogy (since it isn't true) for wonky software design (which evidently is true in this case)...
Given what these 2 crackpot programmers do I would say that a rotary engine in any application is a perfect analogy to anything these 2 programmers are trying to accomplish.

Re: For Whom the BEL Tolls

2012-07-02 11:45 • by Christian (unregistered)
There are advantages to being second. Not being the first to be blamed for one...

Re: For Whom the BEL Tolls

2012-07-02 12:03 • by Sociopath (unregistered)
384207 in reply to 384184
ObiWayneKenobi:
Lesson: There's a difference between REAL "rockstar" developers, and snake oil salesmen who happen to talk a big game.

The former are smart. The latter are rich.

Re: For Whom the BEL Tolls

2012-07-02 12:21 • by Scrummy
Agile strongly discourages "rockstar programmers." Everyone on the team should be well-versed in all areas of the codebase(s). This provides for emergent design, which is a far superior outcome to the kind of not-invented-here code we see in today's WTF.

Re: For Whom the BEL Tolls

2012-07-02 12:22 • by an editor (unregistered)
384210 in reply to 384187
toth:
Martin didn't want to be responsible for code that he hadn't seed nor couldn't build


...Do TDWTF have editors?


FTFY

Re: For Whom the BEL Tolls

2012-07-02 12:31 • by Nagesh (unregistered)
384211 in reply to 384204
qbolec:
uses \xFF as separator, which is quite unlikely to happen anywhere in UTF-8 strings
To say the least. \xFF is not allowed at all in well-formed UTF-8.
qbolec:
I've never heard about unit separator ASCII character but sounds elegant, if it doesn't occur in UTF-8 strings to often.
Every 7-bit ASCII character appears as itself in UTF-8 encoding, and nothing that looks like a 7-bit ASCII character ever appears in UTF-8 except to represent that particular 7-bit ASCII character in the represented Unicode string. This is true for the ASCII control characters too.

Re: For Whom the BEL Tolls

2012-07-02 12:38 • by no laughing matter
384212 in reply to 384209
Scrummy:
Agile strongly discourages "rockstar programmers." Everyone on the team should be well-versed in all areas of the codebase(s). This provides for emergent design, which is a far superior outcome to the kind of not-invented-here code we see in today's WTF.

If you are using todays WTF as a benchmark for your crummy software development method, you fail at marketing.

Re: For Whom the BEL Tolls

2012-07-02 13:04 • by Zylon
384213 in reply to 384193
Rootbeer:
The Real What TF is that they misused BEL as a delimiter when there's already an ASCII Unit Separator non-printable control character (0x1F) that fits the purpose exactly, right?

Pretty much any arbitrary character in the 1 - 31 range except backspace/tab/newline/carriage return could be used as a delimiter these days.

Re: For Whom the BEL Tolls

2012-07-02 13:21 • by Gurth
The BEL character was originally used to cause an audible beep or buzz on terminals

No, it was originally used to ring the physical bell on a teletype. That is, a low-tech version of this.

Re: For Whom the BEL Tolls

2012-07-02 13:23 • by aa (unregistered)
384216 in reply to 384213
Zylon:
Rootbeer:
The Real What TF is that they misused BEL as a delimiter when there's already an ASCII Unit Separator non-printable control character (0x1F) that fits the purpose exactly, right?

Pretty much any arbitrary character in the 1 - 31 range except backspace/tab/newline/carriage return could be used as a delimiter these days.

My first instinct would be to pick something common, like ':', then build in some escape sequences. What if some data gets thrown at it that happens to contain the more esoteric of the ASCII?

Re: For Whom the BEL Tolls

2012-07-02 13:35 • by Scrummy
384217 in reply to 384212
no laughing matter:
Scrummy:
Agile strongly discourages "rockstar programmers." Everyone on the team should be well-versed in all areas of the codebase(s). This provides for emergent design, which is a far superior outcome to the kind of not-invented-here code we see in today's WTF.

If you are using todays WTF as a benchmark for your crummy software development method, you fail at marketing.


I believe you fail at reading comprehension. What I was saying is that Agile would have AVOIDED today's WTF. Guaranteed.

Re: For Whom the BEL Tolls

2012-07-02 13:42 • by pjt33
384218 in reply to 384204
qbolec:
\xFF as separator, which is quite unlikely to happen anywhere in UTF-8 strings or numbers (and most of coulmns are of either of these types), but in case it happens we escape it by doubling (\xFF becomes \xFF\xFF)

I'm guessing that you don't use negative integers much.

Re: For Whom the BEL Tolls

2012-07-02 14:06 • by Steve (unregistered)
Martin is lucky that he wasn't relegated to "forth-rate status", because then he might have to use the Forth language.

Re: For Whom the BEL Tolls

2012-07-02 14:30 • by JJ (unregistered)
384221 in reply to 384219
TFA:
...he was never was able...

...forth-rate...

...that he hadn't seed nor couldn't build...

Ouch.

Re: For Whom the BEL Tolls

2012-07-02 14:46 • by Kenny Akridge (unregistered)
384224 in reply to 384183
This seems silly to me. If you want a chr() function in C#, write the function. The cast works just fine though. What's the problem?

Re: For Whom the BEL Tolls

2012-07-02 14:57 • by Daily C# Codemonkey (unregistered)
Bob:
Ha! C# _doesn't_ have a chr() function!

However, you can cast, so still no excuse.


C# has a Chr() function. It's in the VB-to-VB.Net compatibility library, which is plain ol' .Net and can be used from C#.

See here:http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.strings.chr.aspx

Also, can someone take Akismet out back and shoot it? It thinks this is spam. The correct classification is "nitpick".

Re: For Whom the BEL Tolls

2012-07-02 15:04 • by Coyne
384226 in reply to 384209
Scrummy:
Agile strongly discourages "rockstar programmers." Everyone on the team should be well-versed in all areas of the codebase(s). This provides for emergent design, which is a far superior outcome to the kind of not-invented-here code we see in today's WTF.


"Rockstar" programmers do just fine in agile environments.

They design everything with no plan for the future (because we'll worry about that when it comes).

They put together write-once-work-once code that everyone else is expected to use as an example of perfection.

They examine the the common code base to drive everyone else crazy by criticizing their code. Best of all, in this category, is criticizing code patterned after what the "rockstars" originally wrote.

Everyone else is expected to know the whole code base, but except for the random critical attacks, the "rockstars" can't be bothered.

Finally, by the time the spit really hits the fan, the "rockstars" have moved on to greater "gigs"; and won't deign to revert to lesser things. Anyway, it's the current maintainers' fault because they didn't follow the "rockstars'" perfect plan.

They're agile as can be.
« PrevPage 1 | Page 2 | Page 3Next »

Add Comment