- 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
Frist! :tada:
Admin
Second <crash>
Admin
nods head sagely. Yeah, that would do it.
Admin
As usual, TR :wtf: is XML instead of JSON.
But seriously...who moves a failing file to a backup location that can also be loaded from and deleted?
Admin
Unclosed XML tag? In an application-generated XML? Was someone trying to actually format XML themselves instead of using a 3rd party library? Or was that 3rd party library so broken that it generated broken XML? Either way...
Admin
So, um, days before the update was deployed they decided to rewrite their save/load code.
And they committed the new code to the live tree without bothering to test that it could read the save file it had written?
Admin
There must be a second WTF in this story...
... because the first one is a so common WTF that it should only be referenced from the Great Book of WTFs.
Admin
It really wouldn't be the first time that's happened. That sort of thing happens too bloody often on the web, and is the only sane reason for using YAML (it has no closing tags/sequence to fuck up).
Admin
Yes. Doing it immediately before a release without testing.
Admin
Then we have 3. Btw, I had installed a patch last friday 2 minutes before we started our sprint demo. Everything went fine:)
Admin
I hope he put "do everything a few more times just in case" to his test suites now.
Admin
This reminds me of the days (1997) when I was a customer service representative for a dutch mobile telecomunications company. (Even I had to pay for my degree). This was at one of the first mass-marketed mobile phone companies in the Netherlands. And in the first few months we got an insane amount of people (mostly elderly) who could only connect at the second try. The powers that be assigned me the task to find the source of these problems. After having sat with network engingeers and other technicians we could not figure where in the network it all went strange. All these phones just had one try to connect and almost (99%) all of those succeded. Then I got a call from an elderly lady (70-ish) who happend to live reasonable nearby, So I got on my bike (did I mention being Dutch) and cycled to her home. I asked her if I could watch her make the call to her daughter. She agreed and then all became clear.
First she picked up the phone by pressing the green button. Then she dialed the number. Placed the phone to her ear: "See no connection.". Then she picked up the phone again by pressing the green button, dialed the number. et presto she had her daughter on the line.
After arranging some flowers for the nice lady. I informed all of my co-workers about my findings and we could help these people into the mobile age.
Admin
I guess you were ironing out all the wrinkles? ;-)
Filed under: Interesting tyops
:abc: :badger: - abarker
Admin
I thought the app didn't crash the third time...
Admin
Always the dysclectic, dicyclic.. I mean words are hard ;)
Admin
-- And that was the RWTF.
Admin
Max is the RWTF!
I think every XML loader crashes if a closing tag is missing. But Max said, he ran the game a million times yesterday and everything was fine. Did he start the game always in the "first run" environment?
Admin
A pure SAX one might not, which is important for use cases like XMPP.
Application settings shouldn't be an XMPP stream.
Admin
He might have been running it directly through the IDE, or in the IDE's output path, without using save files.
Admin
Some people, when presented with a problem, think "I know, I'll use XML."
Admin
So the phone actually wasn't compatible with the "old" use-case, and required the number to be typed before "picking up"? Sounds like TRWTF to me.
Then again, in seems to be the case on today's Android smartphones as well; tapping the green "pick up" button with no number entered just pre-fills with the last one.
Admin
Those multi-cycle bugs can get past testing.
I once built a new system for billing company store purchases to employee paychecks. The interesting feature was that some payments had to be done in installments, so I had to run through the input charges and create the installments from the inputs.
I ran that program over and over during testing, but what I didn't realize is I never covered the operation over multiple paychecks; I tested over and over the generation of payments from one set of inputs...the reset and run it again. Worked flawlessly.
In production, for the first pay period, it ran fine...just like a clock. The second period was another story entirely: see, I had forgotten to set the status flag on the inputs to indicate they were processed (oops). So the program distributed the second period purchases and re-distributed the first period purchases.
Ever double-billed 13,000 people? On their paychecks? Where, for a few employees, the double-stacking resulted in no paycheck? Oh, yes, there was heat...
Moral: In a system where one run can influence the more than one period, testing includes running at least two periods in a row.
(After note: we have a couple of employees who buy expensive items at the company store...so expensive their whole paycheck goes into installment payments. Apparently, they live off their partner's paycheck in the meantime.)
Admin
I'm so happy I wasn't the only person to see that TRWTF is the UX for cellphones not honouring the pattern established over a century of telephone use.
Admin
TRWTF: Software developers. :kissing_heart:
Admin
We are talking about French phones here. More specific the Sagem 820. My phones - The Sagem This one! (:wtf: there are people who actually still own all their previous phones)
Admin
The "pattern established over a century of telephone use" was stupid. How was the phone supposed to know when you were done entering numbers unless you told it? Just hard limiting it is why older phones can't dial to newer, longer numbers that have an extra digit.
Admin
It seems to me that a little bit of judicious logging of errors/actions, and a little bit of wise testing would have found the issue before it became a panicky disaster.
Admin
Dammit Developer_Dude beat me to it: I was going to say: TRWTF was implementing an XML save and restore function which doesn't log its failure to function properly but just swallows its own barf.
Admin
The phone doesn't need to know that, the central server thingy does. And it knows because like UTF-8, longer phone numbers usually have a different prefix.
The phone just transmits digits as you type them, and for a while, IIRC, cell phones also did it if you didn't pre-type the number (unless I'm mistaken and they always did "bis" instead; or maybe different brands did different things).
Admin
:checkered_flag:
Admin
There's no hard limit as to the size of the phone number. The exchange will take a theoretically infinite number of digits from the dialer. Only poorly-designed handsets store and forward.
Dialed "011"? That's an international number, wait for X digits. Dialed "1"? That's a NANP long-distance number, wait for Y digits. Dialed any other number? That's a 'local', wait for Z digits.
For extra-digits, the exchange is easily updated. Dialed area code "234"? Wait for N digits. Dialed area code "567"? Wait for O digits.
Admin
The story does say one of the other devs is out sick. We don't know if Max had responsibility at all for code related to saving and loading, or if he was responsible for any sort of QA testing. All we know is Max was able to debug the problem. It might have been perfectly okay and reasonable for Max's integration testing not concern itself with the startup conditions.
Admin
That sounds like it could easily get out of date very quickly. Why not just wait for an "I'm done, that's the number" signal?
Admin
Because no such tone exists, and every single handset in the world would have to be updated to emit it.
It also, logically, can't be out of date, because the people managing the exchange system are the only ones who can add digits to phone numbers.
Admin
Admin
Remind me to never work in the telecommunications industry.
Admin
You Nazi.<!-- b3fe22f0-a01d-11e4-bcd8-0800200c9a66 -->
[image]Admin
+1
That's dedication to the job! :smiley:
Admin
Not for cellphones; maybe some, when they were still operating on analog channels, but they're not even using DTMF for direct dialing anymore. It's all digital.
<fewer computers waiting while a dumb, slow meatsack enters digits at a snail's pace is a good thing, imho.>
Admin
Filed under: I'll just say it was a family emergency and everything will be OK, right?
Admin
Oh man, wait until you hear about the { "banking", "finance", "industrial control", "point of sale", "payment processing", "automotive", "energy", "networking", "television", "government", "defence" } industry.
Admin
Of course you moved to XML. How can you be an enterprise and not use XML?
[spoiler]That being said: I actually like XML.[/spoiler]
Admin
You seem to be assuming that X is a constant. You have so much to learn… :smirk:
Admin
There's a whole industry revolving around removing fences?
Admin
Oh boy you don't know half of it. THE main problem is that you have groups of people. Let us call them countries who want their fences to stay where they are! And that is when.... :sunglasses:... You bring out the big guns.
Admin
Wait, so they fixed the code live and shipped straight to prod to meet their deadline, without going through a QA cycle even? O.o
Admin
Admin
Telephone dialing: 1 then 10 digits (NANP area) (11 digits total) 0 (non 1/0) 10 digits operator assisted call 01 (non 1/0) International call, timeout at end (or wait for #) operator assisted 011 (non 1/0) international call, timeout at end (or wait for #) no operator assistance (2-9) (non 1 1) seven digits total, local area code. (2-9) 11 Special services (411, 911, 611, etc.) three digits total
So, for everything in North America, it is deterministic. You only need a timeout for international calls which have all sorts of varying number lengths (they vary by country, and even in countries)
Some land line phones work in similar to cell phones (I have one). You enter the digits, and they press the green button, it dials and you are home free. It is a wireless phone.
Admin
Filed under: Just sayin'
Admin
I think this is part of the DECT specification, but I don't know.