News for hackers. Stuff that matters.
Re:The number input is the worst input by xxr on Thursday September 15, 2022 @01:20PM (#32855346)
A former employer had a system that consumed phone calls from Twilio. The phonecall table had a touchtoneinput column for the sequence of digits a caller pushed after the call connected (press 1 for English, press 3 to dispute a charge, etc.). We would sporadically get these query errors on inserts--turned out the touchtoneinput column was defined as a bigint, and the rare occasions where a caller pressed the # or * keys were sending input that obviously could not be parsed as an integer.

Good rule of thumb: if a reasonable person calls it a number, but your application is never going to perform arithmetic on it[0], it should probably just be a string.

[0]: Yes, a credit card number can be checksummed, but that's more in the sense of a CC# being a sequence of numbers rather than one int.

Re:The number input is the worst input by londons_explore on Thursday September 15, 2022 @02:01PM (#32855986)
There are actually 4 more touch tones possible - A, B, C and D.

Sometimes you can get into secret menus if you play the tones for them...

Re:The number input is the worst input by jbverschoor on Thursday September 15, 2022 @05:28PM (#32858697)
How do I enter these from an iphone? Or should I just let my laptop output the dtmf tones?

I'm def. gonna try this out. I usually pres & and # a couple of times, because it often skips the useless menus and takes me to a person

Re:The number input is the worst input by Someone on Friday September 16, 2022 @11:13AM (#32867154)
Historically, you whistled them (https://en.wikipedia.org/wiki/Phreaking), or you bought a hardware ‘whistle’ from the likes of Steve Jobs (https://en.wikipedia.org/wiki/Blue_box)
Re:The number input is the worst input by dmd on Friday September 16, 2022 @12:51PM (#32868843)
If you can whistle two tones simultaneously (the D in DTMF means dual), I'd love to hear it.
Re:The number input is the worst input by Someone on Friday September 16, 2022 @04:35PM (#32871694)
Re:The number input is the worst input by sshine on Thursday September 15, 2022 @05:36PM (#32858784)
> should I just let my laptop output the dtmf tones?

Yes. Depending on your OS, it might even have the sound files:

https://osxdaily.com/2016/03/31/play-dtmf-tones-mac/

Re:The number input is the worst input by jbverschoor on Thursday September 15, 2022 @05:55PM (#32858958)
Cool!, but that doesn't include ABCD.

https://pbxbook.com/other/dtmftone.html does. I'll try a company I know takes at least 40 minutes usually :

Also, something that annoys me about VOIP is that they don't take into account the different tones in different regions. Here in the Netherlands we use 425Hz fo dial tone etc. It always feels very emulated because it's a different tone.

Re:The number input is the worst input by hnuser123456 on Thursday September 15, 2022 @06:33PM (#32859291)
I've found pressing 0 or 1 usually works too
Re:The number input is the worst input by staticassertion on Thursday September 15, 2022 @02:31PM (#32856405)
First thing I do when I call an automated line is spam # because that seems to escalate to a human 9x/10.
Re:The number input is the worst input by JadeNB on Thursday September 15, 2022 @03:12PM (#32857096)
I've noticed a lot more evil choose-your-own-adventure phone menus these days resort to "Sorry, I couldn't understand" / "Sorry, I still couldn't understand" / "Sorry, your input could not be processed. Goodbye."
Re:The number input is the worst input by 9dev on Thursday September 15, 2022 @04:50PM (#32858265)
Yep, ye tricks of olde like repeatedly saying „help“ or „customer service“ don’t seem to work on those… i recently dealt with an especially frustrating case when moving and buying a brand-new fiber connection. Turns out, they got the activation date wrong, so I called the support hotline mentioned in the confirmation mail. The menu prompted me for my customer ID - which I didn’t yet have - and wouldn’t let me through, even after trying all possible options. In the end, I just called the sales hotline and let them handle the transfer…
Re:The number input is the worst input by JadeNB on Thursday September 15, 2022 @05:13PM (#32858535)
I particularly hate the ones that just hang up if you guess wrong three times.
Re:The number input is the worst input by cableshaft on Friday September 16, 2022 @08:57AM (#32865477)
Yep, we had a few IVRs set up like that for clients at an old job. The reality was there for those was that there was no pool of agents we could transfer those calls to, it was set up to be an entirely automated system by request from the client.

It was mainly for doctor appointment reminders, though, so hopefully those called still had their appointments written down somewhere (or also signed up for email reminders).

Re:The number input is the worst input by kirse on Thursday September 15, 2022 @06:37PM (#32859334)
My thumb rule is always dial the number where the company hopes you'll be handing over money, rarely fails to get me faster to a person who can help or transfer. Schedule appointment, Re-order Supplies, and Billing Questions are always much better than the Cancel service or Tech Support
Re:The number input is the worst input by mcintyre1994 on Friday September 16, 2022 @04:19AM (#32863551)
Do they not just say they'll forward you to the right department and drop you into a hold queue though? I've done this a few times when the support department had a broken automation flow and it got me to the queue, but the people at the well manned department didn't actually do the support for me.
Re:The number input is the worst input by Doxin on Monday September 19, 2022 @09:33AM (#32898077)
Generally phone systems like that are set up so forwarded calls jump the queue. This is to avoid people getting stuck in a queue for a long time twice.
Re:The number input is the worst input by idiotsecant on Thursday September 15, 2022 @04:05PM (#32857765)
You're usually better off letting the IVR route you to the first dialogue tree option at least before you start spamming, otherwise you get the 'idiots who can't listen to dialogue tree' receptionist who has to transfer you to someone else anyway but might not get you to the right place on the first try.
Re:The number input is the worst input by eastbound on Friday September 16, 2022 @02:59AM (#32862991)
I’ve once skipped “Search your problem through our docs” and clicked “Call Support” only to be told off like a pupil that I didn’t read the docs, really like a kid.

It surprised me coming from Apple Business Manager. It was unprofessional. Don’t skip the docs, guys!

Result: As expected, my problem wasn’t solved by following their 18-step DUNS/Apple process during the last 8 month. (My problem: My company changed both address and name, they still have both addresses with the old one as primary).

Re:The number input is the worst input by staticassertion on Thursday September 15, 2022 @08:14PM (#32860268)
I'm fine with getting the router human.
Re:The number input is the worst input by kstrauser on Thursday September 15, 2022 @03:37PM (#32857419)
I've, um, heard, that more sophisticated phone trees react to profanity by connecting you to a person more quickly, using the logic that you sound pretty upset and need help now.
Re:The number input is the worst input by inopinatus on Thursday September 15, 2022 @06:50PM (#32859465)
I ran a network & voice refresh project for a national financial institution a few years ago; during the RFT some vendors pitched a stress analysis element for the contact center & IVR systems. The institution demurred, citing (amongst other concerns) the likelihood of it being gamed.
Re:The number input is the worst input by kstrauser on Friday September 16, 2022 @02:23PM (#32870085)
It's probably smart for a few reasons. Given limited support resources, do you really want to spent all of them on furious people? If it takes five times as long to help one irate customer with a complex situation, at some point that has to enter the calculus.
Re:The number input is the worst input by cableshaft on Friday September 16, 2022 @08:50AM (#32865411)
Can confirm I had grammar for testing for various profanity and took that into consideration for whether to send to customer service in the IVR apps I developed.

The client really didn't want people sent to live agents if at all possible, as they only had a certain low number of agents and wanted to keep it that way, so we had extra prompts that tried to convince the user to give the app a try first before we did a transfer to an agent, but it was something that could start the process off.

And this was an IVR app for a Fortune 500 corporation, not a small company.

Re:The number input is the worst input by dexterdog on Thursday September 15, 2022 @11:59PM (#32861895)
What about the sophisticated ones that say, "listen to all or of options as out menu has recently changed." When you call back two years later the message is exactly the same. Why don't they make call handling software that has the menu items assigned to random numbers so that the menu is always different?
Re:The number input is the worst input by stormbrew on Friday September 16, 2022 @12:17AM (#32862003)
I think this and "higher than usual call volumes" are really just about plausible deniability. Anyone who's worked retail will have a story about someone who insists that the thing they're buying was cheaper last week even though it wasn't. Telling people up front that things have changed probably at least sometimes defuses that conversation one way or another before it even happens.
Re:The number input is the worst input by AngeloR on Tuesday September 20, 2022 @12:53PM (#32914488)
If you have the option of having dual-language queues then you can also opt to the secondary language which generally has fewer callers than the primary. So you get to the front of the line faster, and they also tend to speak the primary language.
Re:The number input is the worst input by ajg36 on Friday September 16, 2022 @09:28AM (#32865795)
Interesting; I'll have to try this. In my experience pressing 0 has a decent chance of working as a shortcut to a human operator (versus choose-your-own-adventure DFS searching for the right node in the menu tree, which can take ages), but obviously it doesn't work when they don't have human operators at all.
Re:The number input is the worst input by yarg on Thursday September 15, 2022 @11:31PM (#32861737)
Certainly not an Integer, but all that you're saying when you go with String is that the data has no constraints at all.

There's almost always a regular language more constrained and useful than .* that contains the entire set of acceptable terms (although sometimes it'll be a strict superset, in which case DFA acceptance cannot constitute complete validation).

Re:The number input is the worst input by stormbrew on Friday September 16, 2022 @12:14AM (#32861985)
When humans do the input there is often not a single regular language that works, and imposing only one will often frustrate a lot of users.

A really small example of this is postal codes in Canada. For a long time the norm was to put a hyphen between the two clusters: A1B-2C3 but then at some point a lot of websites decided that's bad and they started rejecting it, often with really obtuse messages. This is just annoying and no one is really well served by it. Canada post doesn't care.

And that's not even getting into 0 vs O and the fact that yelling at the user for entering the wrong one is rarely helpful.

I think most of the time the better thing to do is attempt to normalize and ask the user if the normalization is correct. For a numeric thing like a phone number this is probably stripping out non-numbers (other than + at the start) and putting hyphens back in and validating the number of digits you get back, and presenting it to the user if it differs. More work but feels way less hostile to the user.

Re:The number input is the worst input by jenny91 on Friday September 16, 2022 @12:21AM (#32862032)
The regular language should include the fact that you might include a dash between those sets of numbers, e.g. "A1B-2C3".

I really can't think of any case where changing a "0" to an "O" is a good idea (or vice versa), except like base 58 whre you're explicitly avoiding both.

Either way if you're going to normalize you need a regular language, so I think you're kinda missing the point here on what regular languages mean in this context?

Re:The number input is the worst input by stormbrew on Friday September 16, 2022 @12:38AM (#32862138)
That was just a simple example. If you take addresses as a whole, it gets a hell of a lot more complicated. I do agree that you can just `[ -]` in the middle of that one, but simple examples are simple. Also, it's telling that very few sites actually do this.

The real point is that you want to have one regular form for the input in your database, but imposing that one that you prefer on your users creates friction when their experience of the world differs.

As for 0 vs. O, in a Canadian postal code it doesn't matter, because there is indeed a very regular language to them: letters alternated with numbers. A round circly thing in a numeric position is a 0 and a round circly thing in a letter position is an O. No matter what. The only time this actually indicates a problem is if the pattern ceases to hold after the round circly thing, in which case it may or may not be the 0/O confusion that's the problem but it was wrong anyways.

I'm not saying you should store it wrong, but if a user enters "HOH-OH0" and you ask "did you mean 'H0H 0H0'?"[1] and they say yes then you've given the user a much better and helpful flow than "Invalid Postal Code, please fill out the form again."

[1] This is a 'real' postal code btw and it goes to a weird santa-letter black hole even though it doesn't indicate a geographical location that corresponds to the north (an H prefix is for Montreal).

Re:The number input is the worst input by themenomen on Thursday September 15, 2022 @02:34PM (#32856451)
Mayor issue here seems to be not validating and sanitizing inputs before a DB insert.
Re:The number input is the worst input by nightpool on Thursday September 15, 2022 @02:49PM (#32856723)
Or not even being able to log errors and see what the error message says. You don't need to do ahead-of-time sanitization to realize that "Invalid literal for type 'bigint': "120380123#"" means that you should fix your DB type.
Re:The number input is the worst input by xxr on Friday September 16, 2022 @03:12PM (#32870683)
>being able to log errors and see what the error message says

A faculty that was, of course, lacking at this particular organization

Re:The number input is the worst input by jbverschoor on Thursday September 15, 2022 @05:26PM (#32858673)
A string of digits instead of a string of characters to be precise