15 ms·
Falsehoods Programmers Believe About Phone Numbers (2016)
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- sonofgod 8y agoFor a copious list of falsehoods you or other programmers might believe, see also: https://github.com/kdeldycke/awesome-falsehood https://github.com/kdeldycke/awesome-falsehood
- danesparza 8y agoWhat a great link! Thanks!
- robertAngst 8y agoAlright, guess I'll be using email verification
- lubujackson 8y agoCool, I have a bulletproof regex for that
- colejohnson66 8y agoMail::RFC822::Address? http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html
- deleted 8y ago[deleted]
- thecatspaw 8y ago.+\@.+ ... I hope
- wongarsu 8y agoAs long as you don't try to validate the email address I entered. The list of gotchas for email address parsing is impressive too. (e.g. "Cool Address"@example.store is a valid email)
- AnaniasAnanas 8y agoThese might be valid but nobody uses them and nobody will complain if you do not support them.
- deleted 8y ago[deleted]
- duskwuff 8y agoNot sure why this is getting downvoted. It's a valid point. There is a gap between "technically valid email addresses" and "email addresses that reasonable people use".
- deleted 8y ago[deleted]
- scbrg 8y agoNot that I downvoted, but the attitude annoys me. As a developer you have two options: 1) Do nothing and support all valid addresses (that your mail system can handle) 2) Spend development time to make your system not support all valid addresses. Why do you spend development effort to make your software worse?
- jcranmer 8y ago3) Realize that undervalidation of input can create opportunities to introduce backdoors into your system. 4) Realize that the added benefit of supporting weird formats are not worth the time to verify that it actually works. As someone who works on an email client, I can absolutely tell you that using IP address literals and quoted localparts are more trouble than its worth. Chances are, the libraries you use can't handle them anyways. And if you don't try to support quoted localparts, than normalization is a lot easier. (Although I was once locked out of a system because I signed up with an email address that used capitals and the login form changed to lowercase it without changing the database storage, which meant no form I could spell it would cause it to match).
- AnaniasAnanas 8y agoAs long as you do not limit the email to certain popular providers then it is a good solution.
- streblo 8y agoI find this category of posts ("falsehoods programmers believe about X") to be patronizing and unhelpful. Most of these lists (this one included) don't give good explanations and don't have guidelines for how to avoid the problems that are highlighted. It's usually just a list of condescending gotchas.
- robertAngst 8y agoIsnt every language unique? I feel like this teaches a way of thinking.
- jm__87 8y agoReally? While I personally don't need to work with phone numbers for my job, I found this list to be incredibly interesting. For many, this type of knowledge is often attained by making incorrect assumptions in your code/system design and having them proven wrong over time. Having a list like this which lays it all out for you in one shot is amazing.
- nomel 8y agoI think you're being a bit harsh in this case. I don't think many of these have a useful explanation that would stay within the useful scope of a list like this. Knowing the local implementation details of Argentina dialing requirements, and why the 9 needs to be dropped, most likely involves long-gone phone carries, organic implementations, and local politics. Expecting guidelines for most all of these is not realistic since many are just "how it is". For most, the guideline is an obvious "don't do/expect this". If your list is mostly comprised of unexpected behavior, then "falsehoods x believe" is probably ok. As for avoiding the problem, you can't always avoid reality; sometimes you have to accommodate its weirdness, especially when dealing with > 100 year old systems with massive interoperability problems.
- nerdile 8y agoI find these helpful when my team is designing a feature that intersects with this kind of "gotcha" area, and it sets off warnings in my mind, "I know there's something tricky about this business requirement but I can't put my finger on it...", these type of lists at least help me identify particular pitfalls, even if they don't provide solutions, so I can provide specific and scoped concerns to push back on or clarify the business requirements. Some people just also really find these fun to think about.
- realusername 8y agoI would personally add one (maybe I'll do a PR): Phone number formats never change for a particular country. Vietnam just removed a few months ago one digit of all the mobile phones making all the previous number recorded for the country invalid.
- smnrchrds 8y agoSo much this. Iran's phone number formats have changed at least 4 times in the past 20 years, and I am sure many more times if you go back a couple more decades.
- Alterlife 8y ago+1 from India. There's popular app in Bangalore that you can use to rent bicycles. I can't use it because my phone number (which has a relatively newly released starting digit series) doesn't pass their signup validation. So frustrating. It's frustrating indeed.
- sneak 8y agoRelated: email validation that doesn’t allow for + in usernames or any of the newfangled hipster fad TLDs.
- TeMPOraL 8y agoYup. Another example: Poland dropped a "0" prefix from area codes for landlines some ten years ago.
- masklinn 8y agoAlso "each country has a single format". Belgium uses 9 digits (leading 0 included) for landlines and 10 digits (leading 0 included) for cell phones.
- tomglynch 8y agoRepeat after me: After reading this I realise the difficulty in using phone verification while scaling internationally.
- reaperducer 8y agoNot just internationally. The last time I was in northern New Jersey, Warwick Valley Telephone Company still supported five digit dialing across area codes! People could dial 4nnnn to be connected to 973-764-nnnn (a New Jersey area code). They could also dial 6nnnn to be connected to 845-986-nnnn (a New York area code). There were about 15 different short codes across two area codes. There are a lot of these little regional telephone quirks across America, and I think every one of them is awesome.
- lxmcneill 8y ago"Users will only store phone numbers in your product's phone number fields" Not entirely sure what this point is trying to achieve. Do you read a birthday field expecting a phone number 99% of the time? Should you read a phone number field expecting an email address? And at what point in that process did you decide that not having data validation on both ends was a good idea?
- reaperducer 8y agoIf you’re making an address book app, don’t expect people to put what you expect in the fields you give them just because you label the fields a particular way.
- clort 8y agoSo since I got a phone I have always used it as my address book (yeah, I export and back it up). In the early days Android was pretty nice. You can enter all sorts of things in there; multiple addresses, numbers, company information, birthdays of friends or other important dates etc.. But latterly, Android just won't do birthday dates. Oh sure, the dates are still in there and get exported from the database but there is no way to enter the information or look at it on the phone (I use BirthdayAdapter from F-Droid which causes a reminder on the day) I expect that some people just put the birthday of their friend in a phone number field. In fact I'm pretty sure that millions of people just use random fields for their own purposes full stop, they just don't care about any of that. So the article is saying that it is their phone, don't try to control them. If information is in the field and you can't parse it? You store it and export it as received but otherwise ignore it..
- pkaye 8y agoSo basically phone numbers are one or more alphanumeric fields.
- saagarjha 8y agoYou can put symbols in phone numbers.
- JdeBP 8y agoJust looking at a real telephone immediately disabuses one of the idea that they are numeric or even alphanumeric. Go look at the keypad of a POTS touch-tone telephone. You'll see 10 digits and 2 non-numeric non-alphabetic symbols. In fact, there are at least 16 possible characters at the signalling level, considering just DTMF alone, and not counting punctuation added at the human-readable level like hyphens, spaces, dots, and brackets. Then there's SIP. (-:
- nitwit005 8y ago> An individual has only one phone number Always feel these lists include things no human actually believes.
- jm__87 8y agoProgrammers make stupid assumptions all the time... usually because they are focused on some other more difficult problem and they assume some other problem like this is easy and they don't have to think much abt it, so they don't.
- DaiPlusPlus 8y agoIt’s not that people believe this - it’s just that they don’t think things through when building something. This point was mention because there are plenty of CRM/contact-management systems that only have a single phone number field per contact. Or worse: Outlook, which is expressly marketed as a contact management tool, with its arbitrary restriction of 3 phone numbers and 3 e-mail addresses per contact - or how all contacts have to have first and last names (how do I have a “company” contact? Etc). Point is, don’t be like Outlook.
- the_af 8y agoI think it's hyperbole for "things you should be careful about". Obviously nobody really believes every human on the planet has a phone number, or only one, or that there don't exist people who share phone numbers... or pretty much every other item in this list :P I think it was a riff on the "falsehoods programmers believe about names" article, which is a bit more insightful.
- Tor3 8y ago>> An individual has only one phone number > Always feel these lists include things no human actually believes. Well, somebody believes that. I can register my phone number with the local postal system, and, as shippers add a phone number to shipments, I can search for shipments to me by logging in to my post company account on the net, or via the Android app. The problem? I can only register a single phone number. But I have two numbers, and, for various reasons, different shippers must sometimes use one or the other, and not the same number. But I can't register more than one, and I can't register two accounts - b/c they also need my social security number, which is unique. So I can only track a subset of shipments to me. All because somebody there (it's their own software) made the assumption that an individual can only have, or at least use, a single phone number. I did report this as a bug, with no understanding.
- superkuh 8y ago>1. An individual has a phone number Requiring a phone number one way for me to ignore your website or service (ie, Signal) forever. But if you do it I'm probably not your target demographic anyway.
- Tepix 8y agoRequiring a phone number still reduces fraud a lot.
- justtopost 8y agoIt also enables it. All while being an ugly friction point for many users.
- segfaultbuserr 8y agoI have/had a Facebook account with a phone number. The account was left unused for a few years. Recently, I used my E-mail to reset its password, unfortunately, since the account was abandoned for a long time, the system flagged my activity as "suspicious" automatically, and asks me for confirmation using my phone number. But I no longer own that number. And from the customer Q&A forum, I realized I was not the only one - it is almost impossible to find an actual human from Facebook to solve this kind of verification problem. All I wanted is to delete it, but I can't. Now, my account becomes a zombie, can't be used, can't be deleted, and has lots of personal information. All thanks to the falsehoods Facebook programmers believed about phone numbers, and its non-existent "customer [0]" service. I've heard Google has similar issues [1], if the machine works, then everything is fine, until you need a human... Repeat after me: fxxk Facebook. [0] because I'm the product, not the customer? [1] https://news.ycombinator.com/item?id=18886804 https://news.ycombinator.com/item?id=18886804, and read this comment, https://news.ycombinator.com/item?id=18887548 https://news.ycombinator.com/item?id=18887548
- AnaniasAnanas 8y agoI do wonder how EU's "right to be forgotten" comes into the play here. Could it be used in your case?
- segfaultbuserr 8y agoFirst, to my knowledge, there are two alternative ways to recover my account within the Facebook system. 1. Correctly identify some personal information about your Facebook friends, or ask them to provide some information about you. However, I have abandoned my account for years, and clearly I no longer have personal contact with most of them. 2. Provide your National-ID document to Facebook. Obviously, I'm not comfortable with it, but I assume my identity is already public information on Facebook so I may have to do it. Unfortunately, the bigger problem is that, personally, I'm in the middle of some tricky paperwork problem with the government bureaucracy, just like my Facebook account. I may need to go to the court to sort it out, but currently I don't have time to bother. "Right to be forgotten" and GDPR seems to be a powerful tool to solve these kind of problems, but I'm not a EU citizen and I don't know much about its regulations, but I also want to know about it. Does anyone know something about it? Assuming I'm a EU citizen, how exactly, can I submit a request of information removal? If it's similar to DMCA takedowns, perhaps it can be used? Or it need a rigorous legal proof of identity like (2)? For non-EU citizens, is there a similar outlet to solve these kinds of problems?
- nerdbaggy 8y agoI think this all lumps into nobody really knowing everything about phone numbers, email addresses, and time
- dang 8y agoFrom 2016: https://news.ycombinator.com/item?id=11321236 https://news.ycombinator.com/item?id=11321236
- sly010 8y agoProgrammers don't actually believe in such falsehoods, nor do they just decide to be lazy about implementation. In fact if anything programmers are generally more aware of such things. A better name for these lists would be "falsehoods businesses insist on despite their engineers warnings".
- macintux 8y agoThere are several of those I didn’t know, and wouldn’t likely have discovered them all even with research.
- TeMPOraL 8y agoYup. I mean, every programmer I know considers stuff like this to be very interesting trivia to learn and apply. But even if you know this stuff, putting the knowledge to use often involves a series of battles against your PMs and managers and maybe even customers, who either don't know it, have their own vision, or just follow what everyone else does. (Getting a product to work correctly is as much an exercise of diplomacy and ego management as it is a matter of technical skills.)
- Tor3 8y agoI remember a discussion on the Linux kernel list years ago - and I believe Linus himself at one point insisted that names with less than three characters shouldn't be accepted, as they must surely be invalid. I pointed out that when I was a student there was another student with a full name consisting of just a single letter. No first name, no last name, just that letter. And the best thing - the student loans bank's system actually handled that. A couple of times each semester there would be wide fanfold prints on the billboard wall, with each student's name and information about each student's loan application. They apparently had no issues with his single-letter name, which means that the governmental name registration system didn't either. Even though he was a foreigner, and I've never heard about any native person with just a single name (not to mention just a single letter).
- MockObject 8y ago
- ggm 8y agoA few of these were new to me. I think people who come to phone numbers before Internet knew about the ITU decision to adopt a semi-efficient distribution by size model, so the numbers +x[y[z]] were given out for volume, not order-of-application. +1 was 'North America' Not the USA in this model. the +88 and Taiwan is an interesting situation. The phone companies agree to do efficient routing to the TW IDD but China refuses to formally recognize it in the ITU. So, its routed optimally, even if the prefix routing should honour Chinese (mainland) intent according to the model (thats how I have heard it. I don't know how accurate this is) Telefonica runs several mobile operations in LatAM and I am told that numbers can be somewhat mobile (sorry) across borders. I also know of AT&T subscribers who are domiciled in Canada and who are flouting some rules to get the phone roaming behaviours they want.
- skunkworker 8y ago"Phone numbers are numbers" - I've come this multiple times integrating phone numbers into a product. Currently I just store phone numbers in E.164 format as a string with max length of 25 just to be safe and index them. This really takes up no additional space and can easily handle extensions. I can't tell you how many times I've run into people storing phone numbers without normalization eg: "(555) 444 - 3333" etc., not understanding that's hard to compare against, where E.164 = "+15554443333" is much more consistent and also works with services like twilio etc.
- deleted 8y ago[deleted]
- fatnoah 8y ago>Currently I just store phone numbers in E.164 format as a string As someone who created many texting apps (HeyWire, Salesforce's LiveMessage Product) this is how all numbers are treated internally...except short codes, which aren't phone numbers.
- fyfy18 8y agoI assume why they store them as entered is because it's hard to convert them between formats. In North America you format the number that way, but other countries do it differently. Maybe the phone number is a local number (without area code) or maybe it has an extension? If you are just storing the phone number to display to a user at a later time, it is a lot simpler just to save it as text field with no validation.
- newscracker 8y ago> An individual has a phone number > Some people do not own phones, or do not wish to provide you with their telephone number when asked. Do not require a user to provide a phone number unless it is essential, and whenever possible try and provide a fallback to accommodate these users. Signal, WhatsApp and Telegram are spectacular design failures on this point because they assume that every person has a phone number and also that every person has their own private (non-shared) and unique phone number. Facebook, Google, etc., require a phone number for verification and believe that it’s sufficiently adequate to thwart spammers. The whole “must enter a phone number” phenomenon is a big mess, introduces privacy issues and excludes many people. None of the companies mentioned above would agree that excluding people is a goal for them, but they’ve made it so.
- segfaultbuserr 8y ago> Signal As I understand it, Signal is always intended to be the "StartTLS" of telephone communication, so naturally it explicitly targets mobile phone users. I only use Signal to call or text someone I would otherwise call directly. But I agree with your general opinion. For most services I found it's ridiculous to be hardlinked to my phone number. Why on Earth you have to expose your phone number to some random people you chat with on the Internet?! Telegram... at least they accept VoIP numbers... I use other non-phone, general-purpose services, such as Matrix, to communicate with other people.
- mikekchar 8y ago> Signal is always intended to be the "StartTLS" of telephone communication, so naturally it explicitly targets mobile phone users. This doesn't make sense to me. If I have telephone service and the person I want to talk to also has telephone service, why do I want to use Signal to communicate from my telephone device to their telephone device? Aha! Because I want to communicate privately and the telephone service does not allow me to communicate privately. So why do I have telephone service? To allow me to use the service that doesn't use the telephone service? This always struck me as a particularly poor argument. While it is true that most people have data services through their telephone provider, why do we want to encourage this behaviour. I mean, I could even understand implementing it initially out of convenience, but it's been years and they still haven't provided a means for authenticating with the service without using a means that will publicly identify you. As much as I wish to believe otherwise, I do not think this is unintentional :-( And if it's not unintentional, I'd really like to understand the reason.
- aasasd 8y ago> googlei18n > Some people do not wish to provide you with their telephone number when asked Well, you don't say! Next in the series, “Falsehoods programmers believe about 2fa, or: just use HOTP/TOTP, dammit.”
- segfaultbuserr 8y agoA challenge - try to register a Google account without providing personal information.
- macintux 8y agoHeck, last time I tried to register a Twitter account I couldn’t do so without a phone number to receive a PIN, and a burner number wouldn’t do it. C’est la guerre.
- segfaultbuserr 8y agoI can answer my original question - Google has been actively blacklisting all forms of VoIP numbers to their best efforts, so it's almost impossible to register one account without putting in your personal information. The last time I've checked it, there's only one workaround - you can purchase a real phone number connected to a computer from a cryptocurrency freelancer developer... Many stories from the U.S media are condemning that the requirements of personal information online by authoritarian governments are threatening free speech, etc, meanwhile, in the U.S, big companies have done this voluntarily, and you need to be a hacker to register a Google account without personal information, it's just ridiculous.
- angel2 8y ago"you can purchase a real phone number connected to a computer from a cryptocurrency freelancer developer..." Where do I start looking for such a person? I very much dislike the privacy aspect of the whole phonenumber game and also the environmental impact of burner use.
- org3432 8y agoHere’s my addition: Phone numbers are of the same length within a country. In Austria phone numbers vary in length, and the trailing numbers can also can be used be PBXs.
- techsupporter 8y agoFlying Spaghetti Monster I hate that this is real: > Only mobile phones can receive text messages > Some service providers support sending and receiving text messages to fixed-line numbers. There are also online services like Skype that can send and receive text messages. "Oh but not-mobile-number phone numbers are always fraudulent so we don't accept them!" Great, I love getting caught in spam traps because I have a mobile phone...but it is a VoIP-backed system so the numbers show up as VoIP. (BTW, Verizon's "My Numbers" feature also show up as VoIP numbers, not mobile.) Even more annoying: "Oh, but a bunch of people we know who are also technology professionals happen to use Google Voice / Google Fi so we'll just whitelist them." Grrr. So now I have to care what my "mobile" provider uses for its underlying network or just use Google. And the last one: My credit union just sent out a terms of service update saying I "cannot use Google Voice, VoIP, or similar numbers with Zelle." OK, but I already have a number like that registered, what now? "Your Zelle access is suspended until you give us your mobile number." But that is my mobile number. "Too bad."
- rsync 8y agoIt's worth noting that a CLEC (or other provider) can, in fact, denote a non-mobile number (or block of numbers) as "mobile" so that it can do things like receive text verifications from short codes (like your bank, or gmail, uses). This is expensive and time-consuming, however, and almost no CLEC (or other such provider) will do it - you have to petition and register your number(s) with every single mobile provider and get them to accept that these are not sources of spam, etc. I have this problem because my main, personal number is actually a twilio number (as I built my own personal telco within twilio) and this means I cannot receive validation messages from shortcodes (like a bank). I spoke to some twilio engineers at Signal and they confirmed that it would indeed be possible to register twilio numbers as "mobile" but too expensive ...
- arthurfm 8y ago> I have this problem because my main, personal number is actually a twilio number (as I built my own personal telco within twilio) and this means I cannot receive validation messages from shortcodes (like a bank) Why does Twilio work for me for SMS 2FA? Is it because I m using an '07' number in the UK? https://news.ycombinator.com/item?id=19227631 https://news.ycombinator.com/item?id=19227631
- sdrothrock 8y agoEvery time I see one of these lists, I think of this list: https://github.com/kdeldycke/awesome-falsehood https://github.com/kdeldycke/awesome-falsehood It's a general list of "Falsehoods Programmers Believe About . . ." lists. Names also come up fairly often on HN.
- mehrdadn 8y agoOn a tangent, how do people who use services like Google Voice deal with their VoIP numbers being rejected for verification by many sites?
- jpatokal 8y ago> In Argentina, to dial a mobile number domestically, the digits "15" need to be inserted after the area code but before the local number, and the "9" after the country code (54) needs to be removed. This transforms +54 9 2982 123456 into 02982 15 123456. I used to work in telco, so I've seen some pretty wacky format formatting schemes, but this takes the cake. Who thought this was a good idea!?
- 4ad 8y agoI'll add a few other falsehoods: * a SIM card holds only one phone number. * if a SIM card holds multiple phone numbers, they are from the same country.
- ThePadawan 8y agoBetween 2004 and 2007, Zurich (Switzerland) also switched dialing prefixes such that multiple phone numbers in fact referred to the same extension [0]. [0] Wikipedia unfortunately has the description only in German: https://de.wikipedia.org/wiki/Ehemalige_Telefonvorwahl_(Schweiz)?section=7#01_(aufgehoben) https://de.wikipedia.org/wiki/Ehemalige_Telefonvorwahl_(Schw...
- apk17 8y agoKleinwalsertag. Austrian territory, but only reachable (by road) through germany. Was connected to german phone network, which changed once telco stuff got smart enough. Effect: For some time a german and an austrian phone number reached the same phone.
- geuszb 8y agoMore: * "A mobile phone knows its phone number." The phone cannot know its own phone number without making a call or sending a text message. Some SIM cards carry an "own phone number" record but it is not authoritative and sometimes inaccurate. * "A SIM card is permanently assigned to a phone number." SIM cards to phone number relationship can be many:many and change over time. * "<Social app X> requires phone number to sign up, so we should too." Users actually react very differently when a messaging app asks for their phone number (useful to find contacts) vs a calculator app or a game or an app where they want to be anonymous.
- DrScump 8y agoNote: USA-specific Not even 20 years ago, before any number could be ported to mobiles, landlines in some (all?) Baby Bell regions had their prefix determined by geography. In other words, you could know what "zone" a given phone number was in by its prefix. Take Silicon Valley. A (650) 960-xxxx number meant Mountain View. (408) 733-xxxx meant Sunnyvale. Etc. Zones roughly respected cities, but boundary conditions abounded. If you lived near the Mountain View / Sunnyvale border, you could be in area code 415 (later 650) or 408. San Jose had 3 zones. Cupertino was part of SJ1. Fremont / Newark were lumped and spanned 2 zones. Milpitas was part of SJ2. etc. You were only guaranteed a local (non-toll) calling area of something like 8 miles, but Pac Bell would give you all of the zone overlap: if any part of your zone was within that 8 (?) miles of any part of your destination zone, it was a local (free) call. This meant your actual local range could extend 20+ miles. I set up PC-based call broadcast systems (the vendor product I used was "BigmOth" for some membership organizations such that I could send a recorded message to whatever numbers in a given member roster. By placing two parallel systems in, say, Sunnyvale and SJ3, I could cover everywhere from Menlo Park to Los Gatos to Coyote to Fremont Newark zone 1 with no variable phone costs. So, I set up a table in my database to join prefixes to zones, and my program went through the contacts and routed each destination number to the appropriate calling phone book (I rewrote the phone books after every batch of database updates). I had one system in my house, and a colleague had one in his in SJ3. I'd just uploaded his share of the phonebooks and the message recording binary to his ftp site, leaving him maybe 10 minutes of work for each cycle's setup. Thus, I could blast 2-minute messages to members over a 200+ square mile area for free. It was really slick. 10 years later, it was irrelevant, as everywhere became a free call.
- sneak 8y agoSweet hack. :)
- reaperducer 8y agoEarly BBS networks used to do this, too. Around 1984 the ARB (named for its author, Arthur Richard Brock, R.I.P.) BBS system did store-and-forward e-mail from one ARB BBS to the next, covering a good portion of the New England and Mid-Atlantic states. Back then toll charges were pretty high, but there were gateway nodes that had phone numbers which had free calling that spanned area codes and LATAs. ARBnet was pretty awesome, ran on Commodore 64's, and was a pioneer in public e-mail, but is now completely forgotten.
- C1sc0cat 8y agoInteresting that Germany breaks the ITU limit of 15 - Germany is the last country I would have thought of to break ITU specs.
- PakG1 8y agoA lot of people have horror stories about what happens when they lose their phone number, etc. Concern can be extended to email address. I agree that it's a valid concern, there needs to be a better way to handle this. I am surprised that this happens with this crowd though. I would figure this crowd would update all their relevant stuff when their information changes. I normally do. But I know that definitely this would still be a problem for ordinary laypeople, so I'm not trying to blame the victim, and so I'm not sure what my point is. I guess this is just not an easy problem. I imagine identity theft would be rampant if the processes and requirements were more relaxed. I don't know what the solution is. :(
- FabHK 8y ago"Every phone number has an area code." Is the falsehood of the above statement sufficiently evident? I don't see it listed explicitly. In Hong Kong, for example, phone numbers are just 8 digits (+852 1234 5678). Some websites/apps insist on an area code, forcing one to arbitrarily split the number.
- JdeBP 8y agoI would, from personal experience, construct a quite different list. Some of mine would be: * Every other country's telephone numbering is like one's own. * Every other country's telephone numbering is like that of EU countries, or like the NANP. * The last 10 digits are the subscriber number. * Geographic numbers are actually geographic. * 123456789 is a perfectly fine number to use for test calls. * STD is exactly like NPA-NXX. * The leading 1- in NANP long distance form is the country code. * There are only national and international forms nowadays. * Users do not use E.164 themselves. * Emergency numbers are easy to filter out, as it's only one number. There are also falsehoods that people believe about telephones, which I would start with: * When you hear the ringing tone, the other end is already ringing. * Your ringing tone comes from the other end. * Every network sends in-band call progress tones. * It's perfectly fine to use fax over a G.729 'phone. * DTMF is in-band and universally supported. * DTMF is out of band and synchronous to media. * There is only one way that callees reject calls, and it never involves being connected. * TPC does not need to know the correct physical location of your non-mobile 'phone. * TPC tracks mobile 'phones through "a GPS chip". * Calls can only be traced whilst the caller is on the line. * Caller-ID is unspoofable and works across networks and across countries. * The callee can always clear calls. * Only the caller can clear a call.
- pault 8y ago> Calls can only be traced whilst the caller is on the line. You just punched a hole in the plot of every procedural crime drama. :)
- jedimastert 8y agoYou can add "Calls take a non-trivial amount of time (i.e 60 seconds) to trace" to that list. It's immediate.
- ams6110 8y ago> * The callee can always clear calls In the 1980s at school, the phone system in the dorms was a private system (you could connect to the public system by dialing 9 first). In this system, a call was not terminated until the originating side disconnected. So a common prank was to call someone, then not hang up. Now their phone was unusable.
- claviola 8y agoBrazil has changed the rules around the requirement to specify an operator for domestic long distance calls several years ago: https://gizmodo.uol.com.br/anatel-aprova-ligacoes-de-longa-distancia-de-telefone-fixo-sem-codigo-da-operadora/ https://gizmodo.uol.com.br/anatel-aprova-ligacoes-de-longa-d... (link in Portuguese)
- sneak 8y agoThe biggest widely believed programmer falsehood I run into in practice: that they are ten digits and always start with +1. It’s right up there with “all users have a US ZIP code”.
- chris_wot 8y agoIs there a library for addresses? These are even more complicated...
- pbhjpbhj 8y agoAddresses have been covered a few times here, try a site search (down in the footer), some of those convos are interesting.
- babuskov 8y agoInteresting how nobody here is complaining about Apple forcing all developers to switch to 2FA this month. They sell it as "more secure" and I read it as "higher chance to get locked out".
- scrollaway 8y agoDont use SMS 2fa, use TOTP.
- babuskov 8y agoDoesn't seem to be supported: https://discussions.apple.com/thread/6846658 https://discussions.apple.com/thread/6846658
- jbverschoor 8y agoOh.. and about 25 years ago, phone number length was set to 10 digital. All numbers changed.
- fxfan 8y agoI see a lot of hate for companies using phone for verification the real hate should be directed towards att, Verizon because they are double handedly setting the entire world back. If a phone doesn't do what they want- they wont sell it and it will lose a lucrative market. Phone numbers as they are today should be dead. The world is connected using internet and there should. Be a new standard for "call identity" which should be cross region.
- bryanrasmussen 8y agoIF the description of the falsehood includes the line "Obviously, this isn't necessarily true." I am going to go out on a limb and suggest that programmers don't really believe it - at any rate I would like documentation of programmers believing that people have only one phone number. ¨´
- acheron 8y ago"Falsehoods Programmers Believe" Titles Considered Harmful
- bryanrasmussen 8y agoThe unreasonable effectiveness of considering falsehoods programmers believe harmful.
- dsr_ 8y ago"falsehoods programmers believe about X" is shorthand for "assumptions about X that some programmers have not examined prior to deployment in production code". Any system that has an input with a single "telephone number" field that is both required and cannot accept multiple entries fits this pattern. Think of it as a list of antipatterns to be avoided. Some of them were deployed intentionally, and others pop up because a programmer took the spec they were handed and implemented it without thinking about it -- or they did think about it and their attempt to fix it was overruled.
- chrisan 8y agoI guess I'm just cynical, but I always thought it is the companies who want your phone number for information gathering/ads/etc and not the programmers making this choice
- valgaze 8y ago"Falsehoods programmers believe about..." * Names: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-... * REST APIs: http://slinkp.com/falsehoods-programmers-believe-about-apis.html http://slinkp.com/falsehoods-programmers-believe-about-apis.... * Fonts/typefaces: https://github.com/RoelN/Font-Falsehoods https://github.com/RoelN/Font-Falsehoods Collection of falsehoods: https://github.com/kdeldycke/awesome-falsehood https://github.com/kdeldycke/awesome-falsehood
- jaredwiener 8y agoA few years ago I discovered that if you have a phone number and an email address in a contact in your iPhone, iMessage looks for other accounts using the email address FIRST -- even though its ostensibly replacing SMS, which of course is phone number based. I found this out because someone accidentally put my email address in a contact (see: https://xkcd.com/1279/ https://xkcd.com/1279/) and then texted me to call out sick. After multiple attempts to explain that I was not actually her boss, she accused me of stealing the phone number. That was a fun day.
- thefringthing 8y agoHere's a good one: All phone numbers can be reached using tone dialing. (I know of at least one phone number to which one can connect only using pulse dialing.)
- MockObject 8y agoHow is that even possible?
- EADGBE 8y agoThe origins of telecommunications automation. https://en.wikipedia.org/wiki/Pulse_dialing https://en.wikipedia.org/wiki/Pulse_dialing
- rukuu001 8y agoHah! I used to do a lot of telco work. This led me to basically assume nothing about phone numbers. What got me, was that people working at the telco used to give us requirements that clearly indicated that the telco people entertained a lot of falsehoods about phone numbers too!
- bmn__ 8y ago> phones in […] Kosovo may be reached by dialing the country calling code for Serbia (+381), Slovenia (+386), or Monaco (+377) That can't be right. When will Americans learn basic 4th school year geography?
- smcl 8y agoGeography and dialling codes aren’t necessarily aligned. So none of those countries share a border - it doesn’t mean there was never a weird issue with international dialling codes at some point (and, after I did a bit of searching, it seems that there was)
- bmn__ 8y ago> none of those countries share a border Precisely. That should give the reader pause to think that there's something wrong. You're missing that the author mixed up Monaco with Montenegro (Kosovo's neighbour) because they sound similar. That's the perennial Austria/Australia confusion writ small.
- Jolter 8y agoDo you have a source for that?
- PeterisP 8y agoThere's no mixup. Kosovo has numbers that are reachable through Monaco (not Kosovo's neighbour) country code. Kosovo does not have numbers that are reachable through Montenegro (Kosovo's neighbour) country code.
- smcl 8y agoI’m not missing anything. It sounded unusual, so I looked it up before posting :-D
- deleted 8y ago[deleted]
- Casseres 8y ago
- patheticcat 8y agomy response to this entire topic: https://imgur.com/gallery/uKBX6 https://imgur.com/gallery/uKBX6
- 8bitsrule 8y ago"It wasn't even that long ago that mobile phones didn't exist, and it was common for an entire household to share one fixed-line telephone number." And not long before that, it was common for several homes to share one fixed-line telephone number. https://en.wikipedia.org/wiki/Party_line_(telephony) https://en.wikipedia.org/wiki/Party_line_(telephony)
- Jemm 8y agoAdding to the list: Some people want to put phone numbers in their address books but never ever want to call that person. An example would be to get a name from a number only caller ID so you know not to answer that call. A flag beside the number to indicate no outbound calls would be helpful. (separate flag for no inbound calls)