TI removes access to assembly programs on the TI-83 Premium CE - <AUTHOR> https://www.ticalc.org/archives/news/articles/14/149/149342.html <comment><USER3> I'm really happy with the very well build swissmicros DM42 calculator: [https://www.swissmicros.com/dm42.php](https://www.swissmicros.com/dm42.php)

It is inspired by the venerable HP42 and an e-ink like display that persists when powered off, an arm cpu running at 24MHz when powered by a cr2032 (or 80MHz when on USB power). Both the display and the key action are a big advantages over using a calculator app on a phone.

The software is entirely free software.

They will have a new model coming out in the next year or so which is on the same hardware platform (but a different model because the key layout is different) with an even more powerful software stack.

Unfortunately dedicated calculators are a seriously niche market, except for education. And education results in weird user hostile features as well as being extremely overpriced. (DM42 is also not super inexpensive, but at least there its because its extremely well built and made in very small quantities).

A lot of really awesome things could be done but without a bigger market it's hard to justify the development costs and manufacturing NREs.

<comment><USER4> Thanks for the kind words. Regarding the build quality - we strongly believe in buy-it-for-life philosophy, and the chassis is designed with repairability in mind [1]. Battery life is also one of the top concerns for us and we don't want our users to take the calculator out of the drawer after a long period only to find that the battery is dead. We've had suggestions to add a color screen or OLED display, but that would eat into the battery budget by a few orders of magnitude.

We are also launching DM41X[2], about 100 units have been sent out for beta testing and should be in production later this year.

We appreciate feedback and would love to hear from you: neil[@]swissmicros.com

[1] Teardown: [https://www.youtube.com/watch?v=Ong91Ji3iDk](https://www.youtube.com/watch?v=Ong91Ji3iDk)

[2] DM41X: [https://www.youtube.com/watch?v=UrU4sGWt45M](https://www.youtube.com/watch?v=UrU4sGWt45M)

<comment><USER5> > Teardown: > [https://www.youtube.com/watch?v=Ong91Ji3iDk](https://www.youtube.com/watch?v=Ong91Ji3iDk)

That video doesn't strike me as particularly flattering.

I'm no calculator aficionado, but just watching it already had me experiencing pangs of buyer's remorse and no money had even left my pocket.

Echoes of the clamshell sharp zaurus; a well built piece of hardware with very poor software support relegating it to dust collector status.

<comment><USER6> The reviewer is very enthusiastic about the calculator and loves that thing. How can a teardown be more positive and flattering?

<comment><USER5> Their enthusiasm more or less ends where the hardware ends and the software starts.

Some demonstrated flaws from memory:

\- Inexplicable help file error right out of the hole

\- No way to actually display values using the exceptional precision because of the software

\- Basically no included graphing capabilities despite having a pixel- addressable e-ink display the buyer is no doubt paying extra for

\- Weird font rendering bug and seemingly pointless font scaling

\- No modal alphabetic keyboard entry when attempting to do some rudimentary programming

<comment><USER4> Just to shed some thoughts around not adding features - keep in mind that DM42 is a "homage" to the original HP42. If we go ahead and make major changes to the UI (besides what we have already made to take advantage of the screen), it is no longer a true to the aforementioned spirit. Graphing capabilities were rudimentary on HP42S and you need a printer to plot. Similarly, DM42 has an IR sensor and complete backwards compatibility with HP42S printer.

There is a deliberate attempt to _not_ add features, and to keep DM42 compatible with HP42S "interface". We've received strong feedback from our users to not make major changes to the HP42S spec. One can just use HP42S manual and everything should just work. It is the same with the key layout.

If you want to add features or mess around with the firmware, it is open source. There is also an SDK that you can use to write your own firmware if you wish.

Furthermore, there are some exciting projects to build a new RPN platform all together - WP43 is one.

That said, all feedback is welcome and appreciated. Thank you.

<comment><USER5> That's fair, like I said I'm no calculator aficionado and have zero prior experience with the HP42. So I'm coming at it cold and those choices are coming through as defects and an inability to make good use of the hardware being purchased.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Wow, this is incredibly sad news.

One of my fondest memories with the TI was a chemistry instructor saying that we were completely free to use any programs we wanted on examinations -- as long as we coded the programs ourselves. This inspired me to create a fairly comprehensive TI chemistry formula program, and my mates did likewise. It was really a forward-thinking move that contrasted strongly with just a blanket ban, as instead it fostered creativity. It is sad to me that future generations will not be able to experience this.

<comment><USER8> This isn't a ban on TI-BASIC, which is what most students use when programming formulae and other helper programs.

<comment><USER9> It's common for exam proctors to require you clear all programs from your calculator. I think the reason for banning native programs is that it was trivial to spoof the memory clearing in a way that was difficult to detect.

<comment><USER10> You can actually spoof the "RESET RAM" menu in TI-Basic, but only dedicated students would do it.

<comment><USER11> Was this because you would have to plot it line/pixel-by-line/pixel?

<comment><USER10> Something like that. You'd have to plot all of the text in all the right places, and also script the menu, delay, and keyboard response.

<comment><USER12> Are exam proctors really auditing this to that level? I've been out of school for a while, but I think I only remember the honor system being used.

<comment><USER10> My calculator was never checked before standardized tests, but some math teachers checked before giving class tests.

<comment><USER12> Theres some interesting incentives for teachers administering standardized tests to ignore cheating. Students who do well reflects well on the teacher and the school. I wonder how schools report cheating to standardized test administrators and what the rules are for scoring a cheater.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I remember, in maybe 9th grade, after learning Newton's Method in a pre-calc course, writing a TI-83 program to do N iterations of Newton's Method for me. I showed it to my math teacher. He wasn't much of a nerd, and this was the early 2000s so technology wasn't quite as prolific as it is today; he was blown away.

Come exam time, we were allowed to use our calculators. I asked if I should clear mine out given I had a program which could "cheat" (I was a teachers pet). He said something to me (privately) along the lines of, "don't worry about it. the way I see it, you've already proven to me you know the content." Ironically, today I could probably piece together a TI83 assembly program from memory, but I couldn't even tell you what Newton's Method does, let alone how to do it. Not sure what lesson to glean from that.

I remember eating lunch one day, maybe a year or so later, in his classroom with some friends, and he was browsing around the internet trying to find a job I'd like in math. Looking back, I find it funny that he was landing on things like "actuarial science" and "accounting" instead of the obvious. I think that was his way of trying to make up for the piss-poor guidance counseling in my school of 80 people in the middle of nowhere. I ended up wasting a semester in Computer Engineering doing CAD and coding MatLab before a professor took me aside and basically said "you're finishing these matlab assignments faster than my grad students would. Are you sure you don't actually want to do Computer Science?"

It sucks to see this. The accessibility of coding today has never been better, so I'm not going to pretend like this is a doomsday thing for helping kids get into the field, but it did have power in its ubiquity. Teaching computer science in high schools isn't a tenth as effective as students coding up a program to make their math classes easier, or modding CounterStrike after hours, or "hacking" the school computer labs to play Halo with their friends. Technology, and the ability to shape it to help us, should be ubiquitous. It shouldn't be thrown out the window just so one teacher can more easily proctor a hundred tests instead of twenty.

<comment><USER14> newtons method is mathematically informed binary search

<comment><USER15> Close, and a good intuition for well-behaved problems. Unfortunately, Newton's method only remembers the location of the current point, rather than of two points surrounding the target value. This can result in some pathological cases where Newton's method fails to converge, or gets into an infinite loop.

</comment></comment></comment><comment><USER16> This is unfortunate, assembly programs were the strongest aspect of the TI homebrew community. Some really great games and applications were made possible by native binaries on the older TI calculators. A couple of details I found in another article[1]:

\- The new OS prevents the calculators from being downgraded

\- The OS prevents running Asm/C programs, only Basic (and on some editions Python) programs are allowed

\- Applications can still be installed if signed by approved TI vendors

Sounds like the TI homebrew community is about to get splintered. You'll have the jailbreakers fighting for code execution, but this could easily end up a small underground operation mirroring other jailbreak efforts. It could become too much of a hassle to get asm programs back (custom OS?), if so most people will accept the limitations and move on. At least there's still Basic and Python, if nothing else.

[1] [https://www.cemetech.net/news/2020/5/949/_/ti-removes- asmc-p...](https://www.cemetech.net/news/2020/5/949/_/ti-removes-asmc- programming-from-ti-83-premium-ce)

<comment><USER17> This is basically just a repeat of how other platforms locked down code execution on their devices. Hopefully TI is incompetent enough to make jailbreaking trivial, but it opens up a cat-and-mouse game…

<comment><USER18> TI is fairly competent overall. That said, maybe the bottom 10% get sent to the calculator division, given that it's barely moved since 1980...

<comment><USER19> Less than 5% of their revenue is calculators, and much less than 5% of their R&D or engineering budgets. It's an incredibly small part of their business.

<comment><USER20> 5% of revenue requiring much less than 5% of engineering time sounds like an awesome part of a business. Hardly small, either.

<comment><USER21> It serves the purpose of exposing future engineers to the TI brand during a formative period too

</comment></comment></comment></comment></comment></comment><comment><USER22> TI's strangle hold on the education market is stupid. Anyone that's looking for an affordable ($99)and modern calculator, check out the Numworks. It's fantastic. It does all the normal things a calculator should do and comes with a Python interpreter out of the box. Check out their simulator[0]. Also the hardware and software are open source[1].

[0] [https://www.numworks.com/simulator/](https://www.numworks.com/simulator/) [1] [https://github.com/numworks](https://github.com/numworks)

<comment><USER23> Is it accepted on tests?

<comment><USER24> I don't know for other countries, but as for France, it's compliant with the exam-mode that all calculators must comply to for national exams.

So I can't say for your specific case, but if you're a teacher, at least this feature exists and you can use it with your students.

By the way, even the iPhone has some apps compliant with this feature, where you're basically locked into the App. If you do manage to leave the App (i.e. by force restarting your phone), you void the exam start timestamp that the App saved

</comment></comment></comment><comment><USER25> Removing an advertised feature of a product in a firmware update? That reminds me of OtherOS[1] and Sony.

[1] [https://en.wikipedia.org/wiki/OtherOS](https://en.wikipedia.org/wiki/OtherOS)

<comment><USER26> Is that legal?

<comment> kube-system Sony paid out on a class-action lawsuit over it.

<comment><USER27> In spite of having a launch model PS3 I wasn't able to claim my $9 of PSN credit or whatever; iirc you had to prove you had installed linux before a firmware update vaporized it.

</comment></comment></comment></comment><comment><USER28> ticalc.... I spent so many hours on their forums in high school. It's one of the first online communities I was super-active in. I did a TON of TI-BASIC programming and it's how I got my start programming. There are even 1-2 of my old BASIC programs on ticalc that I uploaded over a decade ago.

I never got into assembly much because it required a a computer and I could code and run BASIC on the calculator itself. I remember a few ASM programs you could drop on your calculator and then call them from your BASIC programs. So certain things that could be done faster in ASM were all put together in a "library" that you could use to speed up your BASIC programs (most were visual in nature, clear screen, draw sprite, etc). I still have my TI84+ SE from high school, I really love that calculator.

<comment><USER10> You can actually enter ASM code on the calculator, but it is very limited, and non-trivial programs are extremely tedious to enter.

[http://tibasicdev.wikidot.com/asm-command](http://tibasicdev.wikidot.com/asm- command)

<comment><USER28> Interesting, I remember the "ASM(" command to run those helper libraries but yeah, the issues around trying to write ASM on the calculator would have been a non-starter for me (both back them and now lol):

> Using AsmPrgm is the only built-in way to create assembly programs on the > calculator, and it's not very convenient. To use it, after AsmPrgm itself, > you must type in the hexadecimal values (using the numbers 0-9, and the > letters A-F) of every byte of the assembly program. Even for assembly > programmers, this is a complicated process: unless you've memorized the > hexadecimal value of every assembly command (which is about as easy as > memorizing the hexadecimal value of every TI-Basic token) you have to look > every command up in a table.

<comment><USER29> Even more than that, computing the branch offsets by hand is tedious and error prone. You remember the important opcodes pretty quickly, but recomputing the branches every time you modify the program is a huge pain.

<comment><USER30> Usually you'd pad the program with NOPs during development to keep each basic block X-byte-aligned. Still a pain, but less of one.

</comment></comment></comment></comment></comment><comment><USER31> I got into programming almost 20 years ago by coding on my TI-89, first in BASIC and later in ASM and C. Sad to see this platform closing down more, although on the other hand I'm also surprised to see that these devices are still relevant given how overpriced and under-powered they are by today's standards.

<comment><USER32> It's been hard to make an underpowered calculator for 30+ years. What computationally intensive tasks does one even try to attempt on a calculator?

I do remember IRR calcs on an HP-12C taking a few seconds, or so. And that machine is not cheap either.

That being said, who's running IRR on a pocket calculator?

<comment><USER17> > What computationally intensive tasks does one even try to attempt on a > calculator?

Back in high school I regularly hit integrations that took minutes to do on my TI-89.

<comment><USER32> must have been some pretty big integrals, these examples in exact form seem to be close to instant.

[https://www.youtube.com/watch?v=SoDkeg166xU](https://www.youtube.com/watch?v=SoDkeg166xU)

maybe not the TI-89 which ran 68K processor.

<comment><USER17> Those are all fairly simple, I'm talking much bigger stuff. (I actually had a Titanium, but it also has a 68k.)

</comment></comment></comment></comment></comment><comment><USER17> This is really sad and a huge about face from the TI-83 Plus, which let you program in assembly _on the calculator itself_ (fun fact: I wrote a CTF challenge based around this, [https://github.com/saagarjha/ictf- carprey](https://github.com/saagarjha/ictf-carprey)). I'm not looking forward to the next generation of students being stuck with TI-BASIC unless they "jailbreak" their calculators…

</comment><comment><USER33> Oh wow, ticalc.org still has the same header and color scheme as it did in 2001 (or 2002?), I used to check this site constantly in high school to download new games (including a mind-blowing Link's Awakening port demo which sadly never was finished)

Check it out, those menu buttons at the top use javascript to simulate CSS `:hover` because at the time IE6 didn't support it for non-link elements!

        <th onmouseover="mOvr(this);" onmouseout="mOut(this);" onclick="mClk(this);" style="cursor: default; background-color: rgb(255, 238, 204);">

</comment><comment><USER34> I released dozens of TI-basic and TIGCC apps back in the day and this is a very, very sad turn of events.

The biggest advantage TI has for attracting new developers is that their platform is ubiquitous for high schoolers. This is really amazing for adoption and it's how I got started with programming back in the day.

I hope this trend doesn't continue. [https://www.ticalc.org/archives/files/authors/78/7869.html](https://www.ticalc.org/archives/files/authors/78/7869.html)

</comment><comment><USER35> I assume they did this because of pressure from standardized test administrators. That other article from today about universities phasing out standardized tests is bad news for TI, because nobody would choose their calculators on technological merits. With standardized tests gone, there is no reason to pay $200 for 1 cent microcontroller and a 3 cent screen. Now kids can learn mathematics with something like Mathematica; rich graphics, smart algebraic expansion/simplification, etc.

(Like many others, I have fond memories of programming my TI-80, TI-83, and TI-89... but I also got to use Mathematica at school and kind of wondered why these calculators existed then. I got so much out of animating and exploring everything. Waiting 10 seconds for a TI-80 to graph a parabola was just not as exciting after using that.)

</comment><comment><USER36> Does anyone know what might be the Youtube video that the article suggests kicked off this change?

</comment><comment><USER37> As someone who widely appreciated being able to have a calculator out in some classes to play Assembly games in classes this is sad news. That said, I can't recall using an Assembly program for any legitimate use. Are there real apps out there a student would use that are written in Assembly?

By the way, my favorite TI-83 Assembly game was Uncle Worm, a fun variant on snake that lets you move in all directions. I even made a Windows port. [https://www.ticalc.org/archives/files/fileinfo/96/9683.html](https://www.ticalc.org/archives/files/fileinfo/96/9683.html)

<comment><USER38> In college I wrote a quick program to plot 3D curves and surfaces, a lot of my classmates used it. I would have written it in assembly if it were possible to put an assembler on the calculator easily because basic was almost too slow.

</comment></comment><comment><USER39> Hey everyone, since we're on the topic -

Is there an open source computer algebra system designed to run on one of these microcontroller-level devices that might serve as a replacement for the math capabilities?

Something at least as good as DERIVE, and doesn't resort to Python - <USER2> barest of metal?

Because I've always wanted to make a calculator...

<comment><USER40> I do not know much about it, but I remember Giac being hacked onto the Numworks Epsilon software. Maybe check out Numworks, too, I am going to make a comment now about it here, too.

[https://www-fourier.ujf-grenoble.fr/~parisse/giac.html](https://www- fourier.ujf-grenoble.fr/~parisse/giac.html)

Seemingly relevant thread found by a quick Web search: [https://xcas.univ- grenoble-alpes.fr/forum/viewtopic.php?t=69...](https://xcas.univ-grenoble- alpes.fr/forum/viewtopic.php?t=694)

<comment><USER39> Thank you. This is exactly what I was looking for!

</comment></comment></comment><comment><USER41> Interesting that a vendor is securing access to Z80 assembler in 2020.

<comment><USER31> Unless things have changed since my high school years it's a Motorola 68k CPU, not a Z80.

<comment><USER42> I think it's 68k for the TI-89 and up, and Z80 for the lower models.

<comment><USER17> The eZ80, I believe, which is backwards compatible but clicked higher and with 24-bit arithmetic.

</comment></comment></comment></comment><comment><USER43> This sucks :( having a little mini battery powered computer with insane capabilities like running a separate operating system was a great entry into tech for many of us

</comment><comment><USER44> I'd like to take the opportunity to recommend the HP Prime G2 (for those of you who, like myself, appreciate the flexibility of a reasonably-powered CAS) and the NumWorks (which, when loaded with the Omega fork of the open-source Epsilon firmware) provides excellent functionality in very minimalist package and even supports CAS (through the easy installation of khiCAS).

<comment><USER45> I'm a contributor to Epsilon and Omega. It's too early to guess how much of a backlash this will generate, but calculator forums are extremely pissed right now. TI completely destroyed any goodwill they had remaining at this point.

I'm not sure how this will unfold, but they've pissed off a fair number of smart people that know their calculators inside and out. I expect jailbreaks, boycotts and people switching to other platforms fairly quickly.

<comment><USER44> I find the NumWorks to be a lovely little calculator but Omega really needs to provide some serious symbolic ( _i.e._ 'CAS') functionality. It's all fair and square that the official Epsilon firmware doesn't feature CAS to appease the examination boards, but it's a feature that is pretty key for a more sophisticated crowd. No algebraic computation? No symbolic differentiation and integration?! That's really quite disappointing.

<comment><USER45> There is support for giac as an external app, the port is named KhiCAS. Flash a firmware with external app support (Omega typically) and then use [https://zardam.github.io/nw-external-apps/](https://zardam.github.io/nw- external-apps/) to transfer apps. Right now the current external app system is a glorified proof-of-concept when compared to the TI/Casio ecosystem, but it does work.

One cannot distribute epsilon with giac integrated since their licenses are incompatible (GPL3 vs CC-BY-NC-SA), hence the external app workaround. NumWorks could negotiate a commercial license, but there has been no sign of this so far.

</comment></comment></comment></comment><comment><USER46> In the world of Matlab, python, Octave and Wolfram Alpha, why bother with the TI-83 still?

<comment><USER47> Because schools aren't about to let students use phones/laptops during exams, and not every student has readily available access to the internet.

Also on occasion I need to do some simple plotting/multi-step math and my old high school TI-83 in the desk drawer is simply more convenient than firing up a Mathematics suite and looking up the arcane commands to get it to show what I actually want.

But for professional use, yeah there are better tools.

<comment><USER48> That's silly. None of my (I'm a math major) university calculus courses (calc 1, calc 2, calc 3, differential equations) allowed calculators on quizzes or exams. Graphing calculators are a zombie technology kept alive by completely bogus, artificial means.

There's no reason to use a calculator on a properly-designed calculus exam. We were doing everything from Taylor series to triple integrals without them. Teaching kids to rely on a calculator from a young age severely limits their ability to develop the basic arithmetic "muscle memory" (for lack of a better term) needed to manipulate equations quickly in more advanced math classes. It's a real shame.

<comment><USER49> But what's the value of this arithmetic muscle memory, in a world of ubiquitous computing?

As long as you don't treat this computing as magic that _somehow_ solves your math problems (hah, true I was guilty of that when I was a school kid), but is fully aware about how it does it (the algorithm) and just let the machine do the boring bits.

<comment><USER50> Are you joking? Number sense is hugely useful in daily life. What if I have a recipe for three servings but five dinner guests? If I just passed milepost 472 and I average 55 miles per hour, how long will it take me to reach Mexico? How many bottled liters of water can I fit in this box? How much is the 1.35% annual property tax on a million-dollar house, per month? You really want to whip out your laptop for all that?

<comment><AUTHOR> >How much is the 1.35% annual property tax on a million-dollar house, per month? You really want to whip out your laptop for all that?

I'll bite. In what scenario would it be useful to do this calculation in my head?

<comment><USER50> You're trying to figure out if you can afford that house based on your monthly pay?

</comment></comment></comment></comment></comment></comment></comment><comment><USER51> I find it incredible that these calculators are even allowed in exams. In the UK, for University, we were allowed at most a Casio fx series scientific calculator, nothing more sophisticated. At A-Level (pre-college) you were allowed very basic graphical calculators but I knew of nobody that bought one and they were seen as being pointless.

</comment><comment><USER52> That is a sad news. What a trip down memory lane though... I remember since I discovered that TI-83 is much more powerful than simply running BASIC programs, I've been spending most of my free time on TICALC. I remember installing a gameboy emulator that used some neat tricks to make TI-83's monochrome display render 4-shade greyscale. I think there was a Doom port. There's been a way to load and play rudimentary music through the IO port. TICALC was/is a treasure. I wrote and published a simple sprite and asm editor which since has been deleted. I had a z80 opcode table pretty much memorized so I can try writing small native programs in hex directly on the calculator. I think it helped me pave my life path for the next 20 years.

</comment><comment><USER53> Weren't these devices utterly broken because the private RSA key was actually refactored? Or is this a different type.

There's some wonderful software for these calculators out there. Even a functional Gameboy emulator exists, used it to play Pokemon during math classes back in the days!

<comment><USER54> The TI-84 Premium/Plus CE uses a larger RSA key that has not been factored.

<comment><USER55> Well that sounds like a challenge. Got it handy?

<comment><USER56> It'd be nice if the bitcoin community put their brute forcing power towards something meaningful like brute force factoring of RSA keys. Sadly, that doesn't make money.

<comment><USER55> It's be real nice if PoW was protein folding, or SETI matches, or anything else that benefitted humanity instead of random speculators.

<comment><USER57> It can be! Hasn't worked so well in practice, however:

[https://foldingcoin.net/](https://foldingcoin.net/)

Not much going on there... seems the last on-chain transaction happened about a month ago:

[https://xchain.io/asset/FLDC](https://xchain.io/asset/FLDC)

</comment></comment></comment></comment></comment></comment><comment><USER58> > the new, upcoming chapters of a still ongoing story :)

I love this spirit. Glad to see it will continue with or without TIs blessing. I have been using ticalc.org since I was a teenager and calculator enthusiasm is and was a great way for kids to get interested in software engineering.

</comment><comment><USER59> I don't see this being a huge hurdle to programs to help with problem solving. Back in the aughts, I would regularly write programs to solve basic kinematic equations in basic and distribute them to my fellow classmates under the blessing of the instructor. I got to reinforce my mental models of kinematics and I removed some hurdles for my fellow students who were good at problem solving and rearranging variables but weaker at math. Ultimately, I learned so much from that class.

</comment><comment><USER60> TI calculators are a racket. They begged, bribed, and threatened their way into being the standard for educators and used that monopoly position to avoid competition and innovation. It's why a TI-84, a device with a $15 manufacturing cost, costs the student $130.

[https://youtu.be/zoGl8-Wc-L0](https://youtu.be/zoGl8-Wc-L0)

</comment><comment><USER61> Does anybody know of a powerful calculator model (e.g. multi-line display like a graphing calculator) that has the ability to display commas out of the box?

For example, if the result is 1,998,241 it should display that way---not 1992241.

I don't usually need powers of ten notation.

I don't mind adjusting settings, but I don't want to have to download stuff to make it do this.

</comment><comment><USER62> I wonder how hard it would be to build a software-compatible TI calculator clone.

They haven't exactly innovated in this space in the last quarter century, but it was a nice product back in the day. The bill of materials for a modern version of these couldn't be more than a few dollars.

I wish copyright terms were shorter.

</comment><comment><USER63> It's strange to read comments about people "cheating" using graphing calculators, as I can't remember a single time where one would have helped me in a single class. That might be because I majored in maths and everything at that level is abstract ?

</comment><comment><USER64> My friend and I started a little "demoscene" on our TI-85s in high school, trying to outdo each other with little graphics demos... this is sad.

</comment><comment><USER65> RIP. My first program was a Pythagorean formula solver. I probably spent more time playing games and programming on my TI83 than actually doing math

</comment><comment><USER66> Anyone know of any other devices using the eZ80 that can be purchased now and are available (i.e. not retired)?

</comment><comment><USER67> No issues, so long as you can still amuse your friends by typing: 6006135

<comment><USER17> googies?

</comment></comment><comment><USER68> This is the only reason to buy these calculators.

</comment><comment><USER69> What next, a TI App Store?

<comment><USER70> I think you might be right!</comment></comment>


Gorilla Glass is jumping from phones to cars - <AUTHOR> http://mashable.com/2017/01/05/corning-gorilla-automotive-glass-ces/#sf5Cbx8VbOqO <comment><USER2> What happens if i need to break out through a window? e.g the car is on fire or in deep water?</comment>


A Faustian bargain at SUNY Albany - <AUTHOR> http://genomebiology.com/2010/11/10/138

<comment><AUTHOR> When I went to the University of Michigan, our Engineering school had its own humanities department. This internal humanities department offered introductory level courses with smaller class sizes and faculty dedicated to teaching engineers rather than research. It was like having an embedded liberal arts school. As the article suggests, rather than eliminating humanities departments, by making these classes both required and well-taught, we earned knowledge that paid off handsomely once we entered the work world and took on roles that required more than technical skills.

<comment><USER2> When I was at MIT in the '80s the humanities faculty was similarly dedicated, although I remember one history seminar where I was the only student who could identify the French Revolution. Afterward the professor told me he would have seriously considered resigning if none of us had gotten it.

I suppose it goes without saying that I was the only really serious history student of the 5-7 in that class, which is a shame since he was such a good professor, starting the course by explaining historiography, how the omnipresence of death prior to modern medicine made such a difference in, well, everything, etc. etc., before we got down to the nitty gritty details of Renaissance Florance.

Anyway, as others have mentioned in this discussion, if you're serious, the value in these course is generally there for the taking (assuming of course your professor isn't entirely and uselessly PC, but it's your job to ensure that ahead of time).

<comment><AUTHOR> I've re-read some of the humanities material from college and now realize how much it has influenced my day-to-day thinking. For example, while re-reading Sun Tzu's 'Art of War,' I realized how often I apply his strategies.

</comment></comment></comment><comment><USER3> In my experience, the courses I was forced to take in humanities were pretty much useless. There was the film class that 90% of the class slept through, or the mythology class that we all spent staring out the window.

Then there was the advanced CS classes that I missed out on because I had to take these random other classes. I would have been happy if my school had actually allowed me to take more relevant classes.

<comment><USER4> If you're part of the 10% that pays attention, one of the people that looked forward at the professor, instead of to the side at the trees, you might find that you've learned something. Ancient mythology is full of fascinating stories and tales, surviving movies from the 1920's can tell a story like no other. And both of these tend to get referenced in modern culture and movies (although you wouldn't realize it, if you didn't know about it).

To put it more simply: If you treat something like a waste of time, you'll come out of it having wasted your time.

And in the 8 semesters[1] that it takes someone to graduate, I find it hard to believe that the class was only offered once.

1\. Usually.

<comment><USER3> In 4 semesters (I was a transfer student), there were approximately 50% classes I was required to take (humanities, foreign language, gym, math), 25% classes related to CS I was required to take (all throughout my college education, I took 'intro to java' equivalent classes 4 times), and 25% classes I actually chose. This basically came down to 1 class a semseter, and it had to be available at a time that didn't overlap my other classes.

Since someone decided that all the CS classes should take place at the same time, this along with "prerequisites" basically ensured I couldn't take anything I wanted.

For at least 3 years in college, I ended up taking more math classes then CS classes in any given semester. I realize math can be important in CS, but it largely doesn't help me a whole lot now. I would have loved to take more advanced CS classes.</comment></comment></comment>


What Twitter users asked the president - Boston.com - <AUTHOR> http://www.boston.com/news/politics/specials/tweets_for_obama/ <comment><USER2> Interesting to compare this analysis with the one posted from Twitsprout by michaelrlitt. Seems boston.com widely underestimates the Twitter-verse's focus on marijuana...

<comment><USER3> I came here to comment on that very thing, the number one question according to Twitsprout asks about the legalization of marijuana to increase tax revenue, the wordcloud has

"Cannabis" "Cannibis jobs" "Marijuana" "Legalizing"

Yet Boston.com doesn't even find it worthy to deem "Marijuana" an accurate score. I'm not really sure what to think of that other than the highly controversial idea that when it comes to things like this ("this" being an outdated perspective on drug laws), journalists would much rather play it safe than accurately convey what has been actually represented in a public forum.</comment></comment>


Reddit discovers UFC is secretly using streaming service to mine cryptocurrency - <AUTHOR> https://www.reddit.com/r/bestof/comments/7b60or/redditor_discovers_that_ufc_is_secretly_using_its/ <comment><AUTHOR> Original title is " _Redditor discovers that UFC is secretly using its streaming service to mine cryptocurrency on its users ' computers_" but that didn't fit so I did a bit of creative word elimination to truncate it.</comment>


Ask HN: How to begin learning .NET Core? - <AUTHOR> I am a Ruby dev. I only have one computer I can use for coding, a MacBook. I want to learn .NET Core to the point where I can do everything I currently do in Rails in .NET.
I'm having more trouble with the initial setup of the environment than I expected. I have been flailing about with Visual Studio for Mac and the .NET CLI suite for about a week now to no avail. I understand that VS for Mac is not fully ready for ASP.NET development, but things are improving. There is another editor called VS Code, and some CLI tools available, but at this point, no one tool or combination of tools seems to provide a complete dev environment on a Mac.
I am trying to get started as soon as possible for free on the equipment I have. I don't want to buy a whole 'nother machine for this. Has anyone had luck with coding .NET a VM? How about online classes to help with setup? Or should I just give it a few months and try again? What do you think? <comment><USER2> I would give it a try with virtualbox if you have a version of Windows you can install in it. I would try Win7 or Win8.</comment>


Ask HN: Why are submissions critical of Apple being nuked? - <AUTHOR> I've noticed over the past several days that submissions related to Apple and Hey email that are heavily trafficked with lots of engagement are not sticking to the front page. This strikes me as extremely suspicious since this is exactly the sort of topic that usually disproportionately captivates the HN audience with high upvote and comment counts.<p>Example as of 5:32pm PST 06.18.2020: https://news.ycombinator.com/item?id=23568095. This submission should show up on the front page. It doesn't. In fact, I can't find it amongst the top 60 submissions.<p>@dang Could you offer any explanation here? <comment><USER2> There's two stories about Apple and app store pricing on the homepage right now, 6 in the top 100 (ok, top 107). If there was a conspiracy and 'nuking' of the Apple company it's bad executed.

<comment><USER2> 3 hours after my comment the position 3 story on the frontpage is "Apple gave me the Hey treatment back in 2014" [https://news.ycombinator.com/item?id=23569841](https://news.ycombinator.com/item?id=23569841) with 100+ comments. Positions 22,50,88,106 are also about Apple and app store pricing.

</comment></comment><comment><USER3> I recommend reaching out to the moderators directly (firstname.lastname@example.com). I have found them to be very responsive and helpful.</comment>


Ask HN: resources for training for IQ test? - <AUTHOR> Spurred by someone in my social circle I've taken on the vanity project of trying to get accepted into Mensa. I've taken the preliminary test on the Mensa website which says that I could be a candidate. They host testing days where you take a different test which is then used to measure if you are really, IQ-wise and according to Mensa's testing standards, within the top 2%.
The online, preliminary test is a typical 'intelligence' test as I've taken before for assessments. It measures, from what I can tell as a non-expert in IQ testing, your spatial, numerical and verbal pattern-cognition skills. If you take that as a definition of intelligence that's fine I guess, but I do think (and judging from my online research this seems to be widely recognized by the experts) that this can be trained quite a bit. In particular, what I found irritating about the online test is that some questions were much harder than others, but there was very little indication on how the speed at which you take the test is weighed against the correctness of the answers. If I would've known more about that I could have made a better judgment on whether it was worth to spend a lot of time on one question (the test I did was 30 questions and took me 27 minutes; there were 2 questions that I spend more than 4 minutes each on).
So my question is: does anyone have any advice on how to best train for an IQ test? Books or websites or other resources. My use case is the Mensa test but I assume it's largely in line with the test as administered by e.g. HR assessment agencies. I've searched Amazon and the internet but most books or websites claim they will 'train your IQ' which to me seems nonsensical; I want to train 'IQ test taking' which is a different skill.
As a tangential question, any Mensa members here? Do you find your membership advantageous? Just for fun or has it ever helped you professionally? <comment><USER2> I'm a long time HN user and a member of Mensa

Growing up, people around me always said I was very smart. Though deep down inside, I didn't think I was all that smart at all and always felt like an impostor. I took the test to prove to myself that I'm not a fraud.

Becoming a member helped eradicate any lingering insecurities I had about my intelligence, so it did have some therapeutic value. But I never renewed my membership after the first year because I couldn't seen any benefits in doing so. With the advent of the web, it's easy to interact with smart people with similar interests, and mentioning your membership can only hurt you professionally (see jeb's comment).

In my opinion, most college graduates could become members if they chose to do so. The requirements are not all that high and nothing to get a big head about. I walked out after finishing the first test (of two) and still scored high enough to get in.

One last thing. I think an obsession with your IQ suggests a subtle problem with your psychological attitude which may prevent you achieving success in life. Focus less on who you _are" and more on what you_ do*, smart is as smart does.

<comment><USER3> You think most college graduates could get in? Perhaps we went to different colleges... :) I think you're being a bit too generous with the 'most' comment, or you might be biased based on your immediate peer group.

<http://www.youtube.com/watch?v=RkQ6XgXeNuY> (I can't see the video right now) Yes, they might be cherry picking, and there's no indication all of these people are college graduates, but I suspect some were. One was a college professor.

I think you're in the minority (by definition of being in Mensa, you already are). But just because _you_ aced it doesn't mean that most people - even most college graduates - can. I've worked too long with too many college graduates who struggle with basic concepts to believe that.

</comment></comment><comment><USER4> I'd never hire a person who was a member of mensa. If you feel the need to get a certificate proving your intelligence, then you're not intelligent enough for me.

</comment><comment><USER3> Similar to mensamember on here, I'm also a member, or was, as I didn't renew. 20 years ago it might have helped me in social ways. As of now, it doesn't really provide any substantive benefits.

Unlike jeb and mensamember, I have it listed on my resume, at the bottom, in 'other', along with toastmasters experience, some public speaking activities, and other misc stuff. For me it wasn't so much wanting to 'brag' about it, but it felt like another facet of who I am (albeit a very minor one). It's also meant as an indicator that, objectively, there's a certain amount of quantifiable innate talent/skill I possess which can be harnessed for problems.

Specifically in the resume/job context, whether or not I completely understand the industry you're working in (perhaps I have no direct industry experience), ideally the Mensa qualification should indicate that I have the capacity to get up to speed quickly on the new industry and other facets of your company/business. If someone is that offended by me stating something like that about myself, they wouldn't like working with me anyway. I wrote a bit more about it here: <http://michaelkimsal.com/blog/mensa-on-my-mind-and- resume/>

All that said, I'm really not convinced that one can 'cram' or 'study' or 'game' the IQ tests all that much. I qualified for Mensa a few years back, but used tests scores from the 80s. A couple years ago I took some IQ tests (friend's wife needed to administer IQ tests to adults, and had a hard time finding volunteers). These tests were completely different instruments, administered by different people over 20 years ago, and statistically they put my 'intelligence' in pretty much the same spot. Not much had changed over 20 years. The tests seem to test something deeper than things you can 'train' for. If you took the same test multiple times, perhaps you'd get a better score, but that's not an accurate indicator then, is it?

</comment><comment><USER5> "You scored NaN / 30"

Well, I wouldn't hire whoever made the mensa website test, that's for sure.</comment>


Falsehoods Programmers Believe About Phone Numbers (2016) - <AUTHOR> https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md <comment><USER2> I 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)

<comment><USER3> No, as much as I hate Facebook: fuck phone numbers. The idea of using phone number as a personal identification tool is so bad, I'm struggling to believe this is not some kind of conspiracy designed for the solely purpose of mocking the user. It is bad enough that phone numbers exist at all in the eyes of the end user by the year 2019, 15 years after Skype with user-friendly logins appeared and when about a half of the planet uses the phone almost solely for the purpose of having a pocket-size internet access device anyway. But making phone numbers a passport of sorts (a proprietary, insecure, easy to lose passport, over which you have basically no control) is the worst, the most stupid/evil idea ever. And there's no way around it, it is used by (supposedly "secure") whatsapp, telegram, google, facebook, every fucking pizza delivery service and, well, basically everything else. And I hate every single person responsible for helping that happen.

Seriously, I would do everything I can to destroy fucking phone numbers, but I have no idea how can we stop this madness.

<comment><USER4> Well, I don't have a phone - have never had a mobile phone. So..I have other problems instead I guess. But not that one.

<comment><USER5> same, i don't have a phone number. my biggest issue is with one of my two banks, but the other one works just fine without any cellphone.

<comment><USER4> Hi there! I thought it was just me. I do have a couple of older friends aged 70+ without mobiles, but that's all I knew of. :-)

<comment><USER5> hi! indeed, i don't know many other people without a cellphone, but it's not like I ask every time. there should be dozens of us, dozens.

Do you know low tech magazine? [https://www.lowtechmagazine.com/](https://www.lowtechmagazine.com/)

<comment><USER4> Hehehe. No I didn't, thanks, looks fascinating.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> More:

* "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.

</comment><comment><USER7> Flying 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."

<comment><USER8> It'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 ...

<comment><USER9> > 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)

<comment><USER8> It's possible that your 2FA SMS messages are being sent to you FROM a normal phone number and not a shortcode ...

The problem is not that I can't do 2FA - that's just SMS messaging. The problem is, I can't receive messages from a shortcode, which is different than a normal phone number.

</comment></comment></comment></comment><comment><USER10> I 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.

<comment><USER11> > 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. :)

<comment><USER12> You can add "Calls take a non-trivial amount of time (i.e 60 seconds) to trace" to that list. It's immediate.

</comment></comment></comment><comment><USER13> > 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.

<comment><USER14> I agree fully. I've no clue why phone numbers a prerequisite for most email account providers or anything else I have to sign up for. There is no quicker way to make me bail on a signup flow that to demand something that has nothing to do with what I'm using. I barely use my phone as it is, so I'm excited to see what the world will look like for me when I finally eschew it!

<comment><USER15> Many services need a process that makes it hard for spammers to create a large number of accounts. If getting that costs a small number of real customers who can't use your service, oh well, the need to fight spammers is objectively more important to them as long as there aren't too many real customers with such problems.

Requiring phone numbers is a system that works quite reasonable, as _most_ people have a phone number, and it's not that easy (and certainly not free) for a spammer to get thousands of phone numbers to make thousands of fake identities.

</comment></comment></comment><comment><USER16> > _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!?

</comment><comment><USER17> For 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)

<comment><USER18> What a great link! Thanks!

</comment></comment><comment><USER19> Note: 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.

<comment><USER20> Early 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.

<comment><USER21> Do you know of the latest ARB version ever released? When did Arthur die? I had no idea that he did :( The last ARB version that I saw was 7.60 but it did not have PETSCII Color Graphics yet at that version.

</comment></comment></comment><comment><USER22> "Falsehoods programmers believe about..."

* Names: [https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...](https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/)

* REST APIs: [http://slinkp.com/falsehoods-programmers-believe-about-apis....](http://slinkp.com/falsehoods-programmers-believe-about-apis.html)

* 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)

<comment><USER23> Timezooooooones

<comment><USER24> Tom Scott recently did a good piece on a section of Denmark that constantly shifts timezones: [https://www.youtube.com/watch?v=yRz- Dl60Lfc](https://www.youtube.com/watch?v=yRz-Dl60Lfc)

In general, the Earth is a really lousy clock.

</comment></comment></comment><comment><USER25> "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.

<comment><USER26> I 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.

</comment></comment><comment><USER27> Programmers 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".

<comment><USER28> Yup.

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.)

<comment><USER29> I 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).

<comment><USER30> "MySQL ... Its name is a combination of "My", the name of co-founder Michael Widenius's daughter..."

I've also met a few "Jo"s in my time.

</comment></comment></comment></comment><comment><USER31> I 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.

<comment><USER32> +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.

<comment><USER33> Related: email validation that doesn't allow for + in usernames or any of the newfangled hipster fad TLDs.

</comment></comment></comment><comment><USER34> Hah! 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!

</comment><comment><USER35> "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?

<comment><USER36> So 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..

</comment></comment><comment><USER37> Interesting that Germany breaks the ITU limit of 15 - Germany is the last country I would have thought of to break ITU specs.

</comment><comment><USER38> Every 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.

</comment><comment><USER39> IF 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. ¨´

<comment><USER40> "Falsehoods Programmers Believe" Titles Considered Harmful

<comment><USER39> The unreasonable effectiveness of considering falsehoods programmers believe harmful.

</comment></comment></comment><comment><USER41> Repeat after me: After reading this I realise the difficulty in using phone verification while scaling internationally.

<comment><USER20> Not 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.

</comment></comment><comment><USER42> Between 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_(Schw...](https://de.wikipedia.org/wiki/Ehemalige_Telefonvorwahl_\(Schweiz\)?section=7#01_\(aufgehoben\))

<comment><USER43> Kleinwalsertag. 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.

</comment></comment><comment><USER44> Here'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.

</comment><comment><USER45> A 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.

</comment><comment><USER46> > 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."

<comment><USER2> A challenge - try to register a Google account without providing personal information.

<comment><USER47> Heck, 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.

<comment><USER2> I 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.

<comment><USER48> "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.

<comment><USER2> His name is James Stanley. His personal blog is [https://incoherency.co.uk/blog/](https://incoherency.co.uk/blog/), and it has many good articles about privacy and cryptography applications, such as Tor and IPFS, some has made to the HN homepage. You can obtain such an anonymous physical phone number from his personal service, [https://smsprivacy.org/](https://smsprivacy.org/), by paying 0.003 Bitcoin, at the current market price, about ~12-15 USD, per day. Such a high cost can be justified by very nature of a physical phone number.

But I have to say that It's not a complete solution, it has its own limitations. Once a phone number expires, it just expires, and I don't think you can get your previous number back retroactively... So it can only be used as a workaround for verification code to register your account. If the service decides to issue a SMS challenge to you in the future, you'll have my Facebook problem, as I mentioned in the comment section.

Perhaps I can write to him to see whether he can implement a solution for this problem.

I don't personally know him, I'm just a reader in the field of security and privacy, and he happens to have a nice blog and an interesting service.

> _I very much dislike the privacy aspect of the whole phonenumber game and > also the environmental impact of burner use._

Then, you should also care about the environmental impact of cryptocurrency, Proof-of-work literally works by burning the energy, and in order the secure the network, it must burn as much energy as currently available for general computing.

I personally don't have problem with it, as I think a global consensus mechanism is genuinely expensive, and merely using it does not directly contribute to its energy use, but I acknowledge that criticisms based on the environmental ground has a strong and valid point. Perhaps for you, using a burner phone is still a better option for your philosophy?

Meanwhile, looking forword to GNU/Taler, an PayPal-like anonymous payment system, which is not a currency, so it doesn't need to burn energy.

[https://news.ycombinator.com/item?id=10258312](https://news.ycombinator.com/item?id=10258312)

</comment></comment></comment></comment></comment></comment><comment><USER49> A 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. :(

</comment><comment><USER50> I think this all lumps into nobody really knowing everything about phone numbers, email addresses, and time

</comment><comment><USER33> The 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".

<comment><USER51> Well I'm in the UK so my zip is 90210. :0p

<comment><USER33> If you are in the UK, you have a postcode, not a ZIP (which refers specifically to the Zone Improvement Plan, a project undertaken by the United States Postal Service).

:p

</comment></comment></comment><comment><USER52> "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\))

</comment><comment><USER53> Brazil 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-d...](https://gizmodo.uol.com.br/anatel-aprova-ligacoes-de-longa- distancia-de-telefone-fixo-sem-codigo-da-operadora/) (link in Portuguese)

</comment><comment><USER54> "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.

</comment><comment><USER55> Oh.. and about 25 years ago, phone number length was set to 10 digital. All numbers changed.

</comment><comment><USER56> > 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?

<comment><USER57> Geography 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)

<comment><USER56> > 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.

<comment><USER15> There'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.

</comment></comment></comment></comment><comment><USER58> >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.

<comment><USER59> Requiring a phone number still reduces fraud a lot.

<comment><USER60> It also enables it. All while being an ugly friction point for many users.

</comment></comment></comment><comment><USER61> I 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.

</comment><comment><USER62> From 2016: [https://news.ycombinator.com/item?id=11321236](https://news.ycombinator.com/item?id=11321236)

</comment><comment><USER63> On a tangent, how do people who use services like Google Voice deal with their VoIP numbers being rejected for verification by many sites?

</comment><comment><USER64> Adding 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)

</comment><comment><USER65> I'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.

</comment><comment><USER66> > An individual has only one phone number

Always feel these lists include things no human actually believes.

<comment><USER67> It'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.

</comment></comment><comment><USER68> I 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

</comment><comment><USER69> Here'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.)

<comment><USER30> How is that even possible?

<comment><USER70> The origins of telecommunications automation. [https://en.wikipedia.org/wiki/Pulse_dialing](https://en.wikipedia.org/wiki/Pulse_dialing)

</comment></comment></comment><comment><USER71> So basically phone numbers are one or more alphanumeric fields.

<comment><USER72> You can put symbols in phone numbers.

<comment><USER71> So basically phone numbers are one or more text fields.

<comment><USER28> Yup. And unless your product is a PBX, a phone number should be an opaque blob to you.

</comment></comment></comment></comment><comment><USER73> Alright, guess I'll be using email verification

<comment><USER74> Cool, I have a bulletproof regex for that

<comment><USER75> Mail::RFC822::Address?

[http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html](http://www.ex- parrot.com/pdw/Mail-RFC822-Address.html)

</comment></comment></comment><comment><USER76> Is there a library for addresses? These are even more complicated...

<comment><USER51> Addresses have been covered a few times here, try a site search (down in the footer), some of those convos are interesting.

</comment></comment><comment><USER77> Interesting 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".

<comment><USER78> Dont use SMS 2fa, use TOTP.

<comment><USER77> Doesn't seem to be supported:

[https://discussions.apple.com/thread/6846658](https://discussions.apple.com/thread/6846658)

</comment></comment></comment><comment><USER79> A 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.

</comment><comment><USER80> I 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.

<comment><USER81> I 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.

<comment><USER33> Yup! There are lots of things like this, where I don't have the list memorized, but I remember that there is a non-trivial, non-obvious list of considerations to take into account when doing a certain thing in a non- fragile (and non-discriminatory) way.

A list of these lists might be useful.</comment></comment></comment>