The Insane Innovation of TI Calculator Hobbyists
thirtythreeforty.net
thirtythreeforty.net
I racked up thousands of posts on the Cemetech and United TI forums and spent countless hours hanging out in the game Blockland which was also popular among those folks in the mid 2000s.
To me, one of the most impressive folks in this list is calc84maniac, who joined the scene a year or two after me, but quickly surpassed me in skill, becoming a z80 ASM whiz at the age of ~13 or so, whereas some of the other (very talented) folks were at least STEM university students.
I know a few people in this article such as SirCmpwn are on HN, too, so hopefully they chime in this thread.
Some of the most memorable things about programming in BASIC on these calculators were the absurd constraints. Your whole program was limited to a few kilobytes. You only had 27 floating point variables, a few lists of floats with a maximum length of 999, no real functions or stack or anything, etc. You’d shave bytes by taking advantage of syntactical quirks that the interpreter happened to accept, like not closing parentheses at the end of a line.
I don’t have much of value to add other than expressing some serious nostalgia.
I found that smaller programs just ran faster. So I took one I'd written to convert from ASCII strings to binary strings and back. Yes, there's a built in function to do this, but it's very limited. Mine used string representations and so the only limits were memory...Then I changed all the variables to single letters to save space...and rendering the code completely indecipherable in the process.
Learning the hard way that "human readable code" is very important at a very young age.
In this language you are limited to 120 characters per line, and 20 lines with .2 second execution time for a single line in a "chip" (the devices that store and execute code ingame). Only very basic operations are availible, like goto, if, and math operations.
You basically end up code golfing to squeeze as much as possible into those 120 characters, to minimize latency and use fewer chips (which have in-world costs) its been a fun experience so far.
I wonder if the developers were inspired by the similar Ti-84 programming limits
So I pulled out my TI-85 just now to benchmark this. It seems that the access is very close the same speed, but the implicit store is a bit more than 20% faster than storing to a named variable.
I was in 12th grade when Axe Parser came up! That was an excellent project.
In 8th grade Geometry class circa 2007, I had an awesome teacher and loved the subject. I found an extra TI-83+ laying around the house from my brothers. I found a guide online and started building simple programs.
A few weeks later, there was a quiz. I asked the teacher if it was permissible to use calculator programs on the quiz. He thought a moment and said it was fine as long as I wrote them myself.
So I wrote a very simple program that probably did little more than guide which formula to use in a basic decision tree.
It was the hardest quiz of the year, it was just difficult content. My class has 1 A, 1 B, 1 C, and about 23 F's. I was the B.
After that, graphing calculators weren't allowed.
Mad respect for Mr. Gass. He had two Apple IIe's and had programmed Wheel of Fortune and Jeopard! for review days ahead of tests. He had a couple TV's around the classroom so everyone could see the game well, and would turn on Bill Cosby during some working sessions because at the time, he was a well respected man.
Mrs. Gass was also a math teacher. Some students who had both teachers made shirts which advertised "I passed Gass twice"
Slightly out of topic but one of the most bone headed decisions I've seen politician do is banning the use of custom software during exams. In France, they created a law forcing all programmable calculators to have an exam mode, during exams (including the national baccalauréat), the calculator needs to be in an exam mode with a special blinking light appearing and during which time students are not allowed to access programs.
What I liked when I was a child about the exams in France is that they tended to be difficult without multiple choice questions and needing students to master the material, With such exams, having previously stored the formula in a calculator is of little value and so this anti-cheat mode doesn't help. It's also a more realistic example of real life when we all have access to Google, yet just having the answer doesn't make all of us doctors, mathematicians, engineers or lawyers. On the other hand, creating useful little programs to help verify things has value, it helps with learning, it gives motivations to kids to learn how their calculator work and is a great way for kids who are mostly exposed to lockdown platforms to start programming.
French curriculum theoretically includes Python starting from at the latest in "seconde" (10th year of education). Before that, for four years this is theoretically Scratch.
The teaching of Python is abysmal in terms of quality (it was dropped on teaches that had no dev experience at all) but that's another story.
All the calculators for high school now have Python built in but when it comes to actually using it, well it is forbidden.
This is France in its glory: pretend that we are teaching "how to code", and then for the ones who actually learned it - forbid its use in exams.
The French education system has its great sides (especially early on, and particularly kindergarden) and also horrible ones that should quickly be changed (preparation schools, fake elitism and ideas of anonimization at the same time, ...). I know of many brilliant high-schoolers who unfortunately went abroad to get their diploma because it make more sense.
So, I used to like the fact that tests like the baccalauréat were often with open ended questions that tended to test for the knowledge of how to apply the tools rather than the actual formula. I loved the exam part of the Science de l'Ingenieur I took in high school for example and every time I did a mock exam, I learned new things and had fun. I even liked the type of exams we had in history/geography, essay type exams with open ended questions are great for those kind of subjects.
I like the fact that the baccalauréat is anonymized, that no one correcting it knows who the person taking the exam is (and given the fact that some of my high school teachers didn't like me at all, I'm really glad for that)
What I regret is the fact that there's been a huge push towards directing all students to the baccalauréat général when sometimes a baccalauréat professionel or technologique would be better for some of those students. I regret that the level has gone down in the past 30 years (already when I was in engineering school, my teachers were complaining that we no longer studied vectorial spaces in high school. And, yes besides this, I dislike it when the French National Education decides to do things like teaching how to code without giving the needed resources. I also really dislike politicians who have a very narrow minded knowledge of things make decisions on calculators.
As for the prépa, I decided when I was a student not to tempt my chance so much and went for a school with prépa intégré. Less stressful and less risk. So I can't really comment on them that much.
This is indeed one of the great pluses in French (and, broadly, in European) education
The other points you mentioned are indeed great too (the nature of the questions, anonymity, ...) but there are really black parts:
- the high school you go to may or may not have an impact. For the ones who have 18/20 it does not matter that much. But when you are average (say - 14/20) in a school like Hoche in Versailles and 14/20 in a weaker one, then you are in big trouble. A very limited amount of schools will take the name of the high school in consideration and the rest will not. So being average puts you not in an average situation, but in a very bad one.
Looking at the distribution of marks in Hoche, i can assure you that there are the good ones, and then the rest. So why bother going to a "good" school?
The solution: entrance exams to universities.
Why not the high school end exam then? (baccaluréat) - because its have exactly zero value today, you know where you will be before its results are known.
You then have the "elite" universities (Grandes Ecoles), full of themselves and that do not lower themselves to accepting students before their third year after high school. Instead of just having an exam. France wants to be unique here, but we are just dumb by having our students leave abroad.
As you mentioned, we now have "prépas intégrées" (integrated prep schools), which is just just saying "prepas are dumb, but we want to keep the name to be fancy". It is just a 5 years school.
I went though this system, including an engineering degree from one of the Grande Ecoles, and then a doctorate, then teaching in France at a Grande Ecole, and in a University, and also abroad. The politics in our schools are the same as abroad, with the added twist of demi-gods who think that what was put in place in 1732 is the best solution because our world did not change since then.
I love the fact that France provides a good education to people and that (really) everyone can have it. The unfair marking system and ill-placed elitism is what is making our ministers whine, our head of schools whine but nobody has the courage to change anything.
The year I took the AP Calculus exam, TI-83s and such were allowed, but the TI-92 was not allowed because it could do symbolic calculus, and that was like half the exam. The exam administrators chose to describe the rules as "QWERTY keyboard calculators are not allowed." The year I took the AP Calculus exam, the TI-89 came out. It did not have a QWERTY keyboard but it did have a symbolic solver. I didn't have to write any programs; I just had to read the rules for the test and buy the right calculator.
"Hey, distantaidenn, I wanna talk to you after class." These were the words of my then high school math teacher. I wasn't worried, I was a good student. Little did I know, this would shape my career for the next 20 years. When after class came, my teacher handed me a brand spanking new TI-83. "We're gonna be using these in class from now on. Take this home for the weekend, learn how to use it, and teach the rest of the class." I held in my excitement, and took the device, along with its 1-inch thick manual.
I pored over the manual. Before I knew it, I had mathematical functions dancing across the screen. All of our current math equations set up to accept variables and spit out answers. I didn't know it at the time, but I was "programming." I began to dabble in TI-Basic -- I had no idea what it was, but apparently, it was the language this giant calculator used, and I'd have to learn that language to make this machine do my bidding. So I learned it. The next year in school, I signed up for an elective Programming class, and lo and behold, it was in Basic -- I thought to myself, this looks familiar, I know this! I finally made the connection that I had been "programming" the whole time. From then I was hooked.
Fast forward to university, I gained a degree that was as far from programming as possible, but I always had my scripts. I was the guy that could talk to computers. I was at home on the command line. And I knew enough html and JS to make a shitty web page, if necessary.
And here I am now, still engineering and managing, and making (I'd like to think) not so shitty products for a living.
Just out of curiosity: what did you end up studying in university? And how come you didn't study computer science / programming despite acquiring an interest for it earlier in your life?
I decided to delve into the "pure" sciences of mathematics and physics. I figured I'd end up in the ivory towers of academia. And of course, like many other undergrads, I ended up major hopping a bit. I never considered programming as a career until it happened.
And yet despite the utter simplicity, these things are sold and used by the millions even today, so software written for them has a market. I think every CS student should have a chance to program a simple yet real system like that.
A smarter solution would be to virtualize the z80 portions on basically any other architecture and slowly start moving to C wrappers for TI-OS functionality.
Many of the developers I know can think back to the first computer they ever wrote a program for, but if you press them, they'll often realize that they actually first wrote software for the TI calcs.
https://ticalc.org/ is a treasure of the internet.
Thanks! (I founded ticalc.org back in 1996.)
While calculators weren't my first programming experience, starting ticalc.org was formative for me. Getting all the TI hobby site maintainers (and ZShell developers) involved, registering the domain, setting up the server (Slackware!), etc. really led to my career in tech.
While I regularly encounter new technical challenges, almost every organizational challenge I've ever encountered as a technical leader since has had precedent from working on ticalc.org.
I do wonder whether and how ticalc.org should evolve now. Traffic and activity peaked before smartphones became ubiquitous (for obvious reasons) but it's still pretty popular - See https://ticalc.org/about/webstats.html.
We've always been strictly non-commercial and I don't envision changing that (mainly because I believe in our all-volunteer public service mission, but also because any serious encounter with bureaucracy would probably be fatal for the project.) But I am thinking about succession - what happens when our active staff no longer have the time or energy to maintain it.
I wonder if HN'ers with comparable experiences with long-running volunteer projects like this have some wisdom on this topic?
Have you considered how to release a full archive of the files? In 2021 this volume will be easily handled by data hoarders. Of course the whole site is very valuable but the upload collection is irreplaceable - ticalc.org is the host for releases.
The day that my program (Antrun) was on the frontpage of ticalc.org is still one of the biggest success-highs I've ever felt :)
Totally agree. Ticalc.org went through a few redesigns in the early years - v1 (1996): https://ticalc.org/about/oldticalc/ticalc1/ and v2 (1997): https://ticalc.org/about/oldticalc/ticalc2/ - but the current (v3) design from 1999 has aged very well and we've never felt the need to change it much.
We have over the years considered and rejected becoming more of a community hub (i.e. with a forum instead of just comments on news articles) - moderation is just not a battle we're staffed for.
> The day that my program (Antrun) was on the frontpage of ticalc.org is still one of the biggest success-highs I've ever felt :)
:)
Nit: That was totally a thing in the 90s as well. In junior high, some (actually pretty non-techie) kid knew (I think) a college kid who installed ZShell (http://tistory.wikidot.com/zshell) and some games on his TI-85. Pretty soon everyone else got them via memory backup. Eventually those got boring, and I was the kid who got the Graph-Link kit to get new game.
This article actually seems to be kinda unaware of the earlier phases of this subculture, that were centered on the TI-85/86 and TI-92/89.
Both the TI and HP were tremendously good entry points into programming and, especially for kids who had little interest in or no access to computers.
<< a -> << a a + >> >>
All in your jeans pocket.It was a TI-85 program custom written for my chemistry class. It had a couple of minor useful things, but the biggest thing is it would stuff atomic weights into their canonical symbol names in memory, and clear them when you're done to save memory.
For example, 2O (two-oh, two Oxygen atoms) was a valid expression that yielded 32. And no, not all of them are available though it's been 24 years so I don't remember which weren't but it was surprisingly few.
I thought it would be a immoral to sell something for more than $1, that when I still had it after selling it. I probably could have charged $50.
I think I was 16 or 17. But I beat apple to the "$1 app" game by 11 years. And it's part of what made me go into computer science -> programming. I grew up poor, so we didn't have a computer in the house, and no internet either. So I carried around the calculator and it's manual for years in High School.
I did the flashing for the entire screen together! Just by breaking up which squares flashed at different times I can now see would have made a big difference. Almost 40 years to learn what I did wrong.
I hope these sorts of experiences will still be accessible for my kids. Having a school-mandated device with a button labeled "PROGRAM" that took you straight to a BASIC interpreter made it possible for someone like me, growing up in a rural area with zero parental technical knowledge, to end up where I am today.
If they surfe the web from their computers, they are just a click away, from a WebIDE, called dev tools, much more powerful, and millions of tutorials how to use them. Thd opportunity they have.
In high school, my calculus teacher discovered that I had written programs on my TI-82 to help me solve homework questions. Much to my surprise, he approved! He explained that his objective was to teach us to solve the problems using whatever tools we had at our disposal—writing a BASIC program to solve the problem was not cheating, rather it was making the best of my resources.
I spent endless hours messing around with my Dad's TI-58 in 1977 and recently bought two examples on a popular online auction site to preserve for when I have that kind of spare time again.
I also wrote the first TI-BASIC tutorial in German on my first blog as a high-schooler. It got pretty popular with it's target group (other high-schoolers who were bored in Math class), and 12 years later I got an email by an unknown person who had randomly stumbled upon my blog again and thanked me for writing it. That one email had been enough to make it all worth it by itself.
Edit: Here it is: https://archive.haukeluebbers.de/ti-basic-tutorial/
And if I am not wrong, a lot of today CAS solvers on calculators are derived from https://www-fourier.ujf-grenoble.fr/~parisse/giac.html and from the author of the famous Erable (Mapple in French :o )
I've noticed that programmers who have worked with constrained systems and/or started with low-level languages tend to write better code in general (smaller, faster, often both; and less buggy too) by default than those who haven't; I guess the exposure helps develop an intuition for "how much program/computer ought to be enough" to solve a problem.
I’ve ported it to JavaScript, and it runs in the web browser. I also added the ability to show the solution to each level, and skip to any level.
Hacking on my TI-85 and wanting to build websites for gaming guilds (Diablo, Starcraft) is what drove me into computers and software development. There was certainly something unique about that era!
EDIT: Typos
A few years before the TI era there was a strong HP-48 scene in France and I believe that many of the early work and games on TI-8x and T-9x were inspired by what was already available on HP-48.
Here is my own contribution at the time: https://www.hpcalc.org/hp48/apps/shell/
A multitasking alternative OS and a few apps, I learned a lot working on this.
Funnily enough neither of us ever came close to using it for cheating -- I mean, we didn't need it. But I maintain that in the couple decades since, it was probably some of my best work.
TI Slimeball: https://www.ticalc.org/archives/files/fileinfo/290/29096.htm...
I also coded up ti basic programs that instead of just spewing out the solution to some types of maths problems also gave the steps. That saved a lot of time in maths exams so that I had more time for the problems that required more thought.
When I got home, I would link the TI on my computer and install a copycat of Pokemon Blue/Red for GameBoy that someone coded in assembly and realize how awesome some others people were, and I had still so much to learn
In many other countries students get through high school and even many undergraduate courses (like CS for example) without needing any calculator at all. Perhaps this is due to the greater focus on analytical problem solving than numerical solutions which is perhaps done in the US?
(Reposting this as a direct comment, after posting as a reply a comment below.)
Anyone is free to pick whatever they wanted, so we had a mix of Casio, TI and HP calculators.
The Casio Basic tablets were the most famous ones, FX-850P.
https://en.wikipedia.org/wiki/Casio_FX-850P
I eventually had the follow up model FX-880P, after using FX-4500P during high school.
https://www.casio-calculator.com/Museum/Pages/FFF/FX-4500P/C...
https://www.casio-calculator.com/Museum/Pages/FFF/FX-880P/Ca...
You can plug in a bunch of arithmetic, and it just does it, but you can easily edit and redo. They can graph some functions, and do some of the brute force stuff (like newton's method etc), so you can concentrate on the thinking.
If you spend the class time writing a program to solve the homework, instead of doing the homework, you've practiced a life skill and probably understand the material pretty well.
If you get the 68k based calculators (ti-92 and ti-89), they've got a symbolic algebra system and can do a lot of cool stuff, although giving that to a high schooler may not be the best choice.
in many other countries, they are simply unavailable. in the real world, if you have a bunch of differential equations, you want to not spend time solving them for the hundredth time and work on the actual physics problem.
to give you an example with a non-graphing calculator you seem to confuse the TIs with: why need a calculator for numerical solutions, in your 12th year of school. let's take the multiplication of three 7 digit numbers, and multiply it out by hand. oh, you've done it a thousand times already and it's not bringing value? nah, you should be multiplying them out - the 1001st time will somehow still help you learn.
I know how to take a derivative. I can look up the template it fits into, plug in my equation, and 5 minutes later I got it. This teaches me nothing after the first hundred times. And no, that derivative is not a number.
We have limited time. We want to spend it on learning new analytical problem solving. Not doing repetitive busywork.
>like CS for example if you are going to compare it, the apt comparison would be a CS degree taught for 4 years only in assembly. Here in the real world, we use tools to not do useless tasks.
I don't know why everybody else who isn't a programmer gave a shit, but if you had a modicum of curiosity about that button did, the manual came with it and the button was right there.
Bear in mind that Windows 95 was all but ending most people's exposure to DOS, and even if that wasn't the case, it's not like DOS displayed a banner on startup reading "why don't you type qbasic and see what happens?".
It was a lot less immediately obvious that you could program a computer and that there were tools to do so included. And the paper manual didn't exactly cover how to use qbasic.
This exactly. Every web browser has JavaScript, but there's no button to press to bring up a tab with a simple, easy to use JavaScript programming environment (e.g. a canvas, console, code editor, demo programs) with a link to beginner-friendly tutorials and documentation.
The button + tab would be easy to make, though tutorials/documentation would be a lot more work.
I've never heard of _programmable_ calculators being required or used in US education. _Graphing_ calculators, yes. Perhaps all graphing calculators are also programmable these days? Anyway, never once came across a case where programming was used.
In my high school in the 1970s we needed and used calculators. The previous generation of students used slide rules.
In my university career in the 1980s we used graphing calculators. I'm not sure if they were required, but we had them and used them. No programming, although storing various formulae required to be memorized for exams as programs in the calculator was handy (statute of limitations has expired...).
There is a kind of racket. Perhaps it's "regulatory capture" in action. Schools will often mandate a specific calculator model. So will exam boards. So if the student sits an SAT or AP exam, they are restricted to a specific calculator model. I assume the reason for this is to save teachers from having to understand every different calculator model, and also to prevent cheating in exams. E.g. although today nobody needs a physical calculator because smart phones have great calculator apps, the exam people don't want students bringing smart phones into the exam room.
Calculator vendors (TI primarily) have taken advantage of this regulatory situation by increasing the price of the "approved" calculators.
However, for my kids, their teachers said that they could use any calculator that had the necessary functions, regardless of the supposed rule that only one model is allowed.
A fellow student assumed the name stood for "DISCovery", so I retroactively made it so.
After that came a little text-based adventure game that made the rounds.
And then what was to be my magnum opus: a graphical adventure with locations you could select with a "mouse" cursor controlled by the arrow keys. Everything was first plotted out on graph paper and hand written because it was actually FASTER TO WRITE TI-BASIC ON PAPER than entering the program using the calculator keys.
I had overcome the biggest technical hurdles and it was looking great when, for some reason, I decided to change the AA batteries AND the coin cell battery at the same time. Everything else was backed up to friend's calculators. But not that graphical adventure game. It was gone as soon as that coin cell came out. I did not have the heart to re-enter the program and the school year was ending anyway.
I still remember that sinking feeling when I realized my work was lost.
One thing I’m particularly proud of was figuring out how to build an Assembly program workaround for TI’s “testguard” (a tool to force clear someone else’s calculator memory via link cable) in middle school: https://mikeknoop.com/upload/SafeGuard.zip
Getting grayscale out of a mono LCD was obviously not a unique idea, but at least I independently arrived at the notion that it could work. I hammered out the TI-BASIC version and proved it sorta worked, but only if I could make my program run fast enough.
I should mention that I was 12.
Before zShell existed, my only programming as a kid had been things like BASIC and Logo; the closest I ever got to anything more fun was some type-in programs that used a whole lot of opaque POKE and PEEK statements, and I got frustrated trying to get C64 programs I got from a book at school working on the Apple ][. I was shit at porting software in middle school.
Going from this straight to z80 asm was insane, but the naivety of youth gave me confidence. My programs would be harder to write but they would run faster. Naturally the fastest program would be the hardest to write, so z80 asm it was.
I was hooked. I became a software developer.
I remember specifically in those early days emailing with Magnus Hagandar, Dan Eble, and Mattias Lindqvist. Thanks to each of you and to all the other early TI fans who helped me along and put up with me. In later years I learned most of this community were also basically kids playing adult on the early Internet. What a time it was!
I guess engineers all use tablets or Wolfram Alpha by now and so they figured there is no market for it.
That second-hand TI-83 cost me like half of average salary (in 1994), but it worked really well. I still have it, but I no longer have any use for it.
Houstontracker 2 is a surprisingly powerful music software for TI calculators which accomplishes its magic by bit-banging the serial data port to produce stereo audio!
It was the first time I was able use Trig and programming to solve a real world problem.
Was told to pickup a graphing calculator in 6th or 7th grade. My family bought me a second hand TI82. I might be the only student to have had one malfunction but the = button stopped responding that first year. My family got me a TI83 after that. I would later buy myself a TI83+ when I started working part time.
That was my first exposure to basic.
I would like to believe I am also still the record holder for an uncle worm high score.
Really, if it weren't for writing the code, I wouldn't have known the subject matter all that well, and would have likely done poorly. By programming it, I understood it deeply.
Also, I was able to plow through the exams faster than anyone else. I even made the code show the steps so I could show my work as required.
Looks like a whole lot of fun! Suppose I could have jumped in, but by then I was away from needing the calculator, ah well.
One thing the author overlooks is how game programmers were able to exploit the primitive networking capabilities of the calculator. I fondly remember playing multiplayer Bomberman by plugging two TI-83 together via the 2.5" link cable.
I recently had enough nostalgia to pick up a new 2021 TI-84 Plus CE PYTHON unit. On one hand, it hurts to buy a 20+ year old CPU for over $100. On the other, there's something satisfying about still being able to program TI-Basic via muscle-memory using the token-based input.
As for the CPU...
I paid a few hundred bucks as I put together a great 8 bit workstation and had similar thoughts.
We are buying the system. A lot went into these things. A lot can still come out. And the skills can matter to us. Maybe that helps some.
When trying to figure out when embedded systems became mainstream, I accidentally just wrote an incomplete history of embedded pocket computing.
1967: LOGO programming language developed by Seymour Papert.
1970: Sharp QT-8B calculator was the first battery-powered calculator
1972: HP-35 calculator was first scientific calculator
1974: Sinclair Scientific 1974 was affordable, programmable, moddable, repairable. 400 functions in library.
1976: PIC microcontrollers released.
1976: Zilog Z80 launched.
1977: Tandy TRS-80 released, using Zilog Z80 chip.
1977: Apple II released, with colour graphics.
1980: Epson HX-20 released, a laptop with receipt printer and screen. (my dad wrote his Ph.D. thesis on one)
1981: BBC Micro released, targeted at education.
1982: Commodore 64 released.
1984: Apple Macintosh released.
1984: Psion Organiser, 1984 added database, calculator, clock, diary, alarm clock, a-z keyboard. Programmable in OPL, became Symbian.
1985: LEGO/Logo (later Mindstorms) began, with hardware turtles drawing lines using a pen.
1989: Nintendo Game Boy released.
1989: Macintosh Portable released. First laptop with a GUI and mouse (trackball).
1990: ARM founded, as a joint venture of Apple, Acorn (BBC Micro) and VLSI.
1993: Apple Newton 1993 used handwriting recognition, custom ASIC, name PDA. Popular in medical field.
1996: Palm Pilot 1000 in 1996 brought dimensions down to 120x80x18 mm.
1996: TI-83 calculator got added to high school curriculum.
1999: Apple iBook released, targeting education.
2000: Garmin eTrex handheld GPS device introduced.
2000: Nokia 3310 mobile phone released, 126 million units sold.
2001: iPod brought 5 GB disk space, rapidly doubling. Rockbox custom firmware released for Archos in 2002, iPodLinux in 2003.
2004: TI-84 calculator introduced, with USB OTG.
2004: OpenWRT firmware for routers.
2005: Arduino project began.
2007: iPhone decreased disk space compared to iPod but gained capacitive multi-touch screen.
2012: Raspberry Pi released, targeted at education.
2014: ESP8266 released.
2016: iPhone 7 finally exceeded storage of iPod Classic, but removed headphone jack, increased physical dimensions.
Embedded hacking involves hardware and software, which makes it hard to specialise. I took LEGO/Logo after school in 2000-2001, then extra ICT classes for IGCSE 2004-2005, then Computer Science for IB 2005-2007, and Electronic Systems Engineering in university 2007-2011. There's plenty more devices and emulators to explore!
I started with the Apple machines. Missed that apparently sweet TI era and went Unix, and Sgi IRIX. (Beautiful OS)
Going small again, all the little micros and home brew 6502/Z80 projects.
You are right. I could explore the TI. :D. I just may. This scale of computing is a lot of fun!
If you like calculators, I also recommend checking out the visual history of vintage TI calculators at http://www.datamath.org/
I never understand the American fascination with programmable calculators. To me they sound like a racket by calculator manufacturers and education authorities to mandate an unnecessary and expensive device on to students.
In many other countries students get through high school and even many undergraduate courses (like CS for example) without needing any calculator at all. Perhaps this is due to the greater focus on analytical problem solving than numerical solutions which is perhaps done in the US?
- Many schools didn't offer programming courses in the 00s (including mine)
- Ti calculators came with a large manual and a list of the keywords/functions built into it
- Lots of free time while in high school. Study halls, for example
- Sharing apps could be done through plugging a serial cable into two calculators
- The calculators were ubiquitous for students
- Many of us didn't have great internet at the time, so getting programming resources wasn't easy (manuals, compliers, other tooling)
* It's very easy to get started. The built-in TI-Basic interpreter is fully documented in the manual, and is expressive enough to be useful for a wide variety of imminently useful tasks (e.g. writing programs that help you with your homework) without too much of a time investment. Moreover, your math teacher can likely help you, since they probably also write their own TI-Basic programs.
* It's a "small" system. You can comprehend how everything in the hardware works end-to-end if you make it to C/assembler programming (doable without professional or academic training).
* At the same time, it's a rich and complex enough system that you can make non-trivial games that you and your friends will share and enjoy playing surreptitiously in class.
* Everyone you know has one, which means there's a large online presence and user community to help you get started and who will delight at the programs you write.
TI calculators precede the Raspberry Pi, smartphones, and netbooks, so there was at one point a "nerdy coolness" factor of having a pocket-sized programmable device you could take everywhere. They were also more affordable than Palm Pilots, and since everyone had one, it was less nerdy to be seen using one in school.
Just my two cents.
The restrictions are what made it easy to get into.
Love that thing.
I had to check and the site is still going… crazy!
This article tell a lot from me. Have a look at all my TI-89 programs I developed at high-school.
Was good time !
I would be carrying it to every class. This was before smartphones and I had a lot of times where I had nothing better than to write program on the calculator.
I wrote so many things, like a hangman game (with a wide vocabulary) and an RPG fully in TI-BASIC, with a 2D map and a combat system. You could store only a limited number of pictures, so I made up a format for mapping pictures into strings, with a corresponding encoder and decoder.
My favorite program I wrote is ELIZA, a copy of the famous therapist AI program (actually inspired by the alt-text of the xkcd linked in the article!). It had like 30 rules or so and worked remarkably well, to the extent that I would talk to it often through my problems.
Nostalgia.
I love these little in-jokes.