I have been working long and hard on preparing this editorial, based completely on factual information, not speculation. This segment will discuss multiple facets of the TI-calculator community, in a non-biased way and form a conclusion based on those facts.
First, let me introduce myself. I am a Queens College student, having graduated from Archbishop Molloy High School two years ago. I have spent four years as an active webmaster for Blast Programs Incorporated, a non-profit organization designed to bring the merits of calculator programming to every student who uses calculators by Texas Instruments (now a part of ClrHome Productions). In this time, I have, not only produced software, but have also debated within and outside the community about the usefulness of programming for TI calculators. Recently, I have undertaken a very bi-partisan project. While working on full-length Legend of Zelda and Star Trek battle clones for the calculator, I have simultaneously added a Teacher's Section to my website, and plan on producing and adding tools to the page that teachers can use. Now, I use my knowledge and skills as an advocate for the TI-programming community. Beyond that, I am interested in pursuing some sort of career in public relations. What better way to start, than in publishing something like this. This started as a paper for a class, but it seemed like pretty good material to publish, so I made a few tweaks and here it is.
Let us start with where TI’s business comes from. The greatest source of profit for TI is the community of students. Each year, tens, if not hundreds, of thousands of student purchase graphing calculators from Texas Instruments, ranging from the TI-83+ family, the TI-86, the TI-89, and the TI-Nspire. The body of students can be further divided, based on their preferred usage of the calculator. There is the general student body, and the programming community. While the programming community is less extensive, numerically, they give TI roughly the same amount of business. How, you may ask. The programming of your calculator is extremely sensitive. When changing this, or writing your own programs, the slightest mistake can cause instability, crashes, a complete destruction of the operating software. While most of this is reversible, if done properly, some of it is permanent. Brandon Wilson once bricked (damaged irreversibly) one of his calculators. Several others he broke, but was able to fix. I, on many occasions, have made mistakes in coding that have led to operating system instability. When we do this, we then need to purchase new equipment. So, in the time that an average user has one calculator, we may go through two or three.
I am unaware where the stigma of programming being a hindrance comes from, but it seems to be present in all; that programming one's calculator is, not only a waste of time, but also a keen way to cheat on exams. I will grant that many students do not care at all about the merits of calculator programming and use programs to store cheats, but to embrace just this one group of students as the reason "spoils the bunch", so to speak. There are many of us out there who use programming not to cheat, but rather to hone in on one's own skills and to grasp a higher understanding of the topics presented. The nature of a program, when constructed as such, is not to cheat. I have always been taught that the best test of whether or not you understand the material is to see if you can do it yourself. But, what better indication is there that you know the material so well than that you can give a calculator fool-proof instructions on how to carry out a given calculation, have it explain why that calculation was made, and account for margins of error.
If that is not convincing enough, allow me to present this. I myself will admit to having used pre-made programs on tests in the past. Not for reference on information, but merely for computational assistance…the ability to perform multiple calculations at once. On average, I performed the same, if not worse, on the exam, leading me to the conclusion that regardless of what you bring into the test, not even a program can help you if you do not know the material. All the program does is help you answer the question faster, if you already know what to do.
Then, there is the issue of gaming. One of the chief arguments against playing games on calculators that I have heard is that they mess around with the lists (L1 through L6), which are used by the calculator to graph regressions, as well as other system variables. The truth: Very few calculator games actually interfere with important data used in class. In fact, 95% of the games I have reviewed create their own storage locations, and then destroy them once they are no longer needed. This takes away strength from the most powerful downside to games: students play games during class. Well, outlawing games on calculators does not solve the problem, as students will just find other ways to not pay attention. The fact is that you need to trust your students to have the maturity to say "there is a time and a place for everything, and class is not the time for playing games".
I have heard that Texas Instruments holds conventions for teachers, and at these conventions they speak about the programming community. Judging by the industry's treatment of our support requests, I can assume that their statements about us are negative. Well, here is the truth about TI. TI releases new software that is (1) buggy (means prone to crashes and other errors; in fact the TI-84+ OS 2.55MP is known to have crashed while calculating 1+1.), (2) designed to cause incompatibility with our programs, such as xLib, Omnicalc, and others, and (3) contains no new features. Many members of our community have contacted TI about why they design these new, pointless features, while their older ones still don't work properly. We have gotten the run-around, links to the documentations that do not address our questions, or just completely ignored. All the while, they claim to support educational advancement. This is not true. For the version of this paper that was being submitted to class, I wrote in to Texas Instruments, requesting some simple information on which calculator model sells the most, and clearly stated that it was educational, for a paper. TI blatantly ignored my message.
As if that isn't bad enough, TI has posted takedown orders against several more prominent members of our community, who have reverse-engineered key parts of TI's operating system software. We have used this information to port our own OS software and run it on our own calculators; we have not used this information to edit or redistribute TI's software and claim it as our own. Instead, we use it to fix the mistakes that TI refuses to. When we released the “fixed†OS’s, we even give TI credit, clearly indicating on the free download that it is software belonging to TI. As TI makes its operating system available, in print, on its website, this is all that is legally required for a redistribution. Yet that did not stop TI from attacking our members for copyright infringement. To my knowledge, at least one of these cases went to court, and a judge threw out the case. Yet, TI tells anyone who will listen that we have warped priorities. Well, we aren't the ones who spend money needlessly, filing cases against software developers who try to improve software, instead of producing better software themselves.
This is an era of computers. Everything that we do, from schoolwork to socializing, is done on computers. With the widespread usage of the TI graphing calculators, and their increasing analytical power, TI has come to the forefront of a rapidly evolving society. TI has a responsibility to fill this social “niche†by fostering, not only programming capability, but programming knowledge as well. This means making resources on TI-Basic and z80 assembly available to the public. It also means to get rid of the downgrade protections on the Nspire models, which seem curiously timed to outdate our releases of Nleash. Finally, it means encourage teachers to foster, even utilize, programs in class, rather than spread propaganda about how programming is an unnecessary evil.
Representatives from TI have said that z80 assembly is not needed for good math or science utilities. Rather, they say, the available variants of TI-Basic are more than sufficient to produce quality programs. TI is missing the point. They are suggesting, borrowing from a relative scenario, that I should forgo my computer and type my paper on a typewriter simply because it is sufficient. You do not need technical expertise to see how preposterous that is. A computer is, by far, easier to use and much more powerful in terms of formatting than a typewriter. To return to the point, programmers will want z80 support because it is a much more powerful tool with which to program.
However, we cannot honestly expect TI to take these steps unless we, the programming community, meet them halfway. This means that we need to take effort to produce utilities that are beneficial to an academic curriculum and spend less of our time on games. The fact that, on most sites that host calculator programs, the games section is the largest is a testament to this imbalance. Don’t get me wrong, nDOOM, Zelda, Pong, and Tetris are great programs, but they don’t help in class. Having games on your calculator is not a crime. Using them in class, however, is counterproductive.
In conclusion, it is obvious to me that TI and the programming community are, and will always be, at odds until the two sides can meet at a middle ground. This middle ground is composed of several key points. First off, the programming community must focus less on games and more on utilities that can be used in class. Secondly, the community must be less offensive when addressing TI’s motives. Remember, correlation does not equal causation, just because something can be true, it does not necessarily follow that it must be true. In exchange, the programming community can reasonably expect increasing z80 support and less opposition to its own development.
Apparently I haven't posted this yet, so here it is, a few weeks late: The
Tutorials section actually has some tutorials now.
First of all, there's the massive tutorial titled
In Case of a Crash. You can probably figure out what it talks about. It's currently the only complete tutorial, with detailed instructions for recovering data after a crash. It's split into eight steps on five pages, so in case you need reference, there's a
table of contents too. I'd recommend going through it in order, though.
Then there's my
Arrays and Bullet Code tutorial. It basically gives a description of how arrays work, when they're useful, and how to use them in a language where everything deals with the bits and bytes. Lots of screenshots, but it's still not finished.
For people who want to actually do something with those arrays, there's a
step-by-step tutorial on making a SHMUP (shoot-em-up game) in Axe. It's also unfinished, but there are some useful routines there too.
I'm also working on a
beginner's guide to Axe, but I've really barely started on that. And ACagliano has some really detailed guides to BASIC and Axe game design, but I haven't moved it onto the site yet.
Comments and suggestions? Post here or at our new
bug report system (yes, it actually works)!
Oh, and guess what: This is the forty-second post. What do you know.
This week is spring break for me, which means I finally have the free time and boredom needed to give me motivation to work on my calculator projects again. First item on the list? Contra. It's still by far the most ambitious game I've ever attempted, and I don't want my work to go to waste yet again.
It's also been the longest to code. Four and a half months after I started the project, and I'm still not coming close to finishing, or even finishing stage 1. Apparently, it takes a lot of work to make anything close to a clone of any popular game. I probably won't be porting/cloning anything but cell phone games after this. (On the other hand, this project gives me an excuse to
play Contra all day long. That may or may not be a good thing.)
So
here it is, if anybody cares: my logs for the entire process of making this game. Some of the dates are approximate, but they give a pretty good picture of how slow I've been. If I could make this game at the speed at which I made WWIII and all those
early (crappy) games, I'd have been finished long before now.
The
Law of Entropy is one of those rare things both biologists and physicists can agree on. It's a widely accepted law of nature that the Universe as we know it is giving way to entropy. In other words (those of the prophet Douglas Adams),
there is something "fundamentally wrong with the universe," and it's only getting worse.
Take my backpack as an example. Open it up, and the first thing you see is a yellowing conglomerate of papers from semesters past, a disarrayed tribute to all that it means to be a student. Push it to one side, and you notice that it's encased in what was once a white three-ring binder. This binder is in just as bad a condition as some of the most ancient of the papers it holds—the edges are worn, the seams are split, the rings are wrenched. You wonder how its owner ever got anythlng done, and that's what I wonder too.
Then you look further and notice that it's not the only binder in my backpack. Hidden below the outgrowths of notes and homework is another binder, also simple and white. But this one's different. All its sheets are neat and tidy, with not a single sheet sticking out in the wrong place. The binder itself is in perfect condition, as if it were bought yesterday. You pull out this mystery of a organizer to take a closer look, and what you see surprises you (or doesn't, if you know me well enough).
It's a calculator binder.
The first sheet of paper inside is a rough image of a calculator, with each key labeled with a number. This is followed by massive, 250-page tutorial on some obscure topic you don't understand or care for (how many trees did that kill?). The other three-hundred-odd pages are also tutorials and references of all sorts—spotlessly organized into categories, even with tables of contents in appropriate places.
What's going on here? Obviously, the guy who owns this backpack loves calculators. He loves them so much that he'd let his ordinary school binder fall into total disarray while keeping his precious calculator binder as clean as a
chinny-chin-chin. And that brings me to my own law of entropy, one I based on my own personal experiences: that the rate of entropy, Δ
S, is proportional to apathy.
You may notice something strange near the right side of the graph—why would Δ
S suddenly change direction and even go negative? Why would that ever happen?
This is a phenomenon somewhat similar to the concept of a
"Ballmer peak" in software production productivity. At an apathy level of a 434.233
arbitrary units and above, there is a sudden drop in entropy; to explain it, let's go back to my backpack, to the
third binder inside. This one's a small one, with only one-inch rings. I use it solely for Health class because my teacher forces me to keep it separate, for good reason.
Now, think about this: Health is the one class I truly don't give a crap about. It's ridiculously easy to get an A in the class if you sit around and pretend to do homework of any sort. Following from the trend described above, you'd expect this particular binder to be hopelessly disorganized. A whirlwind of papers in the form of dog-eaten (-digested and -excreted) wood pulp comes to mind.
But no; this binder is actually more organized than that massive calculator binder you saw earlier! How can that be? Well, think about it: You're stuck in class, with nothing in front of you except for a Health binder. You can't access your iPod, your phone, not even your calculator. What do you do? Many students faced with absolute boredom actually start doing productive things, such as organizing. This explains why so many seemingly hard-working students fail at their classes. No, they're not really working that hard; they're just bored to death. And so it is for me. This is what I call the "Blake peak," named after a student from whom I've apparently stolen the binder I now use for Health.
It was a great day. I'd just heard an entire song from my calculator for the first time—an entire rickroll. I played the song from beginning to end, then held my calculator for a moment longer as I savored the feeling of power my calculator had brought me. It felt awesome. I had in my hands a portable gaming device capable of playing a rendition of "Never Gonna Give You Up" in its entirety; that's something not every calculator can do.
Finally, I let go of my calculator. It was late, I needed sleep, and I knew it. And so I gently placed my calculator on the table and went to the bathroom to brush my teeth, still thinking about my calculator. If it could play a rickroll with such amazing clarity, who knew what else it could do? Maybe I'll try that video player, I thought. Even if the videos are over 100K, it'd be worth it to watch Rick dancing just once.
I was coming out of the bathroom and walking towards my room at the end of the hall when I first heard the noise. It was quiet, but the silent hallway seemed to amplify the sound. It sounded like static. I stopped and looked around.
The noise came again. It only lasted for a second, but there was no mistaking its source: it was coming from the calculator on the table next to me. Apparently I'd left the earphones plugged into its link port. I leaned toward it.
I heard it again and felt a sudden surge of panic. Had I broken my calculator? Maybe that music player inadvertently corrupted my operating system somehow, and now it would send spurts of sound through the link port randomly. I didn't know how to fix anything that low-level. Where the heck was my warranty when I needed it?
Meanwhile, the sound came again. But it was weird. From as close as I was standing now, it didn't sound like pure static. It sounded like my calculator was saying something. I put the earphones on.
"Come."
We updated the site, again.
I finished touching up the CSS so that the two halves of the site would look identical. Then I added an actual sidebar to the
main site with links to follow us and our fake news.
Most importantly, I moved the
entire thing to a new host and URL. The site's now located at
http://clrhome.co.cc/, hosted by
000webhost and
www.co.cc. It should be a lot faster now with a lot less advertising, and a lot less prone to random 404 errors. (In other words,
Webs sucks.)
That meant I had to go back through every page and every blog post and update every single site link. It took a while, and I probably missed a few, so if you find a broken link here, please add a comment below. Remember that the guestbook is entirely down now that it's not being supplied by Webs. I'll be making a new one soon.
So enjoy the
new site, and remember to update your links and bookmarks!