Exactly what it says in the title: how did you get from printing "Hello, world!" to where you are today?

(I don't know if this has been asked before. A quick skim through all ten pages of the search results turned up nothing)

(WARNING: VERY LONG STORY AHEAD)

For me, I grew up playing Flash games. One of my earliest memories is of my mother playing Playing With Fire 2 (a Bomberman clone) with me on a computer in the public library. As I played more games, I'd admire the variety of games to play on websites such as Y8 and Y3. I'd promise to myself that I'd create something like that one of those games, one day. I was really na´ve, though, and I had no idea where I could start learning programmming.

Fast forward to middle school... during the summer between grades 7 and 8, I had an epiphany: why not see if the library has books on programmming? I had no idea how this would turn out, or whether I'd even understand the magic behind bending software to my will. I ended up borrowing C Programming: Absolute Beginner's Guide by Grey Perry. I found it understandable, but I was unable to do any actual coding, because I never got any C compilers to work (because I didn't know how to edit the PATH variable).

After that I dabbled in various languages, getting a bit further into Java (and learning to use Swing), C# (even creating my own code editor, with FTCB as the syntax highlighting component), and Powershell (but I don't know how I'm supposed to use the ISE). Eventually, I stumbled upon the second edition of Eloquent Javascript by Marijn Haverbeke, and because Javascript, I was able to write code in the browser's Javascript console.

From there, I was following the chapters of EJS, and eventually got to the point where I could make something acceptable. At the time, I was on one of my numerous playthroughs of A Dark Room, and given that I just learned how to manipulate the DOM with Javascript, I created a small map... thing (calling it a game would be a stretch. you can see for yourself: https://clocks-in-a-cooler.github.io/map_adventure/). Soon after that project was abandoned, I learned what requestAnimationFrame was, and how to draw on an HTML5 canvas... that led to my first (albeit crude) game, Shield Shooter ( https://clocks-in-a-cooler.github.io/shield_shooter/ ).

From then on I just messed around with Javascript. I also participated in Github's Game Off with my friends that year, creating a terrible, buggy hybrid ADR/Asteroids game. For New Year's 2019, I created a fireworks display. (maybe I'll also create a fireworks show for the CE!). Soon after, I dabbled with Node.js and Socket.io, eventually creating a virtual whiteboard ( https://github.com/clocks-in-a-cooler/omniboard )... I still plan on developing it more...

Up until now my school provided TI-84+ (the monochrome version) for us to use during class (but not take home). I had a TI-80 to use at home, and those were more than enough for high school math and year 1 IB HL Math. Because of the pandemic, though, my school wasn't providing calculators. I was worried that I might go into my IB HL Math exam with a TI-80... which was woefully inadequate for dealing with things like integrals or imaginary numbers (yes, that's part of our curriculum). I convinced my parents to get me a TI-84+... until we walked into a Staples and saw that the TI-84+s were only available in black. They didn't like the colour, but nearby were some teal TI-84+CEs, so they decided to get me one of those (thanks!). Shortly before we went out to buy it, though, I did some serious searching for any information on the TI-80... and found mr womp womp's post about its hardware revisions and discovered this forum. And with that, plenty of games and other things, such as the CE toolchain and CEmu. (I was stalking all of you here on Cemetech a few months before I joined, reading your discoveries and opinions...)

Back home with my new CE, the first thing I did was take a ROM dump for backup. Then I started looking for games. I found epsilon5's Hailstorm and Merthsoft's Minesweeper, and much like the Flash games, I promised to myself that I'd make something like that one day. In the brief time between lockdowns, I managed to get ahold of Head First C. If nothing else, I'm going to learn C so I can make games on my new calculator.

Anyway... that's my programmming journey... I've got an economics test and a chemistry test tomorrow, but I'm still wondering about how to make colourful rainbows on a calculator.

I want to know... how did you guys get into programmming and messing with calcs? (and how do some of you have so many?)

P.S. I love reading long forum posts. They make math class seem much shorter! (and I find other people's experiences interesting, more so if they're very different from mine)
Candledark wrote:
I want to know... how did you guys get into programmming and messing with calcs? (and how do some of you have so many?)

I feel like this story is similar to everyone else's but whatever:
I had a TI-84+ in high school for algebra, started messing with it in class, then googled stuff, stumbled upon games, started downloading them, started messing around with the code/writing my own code, eventually joined cemetech, continued programming and eventually switched to computer science in college, graduated, became a dev because of it, eventually left my job as a dev and now I hardly do any progrmaming anymore. Laughing
Regarding having lots of calculators, I think this is particularly relevant to me... Evil or Very Mad I started out slow, bought a CSE (which was the most recent thing at the time) and then a TI-nspire CX CAS, then it kinda spiraled out of control and within a few years, I progressively lost my mind and now I have lots of calcs and no self control, the number is actually still increasing at an alarming rate Laughing
When I was quite young (probably about 7), my dad showed me how to enter a program on his TRS-80 Color Computer (2?) & gave me the manual for its BASIC. Earlier or later than that, I also started playing around with QBASIC on his PC, which had built-in documentation & a debugger. At some later point I also started fiddling with his Apple IIe & the Apple IIe/IIc/IIgs-es at school & various BASIC machines that turned up at yard sales & such, although I did less with them (boo line numbers & single-/2-character variable names). I eventually learned Visual Basic, then C, & then got into functional programming in high school (Common Lisp & then Scheme). In my junior year of high school, I made an esoteric programming language (with functional, imperative, & stack-oriented components & user-redefinable syntax) that had a self-hosting compiler & interpreter. Then I majored in CS in college & discovered Haskell during that time (not due to anything in school itself, though), which is my current favorite language. (I was forced to use Java for a few classes in college, much to my chagrin.)

The first programmable calculator I had was a TI-86 in...probably junior high?...on which I did a little in BASIC & a lot more in machine language (mostly on-calculator, although I made an address resolver in QBASIC at some point & later ported it to Haskell). Then I got a TI-92 Plus in high school & various other calculators thereafter. It seems I first decided to try to make the TI-81 run arbitrary machine code at some point in high school (although I did not succeed until later), & then later on also the TI-80. I also wanted to hack the TI-36X Pro, but it has a Harvard architecture CPU, so the best one can do is return-oriented programming (& I still have not found a suitable looping construct).

I decided fairly early on (after I learned QBASIC but before I learned Visual Basic) that I would make my own programming language, although that has yet to materialize as of the writing of this post (not counting various esoteric programming languages I made, especially since the eventual language is not supposed to be an esolang). The esolang I mentioned making in high school was meant to be a precursor, although at this point the design would be significantly different from how I envisioned it in high school (which was in turn significantly different from how I envisioned it in grade school).
When I was 10, I found a TI-83+ lying around the house and apparently the manual for it was nearby, because I read through the entire thing, entering all the different functions into the calculator as instructed by the manual. The chapter that stood out in the manual though was the TI-BASIC section and that's what got me interested in programming. I looked up on the internet for more guides on TI-BASIC which is when I found ticalc.org and found that you could download games on the TI-83+. I begged my Mom for the link cable so I could download the games to my calculator and she finally gave in a few months later. At the time, I was home schooled and was using khanacademy.org for some of my subjects. I wondered if they offered a course on TI-BASIC, and that's when I discovered Javascript (using the Processing JS Library), which was the first true language I learned. Since then, I've learned bits and pieces of Python, C++, and (mostly) learned C and Java. I hope to expand my knowledge as I soon head to college to hopefully pursue software engineering.
I had made a bit of programming with my father earlier, but calculators, at first my TI-89 HW2 I-0400D bought circa August 2000 (after I saw someone making advanced stuff on his 89 at a summer camp; I was already familiar with a schoolmate's Casio "Graph 100", the name of the international version of that French model escapes me right now, but that calculator allowed nothing close to what the 89 could pull off) are what made me switch from using the computer mostly for playing games or writing school documents to using the computer mostly for programming.
An indication of my change in computer usage is the fact that in late 2000 or early 2001, my parents bought the last commercial game until I resumed buying games on GOG in late 2019, with my own money, and then mostly for listening to their sole music while doing other activities on the computer. It's a surprisingly cheap hobby, you can get loads of music for relatively little money. Of the games offered at no cost or bought on heavy sale, I used (downloaded, installed and started the game proper at least once, I mean) only ~10%. But I disgress.

At first, on my TI-89, I used TI-Basic to produce various programs, the only lengthy program being a high-featured dealers-type game. I had been shown the genre by schoolmates on TI-68k and TI-Z80 calculators. A number of old-timers of the community did their own as well. I hit the size limitations of TI-Basic, and started splitting the program, but a short stint with Franšois Leiber's FLib showed me that hybrid TI-Basic remained hamstrung by the limitations of TI-Basic anyway. Therefore, I switched to C, and soon C+ASM, and stopped work on the dealers game to focus on other activities (looking back at history after gaining more experience, I hit a bug in the computer toolchain, which hampered progress). I had Internet access years before a graphing calculator, but no cable for a while; the first cable was a BlackLink, then "$5 cable" / ParallelLink, then SilverLink.

I started studying computer science at the university, though the two first years were still mostly math, physics, mechanics. I didn't learn much in the way of computer stuff in the first year's CS classes. The later, more computer-focused classes were mostly about programming, and I chose a track with some specialization in embedded programming.
Nowadays, I've been a computer professional in two research labs and a company for over a decade. I did mostly programming, but most of my recent tasks have been sysadmin and slight netadmin work.

Since these are part of my signature anyway, several bits about my programming work in the graphing calcs community, which were part of getting and staying into programming:
* contributing suggestions to Thomas Nussbaumer and him proposing me to become a member of TICT;
* reverse-engineering AMS and contributing (or at least trying to, and seeing a sizable part of my contributions perpetually unprocessed, like a number of other useful contributions...) documentation and header improvements to the development environment - before eventually co-creating and doing the vast majority of the work in a fork which broke the stranglehold the counter-productive so-called maintainer had on it;
* contributing suggestions to both the new, higher-featured TI-68k emulator, and the transfer software based on the same libraries - before maintaining them (or not, as far as TIEmu is concerned, because that's hard and there are few users...) when the previous maintainer stepped down.
I was first introduced to programming with Scratch 2 on December 15, 2014. I had just came back to school from vacation, and I remember walking into the technology classroom and seeing people playing various games on the school Macs. I asked the teacher what they were doing, and they introduced me to scratch. I signed up that day under the username oxiti8, based on the name of my imaginary car company (I was really into cars at the time) and my favorite number.
I don't remember much of the specifics, but I do remember hardly having a clue what I was doing at first- I wanted to make games like Angry Birds, but I could do little more than make a bear spin.
Thankfully, Scratch's remix feature let me look at the code of other projects, and try and put my own spin on them(or just copy them because I had no idea what I was doing).
I did eventually kinda figure out what I was doing by about mid-2015. I was also extremely active around that time, making >100 projects in the span of a year. I did get a little too ambitious at times though - I remember a failed attempt to collaborate on a full blown 3D platformer in scratch. It did not work out, and I had no clue how a raycaster worked or even what a Z axis was Rolling Eyes (I did eventually make an original 3D game, but that was 5 years after that thread was posted :p) I didn't end up using scratch much in school- I had learned more about using scratch on my own than I ever did in that technology class. However, I used it constantly for fun. I really got a handle on the ins and outs of Scratch 2 by about late 2016, and worked on bigger and bigger games (mostly platformers). However, I began to lose interest in making games with scratch around march 2017, when I started a YouTube channel. I made a few more animations in scratch 2, but by mid-2017 my activity on Scratch had taken a sharp drop. (to put it into perspective, I only made around 10 projects in late 2017 - early 2018).

I should point out that I tried python and HTML (My uncle tried to teach me HTML, but that lasted less than a week) for a short bit around this time- I quickly lost interest, I had no idea what I was doing, and scratch was much easier. Plus, I wanted to make videos at the time, not webpages!

I didn't start to get back into programming until December 2018, when Scratch 2 was transitioning to the HTML5-based Scratch 3 due to Scratch 2 using Flash (AS3 to be specific). I had gotten on Scratch to back up my almost 1GB backpack (Scratch's online asset storage for sounds, sprites, and scripts), which would be erased on January 2, 2019 when Scratch 3 released.

Scratch 3 revitalized my interest in programming somewhat, but it wasn't until Jun 22, 2019 that I uploaded my first game in exactly 2 years and 2 months, Mario Crossing. I worked on this game constantly over the next few months, getting me interested in making games again.

Confused "That's nice and all, but when do calculators come into this?"

Let's rewind to late 2017. I had heard from a friend that you could put games on a TI-83+ garphing calculator using a special cable. I wanted to do that, but the only TI-83+ calculators I had access to were the schools, and I didn't know how I would even get the programs or the cable. The most I edned up doing on those calculators in school was spelling out "KRAFT DINNER 64" (The name of a Super Mario 64 ROM hack I was working on at the time) on the home menu back in 2018. However, I did notice something that caught my eye- the Program menu. I tried to make my own program a couple times, but had no idea what I was doing and none of my programs ever worked(I did come back later and put a program called "OXITI8" that displayed the text "Oxiti8 was here" during a short visit to the school in late 2019, so no regrets there Wink )

In August 2019, I got my very own Black TI-84 Plus. I was very excited to load it up with games, and load it up I did. I got games like Puzzpack, Snakecaster, apps like Studycrds, and more. I discovered ticalc.org for the first time, and even got my first glimpses at Cemetech through old forum posts.

I also began to program for the TI-84+. My first programs were nothing special- displaying simple text, a menu, a password program to be used with the Startup app... my most advanced program in 2019 was a digital clock on the graph screen.
Unfortunately, I got a bit frustrated with programming for the monochrome, underpowered TI-84+, and largely lost interest in making and playing games on it after a ram reset occurred on me in early November 2019. I remember wanting a TI-84+ CE because it could display color, had a backlight, and could play Game Boy Color games. (I still want one, but not as badly as I did then and I am much happier with my monochrome TI-84+ now than I was then)

Of course, I hadn't lost interest in Scratch around this time- I continued working hard on Mario Crossing and various other games like Super Sewage Escape on Scratch. That interest in Scratch has continued to this very day.

Now, judging by the fact that I'm posting this on Cemetech, I obviously did get back into programming for the TI-84+. I regained the interest in July or August of 2020- perhaps because of my being stuck inside. I found various resources like tibasicdev, and in late August I began working on my first ever publicly released game, ExplorerEH, or "Explorer Emerald Hill". I signed up for ticalc.org, and submitted it. It wasn't much more than a very basic text based adventure game(if it was even long enough to qualify as such), but man it felt so cool to be making and releasing an actual program for a freaking calculator of all things.

While I was waiting for ExplorerEH to be approved by the ticalc.org staff, I signed up for a Cemetech account under the same name I used on scratch all those years ago, oxiti8. I then began work on my currently most recent calculator game- Sonic TI-Blast.

After that...well, I suppose I signed up for a TI-Planet account, but that pretty much concludes the notable events that led me to where I am today. Currently, I am learning to use Game Maker Language in high school, and am working on a Multi-chapter game on Scratch called Oxiti Adventure, which seeks to push the limits of Scratch as far as I possibly can. I also continue to work on Sonic TI-Blast on and off, with the latest version being V1.3.2.It's actually V1.3.3 but I'm not releasing it outside of ticalc.org because it has like 1 change

For the foreseeable future, I pretty much plan to continue working on Oxiti adventure and Sonic TI-Blast, and I plan to get either a TI-89 or a TI-84+ CE once June rolls around. I do have a platformer for the TI-84+ in the works, but it's little more than a prototype at the moment.

Did I just write all that
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement