This is old code. Really old code. Stuff from college and even a project dating back to high-school. The kind of code which makes you think "wow, that was kind of nifty when I wrote it! I want to save this!"
As the title implies, there is a private slop bukkit of mine which has some stuff which I don't want to release to the public. Mainly screenshots of old games I'm totally going to write new engines for. Someday. Anyways, that's all in the private repo because of perceived copyright issues.
A short and simple D code file demonstrating how to unroll loops using a Duff's Device technique. Duff's Device is a C-language trick which overlays a jump table on top of a partially unrolled loop. The overall effect is that you can stream instructions to out-of-order executors on the chip without sacrificing the precision of loop iterations.
So far (to my knowledge, which is limited) Duff's Device works in C, C++, Objective-C, Java, and Digital Mars D.
I took this course at Ohlone College in Fremont, CA. It was designed to familiarize students with the basics of the C++ language, while conveniently skipping C's procedural quirks. Note that these assignments are copyright by me - turning them in for credit yourself is expressly prohibited. Either way, I think they're using a different textbook now.
Simple program which prompts for user input and sanitizes it as much as possible leveraging default STL iostream
objects. Considering how little code I had to write, it worked out really really well.
A slightly more complex program which uses a C++ struct
(note that it's a C++ struct
- it would only become a C struct
if we wrapped it in extern "C" {}
) and then overloads an iostream
operator to make it easier to prompt for the struct
as an input.
This one actually took me a little while if I remember correctly. I'm used to C's stdio.h
library for output formatting because it's so gosh-darn terse. Beating C++'s iostream
object over the head with a monkey wrench to get it to output things properly took quite a bit of work. Not to mention that it behaves differently on different platforms. And, at least on the version of GCC/Xcode I was using at the time, it seemed to behave differently in gdb
versus Terminal.app
and also differently in release
versus debug
mode! Eventually I got it working decently enough though. I think this one also uses File I/O. Judging by the echo statement, I used one of my oldest tricks to generate the test file without having to bundle it.
Ugly ASCII-art shipping cost calculator. I think I was considering using ncurses
for this, but when I looked at the curses
API... well, I figured it wasn't worth the time. I think the purpose of this assignment was to introduce array programming.
Not quite sure what was being taught here. I learned that not all hotels have a thirteenth floor. The spec sheet says we should have been learning to use loops... not really sure how that got put off to chapter 5 though.
Some kind of point of sale tool. I think I got bored so I split it up into multiple files.
ASCII-art theater seating chart program.
Some kind of string manipulation exercise.
I suppose some would call this course C++ II or something. It was fun. We used Bjarne Stroustrup's textbook Practical Programming using C++ (or some similar title - it's been a little while). The overall course was great. By using the FLTK library we were able to build simple GUI systems and stuff. Nothing quite so advanced as what I've done in Java or Cocoa, but it was neat to draw stuff to the screen using C++ for once.
This was the darn funniest thing ever. The assignment was to draw a clock to a window using FLTK. Now, I was fully aware of FLClock
, which is an FLTK routine to draw an analog clock. However, I, in my paranoia, believed this to be cheating. And I do not cheat. Except at Metro 2033 and Prototype. So I spent a lot of time and effort figuring out some trig maths to figure all of this out. Professor Topham loved it, but had to admit that he was just expecting FLClock
since the main point of the exercise was to update the screen periodically instead of lock-step with the FLTK user input main loop.
The code is awesome though.
If anyone can understand what was going on here, that'd be nice. As far as I'm concerned, it's just more boring uninventive example classes.
This was a fairly simple exercise in which we made a class which would draw a smily face. Following this we extended this class to make a smily face with a hat.
Some kind of exercise involving more inheritance and utilising a controller pattern.
I think this is some kind of conversion tool. Isn't it fun to look at old school code and try to reverse engineer what it was that you were doing?
Vectors, points, and IOStream
, so it's anybody's guess what's going on here.
This one loads images.
This one was pretty difficult because it involved drawing an arrow. Determining the proper place to stick the arrowhead and how to rotate it, etc, is pretty darn hard. Some supergenius in class got us an equation to use for that purpose, and it seems to work fairly well. Now that I've taken more Calculus (and ostensibly been molested by more trig) I'm sure I could do pretty well by myself now, but for the time, it was a Godsend. This appears to try and draw the reference image from http://cdn.fsdev.net/filegraph.png which is amazingly still hanging around on my CDN.
This seems redundant to my File Diagram
work in CS116, so I'm not sure what I have two copies for. But they're different. Judging by the naming and the code, I made File Diagram
first, then got angry and the ugly code, so I made Chapter 13 Asgn
which looks cleaner due to the vector
s and automatic drawing. At this point I'm just speculating; I have really no clue how to explain any of this.
Virtual functions and pure-virtual functions are the pits. After having dealt with these little buggers, I was very appreciative of the simple elegance of Objective-C.
I knew that I had built something which graphed stuff before, though I couldn't for the life of me remember when or where or why. It's good to know that I've at least found it again.
This is the first time we got input from the FLTK GUI system as far as I can tell.
Data structure programming is fun, and here we got to make a linked list.
Some kind of custom date class.
This one was pretty difficult because it involved drawing an arrow. Determining the proper place to stick the arrowhead and how to rotate it, etc, is pretty darn hard. Some supergenius in class got us an equation to use for that purpose, and it seems to work fairly well. Now that I've taken more Calculus (and ostensibly been molested by more trig) I'm sure I could do pretty well by myself now, but for the time, it was a Godsend. This appears to try and draw the reference image from http://cdn.fsdev.net/filegraph.png which is amazingly still hanging around on my CDN.
This seems redundant to my File Diagram
work in CS116, so I'm not sure what I have two copies for. But they're different. Judging by the naming and the code, I made File Diagram
first, then got angry and the ugly code, so I made Chapter 13 Asgn
which looks cleaner due to the vector
s and automatic drawing. At this point I'm just speculating; I have really no clue how to explain any of this.
Maybe this was a first stab at Chapter 17's assignment?
OK, now I know this isn't me. I don't do extra credit... do I?
I think this was just getting stuff to load across files properly.
Also known as a Map or Dictionary, this is very advanced technology that only second-semester C++ students can butcher in an implementation-specific manner.
Namespaces yoh, they be all up in yo business! In reality I don't have a clue what the point of this assignment was.
Is it wrong of me to read this code and only be able to wonder what the compiler intrinsic for the XCHNG
opcode is?
A truly horrifying number of simple source files relating to a bunch of exercises from the mythical 165th page. Some of these answers are actually kind of witty.
The amazing unpronounceable means of finding prime numbers. I have a much better version in assembler.
To me this was actually really cool, and it's one of the four or so assignments from this course I really remember years later. It showed how to use STL's iostream
library for the purpose of object serialization. I'm a meticulous nut when it comes to serialization, just look at any of my NSCoder
code. This was actually really cool to me.
Not sure what this is supposed to do. Perhaps it will make sense to me someday?
Yay x86 assembler work, all done using MASM!
Some files from my J2EE Servlets and JSPs class.
This might be the version of MGTwitterEngine that I modified to handle the fetching of blocked users. Or it might not be. I honestly do not know.
Personal favorite hash algorithm. Not sure where I got this code, but I've been carting it around for a few years or so if the file times are to be believed.
This is a streamlined data-entry tool written in Digital Mars D using the tango
library and dwt
, back before you could mix Tango and Phobos. It should build using my old Easy D project releases, which are available at http://cdn.fsdev.net/easy-d
A (really) old Java project from high school. It walks a source tree of Java files and counts some statistics that might have been meaningful to me at some point in time. I was thinking that someday I might come back to it, however, I think it's usefulness is basically nil at this point. It is something of a relic or curiosity, though.