My Blog

Wednesday, November 28th, 2012

It's been crazy this week. But here's (finally) the completed Chapter 10 homework. Itcan be accessed on its own page here. It concerns the design and implementation of a maze game. Sound utility has also been implemented to pull audio clips from the webservers. This is the last homework assignment for CS602. Stay tuned for the final project.

Friday, November 16th, 2012

Homework for chapter 9 has just been completed and can be accessed on its own page here. It concerns the design and implementation of a paint tool like MSPaint and uses the JNLP launcher. This one's pretty cool if I do say so myself.

Monday, November 11th, 2012 (later)

I forgot to announce this before. But I now have medium! You can check out my site at If you don't know what medium is check this out: What the hell is this medium crap anyways? It's seriously cool. Sort of like a mix between pinterest, twitter and blogger. But I'll let you see for yourself. (It's in Beta right now so you might only be able to read posts.)

Monday, November 11th, 2012

Whew. After a week without power in the wake of Sandy, I'm a smidge behind with the work load. But never fear! The links contained in this post are for project #6 (Chapter 8) and project #7 (also for Chapter 8).

Project #6 concerns a calculator applet that displays the use of Java GUIs and layout managers. Ironically we've already been forced to do these since day one because of the difficulty our professor has in compiling the sheer volume of students' code. I'm rather proud of this project because it came out so nice and I managed to use the stack interface I had written for project #4 which you can find here. The project itself is accessed on its own page here.

Project #7 concerns a zip and unzip utility application. You can find that here.

Thursday, November 8th, 2012

The legal system in the United States is based largely on precedent. The various established cases in our history lay the foundation for further legal decisions. However the sheer number of cases makes analysis of the law extremely difficult. It is impossible to remember all of the cases ever studied and it would be beneficial for a future student of the law to have at his or her disposal a tool which organizes cases that said student has already encountered.

As a self-proclaimed student of computer science I have the rather peculiar habit of thinking about how computers can be used to solve everyday problems. And this problem has become somewhat of a focus for me as the enrollment date looms ever closer.

I have a notoriously shoddy memory and a tool used to organize these cases would be invaluable for students as well as practitioners of the law. Yet my formal skill in programming is not prolific so it is with some trepidation that I propose a solution to this problem.

I propose a file hierarchy which consists of trunks that are indicative of a certain area of study. For example "Constitution Law." This trunk may in turn have children or branches called "First Amendment" which will in turn have sub-branches and leaves (the smallest unit which contains actual textual case data). Related cases will be linked such that topical traversal can be achieved. For example cases that have been overturned can link to those cases which overturned them.

Stay tuned if you're interested.

Thursday, October 25th, 2012

This is project #5 on refactoring for CS602 at NJIT. This applet can be accessed on its own page here. Its documentation can be accessed here.

Thursday, October 18th, 2012

Project #4. The fourth graded assignment for CS602 at NJIT. This post contains the interface and applets for a visual stack representation. It can be accessed as an applet on its own page here. Its documentation can be accessed here. The main implementation can be found here. Test cases using this implementation can be found here.

Thursday, October 11th, 2012

Goals! I've been living a goal-less life for too long now and I decided I would post what I want to have accomplished by Christmas break.

Goals for the Gym:
40% Increase in Iso-Lateral bench, up to 125Lbs
225Lb squat, 5 by 5 with 135Lb 20 rep burn out
40Lb/15Lb bicep curl, 5 by 5

Academic goals:
Create sorting algorithms: quicksort and bubble sort, do time trials in Java and C
Create MVC for my webpage
Apply to Masters programs in C.S. in New York City
Fix the BouncingBall Java class to eliminate the "vibration problem"

Wednesday, October 10th, 2012

It's here! The third graded homework assignment for CS602 at NJIT. This post contains an applet with a bouncing ball. It can be accessed on its own page here. Its documentation can be accessed here (generated by javadoc). There is another assignment which demonstrates the use of getCodeBase() and getDocBase() here.

Sunday, September 30th, 2012

Recently it has come to my attention that I have been living the life of a procedural programmer. Wikipedia defines procedural programming as a solution that "simply contain[s] a series of computational steps to be carried out." What stumps me is not that, up to this point, I have tackled most of my programming challenges using a procedural approach, but rather how would a problem be approached in a non-procedural manner? Upon further research, there seems to be four main branches of programming flavours: (1) Procedural or Imperative which we have already discussed, (2) Functional, which attempts to resolve computational problems using mathematical functions, (3) Logic programming which is based on the idea of using "logical sentences" to represent computational challenges and finally (4) object-oriented programming which seeks to abstract a larger computational task into a series of interacting objects usually as instantiated classes.

As a student of computer science with limited experience in functional or logical programming, perhaps this post is already short sighted. But it seems that all these programs while different in paradigm, seek to manipulate data in a fashion that remains largely procedural. For example, a program that rolls a virtual dice to generate random numbers may begin by instantiating a dice class, generating the precise definition of a dice i.e., a figure of six sides with each side representing an equal probability of being "rolled" or by creating the precise steps with which a random number would be generated and split or scaled into six "bins" to represent the six sides of the die.

In other words each program needs some sort of input to construct this concept of a "dice". Each program no matter what paradigm is used needs a start(), a main(), a conditional. Even things as advanced as natural language processing begins first with audio input, waveform analysis, sonal-syllabic breakdown, pattern matching, etc. with a lengthy but procedural branch of processes. But can human thought really be broken down into something that is rigidly procedural? I want to get out of this rut of procedural programming. I want to approach problems hollistically. But what computing paradigm gives me the power to do that? Or does it even exist?

Saturday, September 29th, 2012

Homework assignment #2:

My second graded homework assignment for CS602 at NJIT. This post contains a text based clock applet and can be accessed on its own page here.

Saturday, September 22nd, 2012

Homework assignment #1:

My first graded homework assignment for CS602 at NJIT. This post contains the images and source code for several projects: (1) an iteratively calculated factorial function, (2) an average function which calculates arithmetic means based on some input files, (3) a list generator application that creates email addresses based on some input files, (4) (Not Shown but implemented) a package containing the aforementioned programs and (5) (Not Shown but implemented), various error handling methods applicable to the file readers and type handling present in problem (2).

source code

source code

source code

Saturday, September 08th, 2012

So I deadlifted 325 pounds for the first time ever yesterday. Full lift, no assist! But now my back is killing me. So I decided that I would start coding my blog (finally). After about 13 hours straight looking at funny div tags, a lot of fun. and a few skipped meals. I think I got the layout into something that might be passable. Be warned, in the next few days (weeks? months? years? who knows...) I may be drastically overhauling the code so that the backend isn't so ape-ish. But right now dumby code works pretty well and it looks pretty good too. And when it looks this good, you don't have to know anything.