Thursday, November 19, 2009

So what?

Sorry, I've been neglecting you my ACM 1 year Anniversary Alan Turing Coffee Mug and matching blog slash tangent to CS520 and moreover the Sun WJ Series Java Tutorials and PDF certificates of completion that has stolen so many hours in the first two weeks of this class, but I am now attempting to salvage an A before it is too late, and at this very moment attempt to tease out the peculiarities of Java's syntax regarding the use of a case statement.

I learned a very important lesson. Don't cut from display oriented programs into development oriented programs, the hidden characters are worse than the ticks. Open in a development oriented program. So, when all is said and done. Some simple rules apply to cases, don't use anything but integers or final strings assigned integers for your cases. Don't be afraid to stick a println statement in to trace a value. Oh, and drink plenty of fluids and take your vitamins.

Friday, November 13, 2009

Cookies

I still haven't completed the last lab in the WJ-2752. It's not that it is hard, it's that I have been busy with higher priority items, and baking. I had a homework that I needed to do because it was grade. It wasn't much of a challenge, but it was hard enough to be pleasant more than just a distraction from what I really want to do, which is find work and make enough money to provide for myself and dragonboy (my son). To that effect I had a Reuben sandwich in Fort Washington. Actually, I went to Fort Washington for an interview. The Reuben sandwich was a foolish afterthought I hope the world isn't so cruel as to punish me for, at least not more than what corned beef already does to my life expectancy.

The interview was for a position programming in VB, SQL, and a smattering of C# with lots of currency conversions and a wide variety of user roles. I hope I get it. I think I would do pretty well in that position, and the commute would be a breeze with a pair of boots (it is getting to be that time of year).

My homework consisted of creating an object to parse a string into multiple variables of different types, creating some JFrames, drawing a smiley face, assigning button behavior, and tiling those JFrames in a cascading fashion when populated by a button click. It was fun. There was a little exception handling too. It would probably be easiest to display an image of a smiley instead of paint one, but that wasn't really in this week's lesson plan, soooo....

I made lemon bars and nutty sugar cookies and dough to use later. I might make some more tommorow depending on ingredients and space to store said cookies. Mike made peanut butter cookies, and the were good and the right shape. My cookies were good, but a little odd shaped. The lemon bars turned out pretty good, even though I think the pan I used was a tiny bit too big.

But I digress...

Friday, November 06, 2009

At long last after a week and a half of causal play like study lower in priority than my school work, working the polls, and doing odd chores about the house (truth be told this Java stuff being easy and kind of fun makes it unofficially tied with chores for priority), WJ-2752-6E is nearly complete. At this moment I embark on the last exercise of the last lab of this course and ready myself for the future. I think I am going to complete this series of course before doing the 1XXX and editing this blog.

Distractions, distractions, distractions. I am still going to try and finish this lab before the weekend is over, but I just realized I am no longer a week ahead in class, so I need to remedy that first as it is higher on my list of priorities. Ok, I submitted this week’s assignment. I am going to take the quiz this evening and I am going to do next week’s reading. I am so glad these courses complement each other.

You know I might just put off this week’s reading until the week it is due in. Yes, I am well aware of the colloquial connotations contained in the phrase “this week”, and I am also aware of the denotative and prescriptive semantics and syntax implied in it as well, but in the broader context in which I am using it, it is a variable to which I assign assignments for the purpose of maintaining the illusions that I intend not to ever have a hand at programming robotic chore delegates festooned with awards for the passing and upgrading to pass real world exceptions to the subroutines, though it is actually used for maintaining a study schedule that follows the lesson plans. I had intended to accelerate in my formal studies at the expense of rapid completion of the Sun WJ-275X-Series Java CBTs. And Instead this of I ramble on aimlessly hoping to hint at my activities regarding this other Java course I am trying to pawn off on the moisture farmers.

Utinni!

WJ-2752 Lab 5 Exercise 2:

I love the Jawa Iziz in the Knight of the Old Republic game. He’s a funny little guy and surprisingly knowledgeable about the history of mining on Tattooine. His buddies were being held hostage by the Sand People. I think they were impressed with Revan’s shining armor and diplomatic relations were tense but the Mighty Chieftain secured many blessings for his people. Uhh… please pay attention to the heading.
How’s this for digression I just read the first lecture for next week (i.e. this week’s (see above))? It was great. These courses really complement each other. I had my suspicions confirmed for the effect of certain methods that appear at certain cursor positions relative to identifiers when you press Ctrl+space in Eclipse. I am curious to see if I remember to when I go over the labs I have taken so far to let my dreamer have a longer leash, maybe one of those one’s that are like tape measures and wind up with a spiral spring, with the Ctrl+space exploratory combinatorical randomizers in ape suits. I just imagine a pair of monkeys with little green accountant’s visors flipping coins and rolling dice and marking the results on a chalkboard, and one in the corner wearing a dunce cap and trying to apply the same method to build a typewriter that increases the odds of random button strokes writing Hamlet. Me I just assign each letter key a 26th of Hamlet in auto complete and tell myself that someday I will write a macro to randomize the assignments.
The next lecture is on exception handling. I am quite pleased as neither the WJ-2751 nor the WJ-2752 Sun CBTs have covered this, and I need to know for the sake of the monkeys in my brain screaming program better! program more! Program now! I kid. There are no monkeys in my brain screaming. And even if there were, how would I understand what they are screaming? They’re monkeys not people. No, I have some distant elevator music in my head. It’s soothing but I can’t quite make out the tune. It makes me want to listen to the Fallout3 soundtrack, and that kind of makes me want to hear the O’ Brother Where Art Though soundtrack. The last lecture was about the String object and its methods. I am so going to let myself make some sort decoder ring or something.

Oooh, a third lecture and hooray its drawing! I wonder how long it will take me to draw a Jawa. And a third? Event handling? Huzzah! And I was worried that the pace of the course would be merely leisurely, this is brisk. Huzzah! You know, dorkus, everybody else isn’t a speed reading genius. Don’t be jealous. For money I can teach you stuff I know about speed reading and geniuses. This week’s lectures almost seem like a crash course in the J in AJAX or a casual imperative to make a graphing calculator when you get the free time.

"Look Java, next time you wanna talk to me, come see me yourself. Don't send one of these twerps."-

Friday, November 6, 2009

Sand stays. All else changes. (Jawa Programming 2)

A Jawa programmer? But this R2 unit has a bad motivator. Enough! Pay attention, sit up straight and for the love of all that is good and decent try and look like you’re trying.

I actually read somewhere that daydreamers tend to be more productive than average. I suppose it has to do with how much brain power is actually used pretending to be deeply engaged in some activity other than slacking off, and making sure the people around you are aware of the faces you are making at your work when you are trying to look as if you are doing it. I know I tend to be quite productive when I haven’t a care in the world. I mean when I am skipping and smiling and daydreaming about fairies and unicorns and frolicking in the woods, and not worrying about getting beat up for it because I am bigger than everyone and skipping is good for your endurance and all-around ass-kicking power, I get a lot done. Why is that? You, see skipping engages the muscles of the thighs and calves and causes them to demand an increased blood flow as well as muscle building proteins… Oh, the other thing. Because, I am smart. See, I could furrow my brow and stare intensely at the thing that is in some respects an impediment to my doing what I like, frolicking or kung fu or drawing robots or what-have-you, or I could get it done quickly and correctly, not only maximizing the amount of time I have to frolic and leap tall buildings and such, but also stimulating the release of reward chemicals in my brain with a self-serving neuro-synaptic pat on the back for a job well done.

Back to solving the world’s problems err… this Java lab. I bet I could solve some of the world’s problems. I am pretty smart and I care about umm… things.

JAVA! WJ-2752-6E Lab 5 Exercise 1:

In this lab we have five tasks: Modifying the Bank class, Modifying the Customer Report class, Deleting the Current TestReport class, Copying the New TestReport class, Compiling said TestReport class, and of course running said TestReport.
Briefly, seeing that the other tasks do not require much in the way of completion of the previous tasks I am going to do them slightly out of order. This I can do because in the magical world of make believe I encountered a wizard who granted me powers to peer through project dependencies and traverse the points of view of stakeholders near and far. Some psychologists or another might say no Tom it is because you have an IQ over 140 on the Wechsler culture fair that you can do this. Personally, I find it hard to believe that anyone would prefer hearing about my psychometrics to hearing about wizards.

Anyway…

The work breakdown at a level just above this one (the lab assignment) has only three tasks: “Do the thing to the bank thing.”, “Do the thing to the one report thing.” and “Do the thing to the other report thing.” The thing I have to do to the other report thing is half done already because of the way I have chosen to do this lab in Eclipse. I just have to copy the new TestReport class from the folder I have installed it in. I am going to open it in Notepad++, just because I don’t want NetBeans (my default Java editor) to draw me in with its pleasant came with my new JDK smell. It’s not too hard to find files on my computer since I make adequate use of shortcuts. I really have been meaning to pick up some books on topology. I really expect it to be a worthy distraction that might lead to revolutionary advances in data, file, and object modeling.

I just need to make sure my imports are reflective of the new package… and ok, back to step one. I should probably fix all the import statements in all the classes while I am doing that… ok, done. Now all of our classes are talking to the right classes in the right packages.

In task one, we are changing all of the instance variables and methods of the bank class to static. After a typing the keyword static a few too many times to feel like a genius and then copying and pasting the rest in, we have now introduced a bunch of errors that we are going to fix in a manner different than un-introducing the causes of them namely the static keyword. A little peek at the UML model (still level 1) to make sure our publics aren’t supposed to be privates, and everyone is protected by their hash signs, and all that rot, and we are ready to move on to the next task.
I had a few variables that I had to make local to the methods that used them to bring the bank class in line with the UML diagram. I also had to turn the constructor private. All the errors went away after I realized I only had to make the methods and variables static, not the constructor. Apparently we are not allowed to make constructors static. I suppose that makes sense… sort of. Since the constructors belong to the instances of the class… sort of.

Task two has us modify the CustomerReport class to access the bank class as a utility class. As it stands now all the errors are gone only the warnings pertaining to no accessing the Bank class in a static way remain, and the code runs. Since my customer report class instantiated the bank objects by referring to them with a lower case to differentiate them from the Bank class modifying this class was simply a matter of capitalizing the bank in bank.method() when those static methods were called.

On a side note: static integer variables with a constructor that increments the variable can be used to keep track of the objects. Just in case my gibberish was to passive in voice, we are done with lab 5 exercise 1 now, and we didn’t peek at level two at all. We are good.

Utinni, utinni!

Friday, November 06, 2009

Lab 5, this is the final lab in the WJ-2752-SE6 course. We are in the home stretch now. After this the decision: Do I proceed forward and take the WJ-2753 course, or do I get side-tracked with these other courses that judging by the numbers (WJ-1XXX) in the series I should’ve taken first,… or do I go over the courses I have taken thus far with the intent of turning my blog posts into something that doesn’t infringe any copyrights but nonetheless clearly demonstrates the technical acumen I demonstrated in completing these courses on level one, save for one lazy exercise in lab 4 where I peeked (just peeked) at level two. I really wouldn’t have peeked if I hadn’t gotten the notion of overloaded constructors in my head. I really thought that lab was implying their use. I think this lab will use them. I really should make a habit of doing the lab after the section it applies to instead of doing them all at the end of the course.

Sorry about the wait. I just discovered Lexulous on Facebook. Oh, how I miss playing Scrabble with the Mensans and the Facists. This game is based on Scrabulous which had to change its name after being sued for copyright infringement. Of the many projects I have started for fun and never quite finished my Scrabble database was, while I was playing scrabble the most fun. I think I am going to revisit it in Java, or at least revisit Scrabble as an inspiration for fun little hobby projects. I think Lexulous has its levels arranged like those of these WJ course labs, in that they are ranked by accomplishment decrementing to number one rather than incrementing by difficulty to most hard. Wait, how did I lose to level 1 and 10 but not 6? I get it Lexulous gets to make up words like howf, and miggles.
Ok, that’s enough of a diversion for now. Let’s get back to the project at hand. In lab 5 exercise 1 we are going to modify the Bank Project we have been working on throughout this course, again. I think this is some sort of heuristic to drive home the notion of the reusability and maintainability of code afforded by the object oriented approach. Either that or that was the excuse given for not creating a wider variety of labs for this course. I would personally like to see a Scrabble based lab, perhaps where we create and instantiate tiles from the tile class, and then call the methods like getAdjacentTiles(), getSquareMult() or calcTileOnSquare(), getWordsWithTiles(), or… but I digress.

In this exercise we are going to modify the Bank class. In order to do this I am going to need to copy the project into Eclipse. So far I have made a separate package for each lab and exercise. This allows me to go over them as each lab that reused parts of a previous one had me modifying or deleting something or another. The advantage of keeping them separate is that with each lab when I go to edit the gibberish I have been blogging thus far, I can read the lab and look at the finished code and even look at the project prior to it. If I had used NetBeans and simply worked in the same project and package as instructed in the lab I would have to do each lab over again from the beginning, sure I would probably burn the lessons deeper into my brain, but, as we have see thus far doing each lab from the beginning has had the effect of me blogging gibberish. It is therefore the case that using NetBeans would make me blog gibberish… again, iteratively, and then I would give up on Java, and that would be a shame because I like it… again.

A little Eclipse tip for you: If like me you find yourself naming packages according to the implicit requirements of some Sun CBT, say WJ-2752-6E, and you are ending up with names like lab5.exercise1, lab5.exercise1.domain, and lab5.exercise1.etc. Make sure to put a class in lab5.exercise1 before any other package or else Eclipse will be sneaky and hide your empty top level packages while your off making waffles or a tuna sandwich, as the case may be.

A Jawa programmer? But this R2 unit has a bad motivator. Enough! Pay attention, sit up straight and for the love of all that is good and decent try and look like you’re trying.

Thursday, November 5, 2009

I am still bigger than you. Don't hit the nerds.

Thursday, November 05, 2009

Haha, exercise three is advanced and has no other levels to peek at. Take that lazy me. Without any ability to sacrifice my self-esteem you are left with only the ability to submit to diligent me. Unless you can summon a mighty sleepiness, that at 6:30pm is unlikely. Yeah, lazy, yeah, in your face! Save for spelling Accumulate Acculumulate and needing to remember to call getters instead of attributes (duh), I am advanced number one again and the only thing you can do is not change my
spelling. Hah! Err… damn spoke too soon, but I am going to make you fix the spelling.

Yeah, so umm… huh. I fixed it. I was getting a null pointer exception owing to the setter method having this on the left, err… right side of the assignment operator, and then another one that was just a side effect of my playing with the iteration direction. I turned it to decrement and left a dangling 1 when I needed a zero, no biggie. All that said and done, I won. Hahahaha. One more lab to go and I will have completed two courses in two weeks while taking a graduate course in the subject. Ah, sweet simple self serving pride… please don’t ruin this for me.

Pobody's Nerfect

Thursday, November 05, 2009

WJ-2752-6E Lab 5 Exercise 2: Creating a Heterogeneous Collection of Customer Accounts (Level 1)

Ooh, yummy more arrays. Sorry, I got distracted. I got to level thirty in Fish World and now my shark is eating all my fish. I seem to have been painted into a corner by the test conditions supplied. I am feeling a little lazy so I am peeking at level 2. I just couldn’t grasp how I was supposed to simultaneous return two different types. I really need to read up on overloaded constructors. It seems that I had read too much into this lab. I wasn’t supposed to overload the account constructors… nope just initialize an array in the existing one. Ok, it works, I didn’t get to do all of them on level 1 on the first try but hey, I occasionally get a B. I am ok with that. I can validate myself as a person. I am good enough, I am smart enough, and doggone it, people like me. :P