Happy Halloween!

Today, I start my new job. All Souls' Day. Should be a good time. Yesterday, I was watching football, and I noticed that you can't really watch a football game, and see a crowd sweep, and be reminded that the day after is Halloween, because people are always dressed up, or have face paint on, or a mask. It's just sports :)

My Hobby

Although more of an obsession nowadays...

Those are games I've bought in the last month. Well, I don't remember when I bought Fable. Rise of Nations : Thrones and Patriots came out a while ago though. It's an expansion pack for Rise of Nations. It's a good game. I'll have more about each game as they slowly take over my life, and I get hooked to each one.

Those cover the spectrum of video games, as pretty much every major genre is represented. I like my video games like I like my music. Varied. Just like in music though, I have a favorite. It's Strategy. Civilization IV, Rise of Nations, and Age of Empires III are all strategy. Fear, Brothers in Arms, and Call of Duty 2 are all first person shooters, and in the genre "Action". That's my second favorite. See, you need more FPS to keep you interested for a while, whereas one strategy game will usually keep you interested for a long time. Well, me anyway. However, FEAR is the best game I've ever played in that genre. Fable is an RPG, and it has the potential to be awesome, but it takes a really long time. Except Fable, which was awesome, but it was too short!! 10-12 hours on a RPG is way too short. You need them to last at least 40 hours.

Games not pictured that I bought in the last month : Serious Sam 2 (sorry Zatko!) and Dragonshard.

Chicago Wins in 4

I knew it would happen. I said it a few times (not on this site...) that Chicago would sweep the Astros in four but I honestly didn't think it would be that close of a series. Tonight's game was 0-0 through seven innings. Both pitchers played incredibly, then were both taken out at the seventh. Backe for the Astros, Garcia for the White Sox. Jermaine Dye batted in the only run of the game. 1 - 0 final. Great game. Exciting plays to end it, however only five hits for either team. Very boring for non-baseball fans. The other games had more runs. Last night's game went five hours and forty one minutes, a World Series record.

Awesome coding

Here's a function I just wrote that basically copies one object's data to another...

private void copy(Object src, Object dest) throws Exception {
  if (src.getClass().equals(dest.getClass())){
    Method []methods = src.getClass().getMethods();
    for (int i = 0; i < methods.length; i++){
      if (methods[i].getName().startsWith("get")){
        String setname = methods[i].getName().replaceFirst("get","set");
        Method setmethod = dest.getClass().getMethod(setname, new Class[]{methods[i].getReturnType()});

        Object value = methods[i].invoke(src,new Object[]{});
        Method clone = value.getClass().getDeclaredMethod("clone",new Class[]{});
        if (clone != null && clone.isAccessible()){
          value = clone.invoke(value,new Object[]{});
        setmethod.invoke(dest,new Object[]{value});

It's in Java, and it imports the java.lang.reflect package. It's wicked. Obviously not the most complete function. It could be in a BeanUtils class as a public static function. I could also specify whether or not I want "clone" to be used, instead of just checking if it's implemented and using it. One last thing, if the destination class is a subclass of the source class, it should still work, because the destination is guaranteed to have the same functions as the source in that case. This, of course, assumes that the objects are "beans".

State of the Interview Process

Now that I have a job and haven't started yet (won't until November 7th), I feel I can comment on the current interview process in the information technology industry. This is the same with all interviews I have been on. Maybe it's just my age, and that I'm still considered a "junior" developer, considering there are people that work at the places I've interviewed at that have 10+ years experience in the field of technology. I can give them respect for that, for being older, for being around more things, but I still really can't consider myself a "junior" developer. Experience-wise, yes, I have 4 years experience. But, knowledge-wise, I rank up there with at least an eight to ten year developer, just because I live and breath this stuff, and I'm writing software on my TIME OFF. Jeez :)

The interview process for every interview I've been on is the same. The interviewer mentions something in technology, perhaps a term used in Object Oriented Programming, or they ask you something about the language that you are being interviewed to program in, or whatever, and you are supposed to answer it in the best way you know how. Well, let me let those interviewers in on a little secret: Everyone asks the same questions. If you interview at one place and get something wrong, you're going to look it up and have an answer for the next place. Not that I ever mess up on any of their questions. I've always known the answer to "What's the difference between public, private, protected and internal?", but now it's more like I'm spitting it out from memory just from all the times I've been asked it. There are numerous other ones.

I agree, this is a quick way to weed out the people who have never done object oriented programming, and the other questions may weed out people inexperienced in other aspects of technology which are related to the question at hand, but how about this. Try to weed out people who haven't used those things and people who haven't developed anything even remotely difficult in their lives, on ONE question! My one professor in college said that most Computer Scientists, after working in the field for a number of years, couldn't write a working "Queue". Sure, it's no easy task, but we did it, learned the ins and outs, things to watch out for, etc. I have that extremely good memory, detailed in The Philosophy, Part I, so I'll never forget. Although, I did it in C++, now with fully object oriented languages, it should be a bit easier :) Not that you would ask someone to write a queue in an interview, but perhaps you would ask "You want to write a queue... which data structure would be easiest to use when writing a queue?" Somewhat open ended, yet extremely difficult, and you're really tapping the knowledge of your interviewee. You can use an array, keep the current positions as integers (beginning and end). A linked list would be simpler coding, as long as you have the linked list code already, although it's not an extremely difficult challenge to write a linked list (just give me a pad and a pencil, I'll code you a linked list!). Maybe you can ask "What can't you use?" on top of it. Surely, a tree based structure is useless. Easiest thing would be a linear list of some sort. That's a good question, and when I'm interviewing people in a few years, as long as writing code is still a profession, I'll remember that one. Other questions could be more pointed to the type of programming the interviewee might be undertaking if he or she were to be hired, like web programming, databases, web services, UI programming, etc.

I'm not here to tell interviewers how to do their jobs, but us interviewees who know what we're doing with the technology typically snicker under our breaths when asked "What is a dataset and how is it different from a data reader?" For those who don't know what they're doing, they can look up this answer and have it ready for their next interview. Even if their resume says they're the bomb but they're really not...

Another reason that I don't like this process is because I might not know everything that they ask at an interview (SHOCK!!). I might not know every single function that a "DataSet" has on it, every single type of constructor it has, or things of this nature. However, there is no need to ask a question like "You want to create a dataset from XML, how do you do this?" This also points back to The Philosophy, Part I. I explicitly point out that it doesn't matter if you know how to do something, it only matters if you know what something does. Or, in this case, if you know what something is capable of. Yes, you can create a DataSet from an XML document, but when have I ever needed to do this?! If I did ever need to do this, how in the world would I learn in the first place? By looking at a reference. If, for some reason, I never used that again, would it matter now that I don't remember the specific function to call, or would it matter more that I know that you can create a DataSet from an XML document, somehow? I certainly wouldn't think that I can create a Hashtable, or a bottle of beer, from an XML document.

I look forward to not going on any interviews again for a long time (crosses fingers after only having last job for 5 months).

New Video Games!!

Woohoo! Today, I was offered two jobs literally 20 minutes apart. I've never been offered more than one job at a time, so I would always just take the next job. This is a different experience completely. Getting to choose is a pleasure, however, having to choose SUCKS!! In the end, they are both great companies, but one was more along the lines of what I feel that I want in this stage in my career. Money is hardly an issue, I knew they would both be sufficient to my needs. I didn't get into programming for the money, obviously!! Just read under "Computer Science" on the left! I'll take the money though, because I have bills and stuff that I need or might eventually want. However, two jobs to choose from wasn't an easy choice. I had a feeling yesterday that I would be offered both jobs, so that's when the deliberation started. I had to really find out what I wanted, and it was tough. Anyway, I am back on the career ladder. And just in time! Some great video games came out today.

F.E.A.R. (First Encounter Assault Recon) is the best game I've ever played. It's gorgeous, the combat is exciting and beautiful, the atmosphere is freaky as hell, and it's just an all around great game. I'll have screens soon.

Dragonshard is being installed now. It's a real time strategy game (RTS) based on the rules defined in Dungeons and Dragons. That's a role playing game (RPG), or rather, a board game RPG with a set of rules that many computer RPGs follow. Neverwinter Nights uses the D&D rules, for instance. So, it'll be an interesting mix between RPG and RTS. I look forward to playing it.

Another game worth mentioning, which isn't out until at least February '06, is S.T.A.L.K.E.R. I know, lots of acronyms. I've been following the development of this game ever since I first heard about it. I'm happy to report that they are still working on it! They actually had it done at one point, then decided that it wasn't fun enough, so they reworked some things, rewrote the story, tweaked some things, and are well on their way to seeing the February '06 deadline. You can read about it here.

Overall, a pretty exciting week :)

Goofing Words

I sometimes goof up on words that are pretty close to each other in their pronunciation or spelling. Like these two: Tentative and Attentive. It's bad when I write an email and say "I'm not very tentative when talking on the phone and driving." It almost works out, if I hadn't negated it. Tentative, of course, means "under terms not final or fully worked out or agreed upon". It also means "doubtful; unsettled in mind or opinion". If I had written "I am tentative when talking on the phone and driving", then it might have seemed fine. I wrote this within a minute of waking up, my mind doesn't seem to grasp the concept of correct English, ever, and especially not when just waking up.

Which came first?

This is a filler post. It's a play on the old riddle, "Which came first, the chicken or the egg?" It's computer science related, of course.

Which came first, the program or the compiler? It just baffles me, that before the first compiler, people had to type in machine code directly. The first compiler was made this way... it had to have been, right? It sort of has philosophical meaning behind it. The chicken would have had to have come first, but something made it, possibly building it up by hand. Because you can't have an egg without a chicken, how else would it get there? An egg doesn't just appear out of nowhere, but neither does a chicken... Theories point to some form of evolution or "intelligent design". It's a topic worth mentioning. One that I have no clear conclusion on. I tried to post on it a few weeks ago, did some research, and was unable to discount either. The more interesting argument is that of intelligent design. A compiler would have been made with intelligent design :) A supreme being, a computer scientist like me, designed the first compiler so other supreme beings could write software. Imagine a supreme being designing DNA, which is like machine code, and from a living creature comes the ability to make other living creatures. Is it science? Yes, that's what we call it. It's just whatever you happen to believe. I have come to no conclusion, though. The one site I visited, very much biased towards the God part, has a compelling argument. The chance that the Big Bang would have ended up with a part of it perfectly capable of allowing life is so small that believing that a supreme being started it all is actually the better bet. Imagine that. Those gullible scientists :)

This week's coffee

Sumatra Mandheling "Black Satin". This stuff is dark. Only two of the coffees that I have received from CoffeeAM.com were very distinct. These beans are almost black. The other one was Tanzania Peaberry. It's called "peaberry" for a reason, those beans are small and round. They're not green though :) I haven't had a bad coffee from this place.

Observations of a Non-TV Watcher

I never watch TV. I watch sports, and sometimes I'll catch a Simpson's, Seinfeld, or Family Guy, of if I'm flipping through and catch Friends on, because they have seduced me in the past, I just have to watch. Tonight, however, I caught some good shows. You'll be disappointed, probably, that I haven't watched "the most anticipated" shows, or Emmy or Grammy nominees or whatever awards shows get, or that I don't watch reality shows, but I'll watch them if my brother wants to, and if I get sick of it, I'll run upstairs with a Pepsi and throw on a movie to fall asleep to. You'll also be disappointed, maybe, to know that I will only talk about 2 hours or so of television. Maybe you'll be disappointed that the shows I am going to talk about are only available on cable TV. And you might be extremely disappointed that the cable tv channel that they are on is ESPN Classic.

This week is apparently Mike Tyson week. When I first heard this from my brother, I asked, "What, is his porno being released at the end of this week or something?" I was joking and he knew it, I hardly say anything serious unless I'm interrupting an important interview with a hero of a local pro Sports team, or talking during a big play in a game. I don't hold back. If s@%# needs to be said, I'll say it. Never too serious, but stuff like "My old boss called me today, he's a good guy." Anyway, they've been showing Tyson's best matches this week on ESPN Classic. It's incredible. To watch that guy fight when he was in his prime, at age 19, is an honor. I was around 7 when he was big, I only really knew who he was because of "Mike Tyson's Punchout" for the Nintendo. I had the code to get directly to Tyson, but it's now left my memory. He was incredible. We watched throughout the week so far, all of his great matches, and tonight was the first match I saw of his that lasted past the first round. The dude is lightning. He comes out to the ring with no flashy garments, no robe with his name on it or anything, just shoes, sometimes with socks, and his trunks and his boxing gloves, and a mouth piece. He doesn't ever look cocky, and he doesn't even have the face of somebody who should be feared. He looks calm. Until the fight starts. Then he's throwing down, going toe to toe. A match tonight lasted 91 seconds. Another one was a TKO in the 5th round, where the only thing keeping the dude up was Tyson, until Tyson lead him up against the ropes and landed 2 or 3 vicious blows on him, and the ref intervened and called the fight. It didn't matter that these guys were taller, or had a longer reach, Tyson rocked them. It was truly awesome to watch, and I'll keep watching all week.

Another show that I love is Cheap Seats. If they release the seasons on DVD, it'll be right up there with my X-Files order of all nine seasons. However, Cheap Seats is very new, so it won't break the bank. The Sklar brothers, Randy and Jason, are hilarious. The shows that they pick to make fun of are pretty normal, but when they add their commentary, it's literally belly hurting laughter that arises. I remember one episode, a cliff diving competition from what had to be the late seventies or early eighties. This one guy from Mexico was up, and he wasn't a little guy. They were commenting on his size, and when he dove, from about 30 feet or so, just after he hit the water, they cut to a scene of an atomic bomb going off. You had to see it, just like that whole show. The reason it's so funny is definitely the comedic timing. But, also why it's so funny to me, is because I do this stuff all the time, even before I watched Cheap Seats. The latest, tonight, was when Tyson and his opponent were getting ready to fight, literally seconds before the start, and the ref asks, "Do you have any questions?", where I chimed in with "Uhh, where's the bathroom?" You know, not hilarious, but I just always have done stuff like that.

The last show that I just happened to watch was Arli$$ on the same channel. Arliss is a sports agent. It stars some pro sports players, like tonight's episode starred Mike Lieberthal. Arliss came up to him and said "Mike, you're the only Jew in the major leagues, we have to capitalize on it." Mike had speaking lines. It's rated TV-MA, so kids, don't watch it unless you're 17 or older. It didn't have curses or nudity, but tonights episode had racism. No "n" word, but others. Arliss played against a baseball team known as the Jaboo's in his childhood, and on the golf course he made a comment that those were the best pitchers he's faced, with a reporter from a free newspaper trailing behind him. The reporter obviously misinterpreted his comment and went live with the story about Arliss being a racist. It grew from there. It was a good show. That guy who played Alexander Knox in Batman, Robert Wuhl, was Arliss. Apparently it ran from 1996 to 2002, so I'm a bit late and catching reruns, just like I always do :) I probably won't watch it again, just because it didn't catch my attention that much, and I should have been watching the Astros / Cardinals game.