August 31, 2005

More than a sore throat

When I got back from a day of jet ski fun, I thought that I lost my voice from all the yelling - boy was I wrong.

Monday night I went to the Kaiser after hours care & I was informed (basically) that since I didn't have a fever and my throat wasn't irritated - I was most likely suffering from post nasal drip. But they did take a troat culture & I should find out tonight what the results are.

Well, that was then & this is now. Just the act of typing in this message is causing me to sweat profusely. I feel like I'm burning up, but because of the sweating - my skin is cold and clammy.
My throat is killing me and talking to Bren takes a strength of will I never knew I had.

Yesterday I took off from work early & slept the whole day. I fear that I may have to do that again :(

phew. I'm taking off to see a pharmacist.

Posted by Jason at 08:03 AM | Comments (0)

August 29, 2005

Jet Ski

Yesterday I took the family to the cousins place in Fallbrook for a day of merriment in Oceanside
While there - well, I rode a jetski for the first time.

That was some serious fun.

That and I only capsized the boat once. ;-)

Unlike my last adventure into the daylight, I learned my lesson & this time I wore sunscreen (spf50) that combined with my light coloring earned me the nickname "kabuki man".
The only spots I missed were the tops of my feet and the top corners of my forehead (where I swear there was hair their before). Now I'm left with no voice, it's uncomfortable to wear shoes & my scalp is singed.

Not bad for a day of fun.

Posted by Jason at 09:37 AM | Comments (0)

August 27, 2005

73°F (~23°C) seems to be the sweet spot

I've mentioned before about how chilly it is in my little cubical.
I must report that after days of informally watching the refrigerator thermometer in on my padded wall, I have come to the conclusion that when it's "just under" 74°F - I'm comfortable.
Any lower & I get chills from the downdraft over my head.

I think it's time to update my owners manual....

Jason De Arte, Optimal Operating Environment, Sitting at a computer in a cubical farm
Ambient Temperature Range: 73°F - 79°F
Light Source: Indirect, no fluorescents
Maximum Lumens: ???
Minimum Lumens: ???

I know I like it dim, but I just don't feel retentive enough to buy a light meter.
Hmmm... I wonder if I could write up a little app to use my web cam as a light meter? Then I would have to buy a light meter so I could calibrate it. ;-)

Posted by Jason at 04:05 PM | Comments (0)

August 26, 2005

Things I dislike: Half Duplex Speaker Phones

Have you ever had a conversation where you just didn't connect? Not on an emotional level or anything serious like that. But more along the lines of after a few moments you realize you are talking about two separate and completely different things.

Person A: While walking my dog yesterday I came across a ....
Person B: ...vector control is stepping up enforcement by my house, they keep leaving bait traps...

? ? ?

Many of you may have has similar experiences while making small talk to a Senior Level management Mucky-muck at your company.

Well, that's how I feel when I talk to someone with a radio shack press'n'play speakerphone or on a connection with an inordinate amount of lag. Did I talk to early? What did they just say? Damn that background noise that threw off the VOX sensitivity!

Then there's that awkward pause as both parties are playing an invisible game of chicken to see who talks first. I'm reminded of ethernet packet transmission. If packets collide, both NIC's wait a random timeout before resending. Instead of milliseconds - it's 2-10 seconds! And if they do collide - they randomly try again! Ahhhh! Lather, Rinse, Repeat!

All that effort focused on the timing - and no time left over to "read" the emotional state of the other party. ::sigh::

Posted by Jason at 03:16 PM | Comments (0)

August 25, 2005

assert(!"where are you?");

Hundereds of Thousands of Lines or more - and not a single

assert

in any form

[voice of James T. Kirk]
Must... Fight... the urge to... Buy??
multiple copies of Code Complete for the office
[/voice of James T. Kirk]

yea, I don't want to be the know-it-all-new-guy ;-)
I should try to learn from the coding techniques - and focus on the upcomming milestone. I mean, maybe they hand rolled their own assert and called it #WTF()? I haven't reviewed all the code, so I guess it is possible after all.

Posted by Jason at 05:57 PM | Comments (0)

Things I Like: Project Management and Planning...

... that is not only well thought out, but supported (not undermined) by management.

I haven't had it this good since pre-ign-gamespy-merger with Tungsten, Spiff and Walla.

There's something comforting about having all the crazy requests from 100 different directions go to someone else (for later processing) while you focus on meeting your deadlines.

Think I'm just a lazy programmer that likes to bitch?
Well, read this
(it's an oldy but a goodie)

Just consider Management interruptions to be tasks switches and you'll understand why my stress level is waaay down in the hot tub.

My mind is focused and I'm on schedule - it's a good thing.

Posted by Jason at 04:42 PM | Comments (0)

August 23, 2005

Thing I dislike: Superfluous this

Have you ever stumbled across a C++ member function that needlessly had "this->" on every line?


void CFoo::func(int a, int b)
{
  this->m_something = a;
  this->m_orother = b;
  this->doThat();
  this->doSomething();
}

forget the poorly contrived code sample intended to protect the innocent, but do we really need "this" everywhere?

Maybe this is just a style thing, but it rubs me the wrong way.

Posted by Jason at 01:29 PM | Comments (0)

Things I Like: Visual Assist

When I was at CodeIt , my office buddy Forest had a habit of writing "things I hate" on the whiteboard. They were all born of painfull experinces with code, technologies or the behavioural patterns of others that worked in the building.
I'm going to continue the tradition - but mix it up with some positive stuff as well.

Thing I like: Visual Assist

It's like crack for MSDevStudio 6 / VS.NET programmers.
This is one of those little companies that Microsoft should just buy and integrate into their devstudio team.

Posted by Jason at 01:24 PM | Comments (0)

August 17, 2005

Stop spamming me about how you are fighting Microsoft Spam

You've probably come accross spamis spam. But this just makes me laugh



X-Gmail-Received: 6272b817e2b946fb065dc9d58b34e074e44f30b3
Delivered-To: jason.dearte@gmail.com
Received: by 10.54.63.20 with SMTP id l20cs16397wra;
Wed, 17 Aug 2005 14:57:20 -0700 (PDT)
Received: by 10.38.101.2 with SMTP id y2mr353622rnb;
Wed, 17 Aug 2005 14:57:20 -0700 (PDT)
Return-Path: <jason.dearte@gmail.com>
Received: from wlld-303-VF.educn.okstate.edu (wlld-303-VF.educn.okstate.edu [139.78.37.250])
by mx.gmail.com with SMTP id 70si628601rnc.2005.08.17.14.57.19;
Wed, 17 Aug 2005 14:57:20 -0700 (PDT)
Received-SPF: neutral (gmail.com: 139.78.37.250 is neither permitted nor denied by domain of jason.dearte@gmail.com)
Message-ID: <11289987947963610620568.0349fvfy94655ut@budweiser.com>
Received: from 109 by itgwt89-b06.xo3.budweiser.com with DAV;
Wed, 17 Aug 2005 15:53:14 +0500
Reply-To: "jason.dearte@gmail.com" <jason.dearte@gmail.com>
From: "jason.dearte@gmail.com" <jason.dearte@gmail.com>
To: <jason.dearte@gmail.com>

Subject: Fw: interesting microsoft news article...
Date: Wed, 17 Aug 2005 13:45:14 +0300

(content deleted)


If I'm reading this right - I sent this spam from my gmail account from Oklahoma State via budweiser.com to the same gmail account.
I hearby attest that I did no such thing.

Isn't one of the popular definitions of spam is that is has forged headers so that you cannot figgure out where it came from?
Judging by the content, this was sent by spamis, who's only purpose it seems is to broadcast it's whiny bitching about microsoft spam to as many people as possible - many of which never requested this one sided IRC-flame-war-turned-email.

That my friends is a classic demonstration of irony.

Posted by Jason at 03:52 PM | Comments (0)

I need some fingerless gloves

Brrrrrrr

Reminds me of the GameSpy Irvine days. When the outside temp would drop to the mid 70s and the AC would still be blowing as if it were 100 outside.

Other than that, my head is about to explode with all the stock market information I've been absorbing. It makes me kinda wish I paid more attention to my friends that got involved in the whole day trading thing a few years back. Not that I would have participated in the market, just to get a better feel for how the market works.

Qt is an odd one - but that's mainly because it's (theoreticaly) a cross platform C++ GUI library. It has some interesting layout concepts that remind me of XUL
Events/Signals - it's all the same. It's just a matter of how they are routed.

I have got to remember to bring in a flannel tommorow. BRRRRRRR

Posted by Jason at 09:30 AM | Comments (0)

August 07, 2005

you know you may have gotten the wrong programming book when...

...the first example reads...

#include <qapplication.h>
#include <qlabel.h>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello Qt!", 0);
    app.setMainWidget(label);
    label->show();
    return app.exec();
}

Book in question C++ GUI Programming with Qt 3
It's been a while since I played with Qt by Trolltech so I needed a refresher to read. What I got contained code samples that, well reminded me of some unique code I once maintained by some guys after they sold their codebase to GameSpy :-|

Can you spot the red flag that this and all other examples in the first few chapters share?

Here's a tip - the ommission turns my stomach. No, that's too vague.
What if I update the code a wee bit? MS provides a helpfull diagnostic toolset for tracking memory allocations. Let's add it in and see what happens.

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

#include <qapplication.h>
#include <qlabel.h>

int main(int argc, char *argv[])
{	
    _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello Qt!", 0);
    app.setMainWidget(label);
    label->show();
    return app.exec();
}

Lo and behold, what informational goodies have been bestowed upon us through the debug out window....

Detected memory leaks!
Dumping objects ->
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\crtdbg.h(552) : 
 {52} normal block at 0x00994328, 184 bytes long.
 Data: <HP@             > 48 50 40 00 E2 CD CD CD 00 00 00 00 00 00 00 00 
Object dump complete.

As you might have guessed, we're new'ing memory, but we're never delete'ing it.
I hate it when programming books teach bad habits.

How do we fix it? Just add a delete

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

#include <qapplication.h>
#include <qlabel.h>

int main(int argc, char *argv[])
{	
    _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello Qt!", 0);
    app.setMainWidget(label);
    label->show();
    int nResult = app.exec();
    delete label;
    return nResult;
}

TaDa! No more leaks.

It would have been nice if this wasn't the only book on Qt at my not so local B&N - the two nearby Borders had nothing comming close to Qt on the shelves :(

All in all, it's a great refresher - I just wish I found a better book. Maybe later I'll head down to Microcenter . They usually have a healthy selection of geek books.

You know, I may just finish the book and treat it as a "where's waldo" of finding bugs ;-)

Posted by Jason at 02:59 PM | Comments (2)

August 05, 2005

shiny

(not the game company and not the fetish)

As previously mentioned, Bren and I switched cars today so that I could switch out her plates. However I was not expecting her to clean my sap, dust and turd encrusted vehical.

FOR SHE IS A GODESS
and, um, I hope she doesn't notice that I left her car on empty. shh!

I think I better get her something nice for our upcomping 11th wedding aniversary. (we've actually been together since January 1991)
Maybe something even shinier - but don't tell.

Posted by Jason at 06:06 PM | Comments (0)

We would like a sample please

In order to get the job, I need to pass a drug test and a background check. Since I have no memory of ever robbing a bank, steeling a car or doing anthing nefarious (besides a few traffic tickets over the years) - I'm sure I'll pass that one with no probems. How can I be sure? Well a after the drug test from hell ( I drank A LOT of water beforehand to be sure that I could give a sample, but then they couldn't find the autorization so I had to wait with a full blader for over an hour ) I spent the rest of the afternoon at the DMV.
Well, since I have a few free days - why not suck up all that time in the offices of an underfunded state agency renound for it's customer queing systems? ;-)
This time I had two tasks - transfter a custom license plate to the VUE for Bren, and get a motorcycle license.
Oh, and since I my normal class C is going to expire in THREE YEARS FROM NOW, they thought it prudent to make me re-take the class C test as well. [sarcasm]Thank's DMV - not only did you save me from having to come back in 3 years and wait all over again - you sprong a pop-quiz that effects my ability to get to and from work! [/sarcasm] To bad I didn't study for that test.

Long story short, I passed the Class C, got the Motorcycle learners permit, and transfered the plates to Bren's car. I'm sure if I had any outstanding warents or anything evil - I wouldn't have been able to get out of there alive.

Now I can ride the Vespa ET2 that I won in a contest 2 years ago! What can I say - I've been very busy.
Vrrm Vrooooommmmmm! oh, I mean "put put put put put put....." It's only a 49cc 2cly motor-scooter-cycle that maxes out at 40mph.

Posted by Jason at 03:57 PM

August 03, 2005

Unemployment - Day 04

  • canceled the EA Tiburon telephone interview. I just can't see myself moving to Florida. The interview would have been great interview practice, but it would have been dishonest to lead them on. I imagine that the technical interviewers have enough on there schedules as it is. I mean it is EA after all ;-)
  • 10am interview at Nexa Technologies - lasted until 2pm. Time flys when you're having fun. Since I lost track of time, I thought that it was just after 12 when it was over. Without lunch and dwindling caffeine in my bloodstream - my mental exhaustion was compounded. I think I made a good impression. I hope. With such a varied project with so many components, I'm sure I could learn a lot there. We'll see.
  • The same headhunter that set me up with the interview called a few more times for interview recon info. So, so tired.
  • Got (yet another) call from the headhunter. The call starts out sounding morose (doesn't bode well), talks about the people that I interviewed with and then says they would like to "extend you an offer...[pause]". So I interjected "But?!", to which he responded "but? oh - uh well for the position of programmer at a salary of $NN,NNN a year, when would you like to start? there is the matter of the drug test and background check"

Sweet! Less than a week unemployed and I already got a job offer for between the GameSpy and CodeIt salaries. And I havn't even received an unemployment check yet.
As for the drug test? Unless somebody spiked the water - they will be amazed at the clarity of the results. I'm nothing like Flinklocke's Priest party companion

Posted by Jason at 05:01 PM | Comments (1)

August 02, 2005

Unemployment - Day 03

  • The Long delayed escrow cash payment finaly came in from the GameSpy sale. It was nice to see the rough equivalent of 3 paychecks come in at once. I had no idea my bank charged $10 for incomming wiretransfers. But I hear that other "big name" banks tend to charge up to $60 for the "service". Right now I'm loving the influx of cash, but I know I'll regret it when tax time comes.
  • Chatted with a headhunter The Job Dr Nice guy that likes to talk - and talk - and talk.
  • Chatted with EA tiberon (Florida), apparently they're aware of the working condition "issue" (not mentioning the "EA Wife" thing) and are rather keen on changing that perception. But did admit that they do "occasionaly" buckle down at the end of the dev cycle and work "up to 45 hour weeks". They want to do a telephone tech screen tomorrow.
  • Did a real telephone interview, not one with a headhunter, recruter or h.r. personel - but a "normal" manager that's looking to fill a position on his team. Took about 30 minutes. It was fun.
  • Later I got a call from the headhunter, who questioned me for a good 45 minutes so that he could get pleanty of interview question info - just in case I didn't work out. I know it's his job to fill as many positions as he can, but it IS a wee bit dishonest to "overly prep" applicants. For that reason I was intentionaly vague (I imagine much to his frustration).
  • Tommorow I'm going in for an interview at that same company.
  • Tonight I'm going to trust my wife's fashon sense and get some "business casual" interview clothes.
Posted by Jason at 05:32 PM | Comments (0)

August 01, 2005

Unemployment - Day 02

I was hoping for 3 interviews per day, but one is better than none :)

Today I hit monster.com
I only have two major complaints...

  1. I don't have any student loans that need to be refinanced! I would appreciate it if your interstitials for that purpose would NOT come pre-populated with my personal info. Would it be to much to ask that you make the ads look less like the monster.com css? I imagine that these ad units are only successful because most people don't pay attention.
  2. Dynamic Links make it difficult to quickly determine if you already clicked on a job detail. Every time I change a filter - all the old links look new again. I (inadvertently) went through the whole application process and only at the last possible moment did monster.com tell me that I already applied for that job. D'oH!
    Dice on the other hand uses the same links and hotjobs prints "Resume Sent MM/DD/YYYY" in the summary.

Yes, I know - Saturday and Sunday would be days 2 and 3, making today day 4. But I'm talking normal work days
You say "but you normally work Saturdays"
Well, Um... I'm counting "full bank workdays". that's a benefit to being unemployed - you make your own rules as you go along :-P

Tomorrow's looking good. Phone interview at 9am

Posted by Jason at 08:40 PM | Comments (0)