Sunday, January 27, 2008

Farewell President Hinckley

I received a Phone call from home. President Hinckley passed away at 7:00 PM Mountain Time today. He will certainly be mourned and missed. He was a great and courageous leader of the Church of Jesus Christ of Latter-day Saints.

While he will be missed, we certainly look forward to sustaining the Man who will fill his shoes.

Thursday, January 24, 2008

Spreadsheets

I got my spreadsheet start in Quatro pro. Now days I now use Excel quite allot. It was an easy transition.

What is cool about spreadsheet programs like these, is what you can do with them.

Most people use them to create stuff for finances like budgets, schedules, Payrolls etc. Excel is really good at those sorts of things. After all that is what it was designed for.

But it's the other things it can be used for that I find interesting. For instance I created a spreadsheet which every morning at Work I enter the time I arrived and then at the end of the day I enter the time I left so that I can calculate my hours every week.

When I first started at my current job I created a spreadsheet to keep track of where things are and what and when to do it. Basically I used it as brain storage. Pretty soon it became a piece of a model for organization for the team. It's strange.

When I was at school I had finished several programs and wanted to see how close I was to achieving any certificates or degrees. So I took the Syllabus and duplicated it in Excel then plugged in some formulas so I could set some check marks which would then highlight certain cells if the achievement was accomplished.

While at it I discovered that the Syllabus hadn't been calculated correctly. So I asked my Instructor about it and when he looked at it he asked if I could finish it so he could use it. He also said it was worth extra credit. So I finished it, and in the process helped fix the credit distribution.

Believe it or not Excel is also pretty good at geometry too. Using the right kind of chart it is simple to create graphs, but by indicating x and y the graph can go back on it's self. Then by doing this it is relatively simple to create a graph of a circle or square or whatever.

Back when I was small and One of my Uncles was going to school to be a Math Teacher he showed me this really cool Quatro pro graph he had done. It produced a Spirograph where you could change certain cells and get really neat designs.

Whenever I have something I want to formulate like how to write a program which draws an ellipse I'm likely to draft it out in Excel.

The more I use spreadsheets the more I think of the possibilities of what they can be used for.

I bet one day someone will figure out how to write a game of Asteroids all using Excel cell formulas. It would be difficult for sure. But it would sure be cool. even though it would be equal to using a screwdriver or a wrench as a hammer.

Friday, January 18, 2008

CRT RF Ghosting

I'm sitting here watching TV and finding it a little weird that I'm seeing a few second delay precursory ghosting in the screen.

It seems to be the DVR sitting on top of it, for some reason, as it records the analog signal of the live broadcast, produces RF interference which, with the 2 second + delay on the signal out, overlaps the interference as the ghosting effect of what will soon occur.

It's kinda interesting. And even stranger when there is an hour or so delay.

It reminds me of a computer we once had, which if it was turned on within 5 feet of a powered on CRT monitor or TV, would ghost whatever the Video card was displaying.

It was entertaining to watch the cursor moving Solitaire cards on Windows 3.1 superimposed over the news.

Fun days.

Sunday, January 13, 2008

Reverse

While helping my office mate prepare for his Interviews a whole bunch of us were coming up with questions and challenges for him. We were really hoping he would make it. One of the challenges asked was to reverse a string.

Having been asked to do it in an interview before (I did it in VB then) I had, had the time to come up with other possible solutions to the challenge. Here is a C# version of the method from memory:

/// <summary>
/// Reverses a sequence of chars in a string.
/// </summary>
/// <param name="value">String to Reverse</param>
/// <returns>the reverse of the provided string.</returns>
/// <remarks>
/// Reverse by back stepping through each char in the string 
/// and filling a StringBuilder with the result.
/// </remarks>
public string reverseStringFill(string value)
{
    StringBuilder temp = new StringBuilder();
    // Iterate backwards through each char and copy 
    // it's equivalent from the source string.
    for (int index = value.Length - 1; index >= 0; index--)
     {
         temp.Append(value[index]);

     }
     return temp.ToString();

}

Here is another variation:

/// <summary>
/// Reverses a sequence of chars in a string.
/// </summary>
/// <param name="value">String to Reverse</param>
/// <returns>the reverse of the provided string.</returns>
/// <remarks>
/// Reverse by back stepping through each char in the string 
/// and filling the resulting array.
/// </remarks>
public string reverseStringBFill(string value)
{
    char[] temp = value.ToCharArray();
    int length = value.Length - 1;
    // Iterate backwards through each char and copy 
    // it's equivalent from the source string.
    for (int index = length; index >= 0; index--)
    {
        temp[index] = value[length - index];
                
    }
    return new string(temp);

}

My Office mate having learned in C/C++ most of school came up with a swap method that he had learned in class, but when he tried to run it in C# it had compile errors. because he was trying to do things the C way in a type safe language. After a hint about casting he figured it out. What he ended up with is something similar to the following:

/// <summary>
/// Reverse String using Swap
/// </summary>
/// <param name="value">String to Reverse</param>
/// <returns>the reverse of the provided string.</returns>
/// <remarks>
/// This is how a C/C++ programmer would reverse a string in C#
/// </remarks>
public string reverseStringSwap(string value)
{
    char[] returns = value.ToCharArray();
    int index = 0;
    while (index < value .Length / 2)
    {
        // Swap chars
        char temp = returns[index];
        returns[index] = returns[(value.Length-1) - index];
        returns[(value.Length-1) - index] = temp;
        index++;

     }
     return new string(returns);

}

While he worked at the problem I was thinking of a similar way to do the same thing from a managed perspective:

/// <summary>
/// Reverses a sequence of chars in a string.
/// </summary>
/// <param name="value"></param>
/// <returns>the reverse of the provided string.</returns>
/// <remarks>
/// This is similar to the swap method except it
/// only pulls it's chars from the source string.
/// </remarks>
public string reverseStringBSwap(string value)
{
   char[] temp = value.ToCharArray();
   int length = value.Length - 1;
   int half = length / 2;

   for (int index = 0; index < length; index++)
   {
      temp[index] = value[length - index];
      temp[length - index] = value[index];
                
    }
    return new string(temp);

}

He had written his in a console app and I in a GUI app so rather than  return new string(returns); His actually used Console.Write(returns); I stumbled around for a little while trying to remember how to cast to a string. But eventually found it, hopefully I can remember it now. I have changed the methods so they work the same in a GUI and a Console app as I like a clean Modular design.

While at it I found Array.Reverse(""); and this nice little, simple, clean and tidy, method ensued:

/// <summary>
/// Reverses a sequence of chars in a string.
/// </summary>
/// <param name="value"></param>
/// <returns>the reverse of the provided string.</returns>
/// <remarks>
/// This is the simple way to reverse a string.
/// Simply by using the power of the Framework.
/// </remarks>
public string reverseStringArray(string value)
{
   // Copy to an array
   char[] temp = value.ToCharArray();
   // Reverse
   Array.Reverse(temp);
   // Return casting the array as a string
   return new string(temp);

}

Now for the real fun. Recursion (Where a method calls it's self over and over until it finishes it's work, then backs out to provide the results.). This method ends up being fairly simple, but it is slower, has potential to crash and is somewhat difficult to wrap one's head around. But it looks clean and impressive.

/// <summary>
/// Recursive String Reverse
/// </summary>
/// <param name="value">String to Reverse</param>
/// <returns>the reverse of the provided string.</returns>
/// <remarks>
/// This method Reverses a string by calling it's self recusively 
/// The method used here is certainly not the fastest method avalible
/// as it uses slow string concatenation and has the possibility of
/// having a buffer overflow recursing to many levels if using a 
/// string which is to long. But the idea is just so fun.
/// </remarks>
public string reverseStringRecursive(string value)
{
    if (value != "")
    {
        // Recurse the incoming string, minus the first char, then return 
        // the resulting string, appending the first char to the end.
        return reverseStringRecursive(value.Remove(0,1)) + value[0];

    }
    else
    {
        return "";

    }

} 

Ah, this was fun! One of these days I should revisit one of my old favorite sites (http://www.xbeat.net/vbspeed/) and try to work out a method for timing the methods and try a few other speedy ideas.

One of the odd things from that site is that you learn that simplicity is not always equal to speed. Rather often the reverse is true. There are some strangely long code snippets setup just for improvement with speed.

Monday, January 7, 2008

Résumé updating

I have less than three months left in my contract, so I'm back looking over my Résumé again, trying to figure out how to add my current position to it, which apparently I had added in June and since forgotten about the contract mix up which required an update. Well, I have updates to add to it anyway, as I have been doing some SDET work lately. Ah, having fun breaking software, he he.

While helping cleaning on Saturday I stumbled across a packet which included a handful of Resumes. I glanced over them and thought about what would cause a potential employer to balk, while trying to read them. I was balking anyway, they were a little brash, slightly pompous and blindingly difficult to read. All written using one of the the standard Word Resume templates. On one the goals mentioned had nothing to do with the position.

If I were the hirer I don't know how long I could stand looking over those resumes unless all of them were similar. So I think I know some things I should remember as I work on mine. But it is hard to detach myself from what I have written, to look at it through someone else's eyes.

One reason for the update is that there are a couple of FTE positions open on my team which I could possibly apply for.

I'm not going to get all excited, thinking I will actually get a position, but if I do interview, it would at least be good practice as I continue to learn and grow in this career path.

Sunday, January 6, 2008

I _ Software

A silly thought came to me the other day of the perfect bumper sticker if I were to ever get one. So I went searching around and finally found a website which allows you to design your own bumper stickers http://www.makestickers.com/customize.aspx?TID=5870 And this is what I ended up with:

But if I was ever to find a way to get in on the Dev side I would have to switch to this one:

I think the first one is funnier.

Wednesday, December 19, 2007

IE Passes Acid2

Woo, hoo. A couple of months ago I was waking through the halls of IE, so I could catch my carpool home, and glanced something exciting on the wall.

What I saw has finally been announced. It should have been introduced something like: 

I hope all you developers out there there now have smiles on your faces.

Why? Because IE8 finally passes the Acid2 test!

http://blogs.msdn.com/ie/archive/2007/12/19/internet-explorer-8-and-acid2-a-milestone.aspx

The first section of the video on Channel9 is cool.

The team has put in a lot of work over the past year, they still have work ahead. But it is exciting. At least for someone who does occasional web development.

When IE had a public bug tracking system setup for IE7 there was a bug which simply stated. "Pass Acid2 test". Well I suppose that bug can be closed now. :)

Friday, November 23, 2007

Visual Studio 2008

Woo hoo! Visual Studio 2008 went RTM on Monday. So I downloaded and installed the Free Express Editions. Now if I can just get over my programing block so I can actually do some programing.

Cool highlight: JavaScript intelisence for WebDeveloper. Improved CSS handling. Okay that's about as far as I have explored so far.

So far the little bit I have seen is pretty cool. One thing I was kinda hoping for which has not changed is the placement of the close button for the tabs in the tabbed display. I was hoping the tabs might work like IE7 and FireFox2. Oh well.

Wednesday, October 10, 2007

Krondor mmm.

Ah. DosBox. I decided to reminisce I downloaded DosBox and opened one of the games I have fond memories of. Betrayal at Krondor. Good memories of a classic game.

Now if I can just figure out how to give it write access to specific files so that I can get past the introduction. Nice! Got it. Just had to share the folder so that the program has permissions.

Good thing DosBox works with Visa. I wonder what else I can get working on it?

Sigh. Weird. For some reason I have been longing, yearning to use Windows 3.1 again. The nostalgia. Yeah. Really Weird. I wonder if I can put it in a Virtual PC? Hmm. Could be cool. Another day though. Krondor Tonight.

Sunday, October 7, 2007

Aw. No Analytics report

Aw. It looks like I didn't install the Analytics tracking script correctly, or something. I happen to know there were at least two hits over the past week.

I had thought that maybe those that read, might be doing so via. RSS Feed. It is quite possible but then I went looking for the tracking script I had placed and, it was gone. Whoops. This time I placed it in a place where I know it should go.

But then if Javascript is turned off in a browser it won't be tracked. Actualy, I wonder what this page looks like without JavaScript. Google relies on it heavily.

Monday, October 1, 2007

Socks and Sandals

Sad. My Manager is moving to a new position soon. He is an awesome Manager. I suppose it is good that he is moving on at the highpoint of this position. That's the way to do things.

He is one of the classic Pacific Northwestern Socks and Sandals guys (http://www.werealotlikeyou.com/) See #56. And the Youtube to go with it (http://www.youtube.com/watch?v=Z59fQ12OR0A).

Ah. Maybe I didn't have to give up Sandals and socks when I moved up here after all.

I finaly fixed the you tube link

Wednesday, September 26, 2007

Analatics Report

Okay. I admit it. I have been just a little bit curious to know how much traffic this little blog actually gets being locked down like it is. I honestly don't imagine it to be more than two to four hits besides my own visits here in a week. But it could be fun to see. Who knows what the real traffic looks like with the web bots and such.

So Tonight I signed up for Google Analytics (www.google.com/analytics). We'll see what the results look like over the next little while. It might prove interesting.

Wednesday, August 8, 2007

A Little on the Class Culture of Microsoft

Here is some interesting information about employment at Microsoft I have gathered. First you need to understand that there are two or three classes of Employees at Microsoft. There are FTE's (Full Time Employees), Interns, and CSG's (Contractors, Vendors and other Contingent Staff).

FTE's are just that Full time, They get paid Salary. They have good benefits. But no Overtime.

Interns are recruited directly from Colleges. They usually come in to experience the Microsoft culture create a project and do regular work. They are treated just as FTE's except when school starts they go back. Often Interns will be hired on as FTE's

CSG's are divided up two or three categories. In this there are Contractors and Vendors. The other Contingent staff I am not quite as familiar with how their employment works.

Contractors come from a variety of Temp Agencies, such as Volt, and Excel Data Corporation, which seem to be the two largest. They are hired, on contract, for a maximum of One Year. They are provided Office space, which is usually shared with others. Many Offices have two or three sharing an office. Contractors are provided with equipment and supplies, but are not privileged to FTE perks such as use of the athletic fields, or discounts at the Company store. Once a contractor reaches the end of their contract they are let go and can not return to Microsoft for 100 days at which time they may be rehired anywhere in the company.

Many of the Agencies offer jobs with other companies such as with Real Audio or Expedia, but by far the biggest customer of the contractor Agencies is Microsoft. Especially for Testers. There are no other companies that focus so many testers as Microsoft. Microsoft has allot of ground to cover with the back compatibility pledge, and rarely enough to test all scenarios.

Contractors are generally paid hourly, with time and a half Overtime, should any be worked. Contractors are paid weekly. However some teams have been known to do odd stuff when it comes to how overtime is divided out, especially in the less profitable divisions such as games. There are teams where contractors get mega-overtime and so could earn a pretty penny that way.

Similar to Contractors are the Vendors. Vendors are contracted through other companies to provide a service or to provide a collaborative interface with other companies. Vendors are not technically given workspace and are not provided equipment. They like other CSG's are not privileged with FTE Perks.

Most Vendors are hired to do one particular thing, to fix something, or create something on contract. There are however Vendors such as those from HP, NVIDA, ATI, etc. that are hired by their company to work with Microsoft to ensure their product works with Microsoft's products. Especially when it comes to hardware.

One of the touted benefits of being a Vendor is that 100 day breaks are not required since they are paid to provide a service. But the downside is that they are sometimes treated as 3rd class citizens, and if their project suddenly finishes or dissolves so suddenly does their job.

Often CSG's are hired as FTE's if they prove themselves. There are quite a few that have gone that route.

It is interesting that there are many FTE's who were once CSG's, usually in the 90's, that remember the old days as a contractor and with the overtime getting big checks, so they often wish to trade their stable life with good benefits for the adventurous life of a contractor. Especially if they are in one of those Dog eat Dog teams, or are feeling unappreciated.

It is an interesting study of a culture.

Tuesday, July 24, 2007

Why I wanted to make games

Even though I wanted to make games, I don't play them. I can't stand most games of today. I get board quickly with most of them. Puzzles get too monotonous, Most action games are to violent for my tastes, and the few games I used to play for a while are considered almost dead.

Yep, I'm a surviving adventure game fan. I was never very good at playing them. I usually had to resort to the walktroughs. But games like; King's Quest, Space Quest, Monkey Island, Simon the Sorcerer, even Freddy Pharkus Frontier Pharmacist, were the epitome of what I thought a game should be. They had the best in storytelling, they were funny. And I looked forward to the time I would have enough money that I could one day buy these games.

Unfortunately things change, they simply aren't being made as often anymore. Most of the old games don't work quite as well on new hardware, and It is becoming increasingly difficult to find such games for purchase.

Now, the reason I thought I wanted to go into making games, is I saw the trends in game making and didn't like what I was seeing. I watched as my genre faded and Violent mindless games took over. I had the hope to revitalize my favorite format, and bring back the Family friendly fantasy. But I fear it is hopeless.

Monday, July 9, 2007

Tutorial on how to open the new Microsoft Product boxes

The cool looking new Boxes

Some of you may have already seen the new cases for Microsoft's new lines of software. They look pretty cool with the small form factor and rounded corners, all made of Clear plastic. But they are quite the puzzle to try to open. They are nearly as difficult as the Rubics cube.

I'm sure it took me nearly half an hour trying to figure it out. I kept trying to open it like a book with no luck. So if you want to take the challenge to open it by yourself then please feel free to skip this tutorial.

Breaking the seal

For packages which have them, the first thing you will need to do is break the seal on the top of the package. It is a big round clear sticker. The sticker on mine covered the certificate of Authenticity label, so I couldn't just peal it off.

Pulling off the Side Sticker

Next pull the red tab to peal off the sticker off of the side of the case which allows the DVD tray to open.

The Pull Tab

At the top of the Box is another Red Tab. Do not remove this or it will be more difficult to open the case. To open the DVD drawer; simply pull on the Red Tab and the Tray will unfold.

The Boxes opened

Now you have access to the Discs the booklets and the pamphlets. Here we have Windows Vista Ultimate and Office Ultimate open showing the contents.

Finding the CD Keys

The thing which took me the longest to figure out was trying to find out where the CD Keys were. While installing the software I hunted and hunted for three hours, trying to find the keys.

It turns out that I just hadn't looked at the back of the box while it was open.

So, there they are. The little orange stickers on the back of the DVD trays.

I hope you enjoyed this tutorial and will enjoy your software.

Sunday, June 17, 2007

Stinky Feet

Lock your Computer, lock your computer. That and no tailgaters. are some of the security things that are drilled into people that work at Microsoft. And for good reason. Employees, Vendors and Contractors deal with sensitive, confidential information which has not yet been released to the public.

Access to a computer could prove access to such information, so locking a computer becomes important. I have pretty much become accustomed to hitting [Windows] + [L] to do so. But sadly some of the more Junior coworkers still don't understand the hazard. So a tradition has sprang up in my team. If certain team members happen to notice that a computer was left unlocked then they will send an email from the unwary team member's computer, to everyone in the team, simply stating; "I have Stinky Feet!". Yep, quite the incentive. I have been lucky enough to not have to deal with the fallout of the resulting email taunts though I have witnessed it happening.

Safari Testdrive

Okay I decided to download Safari to add it to my testing tool belt. I'm writing this post from Safari now. It was definitely not designed for Windows. The resizing borders are missing, It feels naked like this. Eek! Give me my borders please! It also added a desktop Icon without an option to not install one. One of my pet Peeves. Off you go to hide in the Quick Launch.

One thing I noticed, that I do like, is that it seems to have some interaction with the OS, or at least other browsers. I started typing the address to get to this blog and it actually showed up in the list.

Gasp! The middle click worked! It opened a new tab! Shocking! coming from an Apple product. Okay now to test the Print Preview on my Blog. Something FireFox can't handle... Cool. It works about like Opera with Print Preview. that is good.

One of the first pages I had to try of course was the Recipe page I had been working on. And... It looks just the same in Safari as it does on Opera, FireFox, and Netscape. IE and Maxthon look a little different because of a little bit of an odd spacing issue, but I think it is cool that I don't need to change that design to get it to work is Safari.

The metallic grey interface is a little depressing. I really started to love the tan color of Windows XP Luna Blue. Vista's Black is depressing too though. I specifically went online searching for a Desktop Wallpaper with a little color in it, a few weeks ago just for that cause.

I think I will stick with IE as my choice of browser it still loads faster than any of the others and I have become comfortable with IE7. I will keep it on my tool belt though to test websites against.

Tuesday, June 12, 2007

More Browser Wars are acoming

Hmm. Apple has released a beta for their browser, Safari for Windows. I'm a little torn about it.

For one thing, in my own oppinion, Apple has never really gotten the hang of programming, quality software for Windows. I don't trust ITunes or QuickTime on PC for that reason.

But I am hopeful that if the rendering is identical on PC as it is on Mac, that I won't have to buy a Mac to test web pages for Mac. Wouldn't it be great to have "One Machine to test them all! Mhaw ha, ha, hah. Oh."

On the side of competition, I don't really know how much good it will do. It will certainly be something to watch.

On a side note to the subject, apparently hackers have, within two hours or release, come up with ways to compromise a system running Safari for Windows. It is after all only Beta.

I'm a little hesitant to download it yet. But from the screenshots I have seen, the style they are touting is; the very style I have grown so annoyed at with Itunes and QuickTime. I am one of those that don't like it when someone arbitrarily skins their application for "Cool" not taking into consideration that "I want uniform conformity to my system styling". Brushed metal simply doesn't look as good on every Theme.

You know, I think I am starting to see a trend to Apple's products of late. They are building up a reputation for high end hardware more and more... They are in the process of switching from Motorola to the more Windows friendly Intel Chipsets... Their newest Systems now run Windows Vista... They are starting to port software to Windows... They are making fun of PCs.. Wait that one doesn't quite fit.

Okay I foresee the day Microsoft will make the OS of the Mac. Apple will make applications and high end hardware, as well as their now favorite mobile hardware. Well, who realy knows, only time will tell.

Okay, enough of my opinion.

Monday, June 11, 2007

Work Schoolin

I signed up for a class through Volt and actually got in. It's only $10 and I start on the 12th. I hope I can get something out of it. It is only two nights for two hours a night but it should be interesting.

It is a javascript class. I have studied some javascript before but I would get partway through a book and get board of it. It is hard to keep going through such a book on my own motivation. I managed to get through my even more dull drafting books by doing all of the reading studying and projects in class, where I could almost totally focus on just that book.

There is another class coming up that I am thinking of signing up for but I'm not sure I'll get into it. It is on a more popular subject so it could be a craps shot to get in.

Tuesday, May 8, 2007

Junkware

After a little searching around, I finally found a decent replacement for QuickTime. It’s called QuickTime Alternative. If set up right, it allows you to play QuickTime files such as Mov files in Media Player.

QuickTime has been one of those pains in the side pieces of software from the first time I ever installed it. The first time I needed it, it came as part of a game, and it overwrote the newer version of QuickTime that was already installed, thus corrupting it. Since then I have tried to avoid installing and using it. And pretty much every time I have had to use it since, I have found the player even slower, with more features I don't want to use. With the addition of ITunes messing up the registry and my files it has become even more of a nuisance. I don't buy music; I hardly even listen to music. I don't need ITunes.

The next most annoying media player is Real Audio Player. With its ads and spamtacular registration Its hardly worth installing

For it there is also a codec Real Alternative for Real Audio Player, but it doesn’t work with steaming audio, which is what you would want Real audio for in the first place. So it doesn’t seem to be worth it yet.

This time I’ve decided to keep my computer as clean of junk software as I can.

Other popular junk software I’m trying to avoid? Well, Let’s see: WinZip, QuickTime, ITunes, RealAudio, WinRar. Oh yeah and Symantec’s antivirus. I have had enough headaches because of it, I don’t want it.